:root{--bg:#101c28;--panel:#172630;--ink:#f0e7d2;--gold:#e4bd80;--muted:#a1b1b5;--line:#decba626}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:14px/1.8 Georgia,'Microsoft YaHei',serif}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:4px}#sky{position:fixed;inset:0;z-index:-1;pointer-events:none}header{max-width:1380px;margin:auto;padding:25px 5%;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;font-size:22px;color:var(--gold)}.brand span{font-size:17px;letter-spacing:3px;color:var(--ink)}.brand small{font:9px monospace;letter-spacing:2px;color:var(--muted);margin-left:8px}nav{display:flex;gap:25px}nav button{border:0;background:none;color:var(--muted);font-size:12px}#count{color:var(--gold)}main{max-width:1280px;padding:0 5%;margin:auto}.hero{display:grid;grid-template-columns:1.2fr 1fr;align-items:center;gap:30px;min-height:540px}.eyebrow{color:var(--gold);font:10px/1.8 monospace;letter-spacing:2px}h1{font-size:clamp(35px,4.4vw,57px);font-weight:400;line-height:1.5;letter-spacing:2px;margin:20px 0}h1 em{font-style:normal;color:var(--gold)}.intro{font-size:14px;color:var(--muted);letter-spacing:1px;line-height:2}.primary{background:var(--ink);color:var(--bg);border:1px solid var(--ink);padding:12px 23px;letter-spacing:1px;border-radius:3px;margin-top:18px}.duty{font-size:10px;letter-spacing:1px;color:#849b9e;margin-top:22px}.duty i{display:inline-block;width:5px;height:5px;border-radius:50%;background:#b2cbb9;margin-right:9px}.celestial{position:relative;height:405px;display:grid;place-items:center}.orbit{position:absolute;width:350px;height:350px;border:1px solid var(--line);border-radius:50%;transform:rotate(25deg) scaleY(.67)}.o2{width:410px;height:410px;transform:rotate(-45deg) scaleY(.75);border-style:dashed;border-color:#decba614}.tarot{width:187px;height:280px;border:1px solid #d8bb795e;border-radius:90px 90px 7px 7px;text-align:center;background:linear-gradient(145deg,#22353f,#13222e);padding:32px 16px;position:relative;box-shadow:0 18px 50px #0003}.front{z-index:2;transform:rotate(-9deg);animation:drift 8s ease-in-out infinite}.tarot span{font:8px monospace;letter-spacing:2px;color:var(--gold)}.card-symbol{font-size:78px;color:var(--gold);line-height:1.5}.mini-line{width:25px;border-top:1px solid var(--gold);margin:8px auto 16px}.tarot b{font-size:16px;font-weight:400;letter-spacing:3px}.tarot small{display:block;font-size:9px;margin-top:7px;color:var(--muted)}.back{position:absolute;transform:rotate(14deg) translate(40px,7px);background:repeating-linear-gradient(45deg,#1d303b,#1d303b 10px,#223640 10px,#223640 11px)}.float-label{position:absolute;bottom:17px;right:0;font-size:10px;letter-spacing:1px;color:var(--muted)}.tiny{position:absolute;color:var(--gold);font-size:30px}.s1{top:20px;left:40px}.s2{bottom:55px;left:45px}.section-title{border-top:1px solid var(--line);padding:27px 0;display:flex;justify-content:space-between;align-items:end}.section-title h2{font-size:23px;font-weight:400;letter-spacing:2px;margin:5px 0 0}.section-title p{margin:0}.section-title>span{font-size:10px;color:var(--muted);letter-spacing:1px}.rooms{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.room{background:linear-gradient(145deg,#1a2a35,#14232e);border:1px solid var(--line);border-radius:4px;padding:22px;text-align:left;transition:transform .25s,border-color .25s}.room:hover{transform:translateY(-7px);border-color:#e4bd8080}.num{font:9px monospace;letter-spacing:1px;color:#879d9f}.room-art{font-size:54px;height:105px;display:grid;place-items:center;color:var(--gold)}.room:nth-child(2n) .room-art{color:#a8c7c3}.room h3{font-size:19px;font-weight:400;letter-spacing:3px;margin:5px 0 10px}.room p{font-size:12px;color:var(--muted);line-height:1.9}.enter{display:block;font-size:10px;letter-spacing:1px;color:var(--gold);margin-top:22px}.quote{padding:55px 0;text-align:center}.quote>span{font-size:30px;color:var(--gold)}.quote p{font-size:23px;letter-spacing:3px;line-height:1.9}.quote small{font-size:11px;color:var(--muted)}.bottom-row{display:grid;grid-template-columns:1fr 1fr;gap:24px;border-top:1px solid var(--line);padding:25px 0}.old-room{display:flex;gap:22px;align-items:center}.old-room>span{font-size:33px;color:var(--gold)}.old-room h3{font-weight:400;margin:0;font-size:16px}.old-room p{font-size:11px;color:var(--muted)}.radio{font-size:11px;color:var(--muted)}.radio button{background:none;border:0;color:var(--gold);padding:0;margin-right:15px}.radio small{font-size:10px}.radio audio{width:100%;height:35px;margin-top:12px}.radio p{margin:4px 0}.radio small:last-child{display:block}footer{padding:23px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;color:#7f969e;font-size:9px;letter-spacing:1px}dialog{width:min(800px,94vw);max-height:90dvh;overflow:auto;padding:0;border:1px solid #bca77966;border-radius:8px;background:#152530;color:var(--ink);box-shadow:0 30px 100px #0008}dialog::backdrop{background:#06111bd9;backdrop-filter:blur(6px)}#modal{padding:35px;position:relative}.close{position:absolute;right:17px;top:12px;border:0;background:none;color:var(--muted);font-size:25px}.modal-title{font-size:28px;font-weight:400;letter-spacing:2px;margin:12px 0}.sub{color:var(--muted);font-size:12px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:15px}label{display:block;font-size:12px;color:var(--muted);margin-top:17px}select,input,textarea{width:100%;padding:12px;border:1px solid #e4bd8035;background:#101e28;color:var(--ink);border-radius:4px;margin-top:7px}textarea{height:90px;resize:vertical}.soft{background:transparent;color:var(--gold);border:1px solid #e4bd8050;padding:10px 16px;border-radius:3px;cursor:pointer}.choices{display:flex;flex-wrap:wrap;gap:9px;margin:20px 0}.choices button{border:1px solid #e4bd8030;border-radius:20px;padding:6px 15px;background:transparent;color:var(--muted)}.choices button.selected{background:#e4bd801a;color:var(--gold);border-color:var(--gold)}.draw-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin:25px 0}.draw-card{height:130px;border:1px solid #d8bb7955;border-radius:40px 40px 4px 4px;background:repeating-linear-gradient(45deg,#1d303b,#1d303b 8px,#243843 8px,#243843 9px);font-size:28px;color:var(--gold);transition:transform .2s}.draw-card:hover{transform:translateY(-8px)}.draw-card:disabled{opacity:.4;transform:translateY(7px);cursor:default}.draw-card.chosen{border:2px solid var(--gold);opacity:1}.progress{font-size:12px;color:var(--gold);min-height:25px}.results{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:25px 0}.result{border:1px solid #e4bd8035;border-radius:70px 70px 4px 4px;padding:25px 17px 18px;background:#1b2e38;animation:reveal .6s both}.result .symbol{text-align:center;font-size:48px;color:var(--gold)}.result h3{font-size:17px;font-weight:400;text-align:center;letter-spacing:2px;margin:8px 0}.result .position{text-align:center;font-size:10px;color:var(--gold)}.result p{color:#bdc9c8;font-size:12px;line-height:1.9}.single{max-width:350px;margin:25px auto}.action{border-left:2px solid var(--gold);padding:12px 17px;background:#e4bd800a;margin:20px 0}.action strong{font-weight:400;color:var(--gold);font-size:12px}.action p{margin:7px 0 0;font-size:13px}.buttons{display:flex;flex-wrap:wrap;gap:10px;margin-top:23px}.buttons .primary{margin:0}.letter-paper{background:#f0e7d2;color:#344149;padding:30px;border-radius:3px;margin:25px 0;line-height:2.1;font-size:14px;white-space:pre-line}.letter-paper small{font-size:11px}.entry{border:1px solid var(--line);padding:20px;margin-top:16px;border-radius:5px}.entry h3{font-weight:400;font-size:17px;margin:5px 0}.entry .sub{white-space:pre-wrap}.entry textarea{height:65px}.entry button{margin-right:8px;margin-top:12px;font-size:11px}.empty{text-align:center;color:var(--muted);padding:40px 0}.toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:var(--ink);color:var(--bg);padding:10px 20px;border-radius:4px;transition:.2s;z-index:5;font-size:12px}.toast.show{transform:translate(-50%,0);opacity:1}@keyframes drift{50%{transform:rotate(-6deg) translateY(-10px)}}@keyframes reveal{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@media(max-width:850px){.brand small{display:none}.rooms{grid-template-columns:1fr 1fr}.hero{grid-template-columns:1fr 1fr}.celestial{transform:scale(.8);margin-left:-25px}h1{font-size:36px}.section-title>span{display:none}}@media(max-width:720px){header{padding:20px 6%}.brand span{font-size:14px;letter-spacing:1px}nav{gap:12px}nav button{font-size:11px}main{padding:0 6%}.hero{display:block;padding-top:40px}.hero h1{font-size:34px}.hero .eyebrow{font-size:8px}.celestial{height:330px;transform:scale(.8);margin:0;max-width:100%}.orbit{max-width:110%}.float-label{font-size:9px}.float-label{right:-10px}.room{padding:17px}.room h3{font-size:18px}.room p{font-size:11px}.num{font-size:8px}.room-art{height:85px}.section-title h2{font-size:20px}.quote{padding:40px 0}.quote p{font-size:19px}.bottom-row{grid-template-columns:1fr}.form-row{grid-template-columns:1fr;gap:0}#modal{padding:28px 20px}.draw-grid{grid-template-columns:repeat(3,1fr)}.draw-card{height:115px}.results{grid-template-columns:1fr}.result{border-radius:5px;display:grid;grid-template-columns:60px 1fr;column-gap:10px}.result .symbol{grid-row:1/4;align-self:center}.result .position,.result h3{text-align:left;margin:0}.result p{grid-column:2;margin:6px 0}.single{display:block;border-radius:70px 70px 5px 5px}.single .position,.single h3{text-align:center}.letter-paper{padding:23px}.modal-title{font-size:25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}}
