:root{--bg: #0b1026;--bg-2: #141c3f;--surface: rgba(255, 255, 255, .045);--surface-2: rgba(255, 255, 255, .08);--line: rgba(212, 175, 106, .24);--gold: #d4af6a;--gold-2: #f2dca8;--ink: #ede7d8;--muted: #9ba2bd;--cinnabar: #c0392b;--wechat: #07c160;--danger: #ff8a7a;--radius: 16px;--tabbar-h: 60px;--safe-bottom: env(safe-area-inset-bottom, 0px);--serif: "Songti SC", "STSong", "Noto Serif SC", "Source Han Serif SC", serif;--sans: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", "Microsoft YaHei", system-ui, sans-serif;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;background:var(--bg)}body{margin:0;min-height:100vh;background:radial-gradient(120% 60% at 50% -10%,#23306a,#0b102600 60%),linear-gradient(180deg,var(--bg-2) 0%,var(--bg) 45%);background-color:var(--bg);color:var(--ink);font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased;padding-bottom:calc(var(--tabbar-h) + var(--safe-bottom));-webkit-tap-highlight-color:transparent}a{color:var(--gold-2);text-decoration:none}h1,h2,h3{font-family:var(--serif);font-weight:600;letter-spacing:.04em;margin:0}[hidden]{display:none!important}.muted{color:var(--muted)}.small{font-size:13px}.sky{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background-image:radial-gradient(1px 1px at 12% 18%,rgba(255,255,255,.8),transparent 60%),radial-gradient(1px 1px at 68% 8%,rgba(255,255,255,.7),transparent 60%),radial-gradient(1.5px 1.5px at 82% 32%,rgba(242,220,168,.9),transparent 60%),radial-gradient(1px 1px at 34% 46%,rgba(255,255,255,.5),transparent 60%),radial-gradient(1px 1px at 52% 72%,rgba(255,255,255,.6),transparent 60%),radial-gradient(1.5px 1.5px at 8% 82%,rgba(242,220,168,.7),transparent 60%),radial-gradient(1px 1px at 90% 88%,rgba(255,255,255,.5),transparent 60%);background-size:320px 420px;animation:twinkle 6s ease-in-out infinite alternate}@keyframes twinkle{0%{opacity:.55}to{opacity:1}}.preview-banner{background:#c0392bd9;color:#fff;font-size:12px;text-align:center;padding:4px 16px}.topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;background:#0b1026b8;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid rgba(212,175,106,.12)}.brand{display:flex;align-items:center;gap:10px;color:var(--ink)}.seal{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:6px;background:var(--cinnabar);color:#fff4e0;font-family:var(--serif);font-size:18px;font-weight:700;box-shadow:inset 0 0 0 2px #fff4e059}.brand-name{font-family:var(--serif);font-size:19px;font-weight:600;letter-spacing:.12em}.topbar-actions{display:flex;align-items:center;gap:8px}.lang{position:relative}.lang summary{list-style:none;cursor:pointer;min-width:40px;height:36px;display:grid;place-items:center;padding:0 10px;border-radius:18px;border:1px solid var(--line);color:var(--gold-2);font-size:14px}.lang summary::-webkit-details-marker{display:none}.lang-menu{position:absolute;right:0;top:44px;margin:0;padding:6px;list-style:none;min-width:140px;background:#141c3f;border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 32px #00000073}.lang-menu a{display:block;padding:10px 12px;border-radius:8px;color:var(--ink)}.lang-menu a[aria-current=true]{color:var(--gold-2);background:var(--surface)}.share-btn{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;border:0;border-radius:18px;background:linear-gradient(135deg,var(--gold-2),var(--gold));color:#2a1d05;font:600 14px var(--sans);cursor:pointer}.share-btn svg{width:18px;height:18px}.page{max-width:560px;margin:0 auto;padding:20px 16px 8px}.page-head{margin:8px 0 20px}.page-head h1{font-size:26px}.page-head .muted{margin:6px 0 0}.section{margin:0 0 28px}.section-title{font-size:18px;margin-bottom:12px}.hello{margin:4px 0 20px}.hello-date{margin:0;color:var(--muted);font-size:14px}.hello-title{font-size:28px}.notice{padding:14px 16px;border-radius:12px;background:var(--surface);border:1px dashed var(--line);color:var(--muted)}.empty{display:grid;gap:16px;justify-items:start;padding:8px 0}.link{color:var(--gold-2)}.energy{text-align:center}.energy-head .muted{margin:0 0 18px;font-size:14px}.tarot-card{width:min(58vw,220px);aspect-ratio:3 / 5;margin:0 auto;padding:8px;border-radius:18px;background:linear-gradient(160deg,#2b2a64,#151a44 55%,#2a1b48);box-shadow:0 0 0 1px #f2dca88c,0 18px 40px #00000073,0 0 60px #d4af6a2e;animation:float 6s ease-in-out infinite;position:relative;overflow:hidden}.tarot-card:after{content:"";position:absolute;top:-40%;right:-40%;bottom:-40%;left:-40%;background:linear-gradient(115deg,transparent 40%,rgba(242,220,168,.18) 50%,transparent 60%);animation:shimmer 5s ease-in-out infinite}.tarot-card-inner{height:100%;border-radius:12px;border:1px solid rgba(242,220,168,.5);display:grid;grid-template-rows:auto 1fr auto;align-items:center;justify-items:center;padding:14px 8px;background:radial-gradient(70% 45% at 50% 50%,rgba(242,220,168,.16),transparent 70%)}.tarot-num{font-family:var(--serif);color:var(--gold-2);letter-spacing:.2em}.tarot-glyph{font-size:64px;color:var(--gold-2);text-shadow:0 0 24px rgba(242,220,168,.7)}.tarot-name{font-family:var(--serif);font-size:20px;letter-spacing:.15em}.energy-keyword{margin:18px 0 0;font-family:var(--serif);font-size:18px;color:var(--gold-2)}@keyframes shimmer{0%{transform:translate(-60%)}60%,to{transform:translate(60%)}}.domain-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:0;padding:0;list-style:none}.domain{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;min-height:76px;padding:14px;border-radius:var(--radius);background:var(--surface);border:1px solid rgba(212,175,106,.14);color:var(--ink)}.domain:active{background:var(--surface-2)}.domain-glyph{grid-row:span 2;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;border:1px solid var(--line);color:var(--gold-2);font-family:var(--serif);font-size:18px}.domain-glyph.big{width:56px;height:56px;font-size:26px;margin-bottom:12px}.domain-name{font-family:var(--serif);font-size:17px}.domain-hint{font-size:12px;color:var(--muted);line-height:1.4}.method-list{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 16px;padding:0;list-style:none}.method{padding:8px 14px;border-radius:999px;border:1px solid var(--line);color:var(--gold-2)}.rows{margin:0 0 28px;border-radius:var(--radius);background:var(--surface);overflow:hidden}.row{display:flex;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.05)}.row:last-child{border-bottom:0}.row dt{color:var(--muted)}.row dd{margin:0}.invite-code{display:flex;align-items:baseline;justify-content:space-between;padding:14px 16px;margin:12px 0;border-radius:12px;border:1px solid var(--line)}.invite-code strong{font-size:22px;letter-spacing:.18em;color:var(--gold-2)}.logout{margin-top:8px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:24px;border:0;font:600 16px var(--sans);cursor:pointer;text-align:center}.btn:disabled{opacity:.55}.btn-primary{width:100%;background:linear-gradient(135deg,var(--gold-2),var(--gold));color:#2a1d05}.btn-ghost{background:transparent;color:var(--gold-2);border:1px solid var(--line)}.btn-wechat{width:100%;background:var(--wechat);color:#fff}.btn-small{min-height:44px;padding:0 14px;font-size:14px;white-space:nowrap}.divider{display:flex;align-items:center;gap:12px;margin:22px 0;color:var(--muted);font-size:13px}.divider:before,.divider:after{content:"";flex:1;height:1px;background:#ffffff1a}.form{display:grid;gap:16px}.field{display:grid;gap:6px;font-size:14px;color:var(--muted)}.field-row{display:flex;gap:10px}.field input{width:100%;min-height:48px;padding:0 14px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#00000040;color:var(--ink);font:16px var(--sans)}.field input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 3px #d4af6a33}.check{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--muted)}.check input{margin-top:3px;width:18px;height:18px;accent-color:var(--gold)}.form-error{margin:0;color:var(--danger);font-size:14px}.footer{max-width:560px;margin:0 auto;padding:12px 16px 20px;font-size:12px;color:var(--muted);text-align:center}.footer p{margin:4px 0}.footer a{color:var(--muted)}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:20;display:grid;grid-template-columns:repeat(4,1fr);height:calc(var(--tabbar-h) + var(--safe-bottom));padding-bottom:var(--safe-bottom);background:#0b1026eb;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid rgba(212,175,106,.14)}.tabbar a{display:grid;place-items:center;align-content:center;gap:2px;color:var(--muted);font-size:11px}.tabbar a.active{color:var(--gold-2)}.share-sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;align-content:start;justify-items:center;gap:20px;padding:96px 32px 0;background:#050814db;text-align:center}.share-arrow{position:absolute;top:10px;right:22px;width:64px;height:72px;border-top:2px solid var(--gold-2);border-right:2px solid var(--gold-2);border-top-right-radius:64px}.share-arrow:after{content:"";position:absolute;right:-9px;top:-12px;border:8px solid transparent;border-bottom-color:var(--gold-2)}.share-guide{margin:0;font-family:var(--serif);font-size:20px;line-height:1.7;color:var(--ink)}.toast{position:fixed;left:50%;bottom:calc(var(--tabbar-h) + var(--safe-bottom) + 24px);transform:translate(-50%);z-index:60;max-width:calc(100% - 32px);padding:10px 18px;border-radius:999px;background:#141c3ff5;border:1px solid var(--line);font-size:14px}@media(prefers-reduced-motion:reduce){.sky,.tarot-card,.tarot-card:after{animation:none}}.method-cards{display:grid;gap:12px;margin:0;padding:0;list-style:none}.method-card{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 12px;padding:16px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);color:var(--ink)}.method-card strong{font-family:var(--serif);font-size:18px}.method-card .muted{grid-column:1}.method-card .go{grid-row:1 / span 2;grid-column:2;color:var(--gold-2);font-size:22px}.method-card.soon{opacity:.55}.badge{grid-row:1;grid-column:2;font-size:12px;padding:2px 10px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}.chip{border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--gold-2);padding:8px 14px;font:14px var(--sans);cursor:pointer}.chip:active{background:var(--surface-2)}body.immersive{padding-bottom:32px}.ritual{min-height:calc(100vh - 120px);text-align:center}.ritual-kicker{margin:0 0 8px;color:var(--muted);font-size:13px;letter-spacing:.1em}.stage{display:grid;justify-items:center;gap:16px;animation:rise .6s both}.ritual-title{font-size:24px}.ritual-hint{margin:8px 0 0;font-family:var(--serif);font-size:19px;color:var(--gold-2)}.question{width:100%;padding:12px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:#00000040;color:var(--ink);font:16px/1.6 var(--sans);resize:none}.question:focus{outline:none;border-color:var(--gold)}.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.spreads{display:flex;gap:10px;justify-content:center;border:0;margin:0;padding:0}.spreads legend{width:100%;margin-bottom:8px;color:var(--muted);font-size:13px}.spread-option input{position:absolute;opacity:0}.spread-option span{display:inline-block;padding:8px 14px;border-radius:999px;border:1px solid var(--line);color:var(--muted)}.spread-option input:checked+span{color:#2a1d05;background:linear-gradient(135deg,var(--gold-2),var(--gold));border-color:transparent}.breath{width:140px;height:140px;display:grid;place-items:center}.breath span{width:64px;height:64px;border-radius:50%;background:radial-gradient(circle,#f2dca8f2,#d4af6a1f 70%);box-shadow:0 0 40px #f2dca859;animation:breathe 5s ease-in-out infinite}.breath-hint{margin:-8px 0 0;color:var(--muted);font-size:13px;letter-spacing:.2em}@keyframes breathe{0%,to{transform:scale(.7);opacity:.6}50%{transform:scale(1.55);opacity:1}}.crisis p{max-width:30em}.hotlines{list-style:none;margin:0;padding:0;display:grid;gap:10px;width:100%}.hotlines a{display:flex;justify-content:space-between;padding:14px 16px;border-radius:12px;background:var(--surface);border:1px solid var(--line);color:var(--ink)}.coins{display:flex;gap:18px;justify-content:center;margin:18px 0 4px;perspective:700px}.coin{position:relative;width:72px;height:72px;transform-style:preserve-3d;transition:transform .35s ease-out}.coin.tails{transform:rotateY(180deg)}.coin.tossing{animation:toss 1s cubic-bezier(.3,.6,.4,1)}.coin:nth-child(2).tossing{animation-duration:.92s}.coin:nth-child(3).tossing{animation-duration:.97s}@keyframes toss{0%{transform:translateY(0) rotateX(0)}45%{transform:translateY(-110px) rotateX(900deg)}to{transform:translateY(0) rotateX(1800deg)}}.coin-face{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:radial-gradient(circle at 35% 30%,#fbe9b8,#d2ac5c 55%,#8f6b2b);box-shadow:inset 0 0 0 3px #5f400c8c,inset 0 0 0 7px #fff0c840,0 6px 16px #00000073}.coin-face:after{content:"";position:absolute;left:50%;top:50%;width:16px;height:16px;transform:translate(-50%,-50%);background:var(--bg);box-shadow:0 0 0 2px #5f400c99}.coin-back{transform:rotateY(180deg);background:radial-gradient(circle at 35% 30%,#f2dca8,#c49a4c 55%,#7d5c22)}.coin-front span{position:absolute;font-family:var(--serif);font-size:13px;font-weight:700;color:#5b3d0c;line-height:1}.coin-front span:nth-child(1){top:9px;left:50%;transform:translate(-50%)}.coin-front span:nth-child(2){bottom:9px;left:50%;transform:translate(-50%)}.coin-front span:nth-child(3){right:10px;top:50%;transform:translateY(-50%)}.coin-front span:nth-child(4){left:10px;top:50%;transform:translateY(-50%)}.stack{display:flex;flex-direction:column-reverse;gap:8px;width:132px;min-height:112px;justify-content:flex-start}.yao{position:relative;display:flex;gap:16px;height:10px}.yao span{flex:1;border-radius:2px;background:var(--gold-2);box-shadow:0 0 10px #f2dca859}.yao.yang{gap:0}.yao.moving span{background:linear-gradient(90deg,#f2dca8,#ffb48a)}.yao em{position:absolute;right:-24px;top:-7px;font-style:normal;font-size:15px;color:#ffb48a}.yao.enter{animation:grow .6s cubic-bezier(.2,.7,.2,1) both}@keyframes grow{0%{transform:scaleX(0);opacity:0}}.cast-done{margin:0;font-family:var(--serif);font-size:26px;letter-spacing:.4em;color:var(--gold-2);text-shadow:0 0 24px rgba(242,220,168,.8);animation:rise .8s both}.card-back{border-radius:10px;border:1px solid rgba(242,220,168,.55);background:radial-gradient(circle at 50% 50%,rgba(242,220,168,.45) 0 5px,transparent 6px),radial-gradient(circle at 50% 50%,transparent 0 18px,rgba(242,220,168,.35) 19px 20px,transparent 21px),repeating-linear-gradient(45deg,rgba(242,220,168,.07) 0 2px,transparent 2px 9px),linear-gradient(160deg,#2b2a64,#151a44 55%,#2a1b48);box-shadow:0 6px 16px #0006}.deck{position:relative;width:150px;aspect-ratio:3 / 5;margin:18px auto 6px;touch-action:none;cursor:grab}.deck .card-back{position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(calc(var(--i) * 1.5px),calc(var(--i) * -1.5px))}.deck.riffle .card-back:nth-child(odd){animation:riffle-l .5s ease-in-out}.deck.riffle .card-back:nth-child(2n){animation:riffle-r .5s ease-in-out}@keyframes riffle-l{50%{transform:translate(-52px,-6px) rotate(-10deg)}}@keyframes riffle-r{50%{transform:translate(52px,-6px) rotate(10deg)}}.dots{display:flex;gap:10px}.dots span{width:10px;height:10px;border-radius:50%;border:1px solid var(--gold);transition:background .3s}.dots span.on{background:var(--gold-2);box-shadow:0 0 10px #f2dca8cc}.piles{display:flex;gap:18px;justify-content:center;margin-top:20px}.pile{position:relative;width:84px;aspect-ratio:3 / 5;padding:0;border:0;background:none;cursor:pointer}.pile .card-back{position:absolute;top:0;right:0;bottom:0;left:0}.pile .card-back:nth-child(2){transform:translate(3px,-3px)}.pile .card-back:nth-child(3){transform:translate(6px,-6px)}.pile:active{transform:translateY(-8px)}.slots{display:flex;gap:14px;justify-content:center;min-height:112px}.slot{display:grid;justify-items:center;gap:6px;font-size:13px;color:var(--muted)}.slot div{width:56px;aspect-ratio:3 / 5;border-radius:8px;border:1px dashed var(--line)}.slot.filled div{border:1px solid rgba(242,220,168,.55);background:linear-gradient(160deg,#2b2a64,#151a44 55%,#2a1b48);box-shadow:0 0 18px #f2dca866;animation:rise .5s both}.fan{position:relative;width:100%;height:200px;margin-top:8px}.fan{--step: min(4.2deg, calc(88deg / (var(--n, 22) - 1)))}.fan-card{position:absolute;bottom:6px;left:50%;width:54px;aspect-ratio:3 / 5;margin-left:-27px;padding:0;cursor:pointer;transform-origin:50% 270%;transform:rotate(calc((var(--i) - (var(--n) - 1) / 2) * var(--step)));transition:transform .35s,opacity .35s}.fan-card:hover,.fan-card:focus-visible{transform:rotate(calc((var(--i) - (var(--n) - 1) / 2) * var(--step))) translateY(-14px)}.fan-card.taken{opacity:0;pointer-events:none;transform:rotate(calc((var(--i) - (var(--n) - 1) / 2) * var(--step))) translateY(-90px)}.reading{display:grid;gap:22px}.reading .section{margin:0}.shared-label{margin:0;text-align:center;color:var(--gold-2);font-size:13px;letter-spacing:.1em}.reading-head{display:flex;gap:12px;align-items:center}.reading-head p{margin:0}.reading-question{margin-top:4px!important;font-family:var(--serif);font-size:16px}.symbol figure{margin:0;display:grid;justify-items:center;gap:10px}.symbol figcaption{display:grid;justify-items:center;gap:2px}.symbol strong{font-family:var(--serif);font-size:17px}.hexagrams{display:flex;align-items:center;justify-content:center;gap:22px}.hexagram{display:grid;gap:7px;width:92px}.hex-arrow{color:var(--gold);font-size:22px}.reveal .hexagram .yao{animation:grow .5s cubic-bezier(.2,.7,.2,1) both;animation-delay:calc(var(--n) * .11s + .75s)}.spread{display:flex;justify-content:center;gap:12px}.tarot-flip{width:98px;aspect-ratio:3 / 5;perspective:900px}.spread-1 .tarot-flip{width:156px}.tarot-flip-inner{position:relative;width:100%;height:100%;transform-style:preserve-3d}.tarot-side{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:12px;backface-visibility:hidden;-webkit-backface-visibility:hidden}.tarot-back{transform:rotateY(180deg)}.tarot-back{border:1px solid rgba(242,220,168,.55);background:radial-gradient(circle at 50% 50%,rgba(242,220,168,.45) 0 5px,transparent 6px),repeating-linear-gradient(45deg,rgba(242,220,168,.07) 0 2px,transparent 2px 9px),linear-gradient(160deg,#2b2a64,#151a44 55%,#2a1b48)}.tarot-front{display:grid;grid-template-rows:auto 1fr auto;align-items:center;justify-items:center;padding:10px 4px;border:1px solid rgba(242,220,168,.6);background:radial-gradient(70% 45% at 50% 50%,rgba(242,220,168,.18),transparent 70%),linear-gradient(160deg,#2b2a64,#151a44 55%,#2a1b48);box-shadow:0 0 30px #d4af6a38}.tarot-flip.reversed .tarot-front{transform:rotate(180deg)}.tarot-front .tarot-glyph{font-size:36px}.spread-1 .tarot-front .tarot-glyph{font-size:54px}.tarot-front .tarot-name{font-size:14px;letter-spacing:.08em;text-align:center}.reveal .tarot-flip-inner{animation:flip 1.1s cubic-bezier(.3,.7,.2,1) both;animation-delay:calc(var(--n) * .45s + .75s)}.tarot-flip{--n: 0}@keyframes flip{0%{transform:rotateY(180deg)}to{transform:rotateY(0)}}.headline{margin:0;padding:18px 8px;text-align:center;font-family:var(--serif);font-size:24px;line-height:1.5;letter-spacing:.06em;color:var(--gold-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);text-shadow:0 0 24px rgba(242,220,168,.35)}.classics blockquote{margin:0 0 12px;padding:12px 14px;border-left:2px solid rgba(212,175,106,.3);border-radius:0 12px 12px 0;background:var(--surface)}.classics blockquote.main{border-left-color:var(--gold);background:#d4af6a14}.classics blockquote p{margin:0;font-family:var(--serif);font-size:17px;line-height:1.8}.classics cite{display:block;margin-top:6px;font-size:12px;font-style:normal;color:var(--muted)}.plain p,.card-note p{margin:0 0 10px}.card-note{padding:10px 0;border-bottom:1px solid rgba(255,255,255,.06)}.card-note:last-child{border-bottom:0}.card-note-head{font-family:var(--serif)}.advice ol{margin:0 0 10px;padding-left:22px;display:grid;gap:10px}.reading-actions{display:grid;gap:12px}.rate{text-align:center}.rate-title{margin:0 0 10px;font-family:var(--serif);font-size:18px}.rate-buttons{display:flex;justify-content:center;gap:10px}.login-nudge{color:var(--gold-2)}.reveal .layer{animation:rise .9s cubic-bezier(.2,.7,.2,1) both;animation-delay:var(--delay, 0ms)}@keyframes rise{0%{opacity:0;transform:translateY(14px)}}.journal-list{list-style:none;margin:0;padding:0}.journal-list a{display:flex;gap:12px;align-items:center;padding:12px 0;color:var(--ink);border-bottom:1px solid rgba(255,255,255,.06)}.journal-text{display:grid;gap:2px}.journal-text strong{font-family:var(--serif);font-weight:500}@media(prefers-reduced-motion:reduce){.breath span,.coin.tossing,.deck.riffle .card-back,.reveal .layer,.reveal .tarot-flip-inner,.reveal .hexagram .yao,.stage{animation:none}}.field select{width:100%;min-height:48px;padding:0 14px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#00000040;color:var(--ink);font:16px var(--sans)}.prompt-card{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 28px;padding:16px;border-radius:var(--radius);background:linear-gradient(135deg,#f2dca829,#d4af6a0f);border:1px solid var(--line);color:var(--ink)}.prompt-card strong{color:var(--gold-2);white-space:nowrap}.pillars{display:flex;justify-content:center;gap:14px}.pillar{display:grid;justify-items:center;gap:4px;min-width:58px;padding:12px 6px;border-radius:14px;border:1px solid var(--line);background:var(--surface)}.pillar strong{font-family:var(--serif);font-size:26px;line-height:1.2;color:var(--gold-2)}.birth-title{margin:0;text-align:center;font-family:var(--serif);font-size:18px;color:var(--muted)}.element-bars{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:8px}.element-bars li{display:grid;grid-template-columns:2em 1fr 1.5em;align-items:center;gap:10px}.element-bars i{height:10px;width:var(--w);min-width:2px;border-radius:5px;background:var(--gold)}.element-bars .el-wood i{background:#7fb98a}.element-bars .el-fire i{background:#e0805f}.element-bars .el-earth i{background:#c9a46a}.element-bars .el-metal i{background:#d9d6cf}.element-bars .el-water i{background:#6f9bd1}.element-bars .mine span{color:var(--gold-2);font-weight:700}a.row{color:var(--ink)}.notice.success{color:var(--gold-2);border-style:solid}.plan-card{display:grid;gap:10px;margin:0 0 28px;padding:20px 18px;border-radius:20px;border:1px solid rgba(242,220,168,.4);background:radial-gradient(120% 80% at 100% 0%,rgba(242,220,168,.16),transparent 60%),var(--surface)}.plan-card p{margin:0}.plan-name{font-family:var(--serif);font-size:18px;color:var(--gold-2)}.plan-price{font-family:var(--serif);font-size:28px}.benefits{margin:0 0 6px;padding-left:20px;display:grid;gap:6px}.poster-sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;display:grid;align-content:center;justify-items:center;gap:14px;padding:24px 20px;background:#050814eb;text-align:center;overflow-y:auto}.poster-sheet img{width:min(100%,420px);border-radius:14px;box-shadow:0 20px 50px #0009;-webkit-touch-callout:default}.poster-sheet p{margin:0;color:var(--gold-2)}.gate{display:grid;gap:16px;justify-items:center;text-align:center;padding-top:18vh}.gate .form{width:100%;text-align:left}.gate .seal{width:52px;height:52px;font-size:30px}body.immersive .tabbar,body.immersive .footer{display:none}.chat{display:block;justify-items:normal}.chat-head{position:sticky;top:57px;z-index:10;display:flex;align-items:center;gap:12px;margin:0 -16px;padding:10px 16px;background:#0b1026db;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.completeness{flex:1;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;font-size:13px;color:var(--muted)}.completeness[hidden]{display:none}.completeness-bar{height:6px;border-radius:3px;background:var(--surface-2);overflow:hidden}.completeness-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),var(--gold-2));transition:width .7s ease}.completeness strong{min-width:3em;text-align:right;color:var(--gold-2)}.completeness-hint{margin:4px 0 18px}.thread{list-style:none;margin:0;padding:0;display:grid;gap:10px}.bubble{max-width:86%;padding:10px 14px;border-radius:18px;line-height:1.6;white-space:pre-line;animation:rise .35s both}.bubble.bot{justify-self:start;background:var(--surface-2);border:1px solid rgba(255,255,255,.06);border-top-left-radius:6px;font-family:var(--serif)}.bubble.me{justify-self:end;background:linear-gradient(135deg,#f2dca833,#d4af6a1a);border:1px solid var(--line);border-top-right-radius:6px;color:var(--gold-2)}.bubble.typing{display:inline-flex;gap:5px;padding:15px 16px}.bubble.typing span{width:6px;height:6px;border-radius:50%;background:var(--muted);animation:blink 1s infinite}.bubble.typing span:nth-child(2){animation-delay:.15s}.bubble.typing span:nth-child(3){animation-delay:.3s}@keyframes blink{0%,to{opacity:.25}50%{opacity:1}}.replies{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin:14px 0 4px}.replies .chip{background:#00000038;animation:rise .3s both}.replies .chip.quiet{color:var(--muted);border-color:#ffffff1f}.replies .btn{flex:1 1 100%}.area-chips{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;width:100%}.area-chip{display:grid;justify-items:center;gap:6px;padding:12px 4px;border-radius:14px;border:1px solid var(--line);background:var(--surface);color:var(--ink);font-size:14px}.area-chip .domain-glyph{grid-row:auto;width:34px;height:34px;font-size:17px}.free{display:grid;gap:10px;margin-top:12px}.free[hidden]{display:none}.free-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px}.free-actions .btn-primary{width:auto}.skip-rest{display:block;margin:10px auto 0;background:none;border:0;color:var(--muted);text-decoration:underline;font:13px var(--sans)}.skip-rest[hidden]{display:none}.privacy-note{margin-top:22px;text-align:center}.ritual-stage{min-height:calc(100vh - 140px);align-content:center;text-align:center}.calm-question{max-width:22em;margin:0;font-family:var(--serif);font-size:18px;color:var(--gold-2)}.situation{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 0;padding:0;list-style:none}.situation li{padding:3px 10px;border-radius:999px;background:var(--surface-2);color:var(--muted);font-size:13px}.situation b{color:var(--ink);font-weight:500}.agreement{display:flex;align-items:center;gap:10px;margin:12px 0 0}.agreement-seal{flex:none;padding:2px 8px;border:1px solid var(--cinnabar);border-radius:6px;color:#f3b2a8;font-family:var(--serif);font-size:13px}.timeline{list-style:none;margin:16px 0 8px 6px;padding:0 0 0 20px;border-left:1px solid var(--line);display:grid;gap:18px}.tl{position:relative}.tl:before{content:"";position:absolute;left:-27px;top:7px;width:11px;height:11px;border-radius:50%;background:var(--bg);border:2px solid var(--gold)}.tl-reading:before{border-color:var(--muted)}.tl.key:before{background:var(--gold);box-shadow:0 0 0 5px #d4af6a38}.tl p{margin:0}.tl-when{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px}.tl-when strong{font-family:var(--serif);font-size:17px;color:var(--gold-2)}.tl-when span{font-size:12px;color:var(--muted)}.tl-title{margin-top:2px!important;font-weight:600}.tl-echo{display:inline-block;margin-left:8px;padding:0 8px;border-radius:999px;background:var(--gold);color:#2a1d05;font-size:12px;font-style:normal;font-weight:500}.tl-text{white-space:pre-line}.tl-basis summary{width:fit-content;color:var(--muted);font-size:12px;cursor:pointer}.tl-basis p{color:var(--muted);font-size:13px}.path{margin:8px 0!important;padding:12px 14px;border-radius:14px;background:var(--surface);border:1px solid rgba(255,255,255,.06)}.path.preferred{border-color:var(--gold)}.path-favoured{font-family:var(--serif);color:var(--gold-2)}.tube{position:relative;width:150px;height:260px;margin:90px auto 6px}.tube-sticks{position:absolute;left:22px;right:22px;bottom:120px;height:120px;display:flex;justify-content:center;align-items:flex-end;gap:3px}.tube-sticks span{width:9px;height:calc(70px + var(--h));border-radius:4px 4px 0 0;background:linear-gradient(90deg,#b8894a,#e7c58a,#a87a3e);transform:rotate(calc((var(--i) - 4) * 2.5deg));transform-origin:bottom center}.tube-body{position:absolute;inset:auto 0 0;height:150px;display:grid;place-items:center;border-radius:14px 14px 26px 26px;background:linear-gradient(90deg,#6b1f17,#b23a2b 45%,#7d241b);border:2px solid rgba(242,220,168,.55);box-shadow:inset 0 -12px 24px #00000059}.tube-body span{font-family:var(--serif);font-size:40px;color:var(--gold-2)}.tube.shaking{animation:tube-shake .8s ease-in-out}@keyframes tube-shake{0%,to{transform:rotate(0)}15%{transform:rotate(-14deg) translateY(-6px)}35%{transform:rotate(12deg) translateY(-10px)}55%{transform:rotate(-10deg) translateY(-4px)}75%{transform:rotate(8deg) translateY(-8px)}}.lot-stick{position:absolute;left:50%;bottom:110px;width:30px;height:190px;margin-left:-15px;display:grid;place-items:center;border-radius:6px;background:linear-gradient(90deg,#b8894a,#f0d39c,#a87a3e);box-shadow:0 0 24px #f2dca899;animation:lot-out .9s cubic-bezier(.2,.9,.3,1.2) both}.lot-stick[hidden]{display:none}.lot-stick span{writing-mode:vertical-rl;font-family:var(--serif);font-size:17px;font-weight:600;color:#3a2408;letter-spacing:.1em}@keyframes lot-out{0%{transform:translateY(80px) rotate(0);opacity:0}to{transform:translateY(-40px) rotate(-6deg);opacity:1}}.lot-scroll{display:grid;justify-items:center;gap:6px;width:210px;margin:0 auto;padding:22px 16px;border-radius:10px;background:linear-gradient(180deg,#f3e3bf,#e5cc95);color:#3a2408;box-shadow:0 0 0 6px #c0392bd9,0 12px 32px #0006;font-family:var(--serif);animation:unroll 1.2s ease both;transform-origin:top center}.reading:not(.reveal) .lot-scroll{animation:none}.lot-scroll-label{font-size:15px;letter-spacing:.2em}.lot-scroll-title{font-size:30px;letter-spacing:.12em}.lot-scroll-meta{font-size:14px;color:#7a4a17}@keyframes unroll{0%{transform:scaleY(.05);opacity:0}to{transform:scaleY(1);opacity:1}}.good-days{margin-top:18px;padding:14px;border-radius:14px;border:1px solid var(--line);background:var(--surface)}.good-days-title{margin:0 0 8px;font-family:var(--serif);color:var(--gold-2)}.good-days ul{list-style:none;margin:0 0 6px;padding:0;display:grid;gap:8px}.good-days li{display:grid;gap:2px}.good-days li span{font-size:13px;color:var(--muted)}.almanac-date{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:0}.almanac-date strong{font-family:var(--serif);font-size:22px;color:var(--gold-2)}.almanac-date span{color:var(--muted);font-size:14px}.almanac-tags{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.almanac-tag{padding:2px 10px;border-radius:999px;background:#d4af6a2e;color:var(--gold-2);font-size:13px}.almanac-tag.quiet{background:var(--surface-2);color:var(--muted)}.almanac-yiji{display:grid;grid-template-columns:auto 1fr;gap:8px 12px;margin:0 0 8px}.almanac-yiji dt{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;font-family:var(--serif);font-size:15px}.almanac-yiji dt.yi{background:#d4af6a38;color:var(--gold-2)}.almanac-yiji dt.ji{border:1px solid rgba(255,255,255,.18);color:var(--muted)}.almanac-yiji dd{margin:0;align-self:center}.people{display:grid;gap:10px}.people-card{display:grid;grid-template-columns:1fr auto;gap:2px 12px;padding:14px 16px;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface);color:var(--ink)}.people-card .go{grid-row:span 2;align-self:center;color:var(--gold-2)}.portrait-title{margin:4px 0 18px;font-size:24px}.portrait-emblem{display:grid;place-items:center;width:120px;height:120px;margin:0 auto 14px;border-radius:50%;border:1px solid var(--line);background:radial-gradient(circle at 50% 40%,#f2dca847,#d4af6a0a 70%);box-shadow:0 0 40px #d4af6a40}.portrait-emblem span{font-family:var(--serif);font-size:36px;color:var(--gold-2);letter-spacing:.1em}.portrait-keywords{margin:0;text-align:center;color:var(--gold);letter-spacing:.08em}.pair-seals{display:flex;justify-content:center;align-items:center;gap:16px;margin:12px 0 4px}.pair-seal{display:grid;justify-items:center;gap:2px;min-width:96px;padding:14px 10px;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface)}.pair-seal strong{font-family:var(--serif);font-size:34px;color:var(--gold-2)}.pair-link{color:var(--gold);font-size:20px}.pair-list{margin:0;padding-left:20px;display:grid;gap:8px}.pair-list.frictions li::marker{color:var(--muted)}.pair-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.pair-actions form{margin:0}.portrait>.muted.small:first-child,.portrait-title,.pair>.muted.small:first-child{text-align:center}.portrait .headline{font-size:19px;line-height:1.7}.invite{text-align:center}.invite .form{text-align:left}.invite-rings{position:relative;width:150px;height:96px;margin:16px auto 12px}.invite-rings span{position:absolute;top:0;width:96px;height:96px;border-radius:50%;border:2px solid var(--gold);box-shadow:0 0 24px #d4af6a59}.invite-rings span:first-child{left:0;animation:ring-near 3.6s ease-in-out infinite}.invite-rings span:last-child{right:0;border-color:var(--gold-2);animation:ring-near 3.6s ease-in-out infinite reverse}@keyframes ring-near{0%,to{transform:translate(0)}50%{transform:translate(8px)}}.invite-title{margin:0 0 12px;font-size:22px}.invite-steps{margin:0 auto 18px;padding-left:22px;max-width:22em;text-align:left;display:grid;gap:6px}.invite-actions{display:grid;gap:10px;margin-bottom:18px}.invite-waiting{display:inline-flex;align-items:center;gap:8px;margin:0 0 4px;color:var(--gold-2)}.breath-dot{width:8px;height:8px;border-radius:50%;background:var(--gold);animation:blink 1.6s infinite}.invite-box{margin-top:28px}.invite-list ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.invite-list a{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:12px 14px;border-radius:12px;border:1px solid var(--line);background:var(--surface);color:var(--ink)}.invite-state{font-size:12px;padding:1px 8px;border-radius:999px;background:var(--surface-2);color:var(--muted)}.invite-state.done{background:#d4af6a33;color:var(--gold-2)}.area-chips .advisor-entry{grid-column:1 / -1;margin-top:4px;text-align:left}.optional{font-style:normal;color:var(--muted);font-size:13px}.advisor-form .section{margin-bottom:20px}.advisor-form [hidden]{display:none}.advisor-summary{font-size:20px;line-height:1.6}.advisor-columns{display:grid;gap:22px;margin:18px 0 8px}@media(min-width:720px){.advisor-columns{grid-template-columns:1fr 1fr}}.advisor-col{padding:16px;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface)}.advisor-col h3{margin:14px 0 4px;font-size:15px;color:var(--gold)}.advisor-col p{margin:0 0 6px}.advisor-data{display:grid;gap:10px;margin:10px 0}.advisor-item{display:grid;gap:2px;padding:10px 12px;border-radius:12px;background:#0000002e;border-left:3px solid rgba(255,255,255,.12)}.advisor-item.ok{border-left-color:var(--gold)}.advisor-item.watch{border-left-color:var(--cinnabar)}.advisor-item dt{font-size:13px;color:var(--muted)}.advisor-item dd{display:grid;margin:0}.advisor-item strong{font-family:var(--serif);font-size:19px;color:var(--ink)}.advisor-item span{font-size:13px;color:var(--muted)}.advisor-path{margin:12px 0;padding:14px 16px;border-radius:var(--radius);border:1px solid rgba(255,255,255,.08);background:var(--surface)}.advisor-path.supported{border-color:var(--gold)}.advisor-path-head{display:flex;justify-content:space-between;align-items:center;margin:0 0 6px}.advisor-path-head em{font-style:normal;font-size:12px;padding:1px 8px;border-radius:999px;background:var(--gold);color:#2a1d05}.advisor-path ul,.advisor-checklist{margin:0 0 8px;padding-left:20px;display:grid;gap:4px}.advisor-path blockquote{margin:10px 0 4px}.daily-lot-body{display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start;margin:10px 0}.daily-lot-stick{display:grid;place-items:center;width:34px;min-height:150px;padding:10px 0;border-radius:6px;background:linear-gradient(90deg,#b8894a,#f0d39c,#a87a3e);box-shadow:0 0 18px #f2dca859}.daily-lot-stick span{writing-mode:vertical-rl;font-family:var(--serif);font-weight:600;color:#3a2408;letter-spacing:.1em}.daily-lot-title{display:flex;align-items:baseline;gap:10px;margin:0}.daily-lot-title strong{font-family:var(--serif);font-size:20px;color:var(--gold-2)}.daily-lot blockquote{margin:8px 0}.daily-lot-line{margin:0;font-family:var(--serif);color:var(--gold-2)}.daily-lot-actions{display:flex;gap:10px}.follow-up-ask{margin-bottom:14px;padding:14px;border-radius:var(--radius);border:1px solid var(--line);background:var(--surface)}.follow-up-ask p{margin:0 0 10px}.tl-stirred{background:var(--cinnabar);color:#fff4e0}.tl-stirred-note{color:var(--gold-2);font-size:13px}.progress{margin:14px 0 6px;padding:12px 14px;border-radius:14px;border:1px dashed var(--line)}.progress summary{color:var(--gold-2);cursor:pointer}.progress .chips{justify-content:flex-start;margin-top:8px}.tl-event:before{border-color:var(--cinnabar);background:var(--cinnabar)}.suit-wands .tarot-glyph{color:#f0a36b}.suit-cups .tarot-glyph{color:#9cc3ff}.suit-swords .tarot-glyph{color:#d9dee9}.suit-pentacles .tarot-glyph{color:var(--gold-2)}.tarot-flip[class*=suit-] .tarot-glyph{font-family:var(--serif)}.gift{text-align:center}.gift-create .form{text-align:left}.envelope{position:relative;width:min(320px,100%);aspect-ratio:16 / 11;margin:18px auto;border-radius:14px;background:linear-gradient(135deg,#f3e3bf,#e2c891);color:#3a2408;box-shadow:0 16px 40px #00000073;overflow:hidden}.envelope-flap{position:absolute;inset:0 0 auto;height:48%;background:linear-gradient(180deg,#ead39f,#dcbf83);clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top center;transition:transform .8s ease}.envelope-body{position:absolute;inset:auto 0 0;padding:0 18px 16px;display:grid;gap:2px;text-align:center;font-family:var(--serif)}.envelope-body p{margin:0}.envelope-to{font-size:13px;color:#7a4a17}.envelope-from{font-size:18px;font-weight:600}.envelope-note{font-size:13px}.envelope-hint{margin-top:4px!important;font-size:12px;color:#a0521b}.envelope-seal{position:absolute;top:36%;left:50%;display:grid;place-items:center;width:54px;height:54px;margin:-27px 0 0 -27px;border-radius:50%;background:var(--cinnabar);color:#fff4e0;font-family:var(--serif);font-size:24px;box-shadow:0 4px 10px #0000004d;transition:transform .6s ease,opacity .6s ease}.gift-envelope-button{display:block;width:100%;padding:0;border:0;background:none;cursor:pointer;animation:rise .6s both,float 3s ease-in-out .6s infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.gift-envelope-button.opening .envelope-flap{transform:rotateX(180deg)}.gift-envelope-button.opening .envelope-seal{transform:scale(1.4);opacity:0}.gift-card{display:grid;justify-items:center;gap:14px}.gift-card .section{text-align:left;width:100%}.gift-status{margin:0;color:var(--muted)}.gift-status.opened{color:var(--gold-2);font-family:var(--serif);font-size:18px}.gift-entry{margin:16px 0 0;text-align:left}button.link{padding:0;border:0;background:none;color:var(--gold-2);font:inherit;cursor:pointer}.admin h3{margin:18px 0 6px;font-size:15px;color:var(--gold)}.admin-nav,.admin-subnav{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 18px}.admin-nav a,.admin-subnav a{padding:6px 12px;border-radius:999px;border:1px solid var(--line);color:var(--ink);font-size:14px}.admin-nav a.active,.admin-subnav a.active{background:var(--gold);color:#2a1d05}.admin-table-wrap{overflow-x:auto;margin:8px 0 16px}.admin-table{width:100%;border-collapse:collapse;font-size:13px;white-space:nowrap}.admin-table th,.admin-table td{padding:6px 8px;border-bottom:1px solid rgba(255,255,255,.08);text-align:left}.admin-table th{color:var(--muted);font-weight:500}.admin-table tr.low td{color:#f3b2a8}.admin-big{font-family:var(--serif);font-size:22px;color:var(--gold-2)}.review-list{margin:0;padding-left:0;list-style:none;display:grid;gap:14px}.review-list>li{padding:12px 14px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:var(--surface)}.review-id{margin:0 0 6px;font-weight:600;color:var(--gold-2)}.review-note{margin:0 0 8px;font-size:13px}.review-list dl{margin:0;display:grid;gap:6px}.review-list dl>div{display:grid;grid-template-columns:5em 1fr;gap:8px}.review-list dt{color:var(--muted);font-size:13px}.review-list dd{display:grid;margin:0}.admin code{font-size:12px;color:var(--gold-2)}
