@font-face{font-family:Fraunces;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/fraunces-upright-latin-ext.0t2awsxbm3c7a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:300 900;font-display:swap;src:url(../media/fraunces-upright-latin.1v4l5w6-86t-v.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/space-mono-400-latin-ext.31_unrole__js.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/space-mono-400-latin.37_1qewfwlumh.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/space-mono-700-latin-ext.2m6bh4rackjgg.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../media/space-mono-700-latin.3dmnla43cklex.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@property --accent{syntax:"<color>";inherits:true;initial-value:#e8c26b}@property --accent-deep{syntax:"<color>";inherits:true;initial-value:#8f7842}@property --accent-soft{syntax:"<color>";inherits:true;initial-value:#0000}@property --accent-glow{syntax:"<color>";inherits:true;initial-value:#0000}@property --glow-1{syntax:"<color>";inherits:true;initial-value:#0000}@property --glow-2{syntax:"<color>";inherits:true;initial-value:#0000}:root{--canvas:#050409;--bg:#0b0910;--navy:#0e1a3a;--surface:#17131f;--surface-raised:#211b2c;--surface-tile:#2c243a;--gold:#e8c26b;--gold-soft:#9a8350;--on-bg:#f6f1fa;--muted:#aaa1b6;--line:#3b314a;--accent-tarot:#b98ce8;--accent-numerology:#6fc9c0;--accent-dream:#7fa6f0;--accent-palm:#e8a87c;--accent-astro:#f4c76d;--accent-rose:#e99cb6;--success:#75d0a1;--danger:#e4818b;--error:#f44336;--border-subtle:#e8c26b66;--border-selected-subtle:#e8c26b40;--card-border:#2a243833;--card-shadow:0 8px 16px #00000059;--gold-glow:0 0 20px #e8c26b3d;--hero-icon-bg:#e8c26b33;--stage-gradient-start:#241c3d;--stage-gradient-end:#141122;--stage-card-fill:#2e2450;--shuffle-card:#241a35;--locked-stage:#120e19;--locked-card:#332344;--tarot-glow:#b98ce845;--gold-card-glow:#e8c26b54;--bg-blur:#0b0910f0;--scrim:#050409b8;--accent:var(--gold);--on-accent:var(--bg);--r-xs:10px;--r-sm:12px;--r-md:20px;--r-lg:28px;--r-xl:36px;--r-pill:999px;--r-hero:26px;--s-xxs:2px;--s-xs:4px;--s-sm:8px;--s-md:12px;--s-lg:16px;--s-lg-plus:20px;--s-xl:24px;--s-xxl:32px;--reading-max:640px;--button-h:52px;--content-max:760px;--header-h:62px;--sidebar-w:168px;--tabbar-gap:12px;--tabbar-height:72px;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--font-display:"Fraunces", "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;--font-serif:var(--font-display);--font-mono:"Space Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--font-sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--sh-1:0 2px 8px #0504098c;--sh-2:0 10px 28px #050409a6;--sh-clay:0 6px 0 -1px #05040980, 0 12px 22px #0504098c;--sh-inner:inset 0 1px 0 #ffffff12;--sh-inset:inset 0 2px 5px #05040973, inset 0 -1px 0 #ffffff0b;--dur-1:.12s;--dur-2:.22s;--dur-3:.42s;--dur-4:.7s;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-spring:linear(0, .45 7%, .94 18%, 1.08 27%, 1.02 42%, .99 61%, 1);--ease-bounce:linear(0, .3 5%, .75 11%, 1.12 19%, 1.2 24%, 1.08 33%, .96 43%, 1.02 55%, 1);--stagger:45ms;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}:root,.tarot,.dream,.numerology,.palm,.astro,.rose{--accent-deep:color-mix(in oklab, var(--accent) 62%, #000);--accent-soft:color-mix(in oklab, var(--accent) 14%, transparent);--accent-glow:color-mix(in oklab, var(--accent) 32%, transparent)}.tarot{--accent:var(--accent-tarot)}.dream{--accent:var(--accent-dream)}.numerology{--accent:var(--accent-numerology)}.palm{--accent:var(--accent-palm)}.astro{--accent:var(--accent-astro)}.rose{--accent:var(--accent-rose)}@media (prefers-reduced-motion:reduce){:root{--dur-1:0s;--dur-2:0s;--dur-3:0s;--dur-4:0s;--stagger:0s}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
*{box-sizing:border-box}html{background:var(--bg)}body{color:var(--on-bg);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;background:0 0;min-height:100dvh;margin:0;font-size:14px;line-height:1.5;overflow-x:hidden}::selection{background:var(--accent-glow);color:var(--on-bg)}input,textarea{caret-color:var(--accent)}a{color:inherit}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}button:disabled{cursor:not-allowed}h1,h2,h3,h4{color:var(--on-bg);margin:0}h1{font-family:var(--font-display);letter-spacing:-.01em;font-size:26px;font-weight:900;line-height:1.2}h2{font-family:var(--font-display);letter-spacing:-.005em;font-size:22px;font-weight:700;line-height:1.3}h3{font-size:16px;font-weight:600;line-height:1.4}p{margin:0}@media (hover:hover){*{scrollbar-width:thin;scrollbar-color:var(--surface-tile) transparent}}
@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes card-in{0%{opacity:0;transform:translateY(18px)scale(.96)}60%{opacity:1}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes bounce-in{0%{opacity:0;transform:scale(.4)}55%{opacity:1;transform:scale(1.14)}to{transform:scale(1)}}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes sheetDown{to{transform:translateY(100%)}}@keyframes modal-in{0%{opacity:0;transform:translateY(24px)scale(.94)}to{opacity:1;transform:none}}@keyframes modal-out{to{opacity:0;transform:translateY(12px)scale(.97)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{to{opacity:0}}@keyframes pop{0%{transform:scale(1)}45%{transform:scale(1.38)}to{transform:scale(1)}}@keyframes lift{0%{transform:translateY(0)}to{transform:translateY(-4px)}}@keyframes card-flip{to{transform:rotateY(0)}}@keyframes float{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-6px)rotate(2deg)}}@keyframes breathe{0%,to{transform:scale(1)}50%{transform:scale(1.045)}}@keyframes shimmer{to{background-position:-200% 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes vt-out{to{opacity:0;transform:translateY(-6px)}}@keyframes vt-in{0%{opacity:0;transform:translateY(10px)}}::view-transition{pointer-events:none}:root{view-transition-name:none}::view-transition-group(root){animation:none}::view-transition-old(root){display:none}::view-transition-new(root){animation:none}::view-transition-old(.page-out){animation:vt-out var(--dur-2) var(--ease-out) both}::view-transition-new(.page-in){animation:vt-in var(--dur-3) var(--ease-spring) both}@media (prefers-reduced-motion:reduce){::view-transition-group(*){animation:none!important}::view-transition-old(*){animation:none!important}::view-transition-new(*){animation:none!important}}.frame-body>:not(.ov,.stagger),.stagger>*{animation:card-in var(--dur-4) var(--ease-spring) backwards}.frame-body>:nth-child(2),.stagger>:nth-child(2){animation-delay:calc(var(--stagger) * 1)}.frame-body>:nth-child(3),.stagger>:nth-child(3){animation-delay:calc(var(--stagger) * 2)}.frame-body>:nth-child(4),.stagger>:nth-child(4){animation-delay:calc(var(--stagger) * 3)}.frame-body>:nth-child(5),.stagger>:nth-child(5){animation-delay:calc(var(--stagger) * 4)}.frame-body>:nth-child(6),.stagger>:nth-child(6){animation-delay:calc(var(--stagger) * 5)}.frame-body>:nth-child(7),.stagger>:nth-child(7){animation-delay:calc(var(--stagger) * 6)}.frame-body>:nth-child(n+8),.stagger>:nth-child(n+8){animation-delay:calc(var(--stagger) * 7)}@supports (animation-timeline:view()){.frame-body>:nth-child(n+6):not(.ov,.stagger){animation:linear backwards card-in;animation-timeline:view();animation-range:entry entry 35%}}
.shell{--module:var(--accent-tarot);--glow-1:color-mix(in oklab, var(--gold) 12%, transparent);--glow-2:color-mix(in oklab, var(--module) 11%, transparent);min-height:100dvh;transition:--glow-2 var(--dur-4) linear}.shell[data-accent=dream]{--module:var(--accent-dream)}.shell[data-accent=numerology]{--module:var(--accent-numerology)}.shell[data-accent=astro]{--module:var(--accent-astro)}.shell[data-accent=rose]{--module:var(--accent-rose)}.shell:after{content:"";z-index:-1;pointer-events:none;background:radial-gradient(48% 40% at 6% -4%, var(--glow-1), transparent 70%), radial-gradient(44% 38% at 102% 104%, var(--glow-2), transparent 70%);position:fixed;inset:0}.app-main{flex-direction:column;min-width:0;min-height:100dvh;display:flex}.sidebar-col{display:none}@media (min-width:621px){.shell{grid-template-columns:calc(var(--sidebar-w) + var(--safe-left)) minmax(0, 1fr);transition:--glow-2 var(--dur-4) linear, grid-template-columns var(--dur-2) var(--ease-out);display:grid}.sidebar-col{background:var(--surface);border-right:1px solid var(--line);display:block}}@media (min-width:1024px){:root{--sidebar-w:200px}}@media (min-width:1440px){:root{--sidebar-w:232px}}@media (min-width:621px) and (orientation:landscape){:root[data-nav=collapsed]{--sidebar-w:76px}}
.sidebar{height:100dvh;padding:0 12px calc(14px + var(--safe-bottom)) calc(12px + var(--safe-left));scrollbar-width:none;flex-direction:column;align-items:stretch;gap:3px;display:flex;position:sticky;top:0;overflow:hidden auto}.sidebar::-webkit-scrollbar{display:none}.nav-top{min-height:calc(var(--header-h) + var(--safe-top));margin:0 -12px 8px calc(-12px - var(--safe-left));padding:calc(8px + var(--safe-top)) 12px 8px calc(14px + var(--safe-left));border-bottom:1px solid var(--line);flex-shrink:0;align-items:center;gap:8px;display:flex}.nav-brand{min-width:0;color:inherit;flex:1;align-items:center;gap:9px;text-decoration:none;display:flex}.nav-brand-text{font-family:var(--font-display);letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:900;overflow:hidden}.brand-mark{width:28px;height:28px;transition:transform var(--dur-2) var(--ease-spring);flex:none;display:block}.brand-mark svg{width:100%;height:100%;display:block}.nav-brand:hover .brand-mark{transform:rotate(-8deg)scale(1.06)}.nav-brand:active .brand-mark{transform:scale(.94)}.hbtn{border-radius:var(--r-sm);background:var(--surface-raised);width:34px;height:34px;color:var(--on-bg);box-shadow:0 3px 0 var(--line), var(--sh-inner);transition:transform var(--dur-1) var(--ease-out), box-shadow var(--dur-1), color var(--dur-2);flex:none;place-items:center;display:inline-grid}.hbtn:hover{color:var(--accent)}.hbtn:active{box-shadow:0 0 0 var(--line);transform:translateY(3px)}.nav-group{flex-direction:column;gap:3px;display:flex}.nav-group-title{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);white-space:nowrap;padding:14px 12px 5px;font-size:9px;font-weight:700}.nav-top+.nav-group .nav-group-title{padding-top:4px}.nb{border-radius:var(--r-xs);width:100%;min-height:38px;color:var(--muted);text-align:left;white-space:nowrap;transition:background var(--dur-2), color var(--dur-2), transform var(--dur-1) var(--ease-out);flex:none;align-items:center;gap:9px;padding:9px 12px;font-size:13px;font-weight:600;line-height:1.2;text-decoration:none;display:flex;position:relative}.nb:hover{color:var(--on-bg);background:var(--surface-raised)}.nb:active{transform:scale(.98)}.nb-icon{color:var(--nb-accent,currentColor);transition:transform var(--dur-3) var(--ease-bounce);flex:0 0 20px;place-items:center;display:grid}.nb-label{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.nb:hover .nb-icon{transform:scale(1.18)rotate(-8deg)}.nb[aria-current=page]{background:var(--accent-soft);color:var(--accent);box-shadow:var(--sh-inner);font-weight:700}.nb[aria-current=page] .nb-icon{transform:scale(1.15)}.nav-marker{width:3px;height:var(--marker-h,0);border-radius:0 var(--r-pill) var(--r-pill) 0;background:var(--accent);transform:translate(var(--marker-x,0), var(--marker-y,0));transition:transform var(--dur-3) var(--ease-spring), height var(--dur-2) var(--ease-out), opacity var(--dur-2);pointer-events:none;position:absolute;top:0;left:0}.nav-marker:not([data-ready]){transition:none}.nav-marker[hidden]{opacity:0;display:block}.nav-foot{border-top:1px solid var(--line);flex-direction:column;gap:3px;margin-top:auto;padding-top:10px;display:flex}.nb:focus-visible,.hbtn:focus-visible,.nav-brand:focus-visible{outline:3px solid var(--accent);outline-offset:2px}@media (orientation:portrait){.nav-toggle{display:none}}@media (min-width:621px) and (orientation:landscape){[data-nav=collapsed] .nav-top{padding-block:calc(16px + var(--safe-top)) 16px;flex-direction:column;justify-content:center;gap:12px;padding-inline:12px}[data-nav=collapsed] .nav-brand{flex:0}[data-nav=collapsed] .nb{justify-content:center;gap:0;min-height:44px;padding:11px 8px}[data-nav=collapsed] .nav-group-title{display:none}[data-nav=collapsed] .nav-brand-text,[data-nav=collapsed] .nb-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}}
.tabbar{display:none}@media (max-width:620px){.tabbar{left:calc(12px + var(--safe-left));right:calc(12px + var(--safe-right));bottom:calc(var(--tabbar-gap) + var(--safe-bottom));z-index:400;border-radius:var(--r-pill);background:var(--bg-blur);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:var(--sh-2), var(--sh-inner), 0 0 0 1px var(--line);animation:card-in var(--dur-4) var(--ease-spring) both .2s;padding:5px 6px;display:flex;position:fixed}.tab{border-radius:var(--r-pill);min-width:0;min-height:52px;color:var(--muted);transition:color var(--dur-2);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;padding:5px 2px;text-decoration:none;display:flex}.tab .ti{border-radius:var(--r-pill);transition:background var(--dur-2), box-shadow var(--dur-2), transform var(--dur-1) var(--ease-out);place-items:center;padding:4px 14px;display:grid}.tab .tl{white-space:nowrap;font-size:10px;font-weight:600;line-height:1.2}.tab[aria-current=page]{color:var(--accent)}.tab[aria-current=page] .tl{font-weight:700}.tab[aria-current=page] .ti{background:var(--accent);color:var(--on-accent);box-shadow:0 3px 0 var(--accent-deep);animation:bounce-in var(--dur-4) var(--ease-bounce) backwards;margin-bottom:1px}.tab:active .ti{transform:scale(.9)}.tab:focus-visible{outline:3px solid var(--accent);outline-offset:2px}}
.frame-bar{align-items:center;gap:var(--s-sm);padding:calc(6px + var(--safe-top)) calc(8px + var(--safe-right)) 0 calc(8px + var(--safe-left));display:flex}.frame-bar.bare,.frame-title{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.frame-trailing{align-items:center;gap:var(--s-sm);flex:none;margin-left:auto;display:flex}.frame-body{gap:var(--s-md);width:100%;max-width:var(--content-max);padding:8px calc(14px + var(--safe-right)) calc(var(--tabbar-gap) + var(--tabbar-height) + 18px + var(--safe-bottom)) calc(14px + var(--safe-left));flex-direction:column;flex:1;margin-inline:auto;display:flex}.frame-bar.bare+.frame-body{padding-top:calc(14px + var(--safe-top))}.frame-body.centered{text-align:center;justify-content:center;align-items:center}@media (min-width:621px){.frame-bar,.frame-bar.bare{z-index:100;clip-path:none;white-space:normal;width:auto;height:auto;min-height:calc(var(--header-h) + var(--safe-top));padding:calc(10px + var(--safe-top)) calc(24px + var(--safe-right)) 10px 24px;border-bottom:1px solid color-mix(in oklab, var(--line) 70%, transparent);background:var(--bg-blur);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);margin:0;position:sticky;top:0;overflow:visible}.frame-title{width:auto;min-width:0;height:auto;margin:0 0 0 var(--s-xs);clip-path:none;font-family:var(--font-display);letter-spacing:-.01em;text-overflow:ellipsis;animation:fadeUp var(--dur-3) var(--ease-out);flex:1;font-size:21px;font-weight:900;line-height:1.3;position:static}.frame-body,.frame-bar.bare+.frame-body{padding:22px calc(28px + var(--safe-right)) calc(28px + var(--safe-bottom)) 28px;gap:var(--s-lg)}}@media (min-width:1440px){.frame-body,.frame-bar.bare+.frame-body{padding:26px calc(36px + var(--safe-right)) calc(32px + var(--safe-bottom)) 36px}}.icon-btn{border-radius:var(--r-sm);width:40px;height:40px;color:var(--on-bg);transition:background var(--dur-2), color var(--dur-2), transform var(--dur-1) var(--ease-out);flex:none;place-items:center;display:inline-grid}.icon-btn:hover{background:var(--surface-raised)}a.icon-btn:active,button.icon-btn:active{transform:scale(.9)}.icon-btn:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.icon-btn.gold{color:var(--gold)}.icon-btn.muted{color:var(--muted)}@media (max-width:620px){.icon-btn{width:44px;height:44px}}
.muted{color:var(--muted)}.small{font-size:12px}.gold{color:var(--gold)}.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.kicker{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-size:11px;font-weight:700}.reading-body{white-space:pre-wrap;max-width:var(--reading-max);font-size:16px;line-height:1.5}.stack{gap:var(--s-md);flex-direction:column;display:flex}.stack.tight{gap:var(--s-sm)}.stack.loose{gap:var(--s-lg)}.row{align-items:center;gap:var(--s-sm);flex-wrap:wrap;display:flex}.row.between{justify-content:space-between}.grow{flex:1;min-width:0}.center{text-align:center}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
.surface{background:var(--surface);border-radius:var(--r-lg);padding:var(--s-lg);box-shadow:var(--sh-clay), var(--sh-inner);position:relative}.surface.lg{padding:var(--s-lg-plus)}.surface.bordered{border:0}.surface.gold-border{box-shadow:var(--sh-clay), var(--sh-inner), inset 0 0 0 1.5px var(--gold)}.tile{background:var(--surface-tile);border-radius:var(--r-md);padding:var(--s-md);box-shadow:var(--sh-inset)}.hero{background:var(--surface);border-radius:var(--r-lg);padding:var(--s-lg-plus);gap:var(--s-xs);box-shadow:var(--sh-clay), var(--sh-inner);transition:transform var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out);flex-direction:column;display:flex;position:relative}.hero-icon{border-radius:var(--r-sm);background:color-mix(in oklab, var(--accent) 20%, transparent);width:48px;height:48px;color:var(--accent);margin-bottom:var(--s-sm);box-shadow:var(--sh-inner);place-items:center;animation:5s ease-in-out infinite float;display:grid}.hero-title{font-family:var(--font-display);letter-spacing:-.01em;font-size:25px;font-weight:900;line-height:1.2}.hero-title.sans{font-family:var(--font-sans);letter-spacing:0;font-size:24px;font-weight:800}.module-grid{gap:var(--s-md);grid-template-columns:minmax(0,1fr);display:grid}@media (min-width:621px){.module-grid{gap:var(--s-lg);grid-template-columns:repeat(2,minmax(0,1fr))}}.module-card{align-items:center;gap:var(--s-md);background:var(--surface);border-radius:var(--r-lg);padding:var(--s-lg);color:inherit;text-align:left;width:100%;box-shadow:var(--sh-clay), var(--sh-inner);transition:transform var(--dur-2) var(--ease-out), box-shadow var(--dur-2) var(--ease-out);text-decoration:none;display:flex;position:relative}@media (hover:hover){.hero:hover,.module-card:hover{box-shadow:var(--sh-clay), var(--sh-inner), 0 16px 30px -12px var(--accent-glow);transform:translateY(-2px)}.module-card:hover .module-icon{transform:scale(1.12)rotate(-8deg)}}.module-card:active{box-shadow:var(--sh-1), var(--sh-inner);transform:translateY(3px)}.module-card:focus-visible,.list-row:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.module-icon{border-radius:var(--r-sm);background:var(--surface-tile);width:42px;height:42px;box-shadow:var(--sh-inset);transition:transform var(--dur-3) var(--ease-bounce);flex:none;place-items:center;display:grid}.module-icon.tarot,.module-icon.dream,.module-icon.numerology,.module-icon.palm,.module-icon.astro,.module-icon.rose{color:var(--accent)}.module-icon.gold{color:var(--gold)}.module-title{font-size:16px;font-weight:700}.module-sub{color:var(--muted);font-size:12px}.module-card .chev{color:var(--muted);transition:transform var(--dur-2) var(--ease-out);flex:none}@media (hover:hover){.module-card:hover .chev,a.list-row:hover .chev,button.list-row:hover .chev{transform:translate(3px)}}.list-row{align-items:center;gap:var(--s-md);background:var(--surface);border-radius:var(--r-md);padding:var(--s-md) var(--s-lg);color:inherit;text-align:left;width:100%;box-shadow:0 3px 0 #05040980, var(--sh-inner);transition:transform var(--dur-1) var(--ease-out), box-shadow var(--dur-1), background var(--dur-2);text-decoration:none;display:flex}a.list-row:hover,button.list-row:hover{background:var(--surface-raised)}a.list-row:active,button.list-row:active{box-shadow:0 0 0 #05040980, var(--sh-inner);transform:translateY(3px)}.list-row.selected{box-shadow:0 3px 0 #05040980, var(--sh-inner), inset 0 0 0 1px var(--border-selected-subtle)}.list-row .lead{color:var(--gold);flex:none;display:grid}.list-row .title{white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:600;overflow:hidden}.list-row .sub{color:var(--muted);font-size:12px}.list-row .chev{color:var(--gold);transition:transform var(--dur-2) var(--ease-out);flex:none;margin-left:auto}.divider{background:var(--border-subtle);height:1px;margin:var(--s-lg) 0}.notice{gap:var(--s-sm);background:var(--surface-tile);border-radius:var(--r-md);padding:var(--s-md);color:var(--muted);box-shadow:var(--sh-inset);align-items:flex-start;font-size:12px;display:flex}.notice .ico{color:var(--gold);flex:none;display:grid}.notice.error{color:var(--on-bg)}.notice.error .ico{color:var(--error)}
.btn{justify-content:center;align-items:center;gap:var(--s-sm);min-height:var(--button-h);padding:var(--s-md) var(--s-xl);border-radius:var(--r-pill);background:linear-gradient(180deg, color-mix(in oklab, var(--accent) 86%, #fff), var(--accent) 55%);color:var(--on-accent);letter-spacing:.01em;width:100%;box-shadow:0 4px 0 var(--accent-deep);transition:transform var(--dur-1) var(--ease-out), box-shadow var(--dur-1) var(--ease-out), filter var(--dur-2);border:0;font-size:14px;font-weight:700;line-height:1.3;text-decoration:none;display:inline-flex}@media (hover:hover){.btn:hover:not(:disabled){box-shadow:0 5px 0 var(--accent-deep), 0 8px 18px -6px var(--accent-glow);transform:translateY(-1px)}}.btn:active:not(:disabled){box-shadow:0 0 0 var(--accent-deep);transform:translateY(4px)}.btn:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.btn:disabled{background:var(--surface-raised);color:var(--muted);box-shadow:var(--sh-inset)}.btn.outline{background:var(--surface-raised);color:var(--accent);box-shadow:0 4px 0 var(--line), var(--sh-inner)}.btn.tile{background:var(--surface-tile);color:var(--on-bg);box-shadow:0 4px 0 var(--line), var(--sh-inner)}@media (hover:hover){.btn.outline:hover:not(:disabled),.btn.tile:hover:not(:disabled){box-shadow:0 5px 0 var(--line), var(--sh-inner)}}.btn.outline:active:not(:disabled),.btn.tile:active:not(:disabled){box-shadow:0 0 0 var(--line)}.btn.tile:disabled{color:var(--muted)}.btn.text{color:var(--accent);box-shadow:none;background:0 0;min-height:44px}.btn.text:hover:not(:disabled){box-shadow:none;filter:brightness(1.12);transform:none}.btn.text:active:not(:disabled){box-shadow:none;transform:scale(.97)}.btn.text:disabled{box-shadow:none;background:0 0}.btn.auto{width:auto}.btn.compact{min-height:40px;padding:var(--s-sm) var(--s-lg);box-shadow:0 3px 0 var(--accent-deep)}.btn.compact:active:not(:disabled){transform:translateY(3px)}.pill{padding:var(--s-sm) var(--s-md);border-radius:var(--r-pill);background:var(--surface-tile);color:var(--muted);white-space:nowrap;text-overflow:ellipsis;max-width:100%;box-shadow:var(--sh-inset);align-items:center;font-size:12px;font-weight:600;display:inline-flex;overflow:hidden}.pill.active,.pill.tarot{background:var(--accent);color:var(--on-accent);box-shadow:none;font-weight:700}.chip{min-height:38px;padding:var(--s-sm) var(--s-lg);border-radius:var(--r-pill);background:var(--surface-tile);color:var(--muted);white-space:nowrap;box-shadow:var(--sh-inner);transition:background var(--dur-2), color var(--dur-2), transform var(--dur-1) var(--ease-out), box-shadow var(--dur-1);justify-content:center;align-items:center;font-size:14px;font-weight:600;line-height:1.3;display:inline-flex}button.chip:hover:not(:disabled,[aria-pressed=true]){color:var(--on-bg)}button.chip:active:not(:disabled){transform:scale(.96)}.chip[aria-pressed=true]{background:var(--accent);color:var(--on-accent);box-shadow:0 3px 0 var(--accent-deep);font-weight:700}.chip:disabled{opacity:.55}.chip:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.chips{gap:var(--s-md) var(--s-sm);flex-wrap:wrap;display:flex}.segmented{gap:var(--s-sm);display:flex}.segmented .chip{padding-inline:var(--s-sm);flex:1}.quota-badge{padding:var(--s-xs) var(--s-md);border-radius:var(--r-pill);background:var(--surface);color:var(--gold);font-family:var(--font-mono);font-variant-numeric:tabular-nums;white-space:nowrap;box-shadow:var(--sh-inset);align-items:center;font-size:12px;font-weight:700;line-height:1.6;display:inline-flex}.field{gap:var(--s-sm);flex-direction:column;display:flex}.field-label{color:var(--gold);font-size:14px;font-weight:600}.field-label.muted{color:var(--muted);font-weight:500}.input-wrap{align-items:center;display:flex;position:relative}.input-wrap>.input-icon{left:var(--s-lg);color:var(--muted);pointer-events:none;display:grid;position:absolute}.input-wrap>.input-action{right:var(--s-sm);position:absolute}.input-wrap.with-icon>.input{padding-left:48px}.input-wrap.with-action>.input{padding-right:52px}.input{font:inherit;width:100%;padding:14px var(--s-lg);border-radius:var(--r-md);background:var(--surface-raised);color:var(--on-bg);box-shadow:var(--sh-inset);transition:border-color var(--dur-2), box-shadow var(--dur-2);border:1px solid #0000;outline:none;font-size:16px}.input::placeholder{color:var(--muted)}.input:focus{border-color:var(--accent);box-shadow:var(--sh-inset), 0 0 0 3px var(--accent-soft)}.input[aria-invalid=true]{border-color:var(--error)}textarea.input{resize:vertical;min-height:140px;line-height:1.5}select.input{appearance:none}.field-error{color:var(--error);font-size:12px}.check{align-items:flex-start;gap:var(--s-md);cursor:pointer;font-size:14px;display:flex}.check input{width:20px;height:20px;accent-color:var(--gold);flex:none;margin:1px 0 0}
.state{text-align:center;align-items:center;gap:var(--s-lg);padding:var(--s-xl) 0;flex-direction:column;margin:auto 0;display:flex}.state .state-icon{background:color-mix(in oklab, var(--gold-soft) 18%, transparent);color:var(--gold-soft);box-shadow:var(--sh-inner);border-radius:50%;place-items:center;padding:20px;animation:5s ease-in-out infinite float;display:grid}.state .state-icon.error{background:color-mix(in oklab, var(--error) 14%, transparent);color:var(--error);animation:none}.state .state-icon.gold{background:var(--accent-soft);color:var(--gold)}.state .btn{width:auto}.ritual{align-items:center;gap:var(--s-lg);text-align:center;padding:var(--s-xxl) 0;flex-direction:column;margin:auto 0;display:flex}.ritual-icon{color:var(--gold);box-shadow:var(--gold-glow);border-radius:50%;animation:2.4s linear infinite spin;display:grid}.spinner{border:2px solid #0000;border-top-color:var(--accent-tarot);border-right-color:var(--accent-tarot);border-radius:50%;width:32px;height:32px;animation:.9s linear infinite spin}.skeleton{border-radius:var(--r-lg);background:linear-gradient(90deg, var(--surface), var(--surface-raised), var(--surface));height:112px;box-shadow:var(--sh-inner);background-size:200% 100%;animation:1.4s linear infinite shimmer}.frame-body>.skeleton{animation:1.4s linear infinite shimmer}
.ov{z-index:500;background:var(--scrim);animation:fade-in var(--dur-2) var(--ease-out) both;justify-content:stretch;align-items:flex-end;display:flex;position:fixed;inset:0}.ov.closing{animation:fade-out var(--dur-2) var(--ease-out) both}.modal{gap:var(--s-lg);width:100%;max-height:min(88dvh, calc(100dvh - var(--safe-top) - 8px));background:var(--surface-raised);border-radius:var(--r-xl) var(--r-xl) 0 0;padding:0 calc(var(--s-lg-plus) + var(--safe-right)) calc(var(--s-xl) + var(--safe-bottom)) calc(var(--s-lg-plus) + var(--safe-left));box-shadow:var(--sh-2), var(--sh-inner);animation:sheetUp var(--dur-3) var(--ease-spring) both;flex-direction:column;display:flex;overflow-y:auto}.ov.closing .modal{animation:sheetDown var(--dur-2) var(--ease-out) both}.sheet-handle{flex:none;padding:10px 0 2px;display:block}.sheet-handle:before{content:"";border-radius:var(--r-pill);background:var(--line);width:38px;height:4px;margin:0 auto;display:block}.modal h2{letter-spacing:-.01em;font-size:20px}.step-index{flex:none;justify-content:center;width:24px;height:24px;padding:0}.step-icon{width:36px;height:36px}@media (min-width:621px){.ov{padding:calc(18px + var(--safe-top)) calc(18px + var(--safe-right)) calc(18px + var(--safe-bottom)) calc(18px + var(--safe-left));justify-content:center;align-items:center}.modal{max-width:420px;max-height:min(90dvh, calc(100dvh - 36px - var(--safe-top) - var(--safe-bottom)));border-radius:var(--r-xl);padding:var(--s-xl);animation:modal-in var(--dur-3) var(--ease-bounce) both}.ov.closing .modal{animation:modal-out var(--dur-2) var(--ease-out) both}.sheet-handle{display:none}}
.stage{border-radius:var(--r-lg);padding:var(--s-lg-plus);background:linear-gradient(135deg, var(--stage-gradient-start), var(--stage-gradient-end));align-items:center;gap:var(--s-lg);box-shadow:var(--sh-clay), var(--sh-inner);flex-direction:column;display:flex}.stage-cards{gap:var(--s-md);justify-content:center;display:flex}.stage-card{width:82px;max-width:calc((100% - 2 * var(--s-md)) / 3);border-radius:var(--r-sm);background:var(--stage-card-fill);border:1px solid var(--gold-soft);height:128px;color:var(--gold-soft);box-shadow:0 4px 0 #05040973, var(--sh-inner);place-items:center;animation:6s ease-in-out infinite float;display:grid}.stage-card:nth-child(2){animation-delay:-2s}.stage-card:nth-child(3){animation-delay:-4s}.pick-stage{justify-content:center;align-items:center;height:410px;display:flex}.deck-fan{justify-content:center;gap:var(--s-md) var(--s-sm);flex-wrap:wrap;max-width:100%;animation:.4s ease-out both fade-in;display:flex}.deck-card{border-radius:var(--r-sm);background:var(--bg);border:1px solid var(--navy);width:56px;height:88px;color:var(--gold);box-shadow:0 4px 0 #05040999, var(--sh-inner);transition:transform var(--dur-2) var(--ease-spring), border-color var(--dur-2) var(--ease-out), box-shadow var(--dur-2);place-items:center;display:grid}@media (hover:hover){.deck-card:hover:not(:disabled){border-color:var(--gold-soft);transform:translateY(-4px)}}.deck-card:active:not(:disabled){transform:translateY(3px);box-shadow:0 0 #05040999}.deck-card[aria-pressed=true]{border:2px solid var(--gold);box-shadow:0 4px 0 #05040999, 0 0 18px var(--gold-card-glow);transform:translateY(-12px)}.deck-card:disabled:not([aria-pressed=true]){opacity:.85}.deck-card:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.locked-stage{border-radius:var(--r-lg);background:var(--locked-stage);width:100%;height:410px;box-shadow:var(--sh-inset);flex-direction:column;justify-content:center;align-items:center;gap:18px;animation:.16s ease-out both fade-in;display:flex}.locked-cards{gap:10px;display:flex}.locked-card{background:var(--locked-card);border:2px solid var(--accent-tarot);width:86px;height:144px;box-shadow:0 0 14px var(--tarot-glow);justify-content:center;align-items:center;gap:var(--s-sm);color:var(--accent-tarot);animation:lift var(--dur-3) var(--ease-spring) both;border-radius:15px;flex-direction:column;font-size:10px;font-weight:600;display:flex}.locked-card:nth-child(2){animation-delay:var(--stagger)}.locked-card:nth-child(3){animation-delay:calc(var(--stagger) * 2)}.locked-card.present{border-color:var(--gold);color:var(--gold);box-shadow:0 0 24px var(--gold-card-glow)}.locked-card span{color:var(--on-bg)}.locked-ready{font-family:var(--font-display);font-size:19px;font-weight:700}.loading-cards{gap:var(--s-sm);width:100%;display:flex}.loading-card{padding:var(--s-xl) 0;border-radius:var(--r-lg);background:var(--surface-raised);border:1px solid var(--gold-soft);align-items:center;gap:var(--s-sm);color:var(--accent-tarot);box-shadow:var(--sh-clay), var(--sh-inner);flex-direction:column;flex:1;font-size:11px;font-weight:600;animation:2.4s ease-in-out infinite breathe;display:flex}.loading-card:nth-child(2){animation-delay:-.8s}.loading-card:nth-child(3){animation-delay:-1.6s}.loading-card span{color:var(--on-bg)}.reveal-row{justify-content:space-evenly;align-items:flex-start;gap:var(--s-sm);display:flex}.reveal-col{align-items:center;gap:var(--s-sm);flex-direction:column;flex:1;min-width:0;display:flex}.position-label{letter-spacing:1.2px;color:var(--gold);font-size:12px;font-weight:600}.reveal-card{aspect-ratio:96/150;perspective:800px;width:96px;max-width:100%}.reveal-card-inner{width:100%;height:100%;transform-style:preserve-3d;animation:.45s ease-out forwards card-flip;animation-delay:var(--flip-delay,0s);position:relative;transform:rotateY(180deg)}.reveal-face{backface-visibility:hidden;border:1.5px solid var(--gold);background:var(--navy);padding:var(--s-sm);color:var(--gold);text-align:center;box-shadow:var(--sh-inner);border-radius:10px;flex-direction:column;justify-content:center;align-items:center;gap:6px;font-size:13px;line-height:1.3;display:flex;position:absolute;inset:0}.reveal-face.back{background:var(--bg);border-color:var(--navy);transform:rotateY(180deg)}.reveal-face .rotated{display:grid;transform:rotate(180deg)}.reversed-tag{color:var(--muted);font-size:11px;font-weight:600}@media (prefers-reduced-motion:reduce){.reveal-card-inner{animation:none;transform:rotateY(0)}}
.number-row{gap:var(--s-md);flex-wrap:wrap;justify-content:center;display:flex}.number-circle{border:2px solid var(--accent-numerology);background:var(--surface);width:76px;height:76px;box-shadow:0 4px 0 #05040980, var(--sh-inner);animation:bounce-in var(--dur-4) var(--ease-bounce) backwards;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex}.number-circle:nth-child(2){animation-delay:calc(var(--stagger) * 2)}.number-circle:nth-child(3){animation-delay:calc(var(--stagger) * 4)}.number-circle:nth-child(n+4){animation-delay:calc(var(--stagger) * 6)}.number-circle .value{font-family:var(--font-mono);color:var(--on-bg);font-variant-numeric:tabular-nums;font-size:24px;font-weight:700;line-height:1}.number-circle .label{color:var(--accent-numerology);font-size:10px;font-weight:600}.number-circle.master{border-color:var(--gold)}.band-scale{align-items:center;gap:var(--s-xs);display:flex}.band-segment{border-radius:var(--r-pill);background:var(--surface-tile);height:8px;box-shadow:var(--sh-inset);flex:1}.band-segment.on{background:linear-gradient(90deg, color-mix(in oklab, var(--accent-numerology) 62%, #000), var(--accent-numerology) 70%);height:12px;box-shadow:var(--sh-inner)}.avatar{background:var(--surface-tile);width:36px;height:36px;color:var(--accent-numerology);font-family:var(--font-display);box-shadow:var(--sh-inset);border-radius:50%;flex:none;place-items:center;font-size:18px;font-weight:700;display:grid}.avatar.big{width:96px;height:96px;color:var(--gold);background:var(--surface-tile);border:2px solid var(--border-subtle);box-shadow:0 5px 0 #05040980, var(--sh-inner);font-size:40px;font-weight:900}

