:root{--ink:#07060f;--ink-2:#0b0917;--ink-3:#121022;--ink-4:#191630;--gold:#d8b36c;--gold-soft:#ecd8ac;--gold-deep:#a9843f;--text:#ece7dc;--muted:#a49db0;--muted-2:#7d7689;--line:#d8b36c29;--line-soft:#d8b36c14;--card-paper:#f2e8d4;--card-ink:#342a1c;--font-display:"Cormorant Garamond", "Noto Serif SC", "Songti SC", "STSong", serif;--font-serif:"Noto Serif SC", "Songti SC", "STSong", "SimSun", serif;--font-sans:"Noto Sans SC", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", system-ui, sans-serif;--header-h:76px;--ease-out:cubic-bezier(.22, .7, .18, 1);--shadow-card:0 24px 60px -20px #000000d9, 0 2px 0 #ffffff0d inset}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{background:radial-gradient(1200px 800px at 50% -10%, #3a2c5c80, transparent 62%), radial-gradient(900px 700px at 88% 12%, #60402d29, transparent 60%), radial-gradient(800px 600px at 8% 65%, #2028524d, transparent 65%), var(--ink);min-height:100vh;color:var(--text);font-family:var(--font-sans);letter-spacing:.01em;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-size:15px;font-weight:300;line-height:1.7;overflow-x:hidden}body.has-dialog{overflow:hidden}#starfield{z-index:0;pointer-events:none;display:block;position:fixed;inset:0}.grain{z-index:1;pointer-events:none;opacity:.035;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");position:fixed;inset:0}[hidden]{display:none!important}h1,h2,h3,p,ol,ul{margin:0}button,input{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0}button:disabled{cursor:not-allowed}a{color:inherit;text-decoration:none}svg{display:block}::selection{color:#fff8e9;background:#d8b36c4d}:focus-visible{outline:1px solid var(--gold);outline-offset:4px;border-radius:2px}*{scrollbar-width:thin;scrollbar-color:#d8b36c4d transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:#d8b36c3d;border-radius:999px}::-webkit-scrollbar-track{background:0 0}.site-header{z-index:40;height:var(--header-h);border-bottom:1px solid #0000;justify-content:space-between;align-items:center;padding:0 clamp(20px,4.5vw,64px);transition:background .4s,border-color .4s,-webkit-backdrop-filter .4s,backdrop-filter .4s;display:flex;position:sticky;top:0}body.is-scrolled .site-header{border-bottom-color:var(--line-soft);-webkit-backdrop-filter:blur(18px);background:#080712b8}.brand{align-items:center;gap:12px;display:inline-flex}.brand-mark{width:36px;height:36px;color:var(--gold);border:1px solid var(--line);border-radius:50%;place-items:center;display:grid;box-shadow:0 0 24px #d8b36c1f}.brand-mark svg{width:24px;height:24px}.brand-text{flex-direction:column;line-height:1.15;display:flex}.brand-text b{font-family:var(--font-serif);letter-spacing:.28em;font-size:17px;font-weight:500}.brand-text small{color:var(--muted-2);font-family:var(--font-display);letter-spacing:.26em;text-transform:uppercase;margin-top:4px;font-size:9.5px}.header-actions{align-items:center;gap:6px;display:flex}.text-btn{color:var(--muted);letter-spacing:.14em;padding:8px 14px;font-size:12.5px;transition:color .3s}.text-btn:hover{color:var(--gold-soft)}.icon-btn{width:38px;height:38px;color:var(--muted);border:1px solid #0000;border-radius:50%;place-items:center;transition:color .3s,border-color .3s,background .3s;display:grid}.icon-btn svg{width:19px;height:19px}.icon-btn:hover{color:var(--gold-soft);border-color:var(--line);background:#d8b36c0d}#soundBtn .icon-sound-off,#soundBtn.is-off .icon-sound-on{display:none}#soundBtn.is-off .icon-sound-off{display:block}.primary-btn,.ghost-btn{letter-spacing:.16em;white-space:nowrap;min-height:44px;transition:transform .3s var(--ease-out), background .3s ease, border-color .3s ease, color .3s ease, box-shadow .3s ease, opacity .3s ease;border-radius:999px;justify-content:center;align-items:center;gap:9px;padding:0 22px;font-size:12.5px;font-weight:400;display:inline-flex}.primary-btn{color:#211805;background:linear-gradient(135deg,#e7cc95,#cda45c 55%,#bd9148);border:1px solid #fff0cd6b;box-shadow:0 10px 30px -12px #d8b36c8c,inset 0 1px #ffffff59}.primary-btn svg{width:17px;height:17px;transition:transform .3s}.primary-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 14px 36px -12px #d8b36cb3,inset 0 1px #fff6}.primary-btn:hover:not(:disabled) svg{transform:translate(3px)}.primary-btn:disabled{opacity:.34;filter:saturate(.6);box-shadow:none}.ghost-btn{color:var(--text);border:1px solid var(--line);background:#ffffff04}.ghost-btn:hover:not(:disabled){background:#d8b36c12;border-color:#d8b36c5c;transform:translateY(-1px)}.ghost-btn:disabled{opacity:.3}.ghost-btn svg{width:17px;height:17px}.ghost-btn.wide,.primary-btn.wide{width:100%}.link-btn{color:var(--gold);letter-spacing:.1em;border-bottom:1px solid #d8b36c59;padding:2px 0;font-size:12px;transition:color .3s,border-color .3s}.link-btn:hover{color:var(--gold-soft);border-color:var(--gold-soft)}#app{z-index:2;position:relative}.view{width:100%}.view-home{padding:0 clamp(20px,4.5vw,64px)}.view-table{max-width:1380px;animation:view-in .55s var(--ease-out) both;margin:0 auto;padding:26px clamp(20px,4.5vw,56px) 48px}@keyframes view-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.eyebrow,.eyebrow-sm{color:var(--gold);font-family:var(--font-display);letter-spacing:.34em;text-transform:uppercase;font-size:10.5px;font-weight:400}.eyebrow-sm{letter-spacing:.3em;opacity:.8;font-size:9.5px}.site-footer{z-index:2;padding:30px clamp(20px,4.5vw,64px) 34px;position:relative}.footer-inner{max-width:1280px;color:var(--muted-2);letter-spacing:.12em;border-top:1px solid var(--line-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0 auto;padding-top:22px;font-size:11px;display:flex}.footer-brand{color:var(--muted);font-family:var(--font-serif);letter-spacing:.24em}.footer-mid{font-family:var(--font-display);letter-spacing:.2em;text-transform:uppercase;opacity:.7;font-size:11.5px}.toast{z-index:120;max-width:min(90vw,420px);color:var(--text);letter-spacing:.04em;text-align:center;border:1px solid var(--line);opacity:0;pointer-events:none;transition:opacity .35s ease, transform .35s var(--ease-out);background:#120f20f0;border-radius:999px;padding:11px 20px;font-size:12.5px;position:fixed;bottom:34px;left:50%;transform:translate(-50%,14px);box-shadow:0 18px 50px -12px #000c}.toast.is-visible{opacity:1;transform:translate(-50%)}.noscript{z-index:200;color:#241a08;background:var(--gold-soft);text-align:center;border-radius:12px;padding:16px 20px;position:fixed;inset:auto 20px 20px}dialog{max-width:none;max-height:none;color:var(--text);background:0 0;border:0;padding:0;overflow:visible}dialog::backdrop{-webkit-backdrop-filter:blur(8px);background:#04030ac2}dialog[open]{animation:dialog-in .4s var(--ease-out) both}dialog[open]::backdrop{animation:.4s both backdrop-in}@keyframes dialog-in{0%{opacity:0;transform:translateY(18px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}.close-btn{flex:none}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.view-home{padding-top:clamp(52px,9vh,112px)}.hero{text-align:center;max-width:980px;margin:0 auto}.eyebrow{justify-content:center;align-items:center;gap:14px;margin-bottom:clamp(24px,4vh,40px);display:inline-flex}.eyebrow-line{background:linear-gradient(90deg,#0000,#d8b36cb3);width:clamp(28px,6vw,58px);height:1px;display:inline-block}.eyebrow-line:last-child{background:linear-gradient(90deg,#d8b36cb3,#0000)}.hero h1{font-family:var(--font-serif);letter-spacing:.015em;text-wrap:balance;font-size:clamp(2.5rem,6.2vw,5.15rem);font-weight:300;line-height:1.22}.hero h1 em{color:var(--gold-soft);font-family:var(--font-display);letter-spacing:.03em;padding:0 .06em;font-style:italic;font-weight:400;position:relative}.hero h1 em:after{content:"";background:linear-gradient(90deg,#0000,#d8b36c8c,#0000);height:1px;position:absolute;bottom:.02em;left:4%;right:4%}.lede{max-width:560px;color:var(--muted);font-family:var(--font-serif);letter-spacing:.06em;margin:clamp(24px,3.6vh,38px) auto 0;font-size:clamp(13.5px,1.4vw,15.5px);font-weight:300;line-height:2}.lede br.br-desktop{display:block}.hero-meta{color:var(--muted-2);letter-spacing:.16em;flex-wrap:wrap;justify-content:center;align-items:center;gap:14px;margin-top:clamp(26px,4vh,42px);font-size:11px;display:flex}.hero-meta b{color:var(--gold);font-family:var(--font-display);letter-spacing:.04em;font-size:14px;font-weight:500}.hero-meta .dot{background:#d8b36c8c;border-radius:50%;width:3px;height:3px}.spread-section{max-width:1180px;margin:clamp(64px,11vh,128px) auto 0}.section-head{border-bottom:1px solid var(--line-soft);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px 24px;margin-bottom:26px;padding-bottom:18px;display:flex}.section-head h2{font-family:var(--font-serif);letter-spacing:.14em;font-size:clamp(17px,2vw,21px);font-weight:400}.section-head p{color:var(--muted-2);letter-spacing:.1em;font-size:11.5px}.spread-picker{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,24px);display:grid}.spread-option{text-align:left;border:1px solid var(--line-soft);min-height:296px;transition:transform .45s var(--ease-out), border-color .45s ease, background .45s ease, box-shadow .45s ease;background:linear-gradient(#ffffff07,#fff0 55%),#0d0b1aa8;border-radius:6px;flex-direction:column;align-items:stretch;padding:22px 24px 20px;display:flex;position:relative;overflow:hidden}.spread-option:before{content:"";opacity:0;pointer-events:none;background:radial-gradient(320px 180px at 50% -10%,#d8b36c1c,#0000 70%);transition:opacity .45s;position:absolute;inset:0}.spread-option:after{content:"";opacity:0;background:linear-gradient(90deg,#0000,#d8b36c8c,#0000);height:1px;transition:opacity .45s;position:absolute;top:0;left:24px;right:24px}.spread-option:hover,.spread-option:focus-visible{background:linear-gradient(#ffffff0a,#fff0 55%),#100d1fd1;border-color:#d8b36c4d;transform:translateY(-5px);box-shadow:0 30px 60px -34px #000000e6,inset 0 0 0 1px #d8b36c0a}.spread-option:hover:before,.spread-option:hover:after,.spread-option:focus-visible:before,.spread-option:focus-visible:after{opacity:1}.spread-index{color:#d8b36c52;font-family:var(--font-display);letter-spacing:.12em;font-size:13px;transition:color .4s;position:absolute;top:16px;right:20px}.spread-option:hover .spread-index{color:#d8b36cb8}.spread-figure{color:#d8b36c9e;place-items:center;width:100%;height:92px;margin-bottom:8px;display:grid}.spread-figure svg{width:auto;max-width:100%;height:82px;overflow:visible}.spread-figure .dg-card{fill:#d8b36c09;stroke:currentColor;stroke-width:1px;opacity:.55;transition:opacity .4s,fill .4s}.spread-figure .dg-card.is-main{fill:#d8b36c1f;stroke:var(--gold);opacity:1}.spread-figure .dg-line{stroke:currentColor;stroke-width:.9px;opacity:.34}.spread-figure .dg-star{fill:var(--gold)}.spread-option:hover .spread-figure .dg-card,.spread-option:focus-visible .spread-figure .dg-card{opacity:.9;fill:#d8b36c17}.spread-option:hover .spread-figure .dg-card.is-main,.spread-option:focus-visible .spread-figure .dg-card.is-main{fill:#d8b36c33}.spread-en{color:var(--muted-2);font-family:var(--font-display);letter-spacing:.28em;text-transform:uppercase;font-size:9.5px}.spread-name{font-family:var(--font-serif);letter-spacing:.08em;margin-top:6px;font-size:22px;font-weight:400;transition:color .4s}.spread-option:hover .spread-name{color:var(--gold-soft)}.spread-desc{color:var(--muted);letter-spacing:.035em;flex:1;margin-top:8px;font-size:12px;line-height:1.8}.spread-foot{color:var(--muted-2);letter-spacing:.12em;border-top:1px solid var(--line-soft);justify-content:space-between;align-items:center;margin-top:18px;padding-top:14px;font-size:10.5px;display:flex}.spread-arrow{width:26px;height:26px;color:var(--gold);border:1px solid var(--line);transition:transform .4s var(--ease-out), background .4s ease;border-radius:50%;place-items:center;display:grid}.spread-arrow svg{width:14px;height:14px}.spread-option:hover .spread-arrow{background:#d8b36c1a;transform:translate(3px)}.home-note{border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft);justify-content:center;align-items:flex-start;gap:14px;max-width:660px;margin:clamp(56px,9vh,96px) auto clamp(58px,9vh,96px);padding:24px 10px;display:flex}.note-star{color:var(--gold);flex:none;margin-top:2px;font-size:11px}.home-note p{color:var(--muted);font-family:var(--font-serif);letter-spacing:.05em;text-align:left;font-size:12.5px;line-height:1.95}@media (max-width:860px){.spread-picker{grid-template-columns:1fr}.spread-option{grid-template-columns:92px minmax(0,1fr);grid-template-areas:"figure en""figure name""figure desc""figure foot";column-gap:18px;min-height:0;padding:20px;display:grid}.spread-index{top:14px;right:16px}.spread-figure{grid-area:figure;align-self:center;height:100%;margin:0}.spread-figure svg{height:96px}.spread-en{grid-area:en;padding-right:30px}.spread-name{grid-area:name;margin-top:2px}.spread-desc{grid-area:desc;margin-top:4px}.spread-foot{grid-area:foot;margin-top:10px;padding-top:10px}}@media (max-width:560px){.hero h1{font-size:clamp(2rem,9.2vw,2.6rem);line-height:1.26}.lede br.br-desktop{display:none}.hero-meta{gap:10px;font-size:10px}.section-head{display:block}.section-head p{margin-top:4px}}.table-head{border-bottom:1px solid var(--line-soft);grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;padding-bottom:20px;display:grid}.table-head .ghost-btn{justify-self:start;min-height:38px;padding:0 16px;font-size:11.5px}.table-title{text-align:center}.table-title h2{font-family:var(--font-serif);letter-spacing:.18em;margin-top:3px;font-size:clamp(18px,2.2vw,24px);font-weight:400}.table-badge{color:var(--muted);letter-spacing:.14em;border:1px solid var(--line);border-radius:999px;justify-self:end;padding:5px 12px;font-size:10.5px}.question-panel{border:1px solid var(--line-soft);background:linear-gradient(#ffffff06,#fff0);border-radius:8px;max-width:860px;margin:26px auto 0;padding:clamp(18px,2.4vw,26px) clamp(18px,3vw,30px)}.question-form label{margin-bottom:14px;display:block}.q-label{font-family:var(--font-serif);letter-spacing:.1em;font-size:16px;font-weight:400;display:block}.q-sub{color:var(--muted-2);letter-spacing:.03em;margin-top:4px;font-size:11.5px;display:block}.question-row{gap:10px;display:flex}.question-row input{min-width:0;height:48px;color:var(--text);letter-spacing:.03em;border:1px solid var(--line-soft);background:#04030c80;border-radius:999px;outline:none;flex:1;padding:0 20px;font-size:13.5px;transition:border-color .3s,background .3s,box-shadow .3s}.question-row input::placeholder{color:#a49db08c}.question-row input:focus{background:#04030cb3;border-color:#d8b36c66;box-shadow:0 0 0 3px #d8b36c0f}.question-row .primary-btn{height:48px;min-height:48px;padding:0 26px}.question-chips{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.question-chips button{color:var(--muted-2);letter-spacing:.1em;border:1px solid var(--line-soft);background:0 0;border-radius:999px;padding:6px 13px;font-size:10.5px;transition:color .3s,border-color .3s,background .3s}.question-chips button:hover{color:var(--gold-soft);background:#d8b36c0f;border-color:#d8b36c4d}.question-panel.is-done{padding-top:16px;padding-bottom:16px}.question-panel.is-done .question-form{display:none}.question-echo{align-items:baseline;gap:14px;display:flex}.q-echo-label{color:var(--gold);font-family:var(--font-display);letter-spacing:.22em;text-transform:uppercase;flex:none;font-size:9.5px}.question-echo p{min-width:0;font-family:var(--font-serif);letter-spacing:.03em;flex:1;font-size:14px;line-height:1.7}.question-echo p.is-empty{color:var(--muted-2);font-style:italic}.question-echo .link-btn{flex:none}.stage{grid-template-columns:196px minmax(0,1fr);align-items:start;gap:clamp(24px,4vw,48px);margin-top:clamp(28px,4vh,44px);display:grid}.deck-dock{top:calc(var(--header-h) + 20px);flex-direction:column;align-items:center;gap:18px;width:100%;display:flex;position:sticky}.deck-wrap{width:clamp(150px,15vw,176px);position:relative}.deck-aura{filter:blur(18px);opacity:0;pointer-events:none;background:radial-gradient(closest-side,#d8b36c33,#7864be14 55%,#0000 75%);transition:opacity .6s;position:absolute;inset:-26%}.deck.is-ready+.deck-aura{opacity:1;animation:4.5s ease-in-out infinite aura-breathe}.deck-wrap:has(.deck.is-ready) .deck-aura{opacity:1;animation:4.5s ease-in-out infinite aura-breathe}@keyframes aura-breathe{0%,to{opacity:.55;transform:scale(.97)}50%{opacity:1;transform:scale(1.04)}}.deck{aspect-ratio:3/5;-webkit-tap-highlight-color:transparent;background:0 0;border-radius:8px;width:100%;padding:0;display:block;position:relative}.deck:disabled{cursor:default}.deck-layer{z-index:calc(6 - var(--i,0));transform:translate(calc(var(--i,0) * 1.1px), calc(var(--i,0) * -1.1px));background:radial-gradient(140% 90% at 50% 0,#483d788c,#0000 60%),linear-gradient(155deg,#191434,#0d0a1d 55%,#0a0816);border:1px solid #d8b36c42;border-radius:8px;position:absolute;inset:0;box-shadow:0 12px 26px -14px #000000e6}.deck-layer:before{content:"";opacity:.55;background-image:radial-gradient(#d8b36c29 .6px,#0000 .7px);background-size:9px 9px;border:1px solid #d8b36c29;border-radius:4px;position:absolute;inset:7px}.deck-layer-top{z-index:7;transition:transform .55s var(--ease-out), box-shadow .55s ease;background:radial-gradient(120% 75% at 50% 8%,#56488c99,#0000 62%),linear-gradient(160deg,#1d1739,#100c22 60%,#0b0818);flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex;box-shadow:0 26px 50px -24px #000000f2,inset 0 0 0 1px #ffffff08}.deck-layer-top:after{content:"";pointer-events:none;border:1px solid #d8b36c3d;border-radius:3px;position:absolute;inset:12px}.deck-back-mark{color:#d8b36ccc;filter:drop-shadow(0 0 18px #d8b36c40);place-items:center;width:46%;display:grid}.deck-back-mark svg{width:100%;height:auto}.deck-brand{color:#d8b36c8c;font-family:var(--font-display);letter-spacing:.36em;text-align:center;font-size:8.5px;line-height:1.7}.deck.is-ready{cursor:pointer}.deck.is-ready .deck-layer-top{animation:4.5s ease-in-out infinite deck-breathe}.deck.is-ready:hover .deck-layer-top{transform:translateY(-7px)rotate(-1.2deg);box-shadow:0 34px 60px -26px #000000f2,0 0 40px -12px #d8b36c4d}@keyframes deck-breathe{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.deck.is-shuffling .deck-layer{animation:.46s ease-in-out infinite alternate deck-shuffle;animation-delay:calc(var(--i,0) * -52ms)}.deck.is-shuffling .deck-layer-top{animation:.4s ease-in-out infinite alternate deck-shuffle-top}@keyframes deck-shuffle{0%{transform:translate(calc(var(--i,0) * 1.1px), calc(var(--i,0) * -1.1px)) rotate(0deg)}to{transform:translate(calc(var(--i,0) * 1.1px + 7px), calc(var(--i,0) * -1.1px - 4px)) rotate(calc(1deg + var(--i,0) * .5deg))}}@keyframes deck-shuffle-top{0%{transform:translate(0)rotate(0)}to{transform:translate(-6px,-8px)rotate(-2.4deg)}}.deck.is-empty{opacity:.4;filter:grayscale(.35)}.deck.is-empty .deck-layer-top{transform:translateY(4px)scale(.97)}.deck.is-empty .deck-aura{opacity:0}.deck-status{text-align:center;width:100%}.deck-count{color:var(--muted-2);letter-spacing:.14em;font-size:10.5px}.deck-count b{color:var(--gold);font-family:var(--font-display);letter-spacing:.04em;vertical-align:-1px;font-size:20px;font-weight:500}.deck-hint{color:var(--muted);font-family:var(--font-serif);letter-spacing:.04em;text-wrap:balance;margin-top:6px;font-size:11px;line-height:1.75}.dock-actions{flex-direction:column;gap:8px;width:100%;display:flex}.dock-actions .ghost-btn,.dock-actions .primary-btn{letter-spacing:.14em;min-height:40px;padding:0 14px;font-size:11.5px}#revealBtn.is-inviting{animation:2.4s ease-in-out infinite reveal-pulse}@keyframes reveal-pulse{0%,to{box-shadow:0 10px 30px -12px #d8b36c8c,0 0 #d8b36c47}50%{box-shadow:0 10px 30px -12px #d8b36cb3,0 0 0 7px #d8b36c00}}.board-wrap{justify-content:center;min-width:0;padding-top:8px;display:flex}.spread-board{width:100%}.slot{flex-direction:column;align-items:center;gap:12px;display:flex;position:relative}.slot-mount{aspect-ratio:3/5;perspective:1400px;width:100%;position:relative}.slot-placeholder{color:#d8b36c57;background:radial-gradient(90% 70% at 50% 40%,#d8b36c0b,#0000 70%),#ffffff02;border:1px dashed #d8b36c2e;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:8px;transition:opacity .5s,border-color .5s;display:flex;position:absolute;inset:0}.slot-placeholder-star{opacity:.75;font-size:13px}.slot-placeholder-num{font-family:var(--font-display);letter-spacing:.2em;font-size:13px}.slot.is-filled .slot-placeholder{opacity:0}.slot-label{max-width:100%;color:var(--muted-2);letter-spacing:.08em;text-align:center;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:5px;font-size:10.5px;transition:color .4s;display:flex}.slot-index{color:#d8b36c9e;font-family:var(--font-display);letter-spacing:.12em;font-size:10px}.slot-title{font-family:var(--font-serif);letter-spacing:.08em;font-size:11.5px}.slot-state{color:#c79a86;letter-spacing:.1em;font-size:9.5px}.slot.is-revealed .slot-label{color:var(--muted)}.slot.is-revealed .slot-title{color:var(--text)}.spread--single{justify-content:center;padding:clamp(10px,3vh,34px) 0 10px;display:flex}.spread--single .slot{width:clamp(186px,21vw,244px)}.spread--single .slot-label{gap:10px;margin-top:4px;font-size:12px}.spread--single .slot-title{font-size:13.5px}.spread--three{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:clamp(14px,2.6vw,34px);padding-top:clamp(12px,3vh,30px);display:grid}.spread--three .slot{width:100%}.spread--three .slot-mount{max-width:190px;margin:0 auto}.spread--celtic{--cw:clamp(100px, 9vw, 132px);--ch:calc(var(--cw) * 5 / 3);--ox:calc(var(--cw) / 3);width:calc(var(--cw) * 5.35 + var(--ox) * 2);height:calc(var(--ch) * 4 + 158px);margin:0 auto;position:relative}.spread--celtic .slot{width:var(--cw);gap:10px;position:absolute}.spread--celtic .slot-mount{width:var(--cw);height:var(--ch);aspect-ratio:auto}.spread--celtic .slot-label{gap:4px;font-size:10px}.spread--celtic .slot-title{font-size:10.5px}.spread--celtic .card-name{font-size:max(8px,5.2cqw)}.spread--celtic .card-name-en{font-size:max(5.5px,2.9cqw)}.spread--celtic .card-suit{font-size:max(5px,2.4cqw)}.spread--celtic .card-numeral{font-size:max(7px,5.4cqw)}.spread--celtic .slot:first-child{left:calc(var(--ox) + var(--cw) * 1.45);top:calc(var(--ch) * 1.38 + 40px)}.spread--celtic .slot:nth-child(2){left:calc(var(--ox) + var(--cw) * 1.45);top:calc(var(--ch) * 1.38 + 40px);z-index:4}.spread--celtic .slot:nth-child(3){left:calc(var(--ox) + var(--cw) * 1.45);top:calc(var(--ch) * 2.38 + 96px)}.spread--celtic .slot:nth-child(4){left:var(--ox);top:calc(var(--ch) * 1.38 + 40px)}.spread--celtic .slot:nth-child(5){left:calc(var(--ox) + var(--cw) * 1.45);top:calc(var(--ch) * .38)}.spread--celtic .slot:nth-child(6){left:calc(var(--ox) + var(--cw) * 2.9);top:calc(var(--ch) * 1.38 + 40px)}.spread--celtic .slot:nth-child(7){left:calc(var(--ox) + var(--cw) * 4.35);top:0}.spread--celtic .slot:nth-child(8){left:calc(var(--ox) + var(--cw) * 4.35);top:calc(var(--ch) + 38px)}.spread--celtic .slot:nth-child(9){left:calc(var(--ox) + var(--cw) * 4.35);top:calc(var(--ch) * 2 + 76px)}.spread--celtic .slot:nth-child(10){left:calc(var(--ox) + var(--cw) * 4.35);top:calc(var(--ch) * 3 + 114px)}.spread--celtic .slot--cross .card{transform:rotate(90deg)}.spread--celtic .slot--cross .slot-label{margin-top:calc(var(--cw) / 3)}.flying-card{z-index:90;pointer-events:none;will-change:transform, opacity;border-radius:8px;margin:0;position:fixed;box-shadow:0 30px 70px -18px #000000e6,0 0 40px -8px #d8b36c47}.table-foot{text-align:center;margin-top:clamp(30px,5vh,54px)}.disclaimer{color:var(--muted-2);letter-spacing:.08em;font-size:10.5px}@media (max-width:1100px){.stage{grid-template-columns:168px minmax(0,1fr)}.deck-wrap{width:clamp(136px,14vw,154px)}.spread--celtic{--cw:clamp(84px, 8vw, 104px)}}@media (max-width:899px){.stage{grid-template-columns:minmax(0,1fr);gap:34px}.deck-dock{border:1px solid var(--line-soft);background:#ffffff04;border-radius:10px;grid-template-columns:128px minmax(0,1fr);grid-template-areas:"deck status""actions actions";align-items:center;gap:16px 22px;width:min(100%,440px);margin:0 auto;padding:18px;display:grid;position:static}.deck-wrap{grid-area:deck;width:128px}.deck-status{text-align:left;grid-area:status}.deck-hint{text-align:left}.dock-actions{flex-direction:row;grid-area:actions}.dock-actions .ghost-btn,.dock-actions .primary-btn{flex:1}.spread--celtic{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px;width:100%;max-width:560px;height:auto;display:grid}.spread--celtic .slot{width:100%;position:static}.spread--celtic .slot-mount{aspect-ratio:3/5;width:100%;height:auto}.spread--celtic .slot--cross .card{transform:none}.spread--celtic .slot--cross .slot-label{margin-top:0}.spread--celtic .slot-label{font-size:10.5px}.spread--celtic .slot-title{font-size:11.5px}}@media (max-width:720px){.table-head{grid-template-columns:1fr auto}.table-title{grid-area:2/1/auto/-1;margin-top:4px}.table-badge{grid-area:1/2}.question-row{flex-direction:column}.question-row input{flex:none;width:100%}.question-row .primary-btn{width:100%}.question-echo{flex-wrap:wrap;gap:6px 12px}.question-echo p{flex-basis:100%;order:3}.question-echo .link-btn{margin-left:auto}.spread--three{gap:10px}.slot{gap:8px}.slot-label{gap:3px;font-size:9.5px}.slot-title{font-size:10.5px}.spread--single .slot{width:min(72vw,230px)}}@media (max-width:420px){.deck-dock{grid-template-columns:108px minmax(0,1fr);gap:12px 16px;padding:14px}.deck-wrap{width:108px}.dock-actions{flex-direction:column}.spread--celtic{gap:20px 12px}}.card{aspect-ratio:3/5;perspective:1500px;width:100%;transform-style:preserve-3d;transition:transform .5s var(--ease-out);position:relative;container-type:inline-size}.slot:not(.slot--cross) .slot.is-filled .card:hover{transform:translateY(-5px)}.card-inner{width:100%;height:100%;transform-style:preserve-3d;transition:transform .9s cubic-bezier(.2,.72,.16,1);position:relative}.card.is-flipped .card-inner{transform:rotateY(180deg)}.card-face{backface-visibility:hidden;box-shadow:var(--shadow-card);border-radius:7px;position:absolute;inset:0;overflow:hidden}.card-front{color:var(--card-ink);background:radial-gradient(120% 80% at 50% 0,#ffffffb3,#0000 55%),radial-gradient(90% 60% at 50% 100%,#a082522e,#0000 65%),linear-gradient(160deg,#f7f0e1 0%,#efe3cc 48%,#e6d6b9 100%);border:1px solid #5e4a2c52;transform:rotateY(180deg)}.card-front:after{content:"";opacity:.35;pointer-events:none;mix-blend-mode:multiply;background-image:radial-gradient(#503c1e1a .5px,#0000 .6px);background-size:4px 4px;position:absolute;inset:0}.card-frame{border:1px solid color-mix(in srgb, var(--card-accent) 62%, #6d5636);pointer-events:none;border-radius:1px;position:absolute;inset:3.6cqw}.card-frame:before{content:"";border:1px solid color-mix(in srgb, var(--card-accent) 30%, transparent);opacity:.7;position:absolute;inset:1.4cqw}.card-corner{border-color:color-mix(in srgb, var(--card-accent) 70%, #6d5636);opacity:.9;border-style:solid;border-width:0;width:3.4cqw;height:3.4cqw;position:absolute}.card-corner--tl{border-top-width:1px;border-left-width:1px;top:1.5cqw;left:1.5cqw}.card-corner--tr{border-top-width:1px;border-right-width:1px;top:1.5cqw;right:1.5cqw}.card-corner--bl{border-bottom-width:1px;border-left-width:1px;bottom:1.5cqw;left:1.5cqw}.card-corner--br{border-bottom-width:1px;border-right-width:1px;bottom:1.5cqw;right:1.5cqw}.card-head{z-index:2;justify-content:space-between;align-items:baseline;gap:1cqw;display:flex;position:absolute;top:6.4cqw;left:7.5cqw;right:7.5cqw}.card-numeral{color:color-mix(in srgb, var(--card-accent) 55%, #4a3a22);font-family:var(--font-display);letter-spacing:.06em;text-transform:uppercase;font-size:5.4cqw;font-weight:500;line-height:1}.card-court{color:color-mix(in srgb, var(--card-accent) 55%, #4a3a22);font-family:var(--font-display);letter-spacing:.16em;opacity:.8;font-size:2.7cqw}.card-art-wrap{transition:transform .6s var(--ease-out);place-items:center;display:grid;position:absolute;inset:14.5% 11% 27%}.card-front.is-reversed .card-art-wrap{transform:rotate(180deg)}.art-glow{background:radial-gradient(closest-side, color-mix(in srgb, var(--card-accent) 18%, transparent), transparent 78%);filter:blur(1px);pointer-events:none;position:absolute;inset:4%}.card-art-svg{width:100%;height:100%;position:relative;overflow:visible}.card-art-svg .ln{stroke:#4a3d2a;stroke-width:1.15px;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.card-art-svg .dim{opacity:.42}.card-art-svg .accent{stroke:color-mix(in srgb, var(--card-accent) 78%, #5d4828)}.card-art-svg .fill{fill:#4a3d2a;stroke:none}.card-art-svg .fill-accent{fill:color-mix(in srgb, var(--card-accent) 82%, #6a5128);stroke:none}.card-foot{z-index:2;text-align:center;flex-direction:column;align-items:center;gap:.5cqw;display:flex;position:absolute;bottom:6.4%;left:8%;right:8%}.card-name{color:#352a1a;font-family:var(--font-serif);letter-spacing:.12em;font-size:5.2cqw;font-weight:500;line-height:1.25}.card-name-en{color:#4637209e;font-family:var(--font-display);letter-spacing:.18em;text-transform:uppercase;font-size:2.9cqw;line-height:1.2}.card-suit{color:#4a3a228c;font-family:var(--font-sans);letter-spacing:.08em;margin-top:.4cqw;font-size:2.25cqw;font-weight:300;line-height:1.4}.card-reversed-tag{z-index:3;color:#7d4034;letter-spacing:.12em;opacity:0;border:1px solid #7d40346b;border-radius:1px;padding:.5cqw 1.4cqw;font-size:2.6cqw;line-height:1.4;transition:opacity .3s;position:absolute;top:11.5cqw;right:7.5cqw}.card-front.is-reversed .card-reversed-tag{opacity:1}.card-back{background:radial-gradient(120% 80% at 50% 8%,#5244898c,#0000 62%),radial-gradient(80% 60% at 50% 100%,#231b42b3,#0000 70%),linear-gradient(158deg,#1d1739 0%,#100c22 55%,#0a0817 100%);border:1px solid #d8b36c4d;transform:rotateY(0)}.card-back:before{content:"";opacity:.8;background-image:radial-gradient(#d8b36c33 .55px,#0000 .65px),repeating-linear-gradient(45deg,#d8b36c09 0 1px,#0000 1px 7px),repeating-linear-gradient(-45deg,#d8b36c09 0 1px,#0000 1px 7px);background-size:8px 8px,auto,auto;position:absolute;inset:0}.card-back:after{content:"";border:1px solid #d8b36c2e;border-radius:1px;position:absolute;inset:5%}.card-back-inner{background:radial-gradient(70% 50% at 50% 45%,#d8b36c0f,#0000 70%);border:1px solid #d8b36c38;flex-direction:column;justify-content:center;align-items:center;gap:7%;display:flex;position:absolute;inset:7%}.back-corner{color:#d8b36c8c;font-size:4cqw;line-height:1;position:absolute}.back-corner--tl{top:5%;left:7%}.back-corner--tr{top:5%;right:7%}.back-corner--bl{bottom:5%;left:7%}.back-corner--br{bottom:5%;right:7%}.card-back-mark{color:#d8b36cd1;filter:drop-shadow(0 0 8px #d8b36c47);place-items:center;width:44%;display:grid}.card-back-mark svg{width:100%;height:auto}.card-back-svg .ln{stroke:currentColor;stroke-width:1.1px;stroke-linecap:round;stroke-linejoin:round}.card-back-svg .dim{opacity:.46}.card-back-svg .fill{fill:currentColor;stroke:none}.card-back-svg .fill-accent{fill:currentColor;stroke:none;opacity:.9}.card-back-brand{color:#d8b36c99;font-family:var(--font-display);letter-spacing:.34em;text-indent:.34em;font-size:3.3cqw}@container (width<=104px){.card-suit{display:none}.card-name{font-size:5.6cqw}.card-name-en{font-size:3.1cqw}}.reading-dialog{width:min(780px,94vw);max-height:90vh;margin:auto}.reading-shell{background:radial-gradient(120% 60% at 50% 0,#4a3a763d,#0000 55%),linear-gradient(#121021 0%,#0c0a18 100%);border:1px solid #d8b36c33;border-radius:14px;flex-direction:column;height:min(850px,88vh);display:flex;overflow:hidden;box-shadow:0 50px 120px -30px #000000f2,inset 0 0 0 1px #ffffff05}.reading-head{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:flex-start;gap:18px;padding:26px 32px 20px;display:flex}.reading-head h2{font-family:var(--font-serif);letter-spacing:.16em;margin-top:5px;font-size:clamp(21px,3vw,26px);font-weight:400}.reading-head .close-btn{margin:-4px -6px 0 0}.reading-meta{flex:none;padding:14px 32px 0}.reading-meta-row{flex-wrap:wrap;align-items:center;gap:10px 14px;display:flex}.meta-pill{color:var(--gold);letter-spacing:.18em;border:1px solid #d8b36c47;border-radius:999px;padding:4px 12px;font-size:9.5px}.meta-date{color:var(--muted-2);font-family:var(--font-display);letter-spacing:.14em;font-size:10.5px}.meta-question{color:var(--muted);font-family:var(--font-serif);letter-spacing:.03em;margin-top:10px;font-size:13px;line-height:1.75}.reading-body{overscroll-behavior:contain;scroll-behavior:smooth;flex:1;min-height:0;padding:22px 34px 30px;overflow-y:auto}.reading-loading{color:var(--muted);font-family:var(--font-serif);letter-spacing:.12em;flex-direction:column;align-items:center;gap:18px;padding:52px 0 36px;font-size:12.5px;display:flex}.loading-orbit{border:1px solid #d8b36c29;border-radius:50%;width:46px;height:46px;display:block;position:relative}.loading-orbit:before{content:"";border:1px solid #d8b36ccc;border-color:#d8b36ccc #d8b36c47 #0000 #0000;border-radius:50%;animation:1.5s linear infinite orbit;position:absolute;inset:-1px}.loading-orbit:after{content:"";background:var(--gold);border-radius:50%;width:4px;height:4px;margin:-2px 0 0 -2px;position:absolute;top:50%;left:50%;box-shadow:0 0 14px #d8b36ccc}@keyframes orbit{to{transform:rotate(360deg)}}.setup-notice{background:#d8b36c0b;border:1px solid #d8b36c33;border-radius:6px;margin-bottom:24px;padding:18px 20px}.notice-kicker{color:var(--gold);font-family:var(--font-display);letter-spacing:.26em;font-size:9px}.notice-title{color:var(--gold-soft);font-family:var(--font-serif);letter-spacing:.08em;margin-top:4px;font-size:16px}.setup-notice p{color:var(--muted);font-size:12px;line-height:1.85}.setup-notice p+p{margin-top:6px}.setup-notice .notice-sub{color:var(--muted-2);font-size:11px}.setup-notice code{color:var(--gold-soft);border:1px solid var(--line-soft);background:#00000059;border-radius:3px;padding:1px 5px;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.92em}.md{color:#d7d1c5;font-family:var(--font-sans);letter-spacing:.02em;font-size:14px;font-weight:300;line-height:1.95}.md>:first-child{margin-top:0}.md h2{color:var(--gold-soft);font-family:var(--font-serif);letter-spacing:.14em;border-bottom:1px solid var(--line-soft);margin:30px 0 14px;padding-bottom:10px;font-size:18px;font-weight:400}.md h2:first-child{margin-top:4px}.md h3{color:var(--text);font-family:var(--font-serif);letter-spacing:.05em;margin:26px 0 10px;font-size:14.5px;font-weight:500;line-height:1.7}.md p{margin:0 0 14px}.md p:last-child{margin-bottom:0}.md strong{color:var(--gold-soft);font-weight:500}.md em{color:#e4d9c4}.md ul,.md ol{margin:0 0 16px;padding-left:1.45em}.md li{margin:5px 0;padding-left:.2em}.md li::marker{color:#d8b36cb3}.md blockquote{color:var(--muted);font-family:var(--font-serif);border-left:1px solid #d8b36c61;margin:18px 0;padding:4px 0 4px 16px}.md hr{border:0;border-top:1px solid var(--line-soft);height:0;margin:26px 0}.md code{color:var(--gold-soft);background:#ffffff0d;border-radius:3px;padding:1px 5px;font-family:ui-monospace,Cascadia Code,Consolas,monospace;font-size:.9em}.md a{color:var(--gold);border-bottom:1px solid #d8b36c59}.reading-error{background:#964a3e0f;border:1px solid #c47a683d;border-radius:6px;margin-top:18px;padding:18px 20px}.error-title{color:#dfb3a4;font-family:var(--font-serif);letter-spacing:.08em;font-size:15px}.error-message{color:var(--muted);margin-top:5px;font-size:12px;line-height:1.8}.reading-error .ghost-btn{min-height:36px;margin-top:12px;padding:0 16px;font-size:11px}.reading-foot{border-top:1px solid var(--line-soft);background:#07060f59;justify-content:space-between;align-items:center;gap:12px;padding:16px 32px;display:flex}.reading-foot .ghost-btn,.reading-foot .primary-btn{min-height:40px;padding:0 18px;font-size:11.5px}.guide-dialog{width:min(560px,92vw);max-height:88vh;margin:auto}.guide-shell{background:radial-gradient(110% 60% at 50% 0,#4a3a7633,#0000 55%),linear-gradient(#121021,#0c0a18);border:1px solid #d8b36c33;border-radius:14px;max-height:88vh;padding:clamp(26px,4vw,38px);position:relative;overflow-y:auto;box-shadow:0 40px 110px -30px #000000f2}.guide-head{border-bottom:1px solid var(--line-soft);padding-bottom:20px;position:relative}.guide-head h2{font-family:var(--font-serif);letter-spacing:.16em;margin-top:6px;font-size:clamp(22px,4vw,28px);font-weight:400}.guide-head .close-btn{position:absolute;top:-6px;right:-6px}.guide-body{padding-top:22px}.guide-steps{counter-reset:step;margin:0;padding:0;list-style:none}.guide-steps li{counter-increment:step;padding:0 0 18px 38px;position:relative}.guide-steps li:before{content:counter(step, decimal-leading-zero);color:#d8b36c8c;font-family:var(--font-display);letter-spacing:.08em;font-size:13px;position:absolute;top:2px;left:0}.guide-steps b{color:var(--text);font-family:var(--font-serif);letter-spacing:.06em;font-size:14px;font-weight:500;display:block}.guide-steps span{color:var(--muted);margin-top:3px;font-size:12px;line-height:1.85;display:block}.guide-quote{background:#d8b36c0a;border-left:1px solid #d8b36c66;gap:12px;margin:10px 0 22px;padding:16px 18px;display:flex}.guide-quote span{color:var(--gold);font-size:13px}.guide-quote p{color:var(--muted);font-family:var(--font-serif);letter-spacing:.04em;font-size:12px;line-height:1.9}.guide-disclaimer{color:var(--muted-2);letter-spacing:.03em;border-top:1px solid var(--line-soft);padding-top:16px;font-size:10.5px;line-height:1.8}@media (max-width:720px){.reading-dialog{width:100vw;max-width:none;max-height:100dvh}.reading-shell{border:0;border-radius:0;height:100dvh}.reading-head{padding:20px 20px 16px}.reading-meta{padding:12px 20px 0}.reading-body{padding:18px 20px 26px}.reading-foot{padding:12px 20px calc(12px + env(safe-area-inset-bottom,0px))}.reading-foot .ghost-btn,.reading-foot .primary-btn{flex:1;padding:0 12px}.md{font-size:13.5px}.guide-shell{padding:24px 20px}}
