:root{color:#f7f1e7;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg-panel:#141018d1;--bg-panel-strong:#0d0911f0;--line:#e8ca9a2e;--line-strong:#e8ca9a57;--gold:#e8ca9a;--gold-strong:#ffd48c;--gold-soft:#b79665;--ink:#f7f1e7;--muted:#f7f1e7b8;--crimson:#5f1d24;--shadow:0 30px 60px #00000061;background:radial-gradient(circle at top,#c1975838,#0000 28%),radial-gradient(circle at 0 100%,#7f321433,#0000 24%),linear-gradient(#050507 0%,#0d0a11 48%,#140d11 100%);font-family:Noto Serif SC,Source Han Serif SC,Songti SC,serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0}button,textarea{font:inherit}button{cursor:pointer;border:0}textarea{resize:vertical}#app{min-height:100vh}.page-shell{width:min(1240px,100% - 32px);margin:0 auto;padding:28px 0 48px}.hero-banner{border:1px solid var(--line);background:linear-gradient(135deg, #f8ead208, transparent 50%), linear-gradient(160deg, #5e1c2247, #08060ae6), var(--bg-panel-strong);box-shadow:var(--shadow);border-radius:32px;position:relative;overflow:hidden}.hero-banner:before,.hero-banner:after{content:"";filter:blur(20px);border-radius:999px;position:absolute}.hero-banner:before{background:#e8ca9a14;width:260px;height:260px;top:-40px;right:-80px}.hero-banner:after{background:#792d3438;width:200px;height:200px;bottom:-50px;left:-60px}.hero-banner__brand,.hero-banner__content,.nav-strip,.content-stack,.site-footer{z-index:1;position:relative}.hero-banner__brand{align-items:center;gap:18px;padding:26px 30px 0;display:flex}.brand-mark{color:#26140a;background:radial-gradient(circle at top,#fff7da,#d9af6c 65%,#9f6831 100%);border-radius:18px;place-items:center;width:64px;height:64px;font-size:28px;display:grid;box-shadow:0 14px 32px #00000052}.brand-kicker,.panel-label,.hero-tag,.spread-card__eyebrow,.draw-step{letter-spacing:.22em;text-transform:uppercase;color:var(--gold-soft);margin:0;font-family:Segoe UI,sans-serif;font-size:12px}.hero-banner__brand h1{letter-spacing:.08em;margin:4px 0 0;font-size:clamp(32px,5vw,56px);font-weight:600}.hero-banner__content{grid-template-columns:1.25fr .95fr;gap:24px;padding:22px 30px 34px;display:grid}.hero-banner__lead h2{margin:14px 0 16px;font-size:clamp(24px,3vw,42px);line-height:1.15}.hero-banner__lead p,.ritual-copy,.spread-card__copy,.spread-card__subtitle,.draw-instruction p,.result-card__meta p,.interpretation-panel p,.site-footer p,.position-chip p,.question-box span,.question-box textarea,.ritual-notes p{color:var(--muted)}.hero-banner__lead p{max-width:58ch;margin:0;font-size:17px}.hero-focus{border:1px solid var(--line);background:linear-gradient(#ffffff08,#fff0);border-radius:26px;align-self:stretch;gap:14px;padding:24px;display:grid}.hero-focus__frame{background:radial-gradient(circle,#e8ca9a1f,#0000 52%),linear-gradient(#19111ee6,#08070af2);border:1px solid #e8ca9a33;border-radius:22px;place-items:center;min-height:310px;display:grid}.hero-focus__cards{width:220px;height:220px;position:relative}.hero-focus__cards span{width:88px;height:146px;color:var(--gold);background:radial-gradient(circle at top,#ffffff14,#0000 42%),linear-gradient(160deg,#4a1420,#1c1425 55%,#0f0d14);border:1px solid #e8ca9a6b;border-radius:18px;place-items:center;font-size:28px;display:grid;position:absolute;box-shadow:0 20px 36px #00000057}.hero-focus__cards span:first-child{transform:translate(-50px,20px)rotate(-12deg)}.hero-focus__cards span:nth-child(2){transform:translateY(-4px)rotate(0)}.hero-focus__cards span:nth-child(3){transform:translate(50px,20px)rotate(12deg)}.hero-focus__caption{flex-direction:column;gap:6px;display:flex}.hero-focus__caption strong{font-size:22px}.nav-strip{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:18px 0 26px;display:grid}.nav-chip,.ghost-btn,.primary-btn{transition:transform .2s,border-color .2s,background-color .2s,color .2s,box-shadow .2s}.nav-chip{border:1px solid var(--line);min-height:62px;color:var(--ink);background:#ffffff08;border-radius:18px;font-size:15px}.nav-chip:hover,.ghost-btn:hover,.primary-btn:hover,.spread-card:hover{transform:translateY(-2px)}.nav-chip.is-active{color:var(--gold-strong);background:linear-gradient(#e8ca9a2e,#e8ca9a0f);border-color:#e8ca9a75;box-shadow:0 10px 30px #00000038}.content-stack{gap:24px;display:grid}.spread-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.spread-card,.ritual-panel,.reading-shell,.result-shell{border:1px solid var(--line);background:var(--bg-panel);box-shadow:var(--shadow);border-radius:28px}.spread-card{cursor:pointer;overflow:hidden}.spread-card.is-selected{border-color:var(--line-strong);box-shadow:0 22px 46px #0000005c,inset 0 0 0 1px #e8ca9a2e}.spread-card__visual{background:radial-gradient(circle,#e8ca9a24,#0000 46%),linear-gradient(#ffffff0a,#fff0);place-items:center;min-height:240px;padding:20px;display:grid}.spread-sigil{border:1px solid #e8ca9a38;border-radius:50%;width:220px;height:220px;position:relative}.spread-sigil:before,.spread-sigil:after{content:"";border:1px dashed #e8ca9a2e;border-radius:50%;position:absolute;inset:18px}.spread-sigil:after{inset:36px}.sigil-card{width:56px;height:90px;color:var(--gold);background:radial-gradient(circle at top,#ffffff0f,#0000 36%),linear-gradient(160deg,#542035,#24192c 58%,#120f18);border:1px solid #e8ca9a6b;border-radius:14px;place-items:center;margin:-45px 0 0 -28px;font-size:18px;display:grid;position:absolute;top:50%;left:50%}.spread-sigil--3 .sigil-card:first-child{transform:translate(-82px)}.spread-sigil--3 .sigil-card:nth-child(2){transform:translate(0)}.spread-sigil--3 .sigil-card:nth-child(3){transform:translate(82px)}.spread-sigil--4 .sigil-card:first-child{transform:translate(-76px,-50px)}.spread-sigil--4 .sigil-card:nth-child(2){transform:translate(76px,-50px)}.spread-sigil--4 .sigil-card:nth-child(3){transform:translate(-36px,60px)}.spread-sigil--4 .sigil-card:nth-child(4){transform:translate(36px,60px)}.spread-sigil--5 .sigil-card:first-child{transform:translate(-72px,-48px)}.spread-sigil--5 .sigil-card:nth-child(2){transform:translate(72px,-48px)}.spread-sigil--5 .sigil-card:nth-child(3){transform:translateY(-8px)}.spread-sigil--5 .sigil-card:nth-child(4){transform:translate(-46px,72px)}.spread-sigil--5 .sigil-card:nth-child(5){transform:translate(46px,72px)}.spread-card__body{padding:22px 22px 24px}.spread-card__body h3,.draw-instruction h3,.result-card__meta h3,.interpretation-item h3{margin:8px 0 10px;font-size:26px}.spread-card__subtitle{color:var(--gold);margin:0 0 10px}.spread-card__copy,.position-chip p,.result-card__meta p,.interpretation-item p{margin:0;font-size:15px}.ritual-panel,.reading-shell,.result-shell{padding:28px}.ritual-panel h2,.reading-top h2{margin:6px 0 12px;font-size:clamp(28px,3vw,42px)}.ritual-notes{gap:8px;margin-top:20px;display:grid}.ritual-notes p{margin:0;font-size:15px}.position-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px;display:grid}.position-chip{background:#ffffff06;border:1px solid #e8ca9a29;border-radius:20px;align-items:flex-start;gap:12px;min-height:96px;padding:16px;display:flex}.position-chip span{width:34px;height:34px;color:var(--gold);background:#e8ca9a29;border-radius:999px;flex:none;place-items:center;font-family:Segoe UI,sans-serif;display:grid}.position-chip strong{margin-bottom:6px;display:block}.question-box{gap:10px;margin-top:22px;display:grid}.question-box span{font-family:Segoe UI,sans-serif;font-size:14px}.question-box textarea{width:100%;color:var(--ink);background:#ffffff0a;border:1px solid #e8ca9a3d;border-radius:20px;outline:none;padding:16px 18px}.question-box textarea:focus{border-color:#ffd48c8f;box-shadow:0 0 0 4px #ffd48c14}.ritual-actions,.result-actions{flex-wrap:wrap;gap:12px;margin-top:22px;display:flex}.primary-btn,.ghost-btn{border-radius:16px;min-height:52px;padding:0 22px;font-size:15px}.primary-btn{color:#2b1808;background:linear-gradient(#ffe6b6,#d4a563);box-shadow:0 18px 32px #6a411442}.ghost-btn{color:var(--ink);background:#ffffff08;border:1px solid #e8ca9a38}.reading-top{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.draw-stage{background:radial-gradient(circle,#e8ca9a1a,#0000 44%),linear-gradient(#ffffff08,#fff0);border:1px solid #e8ca9a24;border-radius:24px;grid-template-columns:.9fr 1.1fr;align-items:center;gap:24px;margin-top:26px;padding:22px;display:grid}.deck-stack{width:180px;height:250px;margin:0 auto;position:relative}.deck-stack span,.tarot-card{border:1px solid #e8ca9a57;border-radius:24px}.deck-stack span{background:radial-gradient(circle at top,#ffffff14,#0000 40%),linear-gradient(160deg,#652338,#221828 56%,#0f0d15);position:absolute;inset:0;box-shadow:0 18px 36px #0000005c}.deck-stack span:first-child{transform:rotate(-6deg)translate(-10px,10px)}.deck-stack span:nth-child(2){transform:rotate(4deg)translate(8px,-4px)}.deck-stack span:nth-child(3){transform:rotate(-1deg)}.draw-instruction h3,.draw-instruction p{margin-top:8px;margin-bottom:0}.drawn-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px;margin-top:24px;display:grid}.drawn-slot{background:#ffffff06;border:1px solid #e8ca9a1f;border-radius:22px;padding:16px}.drawn-slot__label{color:var(--gold);text-align:center;margin:0 0 14px}.card{width:100%;min-height:248px;position:relative;overflow:hidden}.card-back,.card-face{place-items:center;padding:22px;display:grid}.card-back{background:radial-gradient(circle at top,#ffffff0d,#0000 36%),linear-gradient(160deg,#4d1730,#1c1628 56%,#100d16)}.card-back__orbit,.card-back__moon,.card-back__stars{position:absolute}.card-back__orbit{border:1px solid #e8ca9a47;border-radius:50%;width:132px;height:132px}.card-back__moon{background:radial-gradient(circle at 35% 35%,#fff8e1,#d6a45d 72%);border-radius:50%;width:62px;height:62px;box-shadow:0 0 28px #ffd58e47}.card-back__stars{background-image:radial-gradient(circle at 28% 30%,#ffffffb3 0 1px,#0000 2px),radial-gradient(circle at 75% 22%,#ffffff8c 0 1.2px,#0000 2px),radial-gradient(circle at 68% 70%,#fff6 0 1px,#0000 2px),radial-gradient(circle at 35% 76%,#ffffff7a 0 1.3px,#0000 2px);inset:0}.card-back__label{letter-spacing:.3em;text-transform:uppercase;color:var(--gold);font-family:Segoe UI,sans-serif;position:absolute;bottom:22px}.card-face{text-align:center;background:radial-gradient(circle at top,#ffffff0f,#0000 36%),linear-gradient(160deg,#5d1d24eb,#1a111bfa 60%,#0d0b12)}.card-face.reversed{background:radial-gradient(circle at bottom,#ffffff0f,#0000 36%),linear-gradient(160deg,#2f1949eb,#1b121cfa 60%,#0d0b12)}.card-face__glow{border:1px solid #e8ca9a33;border-radius:18px;position:absolute;inset:18px}.card-face__arcana{letter-spacing:.2em;text-transform:uppercase;color:var(--gold-soft);font-family:Segoe UI,sans-serif;font-size:12px}.card-face__title{color:var(--ink);margin-top:12px;font-size:30px}.card-face__orientation{color:var(--gold);background:#e8ca9a1a;border-radius:999px;margin-top:10px;padding:6px 12px}.card-face.reversed .card-face__orientation{color:#d6c3ff;background:#aa76ff24}.card-face__keywords{max-width:12ch;color:var(--muted);margin-top:14px}.result-layout{grid-template-columns:1.1fr .9fr;gap:22px;margin-top:22px;display:grid}.result-cards{grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:16px;display:grid}.result-card,.interpretation-panel{background:#ffffff06;border:1px solid #e8ca9a1f;border-radius:24px;padding:18px}.result-card__meta{margin-top:14px}.interpretation-panel{align-content:start;gap:18px;display:grid}.interpretation-panel__summary,.interpretation-item{background:#ffffff06;border:1px solid #e8ca9a1f;border-radius:20px;padding:18px}.interpretation-panel__summary p,.interpretation-item p{margin:0}.interpretation-list{gap:14px;display:grid}.site-footer{text-align:center;margin-top:22px}.site-footer p{margin:0;font-size:14px}@media (width<=1080px){.spread-gallery,.position-grid,.result-layout,.draw-stage,.hero-banner__content{grid-template-columns:1fr}.nav-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-focus__frame{min-height:240px}}@media (width<=720px){.page-shell{width:min(100%,100% - 16px);padding-top:12px}.hero-banner,.spread-card,.ritual-panel,.reading-shell,.result-shell{border-radius:22px}.hero-banner__brand,.hero-banner__content,.ritual-panel,.reading-shell,.result-shell{padding:20px}.nav-strip{grid-template-columns:1fr 1fr;margin-bottom:18px}.spread-gallery,.position-grid,.drawn-grid,.result-cards{grid-template-columns:1fr}.reading-top,.ritual-actions,.result-actions{flex-direction:column}.primary-btn,.ghost-btn,.nav-chip{width:100%}.hero-focus__cards span{width:76px;height:126px}}
