*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-width:320px;color:#fbf8ff;font-family:Inter,system-ui,sans-serif;line-height:1.55;background:radial-gradient(circle at 50% 0,rgba(126,60,215,.25),transparent 35rem),linear-gradient(180deg,#040209,#090512 55%,#040209);overflow-x:hidden}button,input,textarea,select{font:inherit}.shell{width:min(1180px,calc(100% - 40px));margin:auto}.site-header{position:sticky;top:0;z-index:30;border-bottom:1px solid rgba(188,140,255,.12);background:rgba(5,3,12,.82);backdrop-filter:blur(18px)}.nav{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:22px}.brand{color:#fff;font-family:Georgia,serif;font-size:1.9rem;letter-spacing:-.05em;text-decoration:none}.brand span{color:#a86cff}.back-link{color:#cfc3dd;text-decoration:none;font-size:.92rem}.intro{padding:72px 0 42px;text-align:center}.eyebrow{display:inline-flex;margin-bottom:18px;padding:8px 14px;border:1px solid rgba(205,166,255,.42);border-radius:999px;color:#d9c0ff;font-size:.74rem;font-weight:850;letter-spacing:.18em;text-transform:uppercase}.intro h1{max-width:820px;margin:0 auto 18px;font-family:Georgia,serif;font-size:clamp(3rem,7vw,5.6rem);font-weight:500;letter-spacing:-.058em;line-height:.94}.intro h1 span{color:#cfaaff}.intro p{max-width:720px;margin:auto;color:#bdb3cc;font-size:1.05rem}.reading-panel{margin-bottom:80px;padding:26px;border:1px solid rgba(205,166,255,.35);border-radius:28px;background:linear-gradient(145deg,rgba(151,86,241,.11),rgba(255,255,255,.02));box-shadow:0 28px 90px rgba(0,0,0,.24)}.setup-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:18px}.field label{display:block;margin-bottom:8px;color:#ddd4e7;font-weight:750}.field textarea,.field select{width:100%;border:1px solid rgba(190,143,255,.25);border-radius:15px;background:rgba(255,255,255,.035);color:#fff;padding:14px;outline:none}.field textarea{min-height:116px;resize:vertical}.field select option{background:#120b20}.spread-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:22px 0}.spread-option{padding:16px;border:1px solid rgba(190,143,255,.2);border-radius:17px;background:rgba(255,255,255,.025);color:#fff;text-align:left;cursor:pointer}.spread-option strong,.spread-option span{display:block}.spread-option span{margin-top:4px;color:#a99eb8;font-size:.84rem}.spread-option.active{border-color:rgba(205,166,255,.72);background:rgba(151,86,241,.16);box-shadow:0 0 0 3px rgba(151,86,241,.07)}.button{min-height:50px;border:0;border-radius:14px;padding:13px 20px;color:#fff;background:linear-gradient(135deg,#a86cff,#6f31c7);box-shadow:0 16px 38px rgba(105,46,192,.3);font-weight:820;cursor:pointer}.button:disabled{opacity:.5;cursor:not-allowed}.deck-stage{display:none;margin-top:34px;padding-top:30px;border-top:1px solid rgba(190,143,255,.18)}.deck-stage.visible{display:block}.stage-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.stage-head h2{margin:0;font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.4rem);font-weight:500;letter-spacing:-.045em}.stage-head p{margin:4px 0 0;color:#bdb3cc}.selection-count{color:#d8c0ff;font-weight:800}.deck{display:grid;grid-template-columns:repeat(13,1fr);gap:8px;max-height:none;overflow:visible;padding:8px 4px 18px}.tarot-card{position:relative;aspect-ratio:.57;border:1px solid rgba(205,166,255,.35);border-radius:9px;background:linear-gradient(145deg,#2b1748,#130920 58%,#4b2576);box-shadow:0 8px 20px rgba(0,0,0,.28);cursor:pointer;overflow:hidden}.tarot-card:before{content:"✦";position:absolute;inset:7px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(230,209,255,.42);border-radius:6px;color:#d9c0ff;font-size:1.2rem}.tarot-card:hover{transform:translateY(-3px)}.tarot-card.selected{cursor:default;background:linear-gradient(180deg,#f0e4cf,#c9b48d);color:#21162d;border-color:#f2d9a5}.tarot-card.selected:before{display:none}.card-face{position:absolute;inset:5px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:5px;text-align:center;font-size:.57rem;font-weight:800;line-height:1.15}.card-face small{margin-top:5px;font-size:.48rem;text-transform:uppercase}.tarot-card.reversed .card-face{transform:rotate(180deg)}.chosen-row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:24px 0}.chosen-card{min-height:112px;padding:14px;border:1px solid rgba(190,143,255,.24);border-radius:15px;background:rgba(255,255,255,.03)}.chosen-card span{display:block;color:#a99eb8;font-size:.73rem;text-transform:uppercase;letter-spacing:.08em}.chosen-card strong{display:block;margin-top:7px}.reading-actions{display:flex;justify-content:flex-end;gap:12px}.ghost-button{min-height:50px;border:1px solid rgba(190,143,255,.25);border-radius:14px;padding:13px 20px;background:transparent;color:#ddd4e7;font-weight:760;cursor:pointer}.loading{display:none;margin-top:24px;padding:18px;border:1px solid rgba(190,143,255,.24);border-radius:16px;color:#d8c0ff;background:rgba(151,86,241,.08)}.loading.visible{display:block}.result{display:none;margin-top:30px;padding:28px;border:1px solid rgba(205,166,255,.42);border-radius:25px;background:rgba(7,4,14,.74)}.result.visible{display:block}.result h2{margin:0 0 12px;font-family:Georgia,serif;font-size:2.7rem;font-weight:500}.result-summary{color:#c9bfd3;font-size:1.05rem}.result-cards{display:grid;gap:12px;margin:24px 0}.result-card{padding:17px;border:1px solid rgba(190,143,255,.19);border-radius:16px;background:rgba(255,255,255,.025)}.result-card h3{margin:0 0 7px}.result-card p{margin:0;color:#bdb3cc}.result-block{margin-top:20px}.result-block h3{margin:0 0 7px;color:#d8c0ff}.result-block p{margin:0;color:#c9bfd3}.notice{display:none!important}footer{border-top:1px solid rgba(188,137,255,.16);padding:28px 0 40px;color:#a99eb8}.footer-inner{display:flex;justify-content:space-between;gap:20px}@media(max-width:900px){.setup-grid{grid-template-columns:1fr}.spread-grid{grid-template-columns:1fr 1fr}.deck{grid-template-columns:repeat(10,1fr)}.chosen-row{grid-template-columns:repeat(3,1fr)}}@media(max-width:620px){.shell{width:min(100% - 24px,1180px)}.intro{padding:46px 0 30px}.reading-panel{padding:17px;border-radius:21px}.spread-grid{grid-template-columns:1fr}.deck{grid-template-columns:repeat(7,1fr);max-height:none}.chosen-row{grid-template-columns:1fr 1fr}.stage-head{align-items:flex-start;flex-direction:column}.reading-actions{display:grid}.button,.ghost-button{width:100%}.footer-inner{flex-direction:column}}