:root{font-family:Georgia,Times New Roman,serif;color:#f6eddc;background:#100d16;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:3px solid #e8bd72;outline-offset:3px}button:disabled{cursor:wait;opacity:.6}.app-shell{min-height:100vh;background:radial-gradient(circle at 50% -10%,#30203d 0,transparent 40%),#100d16;color:#f6eddc;transition:background .3s,color .3s}.theme-light{background:radial-gradient(circle at 50% -10%,#fff0d8 0,transparent 42%),#faf7f1;color:#2d2232}.app-header{max-width:1180px;margin:auto;padding:1.25rem 2rem;display:flex;justify-content:space-between;align-items:center}.brand{color:inherit;text-decoration:none;font-size:1.35rem;letter-spacing:.08em;display:flex;gap:.6rem;align-items:center}.brand-mark{color:#e8bd72;font-size:1.6rem}.top-nav{display:flex;gap:.25rem}.top-nav button,.icon-button{border:0;background:transparent;color:inherit;opacity:.72;padding:.6rem .8rem;border-radius:999px}.top-nav button:hover,.icon-button:hover{background:#e8bd721f;opacity:1}.top-nav button{white-space:nowrap}.main-content{max-width:1180px;margin:auto;padding:4.2rem 2rem 3rem}.hero{max-width:700px;margin-bottom:3.5rem}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:#d4a95f;font:600 .72rem/1.4 system-ui,sans-serif;margin:0 0 .8rem}h1{font-size:clamp(3rem,7vw,6rem);font-weight:400;letter-spacing:-.06em;line-height:.94;margin:0}h1 em{color:#e8bd72;font-style:italic}.hero-copy{color:#bcb0c6;max-width:490px;font-size:1.1rem;line-height:1.6;margin-top:1.6rem}.theme-light .hero-copy,.theme-light .muted{color:#786b78}.reading-controls{background:#ffffff0f;border:1px solid rgba(232,189,114,.18);border-radius:18px;padding:1.5rem;display:grid;grid-template-columns:minmax(220px,1.3fr) minmax(280px,1fr) auto;gap:1.4rem;align-items:end}.theme-light .reading-controls{background:#ffffffb3;border-color:#e4d5c1}.question-field label,.control-label{display:block;color:#c4b6c7;font:600 .75rem/1.4 system-ui,sans-serif;text-transform:uppercase;letter-spacing:.11em;margin-bottom:.55rem}.theme-light .question-field label,.theme-light .control-label{color:#766878}.question-field input{border:0;border-bottom:1px solid #66506f;background:transparent;color:inherit;width:100%;padding:.6rem 0;outline:0}.question-field input:focus{border-color:#e8bd72}.spread-options{display:flex;gap:.45rem}.spread-options button{flex:1;text-align:left;border:1px solid #4d3d55;color:inherit;background:transparent;border-radius:10px;padding:.7rem;min-width:0}.spread-options button.selected{border-color:#e8bd72;background:#e8bd7221}.spread-options strong,.spread-options small{display:block}.spread-options strong{font-size:.84rem;white-space:nowrap}.spread-options small{color:#a99caf;font:.7rem system-ui,sans-serif;margin-top:.25rem}.control-actions{display:flex;gap:.5rem;align-items:center}.draw-button{border:0;border-radius:999px;background:#e8bd72;color:#271b29;padding:.85rem 1.1rem;white-space:nowrap;font-weight:700}.draw-button span{font-size:1.25rem;margin-left:.55rem}.draw-button:hover{background:#f4d08c;transform:translateY(-1px)}.clear-button{background:transparent;border:0;color:#b9aab9;font-size:.8rem}.reading-heading{display:flex;justify-content:space-between;align-items:end;margin:4.2rem 0 1.5rem;gap:1rem}.reading-heading h2{margin:0;font-size:1.35rem;font-weight:400;max-width:680px;color:#e8dce7}.theme-light .reading-heading h2{color:#4a3948}.local-badge{color:#a7d7a5;border:1px solid #48734f;border-radius:999px;font:.72rem system-ui,sans-serif;padding:.4rem .7rem;white-space:nowrap}.spread{min-height:330px}.empty-reading{min-height:300px;display:grid;place-content:center;text-align:center;color:#847487;border:1px dashed #493a51;border-radius:18px}.empty-symbol{display:block;color:#e8bd72;font-size:2.4rem;margin-bottom:.6rem}.empty-reading p{margin:0;font-size:1.1rem}.spread-grid{display:grid;grid-template-columns:repeat(10,minmax(120px,1fr));gap:1.3rem;align-items:start;overflow-x:auto;padding:.2rem .1rem 1rem}.spread-three .spread-grid{grid-template-columns:repeat(3,minmax(180px,1fr));max-width:820px;margin:auto}.spread-single .spread-grid{grid-template-columns:minmax(200px,300px);justify-content:center}.reading-card-wrap{min-width:0}.card-position{display:block;color:#b9a9bb;font:.68rem system-ui,sans-serif;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.5rem}.tarot-card{perspective:900px}.tarot-card-inner{aspect-ratio:2 / 3.35;border:1px solid color-mix(in srgb,var(--card-tone) 65%,#fff 10%);border-radius:10px;padding:.7rem;display:flex;flex-direction:column;justify-content:space-between;text-align:center;background:radial-gradient(circle at 50% 45%,color-mix(in srgb,var(--card-tone) 22%,transparent),transparent 45%),linear-gradient(145deg,#271e30,#121018);box-shadow:0 14px 28px #0003}.theme-light .tarot-card-inner{background:linear-gradient(145deg,#fffaf0,#eadfda)}.reversed .tarot-card-inner{transform:rotate(180deg)}.card-number,.card-orientation{font:.65rem system-ui,sans-serif;color:#c3b4c3}.card-symbol{font-size:clamp(2rem,4vw,3.8rem);color:var(--card-tone);line-height:1;text-shadow:0 0 18px color-mix(in srgb,var(--card-tone) 45%,transparent)}.card-name{font-size:.95rem;line-height:1.1}.card-meaning{color:#b9acb9;font-size:.82rem;line-height:1.45;margin-top:.7rem}.card-meaning strong{font-weight:400}.app-footer{max-width:1180px;margin:auto;padding:1.5rem 2rem 2.5rem;display:flex;justify-content:space-between;color:#766a79;font:.72rem system-ui,sans-serif}.overlay{position:fixed;z-index:10;top:0;right:0;bottom:0;left:0;background:#0a0710b8;display:grid;place-items:center;padding:1.5rem}.panel{width:min(560px,100%);max-height:80vh;overflow:auto;background:#201828;border:1px solid #554261;border-radius:18px;padding:1.5rem;box-shadow:0 22px 70px #0008}.theme-light .panel{background:#fffaf3;border-color:#dfcdb8}.panel-heading{display:flex;justify-content:space-between;align-items:start;margin-bottom:1.4rem}.panel h2{margin:0;font-size:1.7rem;font-weight:400}.icon-button{font-size:1.6rem;line-height:1}.history-list{display:grid;gap:.7rem}.history-item{padding:.85rem;border:1px solid #493851;border-radius:10px}.history-item strong,.history-item span,.history-item small{display:block}.history-item span,.history-item small{color:#a99caf;font:.75rem/1.5 system-ui,sans-serif;margin-top:.25rem}.history-actions{display:flex;justify-content:flex-end;margin-bottom:.5rem}.history-item-heading{display:flex;align-items:start;gap:.5rem}.history-open{flex:1;border:0;padding:0;background:transparent;color:inherit;text-align:left}.history-open:hover strong{color:#e8bd72}.history-delete{flex:0 0 auto;padding:.1rem .35rem;font-size:1.2rem}.setting-row{display:flex;justify-content:space-between;gap:1rem;align-items:center;border-top:1px solid #493851;border-bottom:1px solid #493851;padding:1rem 0}.muted{color:#b4a6b6;line-height:1.5}.setting-row p{margin:.25rem 0 0;font-size:.85rem}.switch{width:48px;height:28px;border:0;border-radius:20px;background:#55465b;padding:3px}.switch span{display:block;width:22px;height:22px;border-radius:50%;background:#eee2d2;transition:transform .2s}.switch.on{background:#b17c42}.switch.on span{transform:translate(20px)}.privacy-note{font:.78rem/1.5 system-ui,sans-serif;color:#b4a6b6;margin:1.2rem 0 0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}@media(max-width:850px){.reading-controls{grid-template-columns:1fr}.control-actions{justify-content:space-between}}@media(max-width:620px){.app-header,.main-content,.app-footer{padding-left:1rem;padding-right:1rem}.main-content{padding-top:2.5rem}.hero{margin-bottom:2rem}h1{font-size:clamp(2.7rem,14vw,4.5rem)}.reading-controls{padding:1rem}.spread-options{display:grid;grid-template-columns:1fr 1fr}.spread-options button:last-child{grid-column:span 2}.spread-three .spread-grid{grid-template-columns:repeat(3,minmax(155px,1fr))}.app-footer{flex-direction:column;gap:.5rem}.reading-heading{align-items:start;flex-direction:column}}
