/* Shared navy/beige edition. Tarot capture and reading logic stay untouched. */
:root { --bg:#101a2d; --ink:#e9dfcc; --ink-mid:#c7bda9; --ink-soft:#aaa492; --accent:#ccb9df; --line:#e9dfcc24; --line-soft:#e9dfcc14; }
html,body,#app,#screen-mode { background:var(--bg); color:var(--ink); color-scheme:dark; }
.screen:not(.tv-screen) { background:var(--bg); }
.wordmark img { mix-blend-mode:normal; filter:none; }
.screen:not(.tv-screen) .topbar { height:76px; border-bottom:0; }
.screen:not(.tv-screen) .wordmark { width:64px; height:64px; }
.app-loader { background:#101a2df5; }
.app-loader img { mix-blend-mode:normal; }
#screen-mode .mode-intro { padding-top:24px; }
#screen-mode .mode-intro>span,#screen-mode .mode-index,#screen-mode .mode-desc { color:#b1aa99; }
#screen-mode .mode-intro h1 { color:var(--ink); font:300 56px/.98 var(--font-headline); }
#screen-mode .mode-card .mode-name { color:var(--ink); }
#screen-mode .mode-card:hover .mode-name { color:#d6bfed; }
#screen-mode .mode-cover-image { border:1px solid var(--line); filter:grayscale(1) brightness(.85); }
#screen-home .home-figure { margin-top:13px; }
#screen-home .home-figure img { border:1px solid var(--line); }
#screen-home .home-hero { position:relative; padding-bottom:52px; overflow:hidden; }
#screen-home .home-hero:after { content:''; position:absolute; bottom:18px; left:0; width:100%; height:4px; background:linear-gradient(90deg,transparent,#789ed2,#b294d8,#d7abbd,#c9b18a,transparent); filter:blur(5px); box-shadow:0 0 18px #b496d852; animation:tarot-breathe 8s ease-in-out infinite; pointer-events:none; }
#screen-home .intent-step { min-height:70px; padding:18px 0; border-top:1px solid var(--line); transition:background .3s; }
#screen-home .intent-step .label { color:var(--ink); font:300 32px/1.05 var(--font-headline); }
#screen-home .intent-step .sub { color:#b1aa99; max-width:48%; text-align:right; line-height:1.7; }
#screen-home .intent-step:hover,#screen-home .intent-step:focus-visible { background:linear-gradient(90deg,#b294d81f,transparent); }
.spread-hero { border-top:1px solid var(--line); margin:16px 22px 0; padding:23px 0; }
.spread-hero .page-title { font:300 58px/.98 var(--font-headline); color:var(--ink); }
.spread-hero .eyebrow { color:#b1aa99; font-size:9px; letter-spacing:1.2px; }
.spread-option { padding:22px 0; border-color:var(--line); }
.spread-option:hover { background:linear-gradient(90deg,#b294d81a,transparent); }
.spread-option .name { font:300 31px/1.1 var(--font-headline); color:var(--ink); }
.spread-option .desc { color:#b1aa99; font-size:11px; line-height:1.8; }
.viewfinder-frame { border:5px solid #24314a; outline:1px solid #e9dfcc30; box-shadow:0 18px 50px #02091655; }
.tray-slot { background:#18263d; border:1px solid #e9dfcc24; box-shadow:0 6px 18px #02091640; }
.card-morph-stage { background:#0b1424; }
.slot-meta { color:#c7bda9; }
.shutter-ring { border-color:#d8cbb4; }.shutter-btn { background:#e9dfcc; box-shadow:0 0 18px #e9dfcc12; }
.btn-manual-shake,.primary-btn { background:#e9dfcc; color:#101a2d; }
.hud-layer { color:#f3e8d5; }.hud-lock-badge { color:#e1cfad; }
.shake-progress-fill { background:linear-gradient(90deg,#879cce,#cbaed5,#e0c6a0); }
.draw-note,.shutter-hint,.upload-btn-label { color:#bdb3a0; }
#screen-chat .drawn-cards-strip { border-color:var(--line); padding-top:16px; padding-bottom:18px; }
.reading-article { color:var(--ink); }
.reading-quote.gradient-interlude:before { background:linear-gradient(to bottom,color-mix(in srgb,var(--bloom,#a092bb) 58%,transparent),color-mix(in srgb,var(--wash,#d7d0e0) 16%,transparent) 38%,transparent); }
.reading-quote.gradient-interlude { color:var(--ink); font:300 35px/1.15 var(--font-headline); padding-top:28px; padding-bottom:36px; }
.reading-kicker { color:#b1aa99; font-size:9px; font-weight:400; letter-spacing:1.3px; }
.article-section { border-color:var(--line); padding-top:22px; padding-bottom:12px; gap:18px; }
.article-copy h3 { color:#e9dfcc; font:300 29px/1.1 var(--font-headline); }
.article-copy p,.msg .txt { color:#d3c8b6; line-height:1.9; }
.article-figure img { border:1px solid #e9dfcc20; }.article-figure figcaption { color:#aaa492; }
.msg.user { border-color:var(--line); }.msg.user .txt { color:#ead9bb; }
.suggest-chip { color:#c7bda9; border-color:#e9dfcc30; background:transparent; }
.suggest-chip:hover { color:#e9dfcc; background:#b294d814; }
.chat-input-row { background:#101a2d; border-color:var(--line); }
.chat-input { background:#16233a; border-color:#e9dfcc26; color:#e9dfcc; }.chat-input:focus { background:#192941; }
.send-btn { background:#e9dfcc; color:#101a2d; }.send-btn:disabled { background:#25334a; color:#aaa492; }
#drawmore-btn { border-color:#cbb5e16b; color:#e9dfcc; background:linear-gradient(110deg,#b294d81b,transparent); }
.history-item { border-color:var(--line); }.history-item .summary { color:#d3c8b6; }
.screen:not(.tv-screen) button:focus-visible,.screen:not(.tv-screen) summary:focus-visible { outline:1px solid #d7c1ed; outline-offset:3px; }
@keyframes tarot-breathe { 0%,100% { opacity:.45;transform:scaleX(.9); } 48% { opacity:1;transform:scaleX(1.06); } }
@media(prefers-reduced-motion:reduce) { #screen-home .home-hero:after { animation:none; } }
@media(max-width:350px) { #screen-mode .mode-intro h1,.spread-hero .page-title { font-size:48px; }#screen-home .intent-step .label { font-size:28px; }.reading-quote.gradient-interlude { font-size:31px; } }
