/* All themes use the same layout. Paints and materials are shared across every screen. */
body[data-theme="theme-dark"] {
    --t-page:#0a0f1d; --t-deep:#060a14; --t-surface:#0f172a; --t-raised:#1e293b;
    --t-text:#f8fafc; --t-muted:#94a3b8; --t-dim:#64748b; --t-line:#334155;
    --t-accent:#38bdf8; --t-secondary:#818cf8; --t-success:#34d399; --t-danger:#f87171;
    --t-success-bg:#064e3b; --t-danger-bg:#450a0a; --t-shadow:#020617;
    --t-button:#38bdf8; --t-button-ink:#0f172a; --t-metal-high:#e2e8f0; --t-metal-mid:#94a3b8; --t-metal-low:#1e293b;
    --theme-panel:linear-gradient(135deg,#1e293b80,#0f172a 90%);
    --theme-frame:inset 0 1px 0 #38bdf833,inset 0 0 16px #0008;
    --theme-glow:0 4px 20px #000a;
    --theme-page-image:radial-gradient(ellipse at 50% 0%,#1e293b40,transparent 70%);
    --theme-page-size:100% 100%;
}
body[data-theme="theme-blueprint"] {
    --t-page:#05274c; --t-deep:#042344; --t-surface:#082e54; --t-raised:#103e65;
    --t-text:#edf7ff; --t-muted:#bbdcf3; --t-dim:#8bb4d2; --t-line:#67b9df;
    --t-accent:#38bdf8; --t-secondary:#a4b8ff; --t-success:#4ce4bd; --t-danger:#ff879a;
    --t-success-bg:#073e46; --t-danger-bg:#442b48; --t-shadow:#00172f;
    --t-button:#0879c7; --t-button-ink:#effaff; --t-metal-high:#b5eaff; --t-metal-mid:#449fcf; --t-metal-low:#073660;
    --theme-panel:linear-gradient(115deg,#0a385b35,#05264b77);
    --theme-frame:inset 0 0 0 1px #70c8ec;
    --theme-glow:0 0 0 transparent;
    --theme-page-image:linear-gradient(#2097d416 1px,transparent 1px),linear-gradient(90deg,#2097d416 1px,transparent 1px),linear-gradient(#2097d421 1px,transparent 1px),linear-gradient(90deg,#2097d421 1px,transparent 1px),radial-gradient(ellipse at 50% 20%,#073668,#041e3c);
    --theme-page-size:14px 14px,14px 14px,70px 70px,70px 70px,100% 100%;
}
body[data-theme="theme-copper"] {
    --t-page:#12100f; --t-deep:#15120f; --t-surface:#241d18; --t-raised:#392b22;
    --t-text:#fff1e4; --t-muted:#d7bda8; --t-dim:#ae917b; --t-line:#9d6d4c;
    --t-accent:#e99b5d; --t-secondary:#e9bc78; --t-success:#7cdbb1; --t-danger:#ff8c84;
    --t-success-bg:#183a2e; --t-danger-bg:#422523; --t-shadow:#080604;
    --t-button:#d48b50; --t-button-ink:#211207; --t-metal-high:#ffcf93; --t-metal-mid:#b9703f; --t-metal-low:#4e2c1d;
    --theme-panel:repeating-linear-gradient(0deg,#edc39005 0 1px,transparent 1px 3px),linear-gradient(135deg,#3a2c2180,#1b1815 55%,#2a2019);
    --theme-frame:inset 0 1px 0 #f5c9953d,inset 0 -1px 0 #0009;
    --theme-glow:0 5px 18px #0005;
    --theme-page-image:repeating-linear-gradient(0deg,#d29a5610 0 1px,transparent 1px 4px),radial-gradient(ellipse at 10% 0%,#49301b70,transparent 65%);
    --theme-page-size:auto,100% 100%;
}
body[data-theme="theme-neon"] {
    --t-page:#040b16; --t-deep:#030b15; --t-surface:#091a2c; --t-raised:#102d43;
    --t-text:#e9faff; --t-muted:#a5cfe2; --t-dim:#7698b0; --t-line:#187f9f;
    --t-accent:#29dcff; --t-secondary:#a993ff; --t-success:#48f3c1; --t-danger:#ff7cba;
    --t-success-bg:#073e3b; --t-danger-bg:#3f1b3c; --t-shadow:#01050d;
    --t-button:#18bfe9; --t-button-ink:#02131c; --t-metal-high:#b4fbff; --t-metal-mid:#159dc3; --t-metal-low:#062539;
    --theme-panel:linear-gradient(130deg,#0b2944dd,#071421ed 70%);
    --theme-frame:inset 0 1px 0 #70eaff44,inset 0 0 24px #00c8ff08;
    --theme-glow:0 0 16px #00c8ff1f,0 10px 26px #0008;
    --theme-page-image:linear-gradient(90deg,transparent 49.9%,#00bfe90b 50%,transparent 50.1%),radial-gradient(ellipse at 0% 0%,#0065a333,transparent 60%),radial-gradient(ellipse at 100% 70%,#5d27ac1a,transparent 60%);
    --theme-page-size:100px 100%,100% 100%,100% 100%;
}
body[data-theme="theme-slate"] {
    --t-page:#0d1116; --t-deep:#0a0e13; --t-surface:#1b222b; --t-raised:#2b3542;
    --t-text:#f2f6fa; --t-muted:#c2ced9; --t-dim:#8d9eaf; --t-line:#65788a;
    --t-accent:#d0deec; --t-secondary:#8cb9dd; --t-success:#80debb; --t-danger:#ff9b9f;
    --t-success-bg:#163a33; --t-danger-bg:#432b34; --t-shadow:#030507;
    --t-button:#b4c4d4; --t-button-ink:#111c26; --t-metal-high:#f5fbff; --t-metal-mid:#8294a7; --t-metal-low:#263746;
    --theme-panel:repeating-linear-gradient(115deg,#d4e4f006 0 1px,transparent 1px 3px),linear-gradient(140deg,#333e49b0,#171d25 45%,#232c35 100%);
    --theme-frame:inset 0 1px 0 #effaff50,inset 1px 0 0 #d6e1ec17,inset 0 -2px 0 #0009;
    --theme-glow:0 8px 22px #0008;
    --theme-page-image:repeating-linear-gradient(115deg,#d3e3f005 0 1px,transparent 1px 5px),radial-gradient(ellipse at 50% 0%,#57697933,transparent 65%);
    --theme-page-size:auto,100% 100%;
}
body[data-theme="theme-ace-gold"] {
    --t-page:#0d0b0b; --t-deep:#100d0c; --t-surface:#211a13; --t-raised:#342719;
    --t-text:#fff5df; --t-muted:#dccaab; --t-dim:#ad9976; --t-line:#a58041;
    --t-accent:#f0c66c; --t-secondary:#da6573; --t-success:#91deb1; --t-danger:#fa7f8c;
    --t-success-bg:#213d2c; --t-danger-bg:#4c1c28; --t-shadow:#050302;
    --t-button:#edbd58; --t-button-ink:#2b1b08; --t-metal-high:#fff0ab; --t-metal-mid:#d2a247; --t-metal-low:#67451b;
    --theme-panel:linear-gradient(135deg,#49341c75,#191511 48%,#2a1e13);
    --theme-frame:inset 0 1px 0 #ffe2a568,inset 0 -1px 0 #70461e80,inset 0 0 22px #cfa3470c;
    --theme-glow:0 0 22px #e2aa3417,0 12px 30px #0009;
    --theme-page-image:radial-gradient(ellipse at 50% 0%,#a4752326,transparent 62%),radial-gradient(ellipse at 5% 100%,#801f2723,transparent 55%),repeating-linear-gradient(120deg,#edcf7d06 0 1px,transparent 1px 44px);
    --theme-page-size:100% 100%,100% 100%,auto;
}

body[data-designed-theme] {
    color-scheme:dark;
    --bg-page:var(--t-page); --card-bg:var(--t-surface); --card-bg-glass:var(--t-surface);
    --text-primary:var(--t-text); --text-secondary:var(--t-muted); --text-muted:var(--t-dim);
    --primary:var(--t-accent); --primary-light:var(--t-secondary); --primary-accent:var(--t-accent);
    --accent-cyan:var(--t-accent); --accent-gold:var(--t-accent);
    --border-color:var(--t-line); --border-light:color-mix(in srgb,var(--t-line) 35%,transparent);
    --correct-color:var(--t-success); --correct-bg:var(--t-success-bg); --correct-border:var(--t-success);
    --wrong-color:var(--t-danger); --wrong-bg:var(--t-danger-bg); --wrong-border:var(--t-danger);
    --correct-glow:color-mix(in srgb,var(--t-success) 16%,transparent);
    --wrong-glow:color-mix(in srgb,var(--t-danger) 16%,transparent);
    --shadow-card:var(--theme-frame),var(--theme-glow);
    background-color:var(--t-page);
    background-image:var(--theme-page-image);
    background-size:var(--theme-page-size);
    color:var(--t-text);
    scrollbar-color:var(--t-line) var(--t-deep);
}
body[data-designed-theme] :is(.rpg-header,.card,.modal-card,.comment-modal-card,.account-flyout-card,.prv-modal-bubble,.prv-header-bubble,.overlay-glass-card,.paywall-teaser-glass-card) {
    background:var(--theme-panel);
    color:var(--t-text);
    border-color:var(--t-line);
    box-shadow:var(--theme-frame),var(--theme-glow);
}
body[data-designed-theme] .modal-backdrop { background:color-mix(in srgb,var(--t-deep) 85%,transparent) !important; }
body[data-designed-theme] button { background-color:var(--t-raised);color:var(--t-text);border-color:var(--t-line); }
body[data-designed-theme] :is(.text-link-btn,.appearance-menu-btn) { background:transparent; }
body[data-designed-theme] .secondary-btn { background:var(--t-raised);color:var(--t-text);border-color:var(--t-line); }
body[data-designed-theme] :is(.sub-tier-card,.ti-section,.pioneer-info-card,.skill-diag-card,.ti-mentor-ask-box,.soft-gate-card,.ti-faq-item,.ti-chat-bubble-prv) {
    background:color-mix(in srgb,var(--t-raised) 55%,var(--t-surface));
    border-color:color-mix(in srgb,var(--t-line) 60%,transparent);
}
body[data-designed-theme] :is(.option-btn,.social-btn,input:not([type="checkbox"]),textarea,select,.ti-chip) {
    background:var(--theme-panel);
    color:var(--t-text);
    border-color:var(--t-line);
}
body[data-designed-theme] :is(input,textarea)::placeholder { color:var(--t-dim); opacity:1; }
body[data-designed-theme] :is(input[type="checkbox"],input[type="radio"]) { accent-color:var(--t-accent); }
body[data-designed-theme] :is(.primary-btn,.sub-cta-btn,.guest-save-btn) {
    background:linear-gradient(115deg,color-mix(in srgb,var(--t-button) 70%,white),var(--t-button) 45%,color-mix(in srgb,var(--t-button) 80%,black)) !important;
    color:var(--t-button-ink) !important;
    border-color:var(--t-accent);
}
body[data-designed-theme] :is(.opt-letter,.ti-code,.sub-pay-pill,.ti-counter-pill) {
    background:var(--t-raised); color:var(--t-text); border-color:var(--t-line);
}
body[data-designed-theme] .option-btn:hover:not(:disabled) { background:var(--t-raised); border-color:var(--t-accent); }
body[data-designed-theme] .option-btn:hover:not(:disabled) :is(.opt-text,.opt-letter) { color:var(--t-text); }
body[data-designed-theme] .option-btn.correct { background:var(--t-success-bg) !important; border-color:var(--t-success) !important; }
body[data-designed-theme] .option-btn.wrong { background:var(--t-danger-bg) !important; border-color:var(--t-danger) !important; }
body[data-designed-theme] .option-btn.correct .opt-text { color:var(--t-success) !important; }
body[data-designed-theme] .option-btn.wrong .opt-text { color:var(--t-danger) !important; }
body[data-designed-theme] .sub-tier-card.is-selected { border-color:var(--t-accent); box-shadow:0 0 0 1px var(--t-accent),var(--theme-glow); }
body[data-designed-theme] .explanation { background:var(--t-success-bg); color:var(--t-text); }
body[data-designed-theme] .progress-track { background:var(--t-raised); box-shadow:inset 0 0 0 1px var(--t-line); }
body[data-designed-theme] .questions-fill { background:linear-gradient(90deg,var(--t-secondary),var(--t-accent)); }
body[data-designed-theme] .footer-legal-link,body[data-designed-theme] .footer-legal-copy { color:var(--t-dim); }
body[data-designed-theme] :is(.opt-text,.rpg-skill-name) { color:var(--t-text); }
body[data-designed-theme] .progress-labels { color:var(--t-muted); }
body[data-designed-theme] #btn-launch-redemption text { fill:var(--t-deep); }
body[data-designed-theme] button:focus-visible,body[data-designed-theme] :is(input,textarea,select):focus-visible { outline:2px solid var(--t-accent); outline-offset:3px; }
body[data-theme="theme-neon"] :is(.rpg-header,.card,.modal-card) { border-color:#29dcff99; }
body[data-theme="theme-neon"] .questions-fill { box-shadow:0 0 9px #29dcffb0; }
body[data-theme="theme-ace-gold"] .rpg-avatar { border-color:var(--t-secondary) !important; box-shadow:0 0 10px #a5234650 !important; }
body[data-theme="theme-slate"] :is(.rpg-header,.card,.modal-card) { outline:1px solid #d2e5f018;outline-offset:-4px; }
body[data-theme="theme-ace-gold"] :is(.rpg-header,.card,.modal-card,.account-flyout-card) { outline:1px solid #f6cd761f;outline-offset:-5px; }
body[data-theme="theme-ace-gold"] .modal-card::after {
    content:"";position:absolute;inset:7px;pointer-events:none;border-radius:inherit;
    background:linear-gradient(#ffe2a5,#ffe2a5) left top/22px 1px no-repeat,linear-gradient(#ffe2a5,#ffe2a5) left top/1px 22px no-repeat,linear-gradient(#bd4258,#bd4258) right bottom/22px 1px no-repeat,linear-gradient(#bd4258,#bd4258) right bottom/1px 22px no-repeat;
    opacity:.55;
}
body[data-theme="theme-blueprint"] .modal-card { background-image:linear-gradient(#2097d409 1px,transparent 1px),linear-gradient(90deg,#2097d409 1px,transparent 1px),var(--theme-panel);background-size:14px 14px,14px 14px,100% 100%; }

/* The same valve geometry and animation groups acquire theme-specific materials. */
body[data-designed-theme] .prv-original-art { display:none; }
body[data-designed-theme] .prv-blueprint-art { display:inline; }
body[data-designed-theme] .prv-blueprint-art [fill]:not([fill="none"]) { fill:url(#prv-theme-metal); }
body[data-designed-theme] .prv-blueprint-art [stroke] { stroke:var(--t-metal-high); }
body[data-designed-theme] .prv-blueprint-art [stroke="#53b7ea"],body[data-designed-theme] .prv-blueprint-art [stroke="#58b9e7"] { stroke:var(--t-metal-mid); }
body[data-designed-theme] #prv-cap-screw .prv-blueprint-art > g { fill:none; }
body[data-designed-theme] #prv-companion-layer:not(.prv-fullscreen-mode) #prv-svg-container {
    animation:blueprint-companion-idle 4s ease-in-out infinite;
    transform-origin:50% 55%;
    filter:drop-shadow(0 2px 3px #0006);
}
body[data-designed-theme] #prv-bg-top,body[data-designed-theme] #prv-bg-lower { fill:var(--t-deep); }
body[data-designed-theme] #prv-water-flow { fill:var(--t-accent); }
body[data-designed-theme] .prv-header-mode .prv-blueprint-art :is(path,circle,ellipse,rect) { vector-effect:non-scaling-stroke;stroke-width:.7px; }
body[data-theme="theme-blueprint"] .prv-blueprint-art [fill]:not([fill="none"]) { fill:#073660; }
body[data-theme="theme-blueprint"] #prv-svg-container { filter:drop-shadow(0 0 .4px #4ac6ff99); }
body[data-theme="theme-neon"] #prv-svg-container { filter:drop-shadow(0 0 2px #29dcff99); }
body[data-theme="theme-ace-gold"] #prv-svg-container { filter:drop-shadow(0 0 2px #efc46655); }
body[data-designed-theme] .rpg-prv-slot #prv-companion-layer #prv-svg-container { filter:drop-shadow(0 1px 2px #0005); }
body[data-theme="theme-blueprint"] .rpg-prv-slot #prv-companion-layer #prv-svg-container { filter:drop-shadow(0 0 .4px #4ac6ff99); }
body[data-theme="theme-neon"] .rpg-prv-slot #prv-companion-layer #prv-svg-container { filter:drop-shadow(0 0 2px #29dcffb0); }
body[data-theme="theme-ace-gold"] .rpg-prv-slot #prv-companion-layer #prv-svg-container { filter:drop-shadow(0 0 2px #efc46688); }

/* Appearance settings live inside the existing account menu; no main-screen rearrangement. */
.appearance-menu-btn { width:100%;padding:10px 14px;display:flex;align-items:center;justify-content:space-between;gap:8px;background:transparent;border:0;border-top:1px solid var(--border-color);color:inherit;text-align:left;cursor:pointer;font:600 12px 'Outfit',sans-serif; }
.appearance-menu-btn:hover { background:color-mix(in srgb,var(--t-accent,#38bdf8) 10%,transparent); }
.appearance-card { max-width:540px;max-height:90dvh;overflow-y:auto; }
.appearance-card h2 { margin:0 30px 4px 0; }
.appearance-subtitle { color:var(--text-secondary);font-size:13px;margin:0 0 20px; }
.appearance-list { display:flex;flex-direction:column;gap:10px; }
.appearance-choice { display:grid;grid-template-columns:36px 1fr auto;align-items:center;gap:12px;width:100%;padding:14px;border:1px solid var(--border-color);border-radius:10px;background:var(--card-bg);color:var(--text-primary);text-align:left;font:inherit;cursor:pointer; }
.appearance-choice:disabled { opacity:.6;cursor:not-allowed; }
.appearance-choice[aria-pressed="true"] { border-color:var(--primary-accent);box-shadow:inset 0 0 0 1px var(--primary-accent); }
.appearance-swatch { width:36px;height:36px;border-radius:8px;background:var(--swatch-bg);border:1px solid var(--swatch-accent);box-shadow:inset 0 0 12px var(--swatch-accent); }
.appearance-choice strong { display:block;font-size:14px; }
.appearance-choice small { display:block;margin-top:3px;font-size:11px;color:var(--text-secondary); }
.appearance-state { font-size:11px;white-space:nowrap;color:var(--text-secondary); }
.appearance-notice { color:var(--text-muted);font-size:11px;margin:16px 0 0; }
@media(max-width:480px) { .appearance-choice { padding:10px;gap:8px;grid-template-columns:28px 1fr auto; }.appearance-swatch {width:28px;height:28px}.appearance-choice strong {font-size:12px}.appearance-state{font-size:10px} }
