/* Palette tokens change the UI, never the photos, sprites or QR pixels. */
:root{--skin-bg:#150d20;--skin-panel:#281a35;--skin-raised:#483052;--skin-deep:#160b21;--skin-text:#f7e8ff;--skin-muted:#d5bcdf;--skin-border:#ad87c4;--skin-accent:#caff83;--skin-ink:#243514;--skin-chrome1:#e6c7f4;--skin-chrome2:#9873b0;--skin-chrome-ink:#281433;--skin-heading:#ffc9ef;--skin-pattern:url('../assets/cyber-stars.svg');--skin-pattern-size:168px 168px}
:root[data-theme="360"]{--skin-bg:#161e15;--skin-panel:#243021;--skin-raised:#3a4d30;--skin-deep:#0e180c;--skin-text:#f1f9e9;--skin-muted:#c6d4b9;--skin-border:#8eaa76;--skin-accent:#a6ff39;--skin-chrome1:#eef3e9;--skin-chrome2:#a4b598;--skin-chrome-ink:#1d2a17;--skin-heading:#dcffb8;--skin-pattern:radial-gradient(ellipse at 0 0,#607b344d,transparent 65%),repeating-linear-gradient(135deg,transparent 0 22px,#a6ff3909 22px 23px);--skin-pattern-size:100% 100%,32px 32px}
:root[data-theme="sakura"]{--skin-bg:#300f29;--skin-panel:#411a37;--skin-raised:#623047;--skin-deep:#230c20;--skin-text:#fff0f6;--skin-muted:#eec0d1;--skin-border:#d58daa;--skin-accent:#ff8bca;--skin-ink:#3c1029;--skin-chrome1:#ffe7f1;--skin-chrome2:#d989b0;--skin-chrome-ink:#44142f;--skin-heading:#ffd4eb;--skin-pattern:radial-gradient(circle,#ffc1de44 1.5px,transparent 2px),repeating-linear-gradient(45deg,transparent 0 18px,#ff8bca08 18px 36px);--skin-pattern-size:18px 18px,52px 52px}
:root[data-theme="acuario"]{--skin-bg:#071f32;--skin-panel:#102e44;--skin-raised:#17485e;--skin-deep:#051725;--skin-text:#e6faff;--skin-muted:#b2d8e6;--skin-border:#68a8c6;--skin-accent:#78ffe3;--skin-ink:#07362e;--skin-chrome1:#d2f8ff;--skin-chrome2:#68add2;--skin-chrome-ink:#103448;--skin-heading:#b1ecff;--skin-pattern:radial-gradient(circle at 25% 30%,transparent 0 17px,#b1ecff19 18px 19px,transparent 20px),radial-gradient(ellipse at top,#269cc74d,transparent 70%);--skin-pattern-size:110px 110px,100% 100%}
:root[data-theme="terminal"]{--skin-bg:#060d08;--skin-panel:#0e1d13;--skin-raised:#193321;--skin-deep:#030a05;--skin-text:#d5fada;--skin-muted:#a2c5a7;--skin-border:#4f8058;--skin-accent:#97ff91;--skin-ink:#092509;--skin-chrome1:#294e34;--skin-chrome2:#173220;--skin-chrome-ink:#d5fada;--skin-heading:#97ff91;--skin-pattern:repeating-linear-gradient(0deg,transparent 0 3px,#97ff9109 3px 4px);--skin-pattern-size:100% 4px}
:root[data-theme="vampiro"]{--skin-bg:#180b11;--skin-panel:#30151f;--skin-raised:#502330;--skin-deep:#11070c;--skin-text:#ffedf1;--skin-muted:#d9b3bd;--skin-border:#ab6276;--skin-accent:#ffa5b7;--skin-ink:#3f0d1b;--skin-chrome1:#e9a0b3;--skin-chrome2:#98475b;--skin-chrome-ink:#270b15;--skin-heading:#ffccd8;--skin-pattern:repeating-linear-gradient(90deg,transparent 0 30px,#e96c9410 30px 32px),repeating-linear-gradient(0deg,transparent 0 30px,#e96c9408 30px 32px);--skin-pattern-size:32px 32px}
:root[data-theme="rave"]{--skin-bg:#121119;--skin-panel:#25202f;--skin-raised:#41304e;--skin-deep:#0d0b13;--skin-text:#fff3ff;--skin-muted:#d6c1e0;--skin-border:#a779c5;--skin-accent:#ecff61;--skin-ink:#262e00;--skin-chrome1:#ecff61;--skin-chrome2:#a1bd16;--skin-chrome-ink:#252b05;--skin-heading:#ff9edd;--skin-pattern:linear-gradient(#d6ff2612 1px,transparent 1px),linear-gradient(90deg,#fa64ff12 1px,transparent 1px);--skin-pattern-size:24px 24px}
:root[data-theme="fotocopia"]{--skin-bg:#191919;--skin-panel:#272727;--skin-raised:#3b3a37;--skin-deep:#101010;--skin-text:#f7f4e9;--skin-muted:#cec9bc;--skin-border:#989487;--skin-accent:#fff3cd;--skin-ink:#29251b;--skin-chrome1:#ece8dc;--skin-chrome2:#aaa69a;--skin-chrome-ink:#22211e;--skin-heading:#f4efdf;--skin-pattern:radial-gradient(#d8d4c821 .7px,transparent .8px);--skin-pattern-size:4px 4px}

.theme-toolbar{display:flex;justify-content:flex-end;margin:-10px 0 12px}
#theme-open{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 12px;border:1px solid var(--skin-border);background:var(--skin-panel);color:var(--skin-text);font:12px monospace}
#theme-current{color:var(--skin-accent);border-left:1px dotted var(--skin-border);padding-left:10px}
#theme-dialog{width:min(690px,calc(100% - 24px));max-height:calc(100dvh - 24px);padding:20px;border:3px ridge var(--skin-border);background:var(--skin-deep);color:var(--skin-text);overflow:auto}
#theme-dialog::backdrop{background:#090611d9}.theme-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.theme-heading h2{font:30px/1.2 'Spanish Stencil',Arial,sans-serif}.theme-heading button{min-width:44px;min-height:44px;border:1px solid var(--skin-border);background:var(--skin-raised);color:var(--skin-text);font:26px Arial}
#theme-dialog>p{font:14px/1.5 Arial;margin:12px 0 18px;color:var(--skin-muted)}
#theme-options{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
#theme-options button{position:relative;min-width:0;text-align:left;padding:5px 5px 10px;border:2px solid var(--skin-border);background:var(--skin-panel);color:var(--skin-text)}
#theme-options button[aria-pressed=true]{border-color:var(--skin-accent);box-shadow:0 0 0 1px var(--skin-accent)}
#theme-options button[aria-pressed=true]::after{content:'✓';position:absolute;top:27px;right:10px;background:var(--skin-accent);color:var(--skin-ink);font:bold 16px Arial;padding:3px 6px}
#theme-options strong,#theme-options small{display:block;padding:0 4px}#theme-options strong{font:bold 14px Arial;margin:10px 0 5px}#theme-options small{font:11px/1.4 Arial;color:var(--skin-muted)}
.theme-preview{display:block;height:98px;overflow:hidden;background:var(--preview-bg);color:var(--preview-accent);border:1px solid var(--preview-chrome)}.theme-preview-bar{display:block;text-align:right;background:var(--preview-chrome);color:var(--preview-bg);font:10px monospace;padding:2px 5px}.theme-preview-title{display:block;font:30px/1.2 'Dirty Stencil',Impact,sans-serif;padding:8px 8px 0}.theme-preview-link{font:9px monospace;padding:0 8px}
[data-theme-option="sakura"] .theme-preview{background-image:radial-gradient(#ffc1de55 1px,transparent 1px);background-size:10px 10px}[data-theme-option="rave"] .theme-preview{background-image:linear-gradient(#d6ff2622 1px,transparent 1px),linear-gradient(90deg,#fa64ff22 1px,transparent 1px);background-size:12px 12px}[data-theme-option="acuario"] .theme-preview{background-image:radial-gradient(ellipse at top,#269cc788,transparent)}[data-theme-option="terminal"] .theme-preview-title{font-family:monospace;font-size:26px}[data-theme-option="fotocopia"] .theme-preview{background-image:radial-gradient(#d8d4c844 .7px,transparent .8px);background-size:3px 3px}
.theme-bottom{position:sticky;bottom:-20px;display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--skin-deep);padding:14px 0 2px;margin-top:10px}.theme-bottom p{font:12px monospace;color:var(--skin-muted)}#theme-done{min-height:44px;padding:9px 20px;background:var(--skin-accent);color:var(--skin-ink);border:2px outset var(--skin-accent);font:bold 14px Arial}
@media(max-width:620px){#theme-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}#theme-dialog{padding:14px}.theme-heading h2{font-size:26px}.theme-bottom{bottom:-14px}.theme-toolbar{margin:0 0 10px}}

/* The original skin remains intact; all alternates share these surface rules. */
html[data-theme]:not([data-theme="ratonera"]){--acid:var(--skin-accent);--pink:var(--skin-heading);--ice:var(--skin-accent);--paper:var(--skin-text);--muted:var(--skin-muted);--line:var(--skin-border)}
html[data-theme]:not([data-theme="ratonera"]) body{background-color:var(--skin-bg);background-image:var(--skin-pattern);background-size:var(--skin-pattern-size);color:var(--skin-text)}
html[data-theme]:not([data-theme="ratonera"]) :is(.panel,.music,.event-strip,.community-card,.community-feature,.archive-card,.info-card,.ticket-option,.character-maker,.buku-window,.ticket-lobby,.receipt-printer){background:var(--skin-panel);border-color:var(--skin-border);color:var(--skin-text)}
html[data-theme]:not([data-theme="ratonera"]) :is(.panel-bar,.browser-strip,.hero-window-bar,.dialog-chrome,.mini-chrome,.lobby-heading,.blades){background:linear-gradient(var(--skin-chrome1),var(--skin-chrome2));color:var(--skin-chrome-ink);border-color:var(--skin-border);text-shadow:none}
html[data-theme]:not([data-theme="ratonera"]) :is(.panel-bar>span,.mini-chrome>span,.blade,.sound-toggle){color:var(--skin-chrome-ink)}
html[data-theme]:not([data-theme="ratonera"]) :is(.primary,.header-ticket,.blade.active,.filters button.selected,.key.a,.wardrobe-tabs button[aria-pressed=true],.wardrobe-items button[aria-pressed=true],.hair-gallery button[aria-pressed=true]){background:var(--skin-accent);color:var(--skin-ink);border-color:var(--skin-accent);text-shadow:none;box-shadow:2px 3px #0008}
html[data-theme]:not([data-theme="ratonera"]) :is(.brand,.profile-heading h2,.section-heading,.section-heading h1,.section-heading h2,.community-card strong,.community-feature h2,.event-feature h2,.faq-title,.scene-banner strong,.ticket-content h2,#saved-title,.buku-login h2){color:var(--skin-heading);text-shadow:2px 3px #0009}
html[data-theme]:not([data-theme="ratonera"]) .brand img{filter:brightness(0) invert(1)}
html[data-theme]:not([data-theme="ratonera"]) :is(.site-welcome,.site-directory a,.online,.header-tag>.tiny,.section-heading>.tiny,.page-intro,.event-feature p,.info-card p,.community-feature p,.music>.tiny,.player-controls,.back-button,.buku-login p,.buku-note,.buku-room-help,.buku-identity .buku-you>span,.ticket-subtitle,.party-note,.checkout-character-note,.attendee-fields label,.person-fields label,.creator-note,.wardrobe-context,.stage-caption,.site-footer,.ascii-signoff){color:var(--skin-muted)}
html[data-theme]:not([data-theme="ratonera"]) :is(.chrome-button,.player-controls button,.pet-love,.filters button,.wardrobe-tabs button,.wardrobe-items button,.hair-gallery button,.person-tabs button,.quantity button){background:var(--skin-raised);color:var(--skin-text);border-color:var(--skin-border)}
html[data-theme]:not([data-theme="ratonera"]) :is(#ticket-dialog,#wardrobe-dialog,#qr-scanner,.ticket-content,.buku-messages,.buku-login,.lcd,.hair-salon,.ticket-order){background:var(--skin-deep);color:var(--skin-text);border-color:var(--skin-border)}
html[data-theme]:not([data-theme="ratonera"]) :is(.buku-identity,#buku-send,.buku-room-help,.buku-message>div:last-child,.wardrobe-tools,.lobby-tools,.dance-pad,.character-stage){background:var(--skin-panel);color:var(--skin-text);border-color:var(--skin-border)}
html[data-theme]:not([data-theme="ratonera"]) :is(.buku-message p,.buku-message strong,.buku-identity strong,.buku-login label,#buku-send label,.wardrobe-heading strong){color:var(--skin-text)}
html[data-theme]:not([data-theme="ratonera"]) :is(.buku-message time,.chat-empty,.wardrobe-heading span){color:var(--skin-muted)}
html[data-theme]:not([data-theme="ratonera"]) .buku-message.is-mine>div:last-child{background:var(--skin-raised);border:1px solid var(--skin-border)}
html[data-theme]:not([data-theme="ratonera"]) :is(input:not([type=file]),textarea,select){background:var(--skin-deep);color:var(--skin-text);border-color:var(--skin-border)}
html[data-theme]:not([data-theme="ratonera"]) input::placeholder{color:var(--skin-muted);opacity:.8}
html[data-theme]:not([data-theme="ratonera"]) :is(.ticker,.avatar-sticker){background:var(--skin-chrome1);color:var(--skin-chrome-ink);border-color:var(--skin-border)}
html[data-theme]:not([data-theme="ratonera"]) :is(.hero,.memory,.outline-tag,.avatar-wrap,.site-footer,.scene-banner,.site-directory a){border-color:var(--skin-border)}
html[data-theme]:not([data-theme="ratonera"]) .hero::before{background:linear-gradient(90deg,var(--skin-deep),transparent 140%),linear-gradient(0deg,var(--skin-deep),transparent 70%)}
html[data-theme]:not([data-theme="ratonera"]) .hero h1{color:var(--skin-heading)}
html[data-theme]:not([data-theme="ratonera"]) .hero h1 span{color:var(--skin-accent);text-shadow:3px 4px #0008}
html[data-theme]:not([data-theme="ratonera"]) .hero-game-badge{background:var(--skin-deep);color:var(--skin-accent);border-color:var(--skin-border)}
html[data-theme]:not([data-theme="ratonera"]) :is(button,a,input,summary):focus-visible{outline-color:var(--skin-accent)}
html[data-theme="terminal"] :is(.scene-banner strong,.brand,.hero h1,.hero h1 span){font-family:monospace;letter-spacing:-1px;text-shadow:0 0 8px #97ff9140}
html[data-theme="terminal"] .hero h1{font-size:clamp(34px,5.5vw,76px)}
html[data-theme="terminal"] :is(.panel,.blades,.buku-window,.primary,.buku-message>div:last-child){border-radius:0;box-shadow:none}
html[data-theme="fotocopia"] :is(.panel,.hero,.event-strip){border-style:dashed;box-shadow:4px 4px #000}
html[data-theme="acuario"] :is(.panel,.buku-window){border-radius:12px;overflow:hidden;box-shadow:0 3px 16px #03172588}
html[data-theme="rave"] .scene-banner strong{color:var(--skin-accent);text-shadow:3px 3px #a51b92}
html[data-theme]:not([data-theme="ratonera"]) .fake-address{background:var(--skin-deep);color:var(--skin-text);border-color:var(--skin-border)}
html[data-theme]:not([data-theme="ratonera"]) #cart-count{color:var(--skin-ink);border-color:var(--skin-ink)}
html[data-theme]:not([data-theme="ratonera"]) :is(.scene-banner,.hero-bottom){background:var(--skin-panel);border-color:var(--skin-border)}
html[data-theme]:not([data-theme="ratonera"]) :is(.scene-wing,.ascii-divider,.hero-note,.event-date,.site-directory a){color:var(--skin-muted)}
html[data-theme]:not([data-theme="ratonera"]) :is(#wardrobe-dialog .dialog-chrome,#ticket-dialog .dialog-chrome){background:linear-gradient(var(--skin-chrome1),var(--skin-chrome2));color:var(--skin-chrome-ink)}
html[data-theme]:not([data-theme="ratonera"]) .issued-pass .primary{background:var(--skin-accent);color:var(--skin-ink);border-color:var(--skin-border)}
html[data-theme]:not([data-theme="ratonera"]) #qr-scanner .qr-private{color:var(--skin-muted)}
