/* Global v52 skin. Ornaments never intercept input; scene geometry stays in style.css. */
:root {
 --ink:#4b241b; --deep:#2b1918; --paper:#f4e5df; --light:#fff6df;
 --gold:#c39a57; --red:#ae422a; --muted:#765c4c; --line:#d4b893;
 --palace-red:linear-gradient(115deg,rgba(166,51,31,.94),rgba(199,83,47,.92) 53%,rgba(170,55,33,.94));
 --palace-paper:linear-gradient(120deg,rgba(255,247,238,.97),rgba(243,224,216,.97) 55%,rgba(249,235,226,.97));
 --palace-frame:url('assets/ui/palace-frame.svg');
 --palace-button:url('assets/ui/palace-button.svg');
 --palace-flower:url('assets/ui/palace-blossom.svg');
 --palace-cloud:url('assets/ui/palace-cloud.svg');
}
html,body,#game-viewport {background:#2b1918;color:var(--ink)}
#game-viewport {font-family:var(--serif)}
#game-viewport button,.paint-studio button,.paint-studio a {
 border:1px solid var(--gold); border-radius:9px 5px; color:var(--ink);
 background-color:var(--paper); background-image:var(--palace-paper);
 border-image:var(--palace-button) 24 / 9px / 0 stretch;
 box-shadow:inset 0 0 0 3px #fcebd13d,0 2px 4px #52211624;
}
#game-viewport button:focus-visible,.paint-studio :is(button,a,input):focus-visible {
 outline:3px solid #e3b866;outline-offset:3px;
}
#game-viewport button:disabled,.paint-studio button:disabled {opacity:.48;filter:saturate(.55)}
/* Red controls are compact; prose and long topic cards stay pale. */
#game-viewport :is(.primary,.menu-grid button,.button-row button,.game-hud button,
 .room-exit,.room-event,.scene-item,.scene-person>span,.theatre-person>span,.theatre-controls button,
 .memory-name,.memory-options button,.memory-controls button,.memory-top button,.opening-name,
 .opening-controls button,.take-dagger,.reunion-controls button,.ruler-result button,
 .battle-buttons button,.prison-names button,.resume-banner,.lantern-resume,.album-wall,
 .visitor button,.hanging-equipment>span,.authority-row button) {
 background-color:#b84830;background-image:var(--palace-red);color:var(--light);
 border-color:var(--gold);text-shadow:0 1px 1px #7b291b88;
}
#game-viewport :is(.primary,.menu-grid button,.button-row button,.room-exit,.room-event,.scene-item):hover,
.paint-studio button:hover {filter:brightness(1.07)}
#game-viewport :is(.choice,.office-card,.relation-card,.save-slot,.album-card,.visitor,.reunion-card,
 .ruler-card,.battle-victory,.end-stats) {background-color:var(--paper);background-image:var(--palace-paper);color:var(--ink);border-color:var(--gold)}
#game-viewport .choice {border-radius:9px 4px;text-align:left}
#game-viewport .choice:hover {background-image:linear-gradient(120deg,#fff3e7,#ecd3c5);color:var(--ink)}
#game-viewport .choice small,#game-viewport .choice .number {color:#926533}
#game-viewport .topic-list .choice p {color:var(--muted)}
#game-viewport .topic-list .choice small {color:#a13c29}
#game-viewport :is(.dialogue,.modal) {
 position:relative;background-color:var(--paper);background-image:var(--palace-paper);
 border:1px solid #c69c58;border-radius:14px;
 box-shadow:inset 0 0 0 4px #f7e4bc,0 12px 45px #24131166;color:var(--ink);
}
#game-viewport :is(.modal,.dialogue)::after {
 content:'';position:absolute;inset:0;z-index:8;pointer-events:none;
 border:1px solid transparent;border-image:var(--palace-frame) 58 / 20px / 0 stretch;
}
#game-viewport .modal-head {
 background-color:#b84830;background-image:var(--palace-flower),var(--palace-red);
 background-size:65px 47px,100% 100%;background-position:left bottom,center;background-repeat:no-repeat;
 padding:13px 17px 13px 38px;color:var(--light);border-bottom:3px double #dfb775;
 min-height:58px;position:relative;text-shadow:0 1px 2px #7b291b55;
}
#game-viewport .modal-head h2 {font-size:25px;letter-spacing:2px;min-width:0;overflow-wrap:anywhere}
#game-viewport .modal-head .close {
 min-width:36px;min-height:36px;padding:0 5px;flex:none;border-radius:50%;
 color:var(--light);background-image:var(--palace-red);font-size:28px;
}
#game-viewport .modal-body {
 background-image:var(--palace-flower),var(--palace-cloud);
 background-position:right bottom,right bottom;background-size:66px 47px,92px 49px;
 background-repeat:no-repeat;padding:19px 19px 32px;scrollbar-color:#bf955f #f2e1d5;
}
#game-viewport .portrait {
 background-color:#b84830;background-image:var(--palace-flower),var(--palace-cloud),var(--palace-red);
 background-position:left top,right bottom,center;background-size:55px 39px,87px 46px,100% 100%;
 background-repeat:no-repeat;border-bottom:3px double #dcb575;
}
#game-viewport .portrait-title,#game-viewport .portrait-title small {color:var(--light)}
#game-viewport .portrait-title {text-shadow:0 1px 2px #6f291b77}
#game-viewport .portrait img {z-index:1}
#game-viewport .dialog-top {border-color:var(--line);background:#fff8ed30}
#game-viewport .scene-actions {gap:4px}
#game-viewport .scene-actions button {
 font-size:15px;padding:3px 5px;min-height:30px;background-image:var(--palace-paper);
 color:var(--muted);box-shadow:none;border-image-width:5px;
}
#game-viewport .dialog-line,#game-viewport .dialog-line.aside {color:var(--ink)}
#game-viewport .dialog-lines {background:none}
#game-viewport .receipt {background:#e8cdbb7a;color:var(--muted);border-color:var(--line)}
#game-viewport .clothing-list>section {border-color:var(--line);padding-bottom:16px}
#game-viewport .clothing-list .choice.is-worn {
 background-image:var(--palace-cloud),var(--palace-red);background-size:74px 40px,100% 100%;
 background-position:right bottom,center;background-repeat:no-repeat;color:var(--light);
}
#game-viewport .clothing-list .is-worn .outfit-status {color:#fff0a8}
#game-viewport .button-row button.is-displayed {
 background-image:linear-gradient(115deg,#bf724ce8,#cd9571ef);color:#fff9df;
}
#game-viewport .clothing-list .button-row {margin:9px 0 0}
#game-viewport :is(input:not([type=checkbox]):not([type=range]):not([type=color]):not([type=file]),select,textarea) {
 background:#fff6ed;color:var(--ink);border:1px solid var(--gold);border-radius:7px;padding:6px 9px;
}
#game-viewport :is(input[type=checkbox],input[type=range]) {accent-color:var(--red)}
#game-viewport .game-hud {background:linear-gradient(#48231765,transparent);gap:8px}
#game-viewport .game-hud>span {
 display:block;padding:4px 10px;border:1px solid var(--gold);border-radius:6px;
 border-image:var(--palace-button) 24 / 7px / 0 stretch;
 background-image:var(--palace-red);color:var(--light);font-size:20px;text-shadow:none;
 overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
#game-viewport .game-hud button {flex:none;min-height:38px}
#game-viewport :is(.room-caption,.map-hint,.battle-instruction,.map-first-guide) {
 color:var(--ink);background:#f7e5d7e8;border:1px solid var(--gold);border-radius:7px;
 box-shadow:inset 0 0 0 2px #fff1d55c;text-shadow:none;
}
#game-viewport .map-first-guide strong {color:#a13c29}
/* Sprite and furniture hit targets must retain their transparent backgrounds. */
#game-viewport :is(.scene-person,.theatre-person,.hanging-equipment,.building-hit,.ruler-targets button) {
 background:transparent;border:0;border-image:none;box-shadow:none;border-radius:0;
}
#game-viewport .scene-person>span,#game-viewport .theatre-person>span,#game-viewport .hanging-equipment>span {
 border:1px solid var(--gold);border-radius:5px;box-shadow:inset 0 0 0 2px #fff1d524;
}
#game-viewport:not(.landscape) .map-place,#game-viewport .map-place.dungeon-label {
 background-image:var(--palace-red);color:var(--light);border-color:var(--gold);
}
#game-viewport.landscape .map-place:not(.dungeon-label) {border-image:none}
#game-viewport #toast {background-image:var(--palace-red);color:var(--light);border-color:var(--gold)}
#game-viewport .result-page {background-image:var(--palace-paper);color:var(--ink)}
#game-viewport .ending-cover {
 background-color:var(--paper);background-image:var(--palace-flower),var(--palace-cloud),var(--palace-paper);
 background-size:76px 54px,110px 59px,100% 100%;background-position:left top,right bottom,center;
 background-repeat:no-repeat;border:1px solid var(--gold);border-radius:12px;
 box-shadow:inset 0 0 0 3px #e1bf7c66;color:var(--ink);
}
#game-viewport .ending-cover h2 {color:#a33a25}
#game-viewport .ending-cover :is(p,.eyebrow) {color:var(--muted)}
#game-viewport .ending-cover img {mask-image:none;-webkit-mask-image:none}
#game-viewport .roadmap div {background:#ecd4c4;color:var(--ink);border:1px solid #d5b898}
#game-viewport .roadmap div.current {background-image:var(--palace-red);color:var(--light)}
#game-viewport :is(.theatre-bubble,.ruler-speech,.reunion-speech,.memory-stage .memory-dialogue,.opening-dialogue) {
 background-color:var(--paper);background-image:var(--palace-cloud),var(--palace-paper);
 background-size:72px 38px,100% 100%;background-position:right bottom,center;background-repeat:no-repeat;
 color:var(--ink);border:1px solid var(--gold);border-radius:14px 6px;
 box-shadow:inset 0 0 0 3px #e9c99755,0 4px 12px #381c202b;
}
#game-viewport .memory-frame-art {display:none}
#game-viewport .memory-stage {--memory-accent:#b84830;--memory-gold:#c39a57;--memory-paper:#f4e5df}
#game-viewport :is(.memory-stage .memory-name,.opening-name) {color:var(--light);background-image:var(--palace-red)}
#game-viewport :is(.memory-stage .memory-prose p,.opening-dialogue p) {color:var(--ink);text-shadow:none}
#game-viewport :is(.memory-controls button,.opening-controls button) {text-shadow:none;color:var(--light)}
#game-viewport :is(.memory-stage .memory-next,.opening-next) {
 border:0;border-image:none;background:none;box-shadow:none;color:#8f462e;
}
#game-viewport :is(.ruler-hud,.reunion-hud,.battle-bars>div) {
 background-image:var(--palace-red);color:var(--light);border:1px solid var(--gold);text-shadow:none;
}
#game-viewport .theatre-bubble strong {color:#a43e29}
#game-viewport .theatre-burst {background-image:var(--palace-red);color:var(--light);border-color:var(--gold)}
#game-viewport .album-card {border-radius:10px;padding:8px}
#game-viewport .album-card small {color:#a33b27}
#game-viewport .score-card.selected {background-image:var(--palace-red);color:var(--light)}
#game-viewport .album-thumb {background:#906845}
/* The studio shares the skin but its canvas, pigment shells and sprite companions are artwork. */
.paint-studio {--studio-ink:#4b241b;--studio-green:#b84830;background:var(--palace-paper);color:var(--ink)}
.paint-head {
 background-image:var(--palace-flower),var(--palace-red);background-size:74px 53px,100% 100%;
 background-position:left bottom,center;background-repeat:no-repeat;color:var(--light);border-color:var(--gold);
}
.paint-head :is(small,h2),.paint-head>button {color:var(--light)}
.paint-head>button {background-image:var(--palace-red)}
.paint-seal {background:#922f22;color:var(--light);border-color:#e8bf7e}
.paint-tabs button {background-image:var(--palace-paper);border-color:var(--gold)}
.paint-tabs button[aria-pressed=true],.paint-studio button[aria-pressed=true],.paint-studio .paint-primary {
 background-image:var(--palace-red);color:var(--light);border-color:var(--gold);
}
.paint-tools {
 background-image:var(--palace-cloud),var(--palace-paper);background-size:90px 48px,100% 100%;
 background-position:right bottom,center;background-repeat:no-repeat;border-color:var(--gold);
 scrollbar-color:#bf955f transparent;
}
.paint-section-title,.paint-preview {border-color:var(--line)}
.paint-studio :is(.paint-save,.paint-tip,.paint-meta,.paint-section-title>span,.paint-slider output) {color:var(--muted)}
.paint-slider input {accent-color:var(--red)}
.paint-footer {background:#f6e4d9d9;border-color:var(--gold)}
.paint-export {background:#40211ddd}
.paint-export-card {background-image:var(--palace-paper);border-color:var(--gold);color:var(--ink)}
.paint-swatches button,.paint-swatches button:hover {
 background:transparent;border:0;border-image:none;box-shadow:none;filter:none;
}
.paint-swatches button span {color:var(--muted)}
/* Preserve the existing short-height compositions and scrolling. */
#game-viewport.landscape .modal-head {min-height:44px;padding:6px 15px 6px 34px;background-size:54px 38px,100% 100%}
#game-viewport.landscape .modal-body {padding:13px 20px 24px}
#game-viewport.landscape .game-hud>span {font-size:17px;padding:2px 9px}
#game-viewport.landscape .game-hud button {min-height:30px}
#game-viewport.landscape .scene-actions button {font-size:14px;min-height:28px}
#game-viewport.landscape .dialogue {height:340px}
@media (prefers-reduced-motion:reduce) { .paint-studio * {transition:none!important} }
