/* Palette-only layer: ivory, apricot, coral and readable cocoa. */
:root{--peach-ink:#141413;--peach-muted:#6c6a64;--peach-coral:#a9583e;background:#faf9f5;color:var(--peach-ink)}
body{background:linear-gradient(180deg,#faf9f5dd,#f5f0e8ef),url('/assets/garden-veranda.png') center top/cover fixed no-repeat}
.topbar{background:linear-gradient(#faf9f5,#f5f0e8);border-color:#e9c2ad;box-shadow:0 4px 20px #8d4c2715;color:var(--peach-ink)}
.brand,.brand small,nav button{color:var(--peach-ink);text-shadow:none}.brand-flower{color:#bb5345;text-shadow:none}nav button:hover,nav button[aria-pressed=true]{background:#f8d8c5}
.companion{background:linear-gradient(145deg,#faf9f5,#efe9de);border-color:#e9bca5;box-shadow:0 12px 30px #9a583521;color:var(--peach-ink)}
.season,.intro,.tea p,.tea strong,.gentle-note{color:var(--peach-muted)}.season:before{background:#b75041}.companion h1{color:var(--peach-ink);text-shadow:none}.tea>span{color:#a9583e;filter:none}
.portrait{background:#f4cdb5;box-shadow:0 0 0 4px #faf9f5,0 0 0 5px #d79779,0 12px 22px #9f5b392c}.portrait:after{box-shadow:inset 0 2px 8px #fff8,inset 0 -12px 18px #8e4a2722}
.character-name{background:#faf9f5;border-color:#deb298;color:var(--peach-ink);box-shadow:0 4px 10px #9c57352b}.character-name strong{color:#a9583e}
.speech{background:#faf9f5;color:var(--peach-ink);border-color:#ebc9b4;box-shadow:0 3px 0 #e5b79e,0 8px 16px #9e583514}
.game-area{background:linear-gradient(145deg,#faf9f5,#f5f0e8);border-color:#e8bca4;color:var(--peach-ink);box-shadow:inset 0 1px #fff,0 8px 0 #e8c7b6,0 20px 36px #9b593025}
.game-heading,.my-score,.turn-message,.opponent,.opponent .tally,.board-bottom{color:var(--peach-ink)}.goal,.selection-label,.game-footer,.game-footer button,.sound-status{color:var(--peach-muted)}.dot,.music-bars i{background:#b54d3d;box-shadow:none}.turn-message>span{color:#a9583e}.game-heading .mode{background:#f8d9c8;color:#733f31;box-shadow:none}
.sound-toolbar{background:#faf9f5;border-color:#e2b69d;color:var(--peach-ink);box-shadow:0 3px 0 #edcdb9}.sound-toolbar-title small{color:var(--peach-muted)}
.sound-control,.sound-settings-button{background:#faf9f5;border-color:#cf9c80;color:var(--peach-ink);box-shadow:0 3px 0 #e3b9a0}.sound-control small,.sound-settings-button small{color:var(--peach-muted)}
.sound-control[aria-pressed=true]{background:#a9583e;border-color:#90382f;color:#fffaf4;box-shadow:0 3px 0 #71342b}.sound-control[aria-pressed=true] small{color:#fff4ea}.sound-settings-button{background:#efe9de}
.board{background:radial-gradient(ellipse at 35% 15%,#fff7e477,transparent 70%),repeating-linear-gradient(0deg,#edc6ac 0px,#edc6ac 2px,#efcbb3 3px,#efcbb3 4px);border-color:#d59772;border-top-color:#f0c49d;border-left-color:#e7ad85;border-right-color:#bb7d5c;border-bottom-color:#a76d50;box-shadow:0 1px 0 #ffe8ce,0 5px 0 #b78467,0 9px 0 #98664d,0 16px 22px #92502d30,inset 0 3px 8px #a9653733}
.board:after{border-color:#fff5dd88;box-shadow:none}.board-atmosphere i{color:#995439}.deck>span,.last-card,.board-bottom button{color:#654536}
.hand{background:repeating-linear-gradient(2deg,#eab98c22 0 3px,#b17a4520 4px 7px),linear-gradient(100deg,#f8ddba,#eac49c 55%,#f4d5af);border-color:#edc9a5;border-bottom-color:#c08f68;box-shadow:inset 0 3px 6px #9a69302c,0 5px 0 #d0a782,0 10px 16px #9c683326}
.hwatu{box-shadow:1px 1px 0 #e9d9bc,2px 2px 0 #ceb694,3px 3px 0 #aa8a69,4px 5px 0 #86694f,5px 8px 9px #87513444}.hwatu.matching{outline:3px solid #a9583e;box-shadow:0 0 0 5px #fff4e1,3px 5px 0 #bd8765}
.primary{background:linear-gradient(#b44e40,#9a3c32);border-top-color:#e99b83;box-shadow:0 4px 0 #763328,0 8px 12px #98542e26;color:#faf9f5}.secondary{background:linear-gradient(#faf9f5,#ffe3cc);border-color:#d4a386;color:#623e30;box-shadow:0 3px 0 #dab195}
dialog,dialog.welcome-dialog{background:linear-gradient(150deg,#faf9f5,#f5f0e8);color:var(--peach-ink);border-color:#e3b496;box-shadow:0 6px 0 #cd9a79,0 24px 70px #74473544}dialog::backdrop{background:#78574c60}.welcome-rules span{background:#f8decd;color:#694538}.eyebrow,.fine,.settings-intro{color:var(--peach-muted)}
.round-welcome{background:radial-gradient(ellipse at 50% 20%,#fff9ef,#f5c8ac 85%);border-color:#dea481;color:var(--peach-ink);box-shadow:inset 0 1px 0 #fff,0 6px 18px #b6794920}.round-face{border-color:#fff4df;background:#fff9ec;box-shadow:0 10px 18px #8b482b35}.round-face span{background:#854939f2;color:#fffaf2}.round-controls button{background:#faf9f5;border-color:#d29878;color:#633c2e}.round-caption{color:#603b2d}.round-stage:focus-visible,.round-controls button:focus-visible{outline-color:#a9583e}
.fx-toast{background:#fff5e9;border-color:#d9a07b;color:#813d31;box-shadow:0 4px 0 #e3b99d,0 10px 28px #8d4b292b}
@media(max-width:800px){body{background-attachment:scroll}.companion{background:linear-gradient(120deg,#faf9f5,#efe9de)}.speech{box-shadow:0 3px 0 #e5b79e}}
/* Claude cream/serif + Ferrari image scale, charcoal and restrained geometry. */
:root{--editorial-canvas:#faf9f5;--editorial-card:#efe9de;--editorial-dark:#181818;--editorial-border:#e6dfd8;--editorial-accent:#a9583e}
body{background:var(--editorial-canvas);color:#141413;font-family:-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Malgun Gothic',sans-serif}
.topbar{background:var(--editorial-canvas);border-bottom:1px solid var(--editorial-border);box-shadow:none}.brand,.brand small,nav button{color:#252523}.brand-flower{color:var(--editorial-accent)}
.companion,.game-area{background:var(--editorial-canvas);border:1px solid var(--editorial-border);border-radius:8px;box-shadow:none}.companion{padding:24px}.companion h1,.welcome-dialog h2{font-family:'AppleMyungjo','Batang',Georgia,serif;font-weight:400;letter-spacing:-.6px;line-height:1.3}.companion h1{font-size:32px}.intro,.speech{font-size:18px;line-height:1.6}
.portrait{height:320px;border-radius:4px;box-shadow:none;margin:24px -12px 12px}.portrait:after{box-shadow:none}.sunja-portrait{border-radius:4px}.character-name{background:var(--editorial-canvas);border-color:var(--editorial-border);box-shadow:none;border-radius:4px}.speech{background:var(--editorial-card);border:0;border-radius:6px;box-shadow:none}.tea>span{filter:none}.season{color:#6c6a64}
.sound-toolbar{background:var(--editorial-card);border:0;border-radius:6px;box-shadow:none}.sound-control,.sound-settings-button{background:var(--editorial-canvas);border:1px solid #b4aa9d;border-radius:4px;box-shadow:none;color:#252523}.sound-control[aria-pressed=true]{background:var(--editorial-accent);border-color:var(--editorial-accent);box-shadow:none}.sound-control small,.sound-settings-button small{color:#625d55}
.board{background:radial-gradient(ellipse at 50% 0%,#35332f,var(--editorial-dark) 80%);border:7px solid #393631;border-top-color:#575149;border-bottom-color:#211f1c;border-radius:6px;box-shadow:0 4px 0 #181715,0 8px 12px #18171520,inset 0 1px 0 #605a51}.board:after{border:1px solid #59534a;box-shadow:none}.opponent,.opponent .tally,.board-bottom,.board-bottom button,.deck>span,.last-card{color:#faf9f5}.board-atmosphere{display:none}.game-heading .mode{background:var(--editorial-card);color:#3d3d3a}
.hand{background:var(--editorial-card);border:1px solid #d4cabb;border-bottom:4px solid #b2a38c;box-shadow:none;border-radius:6px}.hwatu.matching{outline-color:#cc785c}.my-score,.turn-message,.game-heading{color:#252523}.goal,.selection-label,.game-footer,.game-footer button,.sound-status{color:#6c6a64}
.primary{background:var(--editorial-accent);color:#fff;border:1px solid var(--editorial-accent);border-radius:4px;box-shadow:none;min-height:48px;font-size:18px}.primary:active:not(:disabled){background:#87412e}.primary:disabled{background:#e6dfd8;color:#6c6a64;border-color:#e6dfd8;opacity:1}.secondary{background:var(--editorial-canvas);border:1px solid #aaa194;box-shadow:none;border-radius:4px;min-height:48px;color:#252523}
 dialog,dialog.welcome-dialog{background:var(--editorial-canvas);border:1px solid #d4cabb;border-radius:8px;box-shadow:0 16px 60px #18171540;color:#141413}dialog::backdrop{background:#18181899}.welcome-dialog h2{font-size:36px}.welcome-dialog p{font-size:18px;line-height:1.55}.welcome-dialog .fine{font-size:14px}.welcome-rules span{background:var(--editorial-card);color:#3d3d3a;border-radius:4px}.round-welcome{background:linear-gradient(#181818b8,#181818e8),url('/assets/garden-veranda.png') center/cover;border:0;border-radius:4px;box-shadow:none;color:#faf9f5}.round-caption{color:#faf9f5}.round-face{border-color:#efe9de;border-radius:4px}.round-face span{background:#181818e8;color:#faf9f5}.round-controls button{background:transparent;border:1px solid #aaa49a;border-radius:4px;color:#faf9f5;min-height:48px}.round-controls button[aria-pressed=true]{background:#a9583e;border-color:#a9583e}.round-stage:focus-visible,.round-controls button:focus-visible{outline-color:#e8a55a}
@media(max-width:800px){.companion{background:var(--editorial-card);padding:12px}.portrait{height:100px;width:83px;margin:0;border-radius:4px}.speech{background:transparent;font-size:17px;box-shadow:none}.board{border-width:6px}.game-area{border-radius:6px}}
@media(max-width:480px){.welcome-dialog h2{font-size:30px}.welcome-dialog p{font-size:16px}.welcome-dialog .round-caption{font-size:15px}.portrait{height:90px;width:72px}.companion{padding:10px}.primary,.secondary{font-size:17px}}
