/* A small berry-and-milk patisserie; every rule stays local to this game. */
body[data-game='parfait'] {--ink:#593f4b;--paper:#fffcf7;--accent:#a44664;--mini-bg:#fbe6ed;background:#f5eee8}
body[data-game='parfait'] .mini-shell {gap:4px;background:linear-gradient(#fffcf7,#f8f0eb)}
body[data-game='parfait'] .companion::before {background:#f4e2e5;box-shadow:inset 0 0 0 3px #fffcf7}
body[data-game='parfait'] .cast-name {color:#775560}
body[data-game='parfait'] .speech {border-color:#dfc3ca;background:linear-gradient(115deg,#fffefb,#fff6f8);border-radius:5px 17px 17px;box-shadow:0 3px 0 #b88c7c0c}
body[data-game='parfait'] .companion[data-reaction='good'] .speech {background:#fbe7ed;border-color:#c78198}
body[data-game='parfait'] .stage {border-radius:22px;border:1px solid #dbc1b5;box-shadow:inset 0 1px 0 #fff,0 4px 12px #8764580c}
body[data-game='parfait'] .mini-hud > span:first-child {background:linear-gradient(120deg,#f9e3e9,#fff4ef);color:#893b56;border-radius:10px}
body[data-game='parfait'] .mini-hud .clock {border-color:#decdbb;background:#fffdf7;color:#624853}
body[data-game='parfait'] .icon-button {width:44px;min-height:44px;border-color:#e3cec8;color:#9c4765}
body[data-game='parfait'] .overlay {background:linear-gradient(155deg,#fffcf6f7,#fff9f3f0 58%,#f5dce5f5);backdrop-filter:blur(3px)}
body[data-game='parfait'] .panel-icon {background:linear-gradient(145deg,#fffef8,#f7e0e8);border-color:#fff;box-shadow:0 5px 0 #b27a7e12;transform:none}
body[data-game='parfait'] .panel-icon img {transform:none}
body[data-game='parfait'] .overlay h2 {color:#764959}
body[data-game='parfait'] .cast-options {gap:7px}
body[data-game='parfait'] .cast-options button {background:#f1e6de;border-color:#fffcf7;border-radius:18px}
body[data-game='parfait'] .cast-options button[aria-pressed='true'] {background:linear-gradient(140deg,#fffaf4,#f3cedc);border-color:#b15b7a;box-shadow:0 4px 0 #b7738b22,0 0 0 3px #fff9}
body[data-game='parfait'] .go {background:linear-gradient(145deg,#bb6382,#98415f);box-shadow:0 4px 0 #7c3f54,0 7px 13px #95486120}
body[data-game='parfait'] .go:active {box-shadow:0 1px 0 #7c3f54}
body[data-game='parfait'] .controls {gap:10px;padding:2px 0}
body[data-game='parfait'] .controls button {max-width:none;min-height:48px;flex-direction:column;gap:0;line-height:1;background:#fffcf7;border-color:#e0c7c6;border-bottom-color:#c9a2aa;color:#9e4765;font-size:25px;border-radius:14px}
body[data-game='parfait'] .controls button:active {background:#f8e2e9}
body[data-game='parfait'] .overlay[data-presentation='result'] {background:linear-gradient(110deg,#fffaf4,#fae5ec);border-color:#d8b4bf;backdrop-filter:none}
body[data-game='parfait'] .overlay[data-presentation='result'] .go {min-width:44px;min-height:44px}
@media (max-width:350px) {
    body[data-game='parfait'] .mini-shell {padding-left:6px;padding-right:6px}
    body[data-game='parfait'] .cast-options {gap:5px}
}
@media (prefers-reduced-motion:reduce) {
    body[data-game='parfait'] .overlay {backdrop-filter:none}
    body[data-game='parfait'] *,body[data-game='parfait'] *::before,body[data-game='parfait'] *::after {animation:none!important;transition:none!important}
}

/* The full button is the touch target; labels sit inside the existing controls. */
body[data-game='parfait'] .controls button::after {font-size:10px;font-weight:650;line-height:1.4;letter-spacing:.08em}
body[data-game='parfait'] .controls button:first-child::after {content:'左へ'}
body[data-game='parfait'] .controls button:last-child::after {content:'右へ'}
body[data-game='parfait'] .controls button:disabled {opacity:.5}
body[data-game='parfait'] :is(.controls button,.go,.cast-toggle,.cast-options button):focus-visible {outline:3px solid #87405a;outline-offset:2px}
body[data-game='parfait'] .cast-toggle {background:#fff6f7;border-color:#d9b2bf;color:#8c3f5b}

/* Cream panels and a restrained ribbon edge for ready / pause / results. */
body[data-game='parfait'] .panel-icon {position:relative;border-radius:24px 24px 30px 30px;border-bottom:3px solid #d2ac91}
body[data-game='parfait'] .overlay h2 {letter-spacing:.02em}
body[data-game='parfait'] .panel-detail {color:#70535e}
body[data-game='parfait'] .companion[data-reaction='miss'] .speech {background:#fff5e9;border-color:#cfad8c}
body[data-game='parfait'] .overlay[data-presentation='result'] {border-left:3px solid #b06a81;box-shadow:0 2px 0 #dbc1c62b}
body[data-game='parfait'] .overlay[data-presentation='result'] h2 {color:#873c58;font-variant-numeric:tabular-nums}
body[data-game='parfait'] .overlay[data-presentation='result'] .panel-detail {color:#75434e;font-weight:650}

@media (max-height:660px) {
    body[data-game='parfait'] .overlay[data-presentation='result'] {gap:6px;padding:6px 8px}
}
@media (forced-colors:active) {
    body[data-game='parfait'] :is(.go,.cast-options button[aria-pressed='true'],.controls button:focus-visible) {outline:2px solid Highlight}
}
