/* Ivory linen, lavender thread and soft ribbon. Keep the playing area compact. */
body[data-game='plush'] {--accent:#79548e;--mini-bg:#eee3f3;--paper:#fffdf7;--ink:#4d3c58;background:#eee7f3}
[data-game='plush'] .mini-shell {gap:4px;background:linear-gradient(#fffdf7,#f2edf5)}
[data-game='plush'] .companion::before {background:#ede1f2;box-shadow:inset 0 0 0 2px #fffc;outline:1px dashed #bba5c8;outline-offset:-5px}
[data-game='plush'] .cast-name {color:#6f5a7a}
[data-game='plush'] .speech {background:#fffdf8;border-color:#d8c8e0;border-radius:5px 17px 17px;box-shadow:0 3px 0 #9478a315}
[data-game='plush'] .companion[data-reaction='good'] .speech {background:#eee3f3;border-color:#a98abb}
[data-game='plush'] .stage {border-radius:15px;box-shadow:0 0 0 1px #b39cc466,0 4px 10px #78518c12}
[data-game='plush'] .mini-hud > span:first-child {background:#eae0f1;color:#704b86}
[data-game='plush'] .mini-hud .clock,
[data-game='plush'] .icon-button {border-color:#d8c8df;background:#fffdf8}
[data-game='plush'] .cast-options button {background:#f0e8f4;border-color:#fffc;border-radius:16px;box-shadow:0 3px 0 #a28bb230}
[data-game='plush'] .cast-options button[aria-pressed='true'] {background:#e7d6f1;border-color:#79548e;box-shadow:0 4px 0 #ad8dc34d,0 0 0 3px #fff9}
[data-game='plush'] .go {background:linear-gradient(150deg,#836092,#68427e);box-shadow:0 4px 0 #573768,0 7px 12px #79518b26;border-radius:21px}
[data-game='plush'] .go:active {box-shadow:0 1px 0 #573768}
/* A press outlines its compartment; the face stays visible beneath the finger. */
[data-game='plush'] .hit-target:active:not(:disabled) {background:#79548e0a;box-shadow:inset 0 0 0 3px #79548e, inset 0 0 0 5px #fffdf8}
[data-game='plush'] .hit-target:focus-visible {outline:3px solid #79548e;outline-offset:-3px;background:#79548e0a;box-shadow:inset 0 0 0 5px #fffdf8}
[data-game='plush'] .mini-hud .clock[data-urgency='low'] {background:#f8e6ec;border-color:#b37489;color:#8c3654;box-shadow:inset 0 -2px #b37489}
[data-game='plush'] #pause,
[data-game='plush'] #sound {min-width:44px;min-height:44px}
/* A stitched invitation becomes a compact keepsake card after the round. */
[data-game='plush'] .overlay {background:linear-gradient(155deg,#fffdf8f5,#f5eff9eb 65%,#e8dcf0f5);backdrop-filter:blur(3px);animation:plush-reveal .18s ease-out}
[data-game='plush'] .overlay:not([data-presentation='result'])::before {content:'';position:absolute;inset:8px;border:1px dashed #bba4cd80;border-radius:12px;pointer-events:none}
[data-game='plush'] .panel-icon {border:1px dashed #bba4cd;border-radius:25px;transform:rotate(-4deg);background:linear-gradient(145deg,#fffdf8,#e8dcf1);box-shadow:0 4px 0 #ae93bd24,inset 0 0 0 4px #fffdf8}
[data-game='plush'] .panel-detail {color:#6a5675}
[data-game='plush'] .overlay .go {display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:104px;height:56px;font-size:22px;border-radius:18px}
[data-game='plush'] .overlay .go::after {content:'さがす';font-size:11px;font-weight:700;line-height:1.1;letter-spacing:.08em}
[data-game='plush'] .overlay[data-phase='paused'] .go::after {content:'再開'}
[data-game='plush'] .overlay[data-presentation='result'] {border:1px solid #bca5cc;backdrop-filter:none;display:grid;grid-template-columns:minmax(0,1fr) 44px 60px;gap:2px 8px;background:linear-gradient(115deg,#fffdf8,#f4edf8);box-shadow:inset 3px 0 #9976ae,inset 0 1px #fff,0 3px 0 #9478a318}
[data-game='plush'] .overlay[data-presentation='result'] h2 {color:#714b88;grid-column:1;grid-row:1;min-width:0;line-height:1.3;font-variant-numeric:tabular-nums}
[data-game='plush'] .overlay[data-presentation='result'] .panel-detail {grid-column:1;grid-row:2;max-width:none;font-size:11px;color:#704b86}
[data-game='plush'] .overlay[data-presentation='result'] .cast-toggle {grid-column:2;grid-row:1 / span 2;align-self:center;background:#fffdf8;border-color:#d2bfe0}
[data-game='plush'] .overlay[data-presentation='result'] .go {grid-column:3;grid-row:1 / span 2;align-self:center;width:60px;height:44px;gap:1px;font-size:22px;border-radius:14px}
[data-game='plush'] .overlay[data-presentation='result'] .go::after {content:'もう一度';font-size:11px;letter-spacing:0}
[data-game='plush'] .overlay[data-presentation='result'] .cast-options {grid-column:1 / -1;grid-row:3}
[data-game='plush'] .overlay[data-presentation='result'] .save-note {grid-column:1 / -1;grid-row:4}
@keyframes plush-reveal {from {opacity:0} to {opacity:1}}
@media (max-width:350px) {
    [data-game='plush'] .mini-shell {padding-left:5px;padding-right:5px}
    [data-game='plush'] .cast-options {gap:5px}
    [data-game='plush'] .cast-options button {width:44px}
}
@media (prefers-reduced-motion:reduce) {
    [data-game='plush'] .overlay {animation:none;backdrop-filter:none}
    [data-game='plush'] .companion > img,
    [data-game='plush'] .cast-options button,
    [data-game='plush'] .go {animation:none;transition:none}
}

/* One compact information strip leaves the model and every shelf cell unobscured.
   The penalty row is reserved so a miss never resizes the board mid-gesture. */
[data-game='plush'] .companion {gap:6px;min-height:60px;padding:0;display:grid;grid-template-columns:44px minmax(0,1fr) 106px}
[data-game='plush'] .companion > img {width:44px;height:44px}
[data-game='plush'] .companion::before {width:38px;height:38px;top:11px;left:3px}
[data-game='plush'] .cast-name {font-size:10px;line-height:12px;margin:0 0 2px 5px}
[data-game='plush'] .speech {font-size:12px;line-height:1.4;min-height:0;padding:3px 5px;border-radius:5px 11px 11px}
[data-game='plush'] .mini-hud {position:relative;display:grid;grid-template-columns:minmax(0,1fr) 44px;grid-template-rows:20px 20px 14px;gap:0 2px;min-height:54px;margin:0;padding:0;font-size:11px;align-items:center}
[data-game='plush'] .mini-hud > span:first-child {grid-column:1;grid-row:1;padding:0 3px;gap:2px;min-width:0;justify-content:center}
[data-game='plush'] .mini-hud strong {font-size:16px;letter-spacing:-.04em}
[data-game='plush'] .mini-hud .clock {grid-column:1;grid-row:2;margin:0;min-width:0;padding:0 3px;line-height:18px;font-size:11px}
[data-game='plush'] #pause {grid-column:2;grid-row:1 / 4;width:44px;height:44px;min-height:44px;align-self:center}
[data-game='plush'] .time-feedback {grid-column:1;grid-row:3;color:#8c3654;font-size:10px;line-height:14px;text-align:center;white-space:nowrap}
[data-game='plush'] .stage {display:flex;flex-direction:column;min-height:210px}
[data-game='plush'] .board {position:relative;flex:1;min-height:210px}
[data-game='plush'] .panel-detail {white-space:pre-line}
[data-game='plush'] .panel-icon img {object-fit:contain}
[data-game='plush'] .overlay[data-presentation='result'] h2 {font-size:17px;min-width:0}
