html.drawer-open { overflow:hidden; }
.games-drawer {
    --drawer-gutter:30px;
    width:min(720px,calc(100% - 28px)); max-height:calc(100dvh - 28px); margin:auto; padding:0;
    border:3px solid var(--color-ink); border-radius:20px; background:var(--color-paper);
    color:var(--color-ink); box-shadow:7px 7px 0 #0006; overflow:auto; overscroll-behavior:contain;
}
.games-drawer::backdrop { background:#0c1c1bab; }
.games-drawer[data-view="catalog"] { width:min(920px,calc(100% - 28px)); }
.drawer-header {
    position:sticky; top:0; z-index:2; display:flex; justify-content:space-between; align-items:center;
    gap:20px; padding:18px 24px; background:var(--color-yellow); border-bottom:3px solid var(--color-ink);
}
.drawer-header h2 { margin:0; font:1.6rem/1.1 var(--font-display); text-transform:none; }
.drawer-header p { margin:5px 0 0; font:.8rem/1.3 var(--font-body); }
.drawer-close {
    display:grid; place-items:center; width:44px; height:44px; flex:none; border:2px solid var(--color-ink);
    border-radius:50%; background:var(--color-paper); cursor:pointer;
}
.drawer-close:hover { background:var(--color-teal); }
.drawer-content { padding:var(--drawer-gutter); }
.drawer-navigation[hidden] { display:none; }
.drawer-navigation { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:16px var(--drawer-gutter) 0; }
.drawer-navigation > span { font:.8rem/1.4 var(--font-body); color:var(--color-muted); }
.drawer-back {
    display:inline-flex; align-items:center; gap:8px; min-height:40px; padding:8px 11px;
    border:1px solid var(--color-divider); border-radius:10px; color:var(--color-teal-text);
    background:transparent; font:650 .85rem/1.3 var(--font-body); cursor:pointer;
}
.drawer-back:hover { background:var(--color-teal-soft); }
.drawer-back .ui-icon { width:17px; height:17px; flex-basis:17px; }
.drawer-intro { margin-bottom:25px; }
.drawer-catalog-title { margin:0 0 12px; font:clamp(1.8rem,5vw,2.5rem)/1.1 var(--font-display); text-transform:none; }
.drawer-catalog-title:focus { outline:none; }
.drawer-intro .spy-note { margin:0; }
.drawer-shelf {
    padding:24px 22px 20px; border:2px solid var(--color-ink); border-bottom-width:7px; border-radius:14px;
    background:linear-gradient(180deg,#f1e5cc,#e9dbb9); box-shadow:inset 0 3px 0 #fff8;
}
.drawer-game-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.drawer-game { min-width:0; }
.drawer-box {
    position:relative; display:flex; flex-direction:column; align-items:center; justify-content:space-between;
    width:100%; min-height:270px; padding:19px 16px 16px; border:2px solid var(--color-ink);
    border-left-width:9px; border-radius:8px; box-shadow:3px 4px 0 #0003; color:var(--color-ink);
    text-align:center; --box-tilt:-2deg; transform:rotate(var(--box-tilt)); overflow:hidden;
}
button.drawer-box { cursor:pointer; touch-action:manipulation; transition:border-color 140ms ease; }
button.drawer-box:hover { border-color:var(--color-teal-text); }
.drawer-box-spy { background:var(--color-teal); }
.drawer-box-spectrum { background:#f7d766; --box-tilt:1.5deg; }
.drawer-box-rounds { background:#f3a39a; --box-tilt:-1deg; }
.drawer-box-kicker { display:block; font:650 .68rem/1.3 var(--font-body); letter-spacing:.05em; text-transform:uppercase; }
.drawer-box-title { display:block; max-width:100%; margin:6px 0 13px; font:clamp(1.6rem,3vw,2.05rem)/1.05 var(--font-display); }
.drawer-box-status { display:inline-flex; align-items:center; min-height:28px; padding:5px 10px; border:1px solid #0005; border-radius:999px; font:650 .72rem/1 var(--font-body); background:#fff5; }
.drawer-box-status-ready { background:var(--color-paper); border-color:var(--color-ink); }
.drawer-box-art { position:relative; display:block; width:110px; height:110px; flex:none; margin:14px 0 5px; }
.drawer-lens { position:absolute; width:67px; height:67px; left:11px; top:12px; border:7px solid var(--color-ink); border-radius:50%; background:var(--color-paper); }
.drawer-lens::after { content:'?'; display:grid; place-items:center; height:100%; font:2.2rem/1 var(--font-display); }
.drawer-lens-handle { position:absolute; width:46px; height:15px; left:66px; top:80px; rotate:48deg; border:3px solid var(--color-ink); border-radius:5px; background:var(--color-yellow); }
.drawer-dial {
    position:absolute; left:3px; top:20px; width:104px; height:57px; border:3px solid var(--color-ink);
    border-radius:104px 104px 0 0; background:conic-gradient(from 270deg at 50% 100%,#1fa896 0deg 60deg,#fff8e7 60deg 110deg,#ed8179 110deg 180deg,transparent 180deg);
}
.drawer-dial-needle { position:absolute; left:53px; top:36px; width:5px; height:45px; border-radius:5px; background:var(--color-ink); transform:rotate(30deg); transform-origin:bottom; }
.drawer-round-card { position:absolute; display:grid; place-items:center; top:22px; width:48px; height:67px; border:2px solid var(--color-ink); border-radius:6px; background:var(--color-paper); font:2rem/1 var(--font-display); }
.drawer-round-card-1 { left:3px; rotate:-15deg; }
.drawer-round-card-2 { left:30px; top:12px; rotate:0deg; background:var(--color-yellow); }
.drawer-round-card-3 { left:59px; rotate:15deg; background:var(--color-teal-soft); }
.drawer-game-facts { margin:19px 0 8px; font:650 .75rem/1.4 var(--font-body); }
.drawer-game-description { margin:0; font:.85rem/1.55 var(--font-body); color:#49463e; }
.drawer-catalog-footer { text-align:center; padding:20px 0 0; }
.drawer-handle { display:block; width:78px; height:12px; margin:auto; border:2px solid var(--color-ink); border-radius:999px; background:var(--color-paper); }
.drawer-catalog-footer p { margin:12px 0 0; font:.78rem/1.4 var(--font-body); color:var(--color-muted); }
.spy-app { width:100%; margin:0; }
.spy-app > :last-child { margin-bottom:0; }
.spy-title {
    margin:0 0 15px; font:clamp(1.7rem,5vw,2.4rem)/1.1 var(--font-display); text-transform:none;
    overflow-wrap:anywhere;
}
.spy-title:focus { outline:none; }
.spy-eyebrow { margin:0 0 10px; color:var(--color-teal-text); font:650 .78rem/1.4 var(--font-body); letter-spacing:.07em; text-transform:uppercase; }
.spy-note { margin:0 0 16px; font:1rem/1.6 var(--font-body); overflow-wrap:anywhere; }
.spy-emblem {
    display:grid; place-items:center; width:100px; height:100px; margin:0 0 25px; rotate:-8deg;
    border:3px solid var(--color-ink); border-radius:25px; background:var(--color-teal);
    box-shadow:5px 5px 0 var(--color-ink); font:4rem/1 var(--font-display);
}
.spy-facts { display:flex; gap:8px; flex-wrap:wrap; margin:22px 0; }
.spy-facts span { border:1px solid var(--color-divider); border-radius:999px; padding:6px 10px; font:.8rem/1.3 var(--font-body); background:#fffdf6; }
.spy-actions { display:flex; gap:10px; flex-wrap:wrap; margin:22px 0 0; }
.spy-button {
    display:inline-flex; justify-content:center; align-items:center; min-height:48px; padding:12px 18px;
    border:2px solid var(--color-ink); border-radius:12px; background:var(--color-teal);
    color:var(--color-ink); font:650 .95rem/1.35 var(--font-body); cursor:pointer; text-align:center;
    overflow-wrap:anywhere; touch-action:manipulation;
}
.spy-button:hover { background:var(--color-yellow); }
.spy-button-secondary { background:transparent; }
.spy-button-secondary:hover { background:var(--color-teal-soft); }
.spy-button:disabled { opacity:.4; cursor:default; }
.spy-button:focus-visible, .spy-input:focus-visible, .drawer-close:focus-visible, .spy-rules summary:focus-visible,
.drawer-back:focus-visible, .drawer-box:focus-visible {
    outline:3px solid var(--color-teal-text); outline-offset:4px;
}
.spy-rules { margin-top:14px; border:1px solid var(--color-divider); border-radius:12px; background:#fffdf6; font:.9rem/1.6 var(--font-body); }
.spy-rules:first-of-type { margin-top:26px; }
.spy-rules summary { display:flex; align-items:center; gap:12px; padding:15px 16px; cursor:pointer; list-style:none; border-radius:12px; }
.spy-rules summary::marker { content:''; }
.spy-rules summary::-webkit-details-marker { display:none; }
.spy-rules summary:hover { background:#e2eee660; }
.spy-disclosure-labels { display:block; flex:1; min-width:0; }
.spy-disclosure-title { display:block; font:650 .95rem/1.35 var(--font-body); }
.spy-disclosure-subtitle { display:block; margin-top:3px; color:var(--color-muted); font:.76rem/1.4 var(--font-body); }
.spy-disclosure-icon { position:relative; display:grid; place-items:center; width:34px; height:34px; flex:none; border-radius:9px; background:var(--color-teal-soft); color:var(--color-teal-text); }
.spy-disclosure-icon-places::before { content:''; width:13px; height:13px; border:2px solid currentColor; border-radius:50% 50% 50% 0; transform:translateY(-2px) rotate(-45deg); }
.spy-disclosure-icon-places::after { content:''; position:absolute; width:4px; height:4px; top:13px; left:15px; border-radius:50%; background:currentColor; }
.spy-disclosure-icon-rules::before { content:''; width:15px; height:12px; background:repeating-linear-gradient(to bottom,currentColor 0 2px,transparent 2px 5px); }
.spy-disclosure-chevron { display:grid; place-items:center; width:26px; height:26px; flex:none; border-radius:50%; background:#f2edde; }
.spy-disclosure-chevron::after { content:''; width:7px; height:7px; border-right:1.8px solid currentColor; border-bottom:1.8px solid currentColor; transform:translateY(-2px) rotate(45deg); transition:transform 160ms ease; }
.spy-rules[open] .spy-disclosure-chevron::after { transform:translateY(2px) rotate(225deg); }
.spy-rules[open] summary { border-bottom:1px solid var(--color-divider); border-radius:12px 12px 0 0; }
.spy-rule-steps { margin:0; padding:18px; list-style:none; counter-reset:spy-step; }
.spy-rule-steps li { position:relative; margin-bottom:16px; padding-left:36px; counter-increment:spy-step; }
.spy-rule-steps li::before { content:counter(spy-step); position:absolute; left:0; top:0; display:grid; place-items:center; width:24px; height:24px; border-radius:7px; background:var(--color-teal-soft); color:var(--color-teal-text); font:650 .78rem/1 var(--font-body); }
.spy-rule-steps li:last-child { margin-bottom:0; }
.spy-location-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); list-style:none; padding:16px; margin:0; gap:8px; }
.spy-location-list li { padding:8px 10px; border-radius:8px; background:#e2eee64d; font:.84rem/1.45 var(--font-body); overflow-wrap:anywhere; }
.spy-fieldset { border:0; padding:0; margin:24px 0; min-width:0; }
.spy-label { display:block; font:650 .9rem/1.4 var(--font-body); margin-bottom:10px; }
.spy-player-row { display:flex; gap:8px; margin-bottom:9px; }
.spy-player-label { display:flex; align-items:center; gap:12px; flex:1; min-width:0; }
.spy-player-number { width:22px; flex:none; font:.9rem/1 var(--font-body); color:var(--color-muted); }
.spy-input {
    display:block; width:100%; min-width:0; min-height:46px; padding:10px 12px;
    border:1.5px solid var(--color-ink); border-radius:10px; background:#fffdf6;
    color:var(--color-ink); font:1rem/1.4 var(--font-body);
}
select.spy-input {
    appearance:none; -webkit-appearance:none; padding-right:44px;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23155b52' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 8 5 5 5-5'/%3E%3C/svg%3E");
    background-repeat:no-repeat; background-position:right 14px center; background-size:18px 18px;
}
@media(forced-colors:active) { select.spy-input { appearance:auto; background-image:none; } }
.spy-remove { width:46px; flex:none; padding:0; font:1.5rem/1 var(--font-body); }
.spy-options { display:grid; grid-template-columns:1.5fr 1fr; gap:14px; margin:24px 0; }
.spy-options .spy-input { margin-top:8px; }
.spy-error { color:#a82020; font:.95rem/1.5 var(--font-body); margin:0 0 16px; }
.spy-card-cover {
    display:grid; place-items:center; min-height:220px; border:2px dashed var(--color-teal-text);
    border-radius:16px; background:var(--color-teal-soft); margin:24px 0; padding:25px;
}
.spy-seal { display:grid; place-items:center; width:70px; height:70px; border:2px solid var(--color-ink); border-radius:50%; background:var(--color-paper); font:3rem/1 var(--font-display); }
.spy-card-cover p { margin:16px 0 0; font:650 1rem/1.5 var(--font-body); }
.spy-secret { padding:30px 24px; margin:24px 0; border:3px solid var(--color-ink); border-radius:16px; background:var(--color-teal-soft); }
.spy-secret-agent { background:#ffe2dc; }
.spy-secret-agent .spy-eyebrow { color:#8a2c23; }
.spy-secret-title { font:clamp(2rem,6vw,3rem)/1.15 var(--font-display); margin:14px 0 20px; overflow-wrap:anywhere; }
.spy-secret .spy-note { margin:0; }
.spy-timer { text-align:center; background:var(--color-yellow); border:2px solid var(--color-ink); border-radius:16px; padding:22px; margin:25px 0; }
.spy-clock { margin:10px 0 0; font:clamp(3.5rem,14vw,5rem)/1 var(--font-display); font-variant-numeric:tabular-nums; }
.spy-timer .spy-eyebrow { color:var(--color-ink); }
.spy-end-choices { display:grid; gap:12px; margin-top:26px; }
.spy-choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin-top:22px; }
.spy-result { margin:26px 0; padding:24px; border:2px solid var(--color-ink); border-radius:16px; background:var(--color-teal-soft); }
.spy-result dt { font:650 .8rem/1.4 var(--font-body); color:var(--color-teal-text); }
.spy-result dd { margin:5px 0 20px; font:1.7rem/1.2 var(--font-display); overflow-wrap:anywhere; }
.spy-result dd:last-child { margin-bottom:0; }
.spy-round-footer { margin:28px 0 0; padding-top:16px; border-top:1px solid var(--color-divider); }
.spy-round-footer .spy-button { min-height:40px; padding:8px 12px; font-size:.8rem; border-color:var(--color-divider); }
.rounds-home-art, .spectrum-home-art { margin:0 0 22px; }
.rounds-modes { display:flex; gap:8px; list-style:none; margin:22px 0; padding:0; }
.rounds-modes li { flex:1; padding:11px 5px; border:1px solid var(--color-divider); border-radius:10px; text-align:center; font:650 .8rem/1.4 var(--font-body); background:#f3ecd9; }
.rounds-modes li[aria-current="step"] { background:var(--color-yellow); border-color:var(--color-ink); }
.rounds-turn-bar { display:flex; align-items:center; justify-content:space-between; gap:16px; margin:22px 0 14px; }
.rounds-clock { display:flex; align-items:baseline; gap:6px; padding:10px 16px; background:var(--color-teal-soft); border:2px solid var(--color-ink); border-radius:12px; }
.rounds-clock-number { font:2.2rem/1 var(--font-display); font-variant-numeric:tabular-nums; }
.rounds-clock span, .rounds-turn-score { font:650 .8rem/1.4 var(--font-body); }
.rounds-clock[data-urgent="true"] { background:#ffe2dc; }
.rounds-turn-score { text-align:right; color:var(--color-teal-text); }
.rounds-word-card { display:flex; flex-direction:column; justify-content:center; min-height:200px; padding:26px 20px; margin:0 0 20px; text-align:center; border:3px solid var(--color-ink); border-radius:18px; background:var(--color-yellow); box-shadow:0 5px 0 var(--color-ink); }
.rounds-word-card .spy-eyebrow { font-size:.65rem; color:var(--color-ink); }
.rounds-word { margin:18px 0; font:clamp(2rem,7vw,3rem)/1.15 var(--font-display); overflow-wrap:anywhere; }
.rounds-guessed { display:flex; flex-wrap:wrap; gap:8px; margin:24px 0; }
.rounds-guessed span { padding:7px 11px; background:var(--color-teal-soft); border:1px solid var(--color-divider); border-radius:8px; font:600 .85rem/1.4 var(--font-body); overflow-wrap:anywhere; }
.rounds-scoreboard { margin:24px 0; border:1px solid var(--color-divider); border-radius:12px; overflow:hidden; }
.rounds-score-table { width:100%; table-layout:fixed; border-collapse:collapse; font:.85rem/1.4 var(--font-body); }
.rounds-score-table caption { text-align:left; padding:12px 14px; background:var(--color-teal-soft); font-weight:650; }
.rounds-score-table th, .rounds-score-table td { padding:12px 10px; text-align:right; border-bottom:1px solid var(--color-divider); overflow-wrap:anywhere; }
.rounds-score-table th:first-child { text-align:left; width:36%; }
.rounds-score-table thead { font-size:.7rem; color:var(--color-teal-text); }
.rounds-score-table tbody tr:last-child > * { border-bottom:0; }
.rounds-score-table td:last-child { font-weight:750; color:var(--color-teal-text); }
.rounds-custom-words { display:block; width:100%; min-height:150px; resize:vertical; margin-top:8px; }
@media(max-width:600px) {
    .rounds-score-table th, .rounds-score-table td { padding:10px 5px; font-size:.73rem; }
    .rounds-modes li { font-size:.73rem; }
}
.spectrum-round-progress {
    display:flex; justify-content:space-between; gap:12px; margin-bottom:22px; padding-bottom:12px;
    border-bottom:1px solid var(--color-divider); font:650 .8rem/1.4 var(--font-body); color:var(--color-teal-text);
}
.spectrum-dial { width:100%; max-width:440px; margin:20px auto 0; }
.spectrum-dial svg { display:block; width:100%; height:auto; }
.spectrum-zone-two { stroke:#e99487; }
.spectrum-zone-three { stroke:#ffd000; }
.spectrum-zone-four { stroke:#1fa896; }
.spectrum-target-line { stroke:#155b52; stroke-width:3; stroke-dasharray:5 4; }
.spectrum-guess-line { stroke:#000; stroke-width:4; stroke-linecap:round; }
.spectrum-endpoints { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin:5px 0 22px; }
.spectrum-endpoints span { max-width:46%; font:650 1rem/1.4 var(--font-body); overflow-wrap:anywhere; }
.spectrum-endpoints span:last-child { text-align:right; }
.spectrum-private-target { padding:12px 20px 20px; margin:22px 0; border:2px solid var(--color-ink); border-radius:16px; background:#f3ecd9; }
.spectrum-private-target .spectrum-endpoints { margin-bottom:15px; }
.spectrum-target-position { margin:0; text-align:center; font:650 .85rem/1.4 var(--font-body); color:var(--color-teal-text); }
.spectrum-clue-card { padding:22px; margin:24px 0 0; background:var(--color-teal-soft); border:1px solid var(--color-divider); border-radius:14px; }
.spectrum-clue { margin:6px 0 0; font:1.5rem/1.25 var(--font-display); overflow-wrap:anywhere; }
.spectrum-range-label { display:block; margin:16px 0 20px; }
.spectrum-range-label > span { display:block; text-align:center; margin-bottom:7px; font:650 .85rem/1.4 var(--font-body); }
.spectrum-range { display:block; width:100%; height:44px; margin:0; padding:0; background:transparent; accent-color:var(--color-teal-text); cursor:pointer; -webkit-appearance:none; appearance:none; }
.spectrum-range::-webkit-slider-runnable-track { height:8px; border:1px solid var(--color-ink); border-radius:999px; background:linear-gradient(90deg,#78c6b7,#f5d86e,#ec9b91); }
.spectrum-range::-webkit-slider-thumb { -webkit-appearance:none; appearance:none; width:28px; height:28px; margin-top:-11px; border:2px solid var(--color-ink); border-radius:50%; background:var(--color-paper); box-shadow:0 2px 0 #0003; }
.spectrum-range::-moz-range-track { height:8px; border:1px solid var(--color-ink); border-radius:999px; background:linear-gradient(90deg,#78c6b7,#f5d86e,#ec9b91); }
.spectrum-range::-moz-range-thumb { width:25px; height:25px; border:2px solid var(--color-ink); border-radius:50%; background:var(--color-paper); }
.spectrum-range:focus-visible { outline:3px solid var(--color-teal-text); outline-offset:4px; border-radius:8px; }
.spectrum-score-legend { display:flex; justify-content:center; flex-wrap:wrap; gap:9px; margin:25px 0 5px; }
.spectrum-score-legend > span { display:flex; flex-direction:column; align-items:center; gap:4px; padding:8px 13px; border:1px solid var(--color-divider); border-radius:9px; font:.7rem/1.3 var(--font-body); }
.spectrum-score-legend strong { font-size:.78rem; }
.spectrum-legend-4 { background:#1fa89628; }
.spectrum-legend-3 { background:#ffd00036; }
.spectrum-legend-2 { background:#e994872b; }
.spectrum-points { display:inline-block; margin:8px 0 0; padding:10px 18px; border:2px solid var(--color-ink); border-radius:999px; background:var(--color-yellow); font:1.4rem/1.1 var(--font-display); }
.spectrum-result-key { display:flex; flex-wrap:wrap; justify-content:center; gap:18px; margin:0 0 24px; font:650 .85rem/1.4 var(--font-body); }
.spectrum-target-key { color:var(--color-teal-text); }
.spectrum-target-key::before { content:''; display:inline-block; width:17px; border-top:2px dashed currentColor; margin-right:7px; vertical-align:middle; }
.spectrum-guess-key::before { content:''; display:inline-block; width:17px; border-top:3px solid currentColor; margin-right:7px; vertical-align:middle; }
.spectrum-total { font:clamp(3.5rem,13vw,5rem)/1 var(--font-display); margin:25px 0; color:var(--color-teal-text); }
.spectrum-summary-list { list-style:none; margin:25px 0; padding:0; border:1px solid var(--color-divider); border-radius:12px; }
.spectrum-summary-list li { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:14px; border-bottom:1px solid var(--color-divider); font:.85rem/1.4 var(--font-body); }
.spectrum-summary-list li:last-child { border-bottom:0; }
.spectrum-summary-list li > span { min-width:0; }
.spectrum-summary-list li > span > span { display:block; margin-top:4px; font-size:.73rem; color:var(--color-muted); overflow-wrap:anywhere; }
.spectrum-summary-list li > strong { flex:none; color:var(--color-teal-text); }
@media(max-width:600px) {
    .games-drawer { --drawer-gutter:18px; width:calc(100% - 16px); max-height:calc(100dvh - 16px); border-radius:16px; }
    .drawer-header { padding:15px 18px; }
    .drawer-header h2 { font-size:1.4rem; }
    .games-drawer[data-view="catalog"] { width:calc(100% - 16px); }
    .drawer-navigation { padding:14px 18px 0; }
    .drawer-game-grid { grid-template-columns:1fr; gap:24px; }
    .drawer-shelf { padding:20px 16px; }
    .drawer-game { display:grid; grid-template-columns:135px minmax(0,1fr); column-gap:18px; align-items:start; }
    .drawer-box { grid-row:1/3; min-height:190px; padding:13px 9px; border-left-width:6px; }
    .drawer-box-kicker { font-size:.56rem; }
    .drawer-box-title { font-size:1.35rem; margin:4px 0 10px; }
    .drawer-box-art { scale:.72; width:110px; height:80px; margin:0; transform-origin:center; }
    .drawer-box-status { font-size:.62rem; padding:5px 7px; }
    .drawer-game-facts { margin:25px 0 10px; }
    .drawer-game-description { font-size:.8rem; }
    .spy-rules summary { padding:13px 12px; gap:10px; }
    .spy-disclosure-subtitle { font-size:.72rem; }
    .spy-actions { flex-direction:column; }
    .spy-options { grid-template-columns:1fr; gap:8px; }
    .spy-card-cover { min-height:190px; }
    .spy-secret { padding:24px 20px; }
}
@media(max-width:360px) { .spy-choice-grid { grid-template-columns:1fr; } }
@media(max-width:380px) {
    .drawer-game { grid-template-columns:110px minmax(0,1fr); column-gap:14px; }
    .drawer-box-title { font-size:1.15rem; }
    .drawer-box-art { scale:.62; }
    .drawer-box-status { font-size:.57rem; padding:5px; }
}
@media(prefers-reduced-motion:reduce) {
    button.drawer-box, .spy-disclosure-chevron::after { transition:none; }
}
