:root{color-scheme:dark;font-family:"PingFang TC","Noto Sans TC",system-ui,sans-serif;background:#0c1722;color:#f3eddf}
*{box-sizing:border-box}body{margin:0;background:radial-gradient(ellipse at 15% 0,#293e4c,transparent 60%),#0c1722;font-size:16px;line-height:1.5}h1,h2,p,figure{margin:0}button,a,summary{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;touch-action:manipulation}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #ffe1a1;outline-offset:3px}button:disabled{cursor:default;opacity:.5}
#amao-mischief{width:min(100%,1000px);margin:auto;padding:18px}.topline{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:8px;font-size:.875rem;color:#b6c7d3}.topline a{color:#dce6eb;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}.topline span{text-align:right}
.game{background:#152633;border:1px solid #3c505f;border-radius:20px;overflow:hidden;box-shadow:0 22px 70px #0005}header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:center;padding:16px 20px}header>div:first-child{min-width:0}h1{font-size:clamp(1.125rem,3.6vw,1.75rem);letter-spacing:.025em;line-height:1.3}.eyebrow{font-size:.75rem;letter-spacing:.12em;color:#e4c68e;margin-bottom:5px}.toolbar{display:flex;gap:6px;flex-shrink:0}.toolbar button,.bottom button{background:transparent;border:1px solid #5b7383;color:#e0e8ed;padding:8px 10px;border-radius:10px;min-height:44px;font-size:.875rem;white-space:nowrap}.toolbar button:hover,.bottom button:hover{background:#294250}
.status{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:10px 20px;border-top:1px solid #3b5060;background:#1c3140}.clock{display:flex;gap:6px;align-items:baseline;color:#bacbd4;font-size:.875rem}.clock strong{font-size:1.75rem;line-height:1;font-variant-numeric:tabular-nums;color:#fff1d3}.scoreboard{text-align:right}.scoreboard strong{display:block;font-size:1.25rem;line-height:1.25;font-variant-numeric:tabular-nums;color:#ffdc91}.scoreboard>span{font-size:.875rem;color:#bacbd4}
.play-area{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 300px;background:#132632}.watchbar{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:8px 20px;background:#254654;border-block:1px solid #486371;transition:background .2s}.watch-state{min-width:0;display:flex;align-items:baseline;flex-wrap:wrap;column-gap:10px}.watch-state strong{font-size:1rem}.watch-state>span{font-size:.875rem;color:#d1e5e6}.suspicion{display:flex;align-items:center;gap:6px;flex:0 0 108px;font-size:.875rem;color:#d3e2e7}.risk-track{height:8px;background:#142b38;border-radius:8px;overflow:hidden;flex:1}.risk-track span{display:block;width:0;height:100%;background:#ffd58c;transition:width .08s,background .2s}#amao-mischief[data-watch="warning"] .watchbar{background:#704d25;border-color:#ba8850}#amao-mischief[data-watch="looking"] .watchbar{background:#743b32;border-color:#bd7863}#amao-mischief[data-watch="warning"] .watch-state>span,#amao-mischief[data-watch="looking"] .watch-state>span{color:#fff0da}
.stage{position:relative;align-self:start;aspect-ratio:3/2;isolation:isolate;overflow:hidden;background:#1b2b35}.room{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none}.door-light{position:absolute;right:3%;top:4%;width:24%;height:64%;opacity:0;background:#ffe4a9;filter:blur(18px);mix-blend-mode:screen;pointer-events:none;transition:opacity .4s}.door-light.awake{opacity:.2}
.watcher-window{position:absolute;right:3.8%;top:5%;width:24%;height:52%;overflow:hidden;pointer-events:none;z-index:2;opacity:0;transition:opacity .3s}.watcher-window img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:100% 0;transform:translateX(85%) rotate(9deg);transform-origin:100% 100%;transition:transform .6s ease-out;filter:drop-shadow(-5px 5px 7px #0008)}.watcher-window[data-state="peek"],.watcher-window[data-state="inspect"],.watcher-window[data-state="caught"]{opacity:1}.watcher-window[data-state="peek"] img{transform:translateX(25%) rotate(-5deg)}.watcher-window[data-state="inspect"] img,.watcher-window[data-state="caught"] img{transform:translateX(0) rotate(-7deg)}.watcher-window[data-state="caught"] img{filter:drop-shadow(-5px 5px 7px #0008) brightness(1.15)}.door-edge{position:absolute;right:0;top:0;bottom:0;width:12%;background:linear-gradient(90deg,#342313,#4b3019);border-left:2px solid #694324;box-shadow:-3px 0 8px #0004}.watcher-failed .watcher-window{display:none}
.cat{position:absolute;z-index:3;left:20%;bottom:40%;width:46%;height:46%;transform-origin:55% 95%;transition:transform .16s ease-out;pointer-events:none}.cat img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 4px 3px #0006)}.cat.working{transform:translateX(3%) rotate(2deg)}.cat.react{animation:paw-react .25s ease-out}.cat figcaption{position:absolute;clip-path:inset(50%);width:1px;height:1px;overflow:hidden}.photo-cat{left:28%;width:27%;height:34%}.photo-cat img{object-fit:cover;border:2px solid #e3cea5;border-radius:14px}.bubble{position:absolute;left:4%;top:5%;max-width:51%;padding:5px 9px;background:#132631e8;border:1px solid #86988f;border-radius:10px;color:#fff1d6;font-size:.875rem;z-index:4;pointer-events:none;line-height:1.35}.scene-objects{position:absolute;inset:0;pointer-events:none;z-index:4}.table-object{position:absolute;bottom:44%;width:7%;min-width:22px;line-height:1.1;font-size:clamp(1.125rem,3.5vw,2rem);text-align:center;filter:drop-shadow(0 3px 2px #0008);transition:transform .08s}.table-object.selected{filter:drop-shadow(0 0 4px #ffdf98) drop-shadow(0 3px 2px #0008)}.table-object.fallen{animation:fall .4s ease-in forwards}.table-object.empty{visibility:hidden}.floor-traces{position:absolute;bottom:3%;left:26%;right:19%;font-size:clamp(.875rem,2.5vw,1.25rem);color:#ffdfa1;text-align:center;white-space:nowrap;text-shadow:0 2px 5px #000;pointer-events:none}.effect{position:absolute;left:53%;top:38%;color:#ffe5b2;font-size:clamp(1rem,3vw,1.5rem);font-weight:700;pointer-events:none;z-index:5;text-shadow:0 3px 8px #000}.effect.pop{animation:pop .5s ease-out both}
.controls{padding:14px 20px 12px;background:#152633}.objects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.prop{position:relative;min-width:0;min-height:82px;padding:10px 6px;border:1px solid #577383;border-radius:12px;color:#eff0e4;background:#213a49;font-size:1rem;line-height:1.4;text-align:center}.prop:hover{background:#2b4959}.prop.selected{background:#4b4335;border-color:#ffda91;box-shadow:inset 0 0 0 1px #ffda91}.prop .item-name{display:flex;justify-content:center;align-items:center;gap:4px;font-weight:650}.prop .symbol{font-size:1.125rem}.prop .stock{position:absolute;right:6px;top:4px;color:#d8e3e5;font-size:.8125rem}.prop small{display:block;color:#d1dfe4;font-size:.8125rem;line-height:1.5;margin-top:5px}.prop.selected small{color:#ffe6bd}.push-progress{display:flex;gap:8px;align-items:center;min-height:32px;font-size:.875rem;color:#cddce1;font-variant-numeric:tabular-nums}.push-progress>span:first-child{flex:0 0 2.5rem}.push-progress>span:last-child{flex:0 0 2.5rem;text-align:right}.meter{height:6px;flex:1;background:#3e5868;border-radius:6px;overflow:hidden}.meter[hidden]{display:none}.meter span{display:block;height:100%;width:0;background:#ffdb8e;transition:width .08s}.actions{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:8px}.actions button,.primary{min-height:52px;line-height:1.4;border-radius:12px;padding:10px 8px;font-size:1rem;background:#f5cf88;color:#192c3b;border:1px solid #f5cf88;font-weight:650}.primary:hover,.actions .primary:hover{background:#ffe0a3}#am-hold{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:none;box-shadow:0 3px 0 #b08b4e;font-size:1.125rem}#am-hold:active{transform:translateY(2px);box-shadow:0 1px 0 #b08b4e;background:#ffe3aa}#am-bank{background:#243f50;border-color:#607d8e;color:#e4edf0;font-size:.875rem;font-weight:500}#am-bank:hover{background:#315165}.hint{font-size:.875rem;color:#d2dfe3;text-align:center;margin:10px 0 8px;line-height:1.5}.message{font-size:1rem;line-height:1.5;min-height:1.5em;color:#ffe2ac;text-align:center;overflow-wrap:anywhere}.how-to{margin-top:8px;font-size:.875rem;color:#bfcfd8}.how-to summary{cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:center}.how-to summary::before{content:'＋';margin-right:5px}.how-to[open] summary::before{content:'－'}.how-to p{padding:7px 0;line-height:1.7}
.bottom{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px 20px;border-top:1px solid #3a4e5d;color:#c4d5de;font-size:.875rem}.archive{display:none;padding:16px 20px;background:#203846;font-size:.875rem}.archive p{padding:9px 0;border-bottom:1px solid #4b6370}
.splash{position:relative;min-height:380px;padding:36px 28px;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:center;gap:24px;background:linear-gradient(90deg,#0e202aab,#102330ed),url('/mischief-assets/room-v2.webp') center/cover}.splash>img{width:100%;height:280px;object-fit:contain;filter:drop-shadow(0 8px 12px #0006)}.splash h2{font-size:clamp(1.5rem,4vw,2.3rem);line-height:1.35;color:#ffdd99;margin-bottom:14px}.splash p:not(.eyebrow){line-height:1.7;margin-bottom:20px}.splash button{width:100%}.end{display:none;padding:28px 20px;align-items:center;text-align:center;gap:14px;flex-direction:column;background:#112530}.end img{width:min(100%,230px);max-height:210px;object-fit:contain;border:4px solid #e4d4b1;border-radius:14px;background:#263839}.end h2{font-size:clamp(1.375rem,3vw,1.9rem);color:#ffdda0;line-height:1.3}.end>p:not(.eyebrow){max-width:35em;line-height:1.65}.end .primary{width:min(280px,100%)}.pause{position:absolute;inset:0;z-index:10;background:#112530f5;padding:22px;display:none;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px}.pause-moon{font-size:3rem;color:#f2d299}.pause .primary{width:min(260px,100%)}
#amao-mischief[data-view="intro"] .play-area,#amao-mischief[data-view="intro"] .status,#amao-mischief[data-view="end"] .status,#amao-mischief[data-view="end"] .play-area{display:none}#amao-mischief[data-paused="true"] *,#amao-mischief[data-paused="true"] *::before{animation-play-state:paused!important}.trial-note{text-align:center;font-size:.8125rem;line-height:1.6;color:#b8c7d0;margin:14px 0 10px}.likeness-review{padding:12px 20px;border-top:1px solid #3a4e5d;color:#c8d6df;font-size:.875rem}.likeness-review summary{cursor:pointer;min-height:44px;display:flex;align-items:center}.likeness-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-top:12px}.likeness-grid img{width:100%;height:180px;object-fit:contain;background:#203644;border-radius:12px}.likeness-grid figcaption{text-align:center;margin-top:6px}.likeness-review p{line-height:1.6;margin-top:12px}
@keyframes paw-react{50%{transform:translateX(3%) rotate(3deg)}}@keyframes fall{0%{transform:translate(0,0) rotate(0)}100%{transform:translate(12px,var(--fall-y,90px)) rotate(140deg);opacity:0}}@keyframes pop{0%{opacity:0;transform:scale(.7)}30%{opacity:1;transform:scale(1.05)}100%{opacity:0;transform:translateY(-20px)}}
@media(max-width:760px){.play-area{grid-template-columns:minmax(0,1fr)}}
@media(max-width:520px){#amao-mischief{padding:8px}.topline{font-size:.8125rem;margin-bottom:4px}.game{border-radius:14px}header{padding:12px;gap:8px}header .eyebrow{display:none}.toolbar button{padding:8px;font-size:.875rem}.status{padding:9px 12px}.clock strong{font-size:1.5rem}.scoreboard strong{font-size:1.125rem}.watchbar{padding:8px 12px;gap:8px}.watch-state{display:block}.watch-state strong{display:block;font-size:.875rem}.watch-state>span{display:block;font-size:.875rem}.suspicion{flex-basis:94px}.controls{padding:10px 12px 8px}.objects{gap:6px}.prop{font-size:.875rem;min-height:78px;padding:16px 4px 6px}.prop .symbol{font-size:1rem}.prop small{font-size:.8125rem;margin-top:3px;overflow-wrap:anywhere}.prop .stock{top:3px;right:5px;font-size:.8125rem}.actions{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:6px}.actions button{padding:10px 6px}#am-hold{font-size:1rem}.bubble{left:3%;top:4%;font-size:.875rem;max-width:59%;padding:4px 7px}.bottom{padding:8px 12px}.bottom button{padding:8px;font-size:.875rem}.splash{padding:22px 18px;grid-template-columns:minmax(0,1fr);gap:10px;min-height:0;text-align:center}.splash>img{height:172px;width:100%;justify-self:center}.splash h2{font-size:1.7rem;margin-bottom:10px}.splash p:not(.eyebrow){font-size:1rem;margin-bottom:16px}.end{padding:22px 16px}.end img{max-height:190px;width:180px}.pause-moon{font-size:2rem}.pause h2{font-size:1.3rem}.archive,.likeness-review{padding:12px}.likeness-grid img{height:130px}.hint{margin-top:9px}.message{min-height:3em}.how-to summary{min-height:44px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}.table-object.fallen{transform:translate(12px,var(--fall-y,90px));opacity:0}}

/* Keep the midnight room and original characters; make each action legible. */
#amao-mischief{width:min(100%,1100px)}
.game{border-color:#4b6272;background:#142634;box-shadow:0 24px 80px #0006}
header{background:linear-gradient(120deg,#1a3040,#12232f)}
.toolbar button,.bottom button{border-color:#526b7c;background:#10243180}
.status{position:relative;flex-wrap:wrap;padding:14px 20px 16px;background:linear-gradient(110deg,#234457,#172c3b)}
.status::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:#9fced8;transform:scaleX(var(--time-left,1));transform-origin:left;transition:transform .1s linear}
.clock{gap:8px}.clock strong{font-size:2.35rem;letter-spacing:-.04em;color:#fff1d3}
.scoreboard{flex:1;min-width:150px;max-width:240px;margin-left:auto}.scoreboard strong{font-size:1.5rem;letter-spacing:.01em}
.scoreboard>span{display:block;margin-top:4px;font-size:.875rem;line-height:1.5}
.goal-track{height:4px;margin-top:7px;overflow:hidden;background:#0c202ccc;border-radius:8px}
.goal-track span{display:block;height:100%;width:0;background:#f6cf85;border-radius:inherit;transition:width .3s ease}
#amao-mischief[data-urgency="last"] .clock strong{color:#ffb3a0}
#amao-mischief[data-urgency="last"] .status::after{background:#ffa18a}
.watchbar{position:relative;min-height:60px;padding-block:10px;background:#224754}
.watchbar::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:#9bd7d5;transform:scaleX(var(--watch-left,1));transform-origin:left;transition:transform .08s linear;opacity:.65}
#amao-mischief[data-watch="warning"] .watchbar::after{background:#ffe1a3;opacity:1}
#amao-mischief[data-watch="looking"] .watchbar::after{background:#ffc0a4;opacity:1}
.risk-track{height:10px;border:1px solid #76929c66}.risk-track span{border-radius:inherit}
.stage{box-shadow:inset 0 0 0 1px #ffffff12}
.stage::after{content:'';position:absolute;inset:0;z-index:6;pointer-events:none;box-shadow:inset 0 0 0 3px transparent;transition:box-shadow .25s}
#amao-mischief[data-watch="warning"] .stage::after{box-shadow:inset 0 0 0 3px #e9b460b3}
#amao-mischief[data-watch="looking"] .stage::after{box-shadow:inset 0 0 0 3px #ef9872c9}
.stage.impact{animation:room-payoff .5s ease-out}
.cat img{transform-origin:55% 95%}
.cat.innocent.illustrated-cat img{animation:cat-breathe 3.6s ease-in-out infinite}
.cat.working.illustrated-cat img{animation:cat-work .65s ease-in-out infinite}
#amao-mischief[data-watch="looking"] .cat.innocent img{animation:none}
.bubble{border-color:#b5c1a08a;box-shadow:0 3px 12px #07172466;transition:background .2s,border-color .2s}
#amao-mischief[data-action="working"] .bubble{background:#4c3a20ee;border-color:#f6ce8f}
#amao-mischief[data-watch="looking"][data-action="working"] .bubble{background:#6d3327f0;border-color:#ffc0a4}
.table-object{transform-origin:50% 80%}
.table-object.selected{filter:drop-shadow(0 0 5px #ffe2a3) drop-shadow(0 3px 2px #0008)}
.effect{left:47%;max-width:50%;padding:3px 9px;border-radius:9px;background:#122533cc;border:1px solid #ffe1a180;font-size:clamp(1.15rem,3vw,1.75rem);line-height:1.25;white-space:normal;overflow-wrap:anywhere;box-shadow:0 4px 14px #0004;opacity:0}
.effect.pop{opacity:1}
.score-pop{animation:score-payoff .5s ease-out}
.play-area{grid-template-columns:minmax(0,1fr) 340px}
.controls{padding:16px;background:linear-gradient(150deg,#203746,#122632)}
.objects{gap:8px}.prop{min-height:102px;padding:20px 6px 10px;background:#233e4d;border-color:#65849480;transition:background .15s,border-color .15s,box-shadow .15s}
.prop.selected{background:#59452e;border-color:#ffda91;box-shadow:inset 0 0 0 1px #ffda91,0 3px 12px #0717234d}
.prop .item-name{font-size:1rem;gap:4px}.prop .stock{top:5px;right:7px;font-size:.75rem}
.prop .item-details{display:flex;justify-content:center;flex-wrap:wrap;gap:2px 8px;font-size:.875rem;margin-top:6px}
.item-details span{white-space:nowrap}.item-noise{display:block;margin-top:3px;font-size:.875rem;color:#b7ced8}
.prop.selected .item-noise{color:#ffe0a7}
.push-progress{min-height:38px;gap:8px}.meter{height:8px;background:#092130}.meter span{border-radius:inherit}
.actions button{min-height:60px;border-radius:14px}.primary{box-shadow:0 4px 0 #b48a44,0 6px 18px #0003;transition:background .15s,box-shadow .15s,transform .15s}
#am-hold{box-shadow:0 4px 0 #b48a44,0 6px 18px #0003;font-size:1.125rem}
#am-hold[aria-pressed="true"]{transform:translateY(3px);box-shadow:0 1px 0 #b48a44;background:#ffe2a3;border-color:#ffedc6}
#am-bank{border-color:#77939f;background:#132c3a;font-size:.875rem}
.hint{margin:12px 0 8px;color:#c5dce2}.message{min-height:3em;color:#ffe0a4}
.how-to summary{min-height:44px}.bottom{background:#10232e}
.splash{background:linear-gradient(90deg,#10232a80,#102330f5),url('/mischief-assets/room-v2.webp') center/cover}
.splash>img{animation:cat-breathe 4s ease-in-out infinite;transform-origin:50% 90%}
.end{gap:12px;background:radial-gradient(ellipse at 50% 0,#35515a,#10232f 75%)}
.end img{border-width:3px;box-shadow:0 10px 28px #0004}
.ending-stars{color:#ffda8c;font-size:1.75rem;letter-spacing:.15em;line-height:1.3}
.end-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:min(430px,100%);margin:2px 0 4px}
.end-stats>div{min-width:0;padding:12px 6px;border:1px solid #86a6ab55;border-radius:12px;background:#11263099}
.end-stats dt{font-size:.875rem;color:#bed3dc}.end-stats dd{margin:5px 0 0;color:#ffe2a5;font-size:1.6rem;line-height:1.2;font-weight:700;font-variant-numeric:tabular-nums}
.pause{position:fixed;inset:0;z-index:20;background:#091c29eb;backdrop-filter:blur(10px)}
.pause .primary{margin-top:10px}.pause p{max-width:24em;font-size:1rem;line-height:1.7}
@keyframes cat-breathe{0%,100%{transform:translateY(0) scaleY(1)}50%{transform:translateY(-1px) scaleY(1.008)}}
@keyframes cat-work{0%,100%{transform:translateX(0) rotate(0)}50%{transform:translateX(2px) rotate(.7deg)}}
@keyframes score-payoff{35%{color:#fff2bf;text-shadow:0 0 18px #ffd991;transform:translateY(-2px)}}
@keyframes room-payoff{30%{box-shadow:inset 0 0 35px #ffd89140}}
@keyframes fall{0%{transform:var(--push-start,translateX(0));opacity:1}100%{transform:translate(22px,var(--fall-y,90px)) rotate(140deg);opacity:0}}
@media(max-width:760px){.play-area{grid-template-columns:minmax(0,1fr)}.status{padding:12px 16px 14px}.clock strong{font-size:2rem}.controls{padding:12px 16px}.prop .item-name{font-size:.875rem}.prop{min-height:94px;padding:18px 5px 8px}.message{min-height:3em}}
@media(max-width:520px){.status{padding-inline:12px}.clock{gap:5px}.clock strong{font-size:1.85rem}.scoreboard{min-width:142px}.scoreboard strong{font-size:1.3rem}.scoreboard>span{font-size:.875rem}.watch-state strong{font-size:1rem}.suspicion{flex-basis:92px}.watchbar{padding:10px 12px}.controls{padding:10px 12px}.prop .item-details{gap:2px 5px;font-size:.875rem}.prop .stock{right:5px}.actions button{min-height:58px}.end-stats{gap:6px}.end-stats dd{font-size:1.4rem}.end-stats dt{font-size:.875rem}}
@media(min-width:600px) and (max-width:760px) and (max-height:520px){.play-area{grid-template-columns:minmax(0,1fr) 280px}.stage{position:sticky;top:60px}.watchbar{position:sticky;top:0;z-index:8}.controls{padding:10px}.prop .item-name{font-size:.875rem}.prop .item-details{gap:2px 4px}.actions{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}}
@media(prefers-reduced-motion:reduce){.pause{backdrop-filter:none}.stage::after,.watchbar::after,.status::after{transition:none}}
.prop{padding-top:1.35rem}
.game :is(button,p,dt,dd,span,strong){overflow-wrap:anywhere}
.bottom{flex-wrap:wrap}
.bottom>*{min-width:0;max-width:100%}
.bottom button{white-space:normal;overflow-wrap:anywhere}
