*{box-sizing:border-box}html,body{background:#0d1120;height:100%;margin:0;overflow:hidden}#app{position:fixed;inset:0}#app canvas{image-rendering:pixelated}#crt{pointer-events:none;z-index:5;background:repeating-linear-gradient(#0d112000 0 3px,#0d112047 4px),radial-gradient(#0000 58%,#06081280 100%);position:fixed;inset:0}#ui{pointer-events:none;z-index:10;font-family:PingFang SC,Microsoft YaHei,system-ui,sans-serif;position:fixed;inset:0}.dialogue{pointer-events:auto;color:#e8ecf8;-webkit-user-select:none;user-select:none;background:#101526f0;border:2px solid #4a5a8a;border-radius:6px;width:min(680px,92vw);padding:14px 16px 10px;position:absolute;bottom:4vh;left:50%;transform:translate(-50%);box-shadow:0 6px 24px #00000080}.dialogue[hidden]{display:none}.dialogue-name{color:#8fd0ff;margin-bottom:6px;font-size:14px;font-weight:700}.dialogue-text{white-space:pre-wrap;min-height:3.4em;font-size:16px;line-height:1.7}.dialogue-choices{flex-direction:column;gap:8px;margin-top:10px;display:flex}.choice{text-align:left;color:#e8ecf8;cursor:pointer;background:#1d2745;border:1px solid #4a5a8a;border-radius:4px;padding:8px 12px;font-family:inherit;font-size:15px}.choice:hover,.choice:focus-visible{background:#2a3763;border-color:#8fd0ff;outline:none}.dialogue-hint{text-align:right;color:#8fd0ff;font-size:12px;animation:1s infinite bob}@keyframes bob{50%{transform:translateY(3px)}}.touch-stick{pointer-events:auto;left:calc(18px + env(safe-area-inset-left));bottom:calc(18px + env(safe-area-inset-bottom));touch-action:none;background:#1015268c;border:2px solid #4a5a8a;border-radius:50%;width:96px;height:96px;position:absolute}.touch-stick-nub{pointer-events:none;background:#2a3763;border:2px solid #8fd0ff;border-radius:50%;width:40px;height:40px;margin:-20px 0 0 -20px;position:absolute;top:50%;left:50%}.touch-btn{pointer-events:auto;right:calc(22px + env(safe-area-inset-right));bottom:calc(30px + env(safe-area-inset-bottom));color:#e8ecf8;touch-action:none;-webkit-user-select:none;user-select:none;background:#1d2745d9;border:2px solid #4a5a8a;border-radius:50%;width:64px;height:64px;font-family:inherit;font-size:15px;position:absolute}.touch-btn:active{background:#2a3763;border-color:#8fd0ff}.touch-stick[hidden],.touch-btn[hidden]{display:none}.countdown{pointer-events:auto;width:min(440px,94vw);position:absolute;top:44%;left:50%;transform:translate(-50%,-50%)}.countdown[hidden]{display:none}.countdown-sheet{position:relative}.countdown-timer{z-index:1;color:#e8ecf8;background:#10182e;border:1px solid #4a5a8a;border-radius:4px;flex-direction:column;align-items:flex-end;padding:4px 8px 3px;display:flex;position:absolute;top:-12px;right:-8px;transform:rotate(1.6deg);box-shadow:0 3px 10px #00000073}.countdown-clock{font-variant-numeric:tabular-nums;color:#8fd0ff;font-size:18px;font-weight:700;line-height:1.15}.countdown-deadline{color:#9fb0d8;font-size:10px}.countdown-bar{background:#1d2745;border:1px solid #4a5a8a;border-radius:2px;height:4px;margin-bottom:10px;overflow:hidden}.countdown-bar-fill{background:#8fd0ff;width:0;height:100%;transition:width .2s linear}.is-urgent .countdown-clock{color:#ff8f8f;animation:1s steps(2,start) infinite countdown-blink}.is-urgent .countdown-timer{border-color:#ff8f8f}.is-urgent .countdown-bar-fill{background:#ff8f8f}@keyframes countdown-blink{50%{opacity:.55}}.countdown-paper{color:#24242c;background:#f7f4e9;border:1px solid #6b6a5f;border-radius:2px;padding:12px 14px 10px;font-size:13px;line-height:1.5;box-shadow:0 6px 24px #00000080}.cf-head{text-align:center;letter-spacing:.14em;text-indent:.14em;padding-right:56px;font-size:14px;font-weight:700}.cf-meta{color:#3a3a42;justify-content:center;gap:20px;margin:6px 0 10px;font-size:12px;display:flex}.cf-fill-in{text-align:center;color:#21418f;border-bottom:1px solid #55545c;min-width:76px;font-family:Kaiti SC,KaiTi,STKaiti,serif;line-height:1.25;display:inline-block}.cf-blank{min-width:64px}.cf-row{border:1px solid #55545c;align-items:stretch;display:flex}.cf-row+.cf-row{border-top:none}.cf-row-label{background:#eee9d8;border-right:1px solid #55545c;flex-direction:column;flex:0 0 60px;justify-content:center;align-items:center;padding:6px 4px;font-size:12px;font-weight:700;display:flex}.cf-row-label em{color:#6b6a5f;font-size:10px;font-style:normal;font-weight:400}.cf-cells{flex:1;display:flex}.cf-cell{flex:1;justify-content:center;align-items:center;gap:5px;padding:9px 2px;display:flex}.cf-cell+.cf-cell{border-left:1px dashed #8a8467}.cf-box{border:1.5px solid #55545c;flex:none;width:14px;height:14px;position:relative}.cf-box-radio{border-radius:50%}.cf-mark{pointer-events:none;position:absolute;inset:-5px;overflow:visible}.cf-stroke{fill:none;stroke:#21418f;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:100;stroke-dashoffset:100px;transition:stroke-dashoffset .2s ease-out}.cf-cell.is-marked .cf-stroke{stroke-dashoffset:0}.cf-sign{color:#3a3a42;align-items:flex-end;gap:6px;margin-top:10px;font-size:12px;display:flex}.cf-sign-line{border-bottom:1px solid #55545c;flex:1;max-width:128px;height:20px;position:relative}.cf-sign-line .cf-mark{inset:-2px 0}.cf-sign-line .cf-stroke{transition-duration:.35s}.is-signed .cf-sign-line .cf-stroke{stroke-dashoffset:0}.cf-date{margin-left:auto}.countdown-sub{color:#c6d2ee;text-align:center;text-shadow:0 1px 2px #060a18e6,0 0 6px #060a18b3;margin-bottom:6px;font-size:12px}.countdown-options{flex-direction:column;gap:8px;margin-top:12px;display:flex}.countdown-option{text-align:left;color:#e8ecf8;cursor:pointer;background:#1d2745eb;border:1px dashed #4a5a8a;border-radius:3px;padding:9px 12px;font-family:inherit;font-size:15px}.countdown-option:hover,.countdown-option:focus-visible{border-color:#8fd0ff;outline:none}.countdown-option.is-selected{background:#22304f;border:2px solid #8fd0ff;padding:8px 11px}.countdown-option.is-selected:after{content:" ✔";color:#8fd0ff}.countdown-actions{align-items:center;gap:8px;margin-top:14px;display:flex}.countdown-submit{color:#e8ecf8;cursor:pointer;background:#1d2745;border:1px solid #4a5a8a;border-radius:4px;flex:1;padding:9px 12px;font-family:inherit;font-size:15px}.countdown-submit:disabled{opacity:.45;cursor:default}.countdown-submit:not(:disabled):hover,.countdown-submit:not(:disabled):focus-visible{background:#2a3763;border-color:#8fd0ff;outline:none}.countdown-aside{color:#9fb0d8;cursor:pointer;background:0 0;border:none;padding:9px 6px;font-family:inherit;font-size:13px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.countdown-aside[hidden]{display:none}.countdown-aside:hover,.countdown-aside:focus-visible{color:#e8ecf8;outline:none}.countdown.is-submitted .countdown-sheet{animation:.42s ease-in forwards cf-hand-in}.countdown.is-pen-down .countdown-sheet{animation:.52s ease-out forwards cf-pen-down}.countdown.is-submitted .countdown-options,.countdown.is-submitted .countdown-actions,.countdown.is-pen-down .countdown-options,.countdown.is-pen-down .countdown-actions{opacity:0;transition:opacity .25s ease-out}@keyframes cf-hand-in{to{opacity:0;transform:translateY(-26px)rotate(-1.2deg)}}@keyframes cf-pen-down{30%{transform:translateY(3px)rotate(.5deg)}to{opacity:.55;transform:translateY(4px)rotate(.8deg)}}@media (prefers-reduced-motion:reduce){.cf-stroke,.cf-sign-line .cf-stroke{transition:none}.countdown.is-submitted .countdown-sheet,.countdown.is-pen-down .countdown-sheet,.is-urgent .countdown-clock{animation:none}}.eraser-rub{pointer-events:auto;width:min(400px,94vw);position:absolute;top:44%;left:50%;transform:translate(-50%,-50%)}.eraser-rub[hidden]{display:none}.er-sub{color:#c6d2ee;text-align:center;text-shadow:0 1px 2px #060a18e6,0 0 6px #060a18b3;margin-bottom:8px;font-size:12px}.er-paper{background:#f7f4e9 repeating-linear-gradient(#0000 0 27px,#6b7aa859 28px);border:1px solid #6b6a5f;border-radius:2px;height:168px;position:relative;overflow:hidden;box-shadow:0 6px 24px #00000080}.er-scribble{color:#8d8a97;pointer-events:none;font-family:Kaiti SC,KaiTi,STKaiti,serif;font-size:13px;position:absolute;top:10px;left:14px;right:14px;transform:rotate(-1.2deg)}.er-pad{cursor:grab;touch-action:none;-webkit-tap-highlight-color:transparent;background:0 0;border:none;width:148px;height:84px;padding:0;position:absolute;top:54%;left:50%;transform:translate(-50%,-50%)}.er-pad:focus-visible{outline-offset:6px;outline:2px dashed #21418f}.er-pad:active{cursor:grabbing}.er-body{background:linear-gradient(#fdfdfa,#ece9dd);border:1px solid #8b8678;border-radius:7px 9px 8px 7px;display:block;position:absolute;inset:0;overflow:hidden;box-shadow:inset 0 -6px #8b867847,0 4px 10px #00000059}.er-pad.is-rubbing .er-body{animation:.24s ease-in-out infinite er-wiggle}@keyframes er-wiggle{25%{transform:translate(-7px)rotate(-1.6deg)}75%{transform:translate(7px)rotate(1.6deg)}}.er-brand{letter-spacing:.2em;color:#a19c8b;font-size:13px;font-weight:700;position:absolute;bottom:8px;right:12px}.er-stain{filter:blur(1.5px);background:#6f6a5e;transition:opacity .12s linear;position:absolute}.er-stain-0{opacity:.9;border-radius:58% 42% 60% 40%/52% 48% 55% 45%;width:46%;height:38%;top:14%;left:8%;transform:rotate(-8deg)}.er-stain-1{opacity:.75;border-radius:44% 56% 38% 62%/55% 45% 60% 40%;width:48%;height:42%;top:40%;left:44%;transform:rotate(5deg)}.er-stain-2{opacity:.6;border-radius:52% 48% 58% 42%/46% 54% 44% 56%;width:40%;height:34%;top:52%;left:16%;transform:rotate(12deg)}.er-stain-3{opacity:.45;border-radius:60% 40% 46% 54%/50% 50% 58% 42%;width:34%;height:30%;top:10%;left:56%;transform:rotate(-14deg)}.er-crumbs{pointer-events:none;width:148px;height:84px;position:absolute;top:54%;left:50%;transform:translate(-50%,-50%)}.er-crumb{background:#b9b3a2;border-radius:2px;width:5px;height:3px;animation:.6s ease-in forwards er-crumb-fall;position:absolute;bottom:-4px}@keyframes er-crumb-fall{to{transform:translate(var(--dx,0), 22px) rotate(140deg);opacity:0}}.eraser-rub.is-clean .er-body{border-color:#21418f;box-shadow:inset 0 -6px #8b867847,0 0 14px #8fd0ff8c}.er-sparkles{pointer-events:none;color:#8fd0ff;width:168px;height:104px;display:none;position:absolute;top:54%;left:50%;transform:translate(-50%,-50%)}.eraser-rub.is-clean .er-sparkles{display:block}.er-sparkles i{font-style:normal;animation:.9s ease-out both er-sparkle;position:absolute}.er-sparkles i:first-child{top:8%;left:4%}.er-sparkles i:nth-child(2){animation-delay:.18s;top:30%;right:6%}.er-sparkles i:nth-child(3){animation-delay:.36s;bottom:4%;left:22%}@keyframes er-sparkle{0%{opacity:0;transform:scale(.3)}55%{opacity:1;transform:scale(1.15)}to{opacity:.75;transform:scale(.9)}}.er-pips{justify-content:center;gap:7px;margin-top:10px;display:flex}.er-pip{background:#1d2745;border:1px solid #4a5a8a;border-radius:50%;width:9px;height:9px}.er-pip.is-lit{background:#8fd0ff;border-color:#8fd0ff}.er-hint{color:#9fb0d8;text-align:center;min-height:1.4em;margin-top:6px;font-size:12px}.er-actions{align-items:center;gap:8px;margin-top:12px;display:flex}.er-done{color:#e8ecf8;cursor:pointer;background:#1d2745;border:1px solid #4a5a8a;border-radius:4px;flex:1;padding:9px 12px;font-family:inherit;font-size:15px}.er-done:disabled{opacity:.45;cursor:default}.er-done:not(:disabled):hover,.er-done:not(:disabled):focus-visible{background:#2a3763;border-color:#8fd0ff;outline:none}.er-pause{color:#9fb0d8;cursor:pointer;background:0 0;border:none;padding:9px 6px;font-family:inherit;font-size:13px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.er-pause[hidden]{display:none}.er-pause:hover,.er-pause:focus-visible{color:#e8ecf8;outline:none}.eraser-rub.is-finished .er-paper,.eraser-rub.is-finished .er-pips,.eraser-rub.is-finished .er-hint,.eraser-rub.is-finished .er-actions{animation:.5s ease-in forwards er-pick-up}@keyframes er-pick-up{to{opacity:0;transform:translateY(-18px)}}@media (prefers-reduced-motion:reduce){.er-pad.is-rubbing .er-body,.er-crumb,.er-sparkles i,.eraser-rub.is-finished .er-paper{animation:none}}.dictation{pointer-events:auto;width:min(440px,94vw);position:absolute;top:47%;left:50%;transform:translate(-50%,-50%)}.dictation[hidden]{display:none}.dq-sub{color:#c6d2ee;text-align:center;text-shadow:0 1px 2px #060a18e6,0 0 6px #060a18b3;margin-bottom:10px;font-size:12px}.dq-sheet{position:relative}.dq-timer{z-index:1;color:#e8ecf8;background:#10182e;border:1px solid #4a5a8a;border-radius:4px;flex-direction:column;align-items:flex-end;padding:4px 8px 3px;display:flex;position:absolute;top:-14px;right:-8px;transform:rotate(1.6deg);box-shadow:0 3px 10px #00000073}.dq-clock{font-variant-numeric:tabular-nums;color:#8fd0ff;font-size:18px;font-weight:700;line-height:1.15}.dq-rule{color:#9fb0d8;font-size:10px}.dq-bar{background:#1d2745;border:1px solid #4a5a8a;border-radius:2px;height:4px;margin-bottom:10px;overflow:hidden}.dq-bar-fill{background:#8fd0ff;width:100%;height:100%;transition:width .2s linear}.dictation.is-urgent .dq-clock{color:#ff8f8f;animation:1s steps(2,start) infinite countdown-blink}.dictation.is-urgent .dq-timer{border-color:#ff8f8f}.dictation.is-urgent .dq-bar-fill{background:#ff8f8f}.dq-paper{color:#24242c;background:#f7f4e9;border:1px solid #6b6a5f;border-radius:2px;padding:10px 14px 12px;box-shadow:0 6px 24px #00000080}.dq-head{letter-spacing:.35em;color:#55555f;border-bottom:1px solid #24242c8c;padding-bottom:4px;font-size:10px}.dq-title{margin:8px 0 10px;font-size:13px}.dq-grid{grid-template-columns:repeat(4,1fr);gap:2px 6px;display:grid}@media (width<=420px){.dq-grid{grid-template-columns:repeat(3,1fr)}}.dq-item{color:#24242c;cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:3px;padding:7px 2px;font-family:inherit;font-size:14px;position:relative}.dq-item:not(:disabled):hover{background:#21418f14}.dq-item:focus-visible{outline-offset:1px;outline:2px dashed #21418f}.dq-item:disabled{cursor:default}.dq-item.is-miss .dq-label{color:#8a4a44}.dq-mark{pointer-events:none;color:#21418f;opacity:0;width:92%;height:88%;margin:auto;position:absolute;inset:0}.dq-mark-x{color:#c53a3a;width:34%}.dq-stroke{fill:none;stroke:currentColor;stroke-width:2.6px;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100px}.dq-item.is-hit .dq-mark:not(.dq-mark-x),.dq-item.is-miss .dq-mark-x{opacity:1}.dq-item.is-hit .dq-mark:not(.dq-mark-x) .dq-stroke,.dq-item.is-miss .dq-mark-x .dq-stroke{animation:.26s ease-out forwards dq-draw}@keyframes dq-draw{to{stroke-dashoffset:0}}.dq-score{color:#55555f;margin-top:8px;font-size:12px}.dq-score b{color:#21418f;font-variant-numeric:tabular-nums}.dq-penalty{color:#ff8f8f;text-shadow:0 1px 3px #060a18e6;opacity:0;pointer-events:none;font-size:15px;font-weight:700;position:absolute;top:-4px;right:96px}.dq-penalty.is-on{animation:.7s ease-out forwards dq-penalty-float}@keyframes dq-penalty-float{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-18px)}}.dq-actions{margin-top:12px;display:flex}.dq-submit{color:#e8ecf8;cursor:pointer;background:#1d2745;border:1px solid #4a5a8a;border-radius:4px;flex:1;padding:9px 12px;font-family:inherit;font-size:15px}.dq-submit:disabled{opacity:.45;cursor:default}.dq-submit:not(:disabled):hover,.dq-submit:not(:disabled):focus-visible{background:#2a3763;border-color:#8fd0ff;outline:none}.dictation.is-pass .dq-sheet{animation:.42s ease-in forwards dq-hand-in}@keyframes dq-hand-in{to{opacity:0;transform:translateY(-24px)}}.dictation.is-fail .dq-sheet{animation:.62s ease-in forwards dq-dim}@keyframes dq-dim{to{filter:grayscale(.7)brightness(.7);opacity:.55}}.dictation.is-pass .dq-actions,.dictation.is-fail .dq-actions{opacity:.3}@media (prefers-reduced-motion:reduce){.dictation.is-urgent .dq-clock,.dq-penalty.is-on,.dictation.is-pass .dq-sheet,.dictation.is-fail .dq-sheet{animation:none}.dq-item.is-hit .dq-mark:not(.dq-mark-x) .dq-stroke,.dq-item.is-miss .dq-mark-x .dq-stroke{stroke-dashoffset:0;animation:none}}.note-pass{pointer-events:auto;width:min(420px,94vw);position:absolute;top:47%;left:50%;transform:translate(-50%,-50%)}.note-pass[hidden]{display:none}.np-sub{color:#c6d2ee;text-align:center;text-shadow:0 1px 2px #060a18e6,0 0 6px #060a18b3;margin-bottom:10px;font-size:12px}.np-desk{background:linear-gradient(100deg,#4a3b28 0 71%,#52422c 71%);border:1px solid #241a10;border-radius:3px;height:216px;position:relative;overflow:hidden;box-shadow:inset 0 0 42px #0a06028c,0 6px 24px #00000080}.np-lamp{pointer-events:none;background:radial-gradient(70% 90% at 38% 20%,#ffd68c47,#ffd68c12 55%,#0000 75%);position:absolute;inset:0}.np-seam{pointer-events:none;background:#0a0602d9;width:2px;position:absolute;top:0;bottom:0;left:71%;box-shadow:0 0 4px #0009}.np-paper{background:#f7f4e9 repeating-linear-gradient(#0000 0 25px,#6b7aa847 26px);border:1px solid #6b6a5f;border-radius:2px;width:62%;min-height:172px;padding:12px 14px 14px;transition:transform .4s;position:absolute;top:14px;left:7%;transform:rotate(-1.4deg);box-shadow:0 4px 14px #0000008c}.note-pass.is-sliding-in .np-paper{animation:.48s ease-out both np-slide-in}@keyframes np-slide-in{0%{transform:translate(74%)rotate(2.5deg)}to{transform:translate(0)rotate(-1.4deg)}}.note-pass.is-pushed .np-paper{animation:.56s ease-in forwards np-push}@keyframes np-push{to{opacity:.35;transform:translate(76%)rotate(2deg)}}.np-frog{color:#7d88ac;opacity:0;width:34px;position:absolute;top:6px;right:8px;transform:rotate(6deg)}.note-pass.has-incoming .np-frog{opacity:.85;transition:opacity .5s .5s}.np-incoming{color:#33406b;overflow-wrap:anywhere;min-height:26px;font-family:Kaiti SC,KaiTi,STKaiti,serif;font-size:15px;line-height:26px;transform:rotate(.4deg)}.note-pass:not(.has-incoming) .np-incoming{display:none}.np-replies{visibility:hidden;flex-direction:column;align-items:flex-start;gap:2px;margin-top:8px;display:flex}.note-pass.is-replying .np-replies,.note-pass.is-pushed .np-replies{visibility:visible}.np-reply{color:#8a877c;cursor:pointer;text-align:left;-webkit-tap-highlight-color:transparent;background:0 0;border:none;padding:1px 4px;font-family:Kaiti SC,KaiTi,STKaiti,serif;font-size:15px;line-height:25px}.np-reply:not(:disabled):hover,.np-reply:not(:disabled):focus-visible{color:#4a4438;text-underline-offset:4px;outline:none;-webkit-text-decoration:underline dotted #4a443899;text-decoration:underline dotted #4a443899}.np-reply:focus-visible{outline-offset:2px;outline:2px dashed #21418f}.np-reply.is-writing{color:#4a4438;cursor:default;min-width:2em;min-height:25px}.np-reply.is-faded{opacity:0;pointer-events:none;transition:opacity .3s}.np-hint{color:#9fb0d8;text-align:center;min-height:1.4em;margin-top:8px;font-size:12px}@media (prefers-reduced-motion:reduce){.note-pass.is-sliding-in .np-paper,.note-pass.is-pushed .np-paper{animation:none}.note-pass.is-pushed .np-paper{opacity:.35}}.reason-scale{pointer-events:auto;width:min(440px,94vw);position:absolute;top:47%;left:50%;transform:translate(-50%,-50%)}.reason-scale[hidden]{display:none}.rs-sub{color:#c6d2ee;text-align:center;text-shadow:0 1px 2px #060a18e6,0 0 6px #060a18b3;margin-bottom:10px;font-size:12px}.rs-paper{color:#24242c;transform:rotate(var(--rs-tilt,0deg));background:#f7f4e9 radial-gradient(82% 95% at 50% 38%,#0000 55%,#0e0a0429 82%,#0e0a0457 100%);border:1px solid #6b6a5f;border-radius:2px;padding:10px 12px 12px;transition:transform .35s;position:relative;box-shadow:0 6px 24px #00000080}.rs-cols{grid-template-columns:1fr 2px 1fr;gap:0 10px;min-height:158px;display:grid}.rs-divider{background:#24242c99;border-radius:1px;transform:rotate(.6deg)}.rs-col{border-radius:3px;padding:2px 2px 6px;transition:background .15s}.rs-col.is-over{outline-offset:-1px;background:#21418f14;outline:1px dashed #21418f80}.rs-col-head{color:#24242c;border-bottom:1px solid #24242c73;margin:0 0 6px;padding-bottom:3px;font-size:12px;font-weight:700}.rs-col-head small{color:#55555f;font-size:10px;font-weight:400;display:block}.rs-list{margin:0;padding:0;list-style:none}.rs-line{color:#4a4438;font-family:Kaiti SC,KaiTi,STKaiti,serif;font-size:13px;line-height:22px;animation:.24s ease-out rs-settle}.rs-line:before{content:"· ";color:#8a877c}@keyframes rs-settle{0%{opacity:0;transform:translateY(-6px)}}.rs-pool{flex-wrap:wrap;justify-content:center;gap:7px;min-height:34px;margin-top:12px;display:flex}.rs-card{color:#35302a;cursor:grab;touch-action:none;-webkit-tap-highlight-color:transparent;background:#efe9d6;border:1px solid #8b8678;border-radius:2px;padding:6px 10px;font-family:Kaiti SC,KaiTi,STKaiti,serif;font-size:13px;position:relative;box-shadow:0 2px 6px #0006}.rs-card:nth-child(odd){transform:rotate(-1.6deg)}.rs-card:nth-child(2n){transform:rotate(1.2deg)}.rs-card:focus-visible{outline-offset:2px;outline:2px dashed #8fd0ff}.rs-card.is-held{cursor:grabbing;z-index:2;transition:none;box-shadow:0 8px 18px #0000008c}.rs-card.is-returning{transition:transform .22s}.rs-card.is-wrong{animation:.22s ease-in-out rs-shake}@keyframes rs-shake{25%{translate:-4px}75%{translate:4px}}.rs-hint{color:#9fb0d8;text-align:center;min-height:1.4em;margin-top:8px;font-size:12px}.rs-actions{align-items:center;gap:8px;margin-top:10px;display:flex}.rs-off{color:#e8ecf8;cursor:pointer;background:#1d2745;border:1px solid #4a5a8a;border-radius:4px;flex:1;padding:9px 12px;font-family:inherit;font-size:15px}.rs-off:disabled{opacity:.45;cursor:default}.rs-off:not(:disabled):hover,.rs-off:not(:disabled):focus-visible{background:#2a3763;border-color:#8fd0ff;outline:none}.reason-scale.is-complete .rs-off:not(:disabled){box-shadow:0 0 12px #ffd68c59}.rs-linger{color:#9fb0d8;cursor:pointer;background:0 0;border:none;padding:9px 6px;font-family:inherit;font-size:13px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.rs-linger[hidden]{display:none}.rs-linger:disabled{opacity:.45;cursor:default}.rs-linger:not(:disabled):hover,.rs-linger:not(:disabled):focus-visible{color:#e8ecf8;outline:none}.rs-dark{opacity:0;pointer-events:none;background:#05070f;position:absolute;inset:-24px}.reason-scale.is-lights-out .rs-dark{animation:.6s ease-in forwards rs-lights-out}@keyframes rs-lights-out{to{opacity:1}}@media (prefers-reduced-motion:reduce){.rs-line,.rs-card.is-wrong,.reason-scale.is-lights-out .rs-dark{animation:none}.reason-scale.is-lights-out .rs-dark{opacity:1}.rs-paper,.rs-card.is-returning{transition:none}}.title-menu{pointer-events:auto;right:calc(14px + env(safe-area-inset-right));bottom:calc(12px + env(safe-area-inset-bottom));gap:8px;display:flex;position:absolute}.title-menu[hidden]{display:none}.title-menu-btn{color:#9fb0d8;cursor:pointer;background:#1d2745d9;border:1px solid #4a5a8a;border-radius:4px;padding:6px 10px;font-family:inherit;font-size:13px}.title-menu-btn:hover,.title-menu-btn:focus-visible{color:#e8ecf8;background:#2a3763;border-color:#8fd0ff;outline:none}.ui-toast{top:calc(12px + env(safe-area-inset-top));color:#e8ecf8;z-index:2;background:#101526f0;border:1px solid #4a5a8a;border-radius:4px;max-width:92vw;padding:8px 14px;font-size:13px;position:absolute;left:50%;transform:translate(-50%)}.ui-toast[hidden]{display:none}.sysmenu-fab{pointer-events:auto;left:calc(14px + env(safe-area-inset-left));top:calc(10px + env(safe-area-inset-top));color:#9fb0d8;cursor:pointer;-webkit-user-select:none;user-select:none;background:#1d2745d9;border:2px solid #4a5a8a;border-radius:50%;width:40px;height:40px;font-family:inherit;font-size:17px;line-height:1;position:absolute}.sysmenu-fab:hover,.sysmenu-fab:focus-visible{color:#e8ecf8;background:#2a3763;border-color:#8fd0ff;outline:none}.sysmenu-fab[hidden]{display:none}.sysmenu{pointer-events:auto;background:#0609148c;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.sysmenu[hidden]{display:none}.sysmenu-panel{background:#101526f0;border:2px solid #4a5a8a;border-radius:6px;flex-direction:column;gap:10px;width:min(300px,86vw);padding:16px;display:flex;box-shadow:0 6px 24px #00000080}.sysmenu-btn{color:#e8ecf8;cursor:pointer;background:#1d2745;border:1px solid #4a5a8a;border-radius:4px;padding:10px 12px;font-family:inherit;font-size:15px}.sysmenu-btn:hover,.sysmenu-btn:focus-visible{background:#2a3763;border-color:#8fd0ff;outline:none}.audio-mute{pointer-events:auto;top:calc(10px + env(safe-area-inset-top));right:calc(12px + env(safe-area-inset-right));color:#e8ecf8;cursor:pointer;opacity:.7;background:#1d2745b3;border:1px solid #4a5a8a;border-radius:6px;width:34px;height:34px;padding:0;font-size:16px;line-height:1;transition:opacity .15s;position:absolute}.audio-mute:hover,.audio-mute:focus-visible{opacity:1;border-color:#8fd0ff;outline:none}.title-card[hidden]{display:none}.title-card{z-index:30;pointer-events:auto;opacity:0;background:#08090f;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.title-card-text{letter-spacing:.12em;color:#d8dce8;text-align:center;white-space:pre-line;padding:0 24px;font-family:Noto Serif SC,Songti SC,SimSun,serif;font-size:clamp(18px,3.2vw,30px);line-height:2}.cctv-seek{pointer-events:auto;width:min(600px,96vw);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.cctv-seek[hidden]{display:none}.cs-sub{color:#c6d2ee;text-align:center;text-shadow:0 1px 2px #060a18e6,0 0 6px #060a18b3;margin-bottom:10px;font-size:12px}.cs-monitor{background:#14161a;border:1px solid #3d434c;border-radius:4px;padding:8px 8px 6px;position:relative;box-shadow:inset 0 0 0 1px #0009,0 8px 28px #0009}.cs-quads{aspect-ratio:2;background:#000;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:3px;transition:filter .3s;display:grid;position:relative}.cs-quads:after{content:"";z-index:3;pointer-events:none;background:repeating-linear-gradient(0deg,#0000 0 2px,#00000038 2px 3px);position:absolute;inset:0}.cs-quad{filter:saturate(0);background:#191c20;position:relative;overflow:hidden}.cs-quad:before{content:"";background-image:repeating-linear-gradient(0deg,#ffffff12 0 1px,#0000 1px 3px),repeating-linear-gradient(90deg,#ffffff0d 0 2px,#0000 2px 5px),radial-gradient(circle at 30% 40%,#ffffff0f,#0000 60%);animation:.5s steps(5,end) infinite cs-noise;position:absolute;inset:-60% -30%}@keyframes cs-noise{to{transform:translate(9%,-7%)}}.is-scrubbing .cs-quad:before{animation-duration:.14s}.cs-quad-classroom{transform-origin:0 0;background-image:repeating-linear-gradient(0deg,#0000 0 9px,#d2dce61a 9px 13px),repeating-linear-gradient(90deg,#0000 0 12px,#d2dce614 12px 19px);background-position:50% 62%;transition:transform .3s}.cs-quad-hall{background-image:linear-gradient(105deg,#0000 30%,#d2dce61f 46%,#d2dce629 54%,#0000 72%)}.cs-quad-gate{background-image:radial-gradient(30% 52% at 52% 64%,#d2dce629,#0000 70%)}.cs-quad-dead:before{background-image:repeating-linear-gradient(0deg,#fff3 0 1px,#0000 1px 2px),repeating-linear-gradient(90deg,#ffffff29 0 1px,#0000 1px 3px),repeating-linear-gradient(45deg,#ffffff14 0 2px,#0000 2px 7px);animation-duration:.18s}.cs-cam{z-index:2;letter-spacing:1px;color:#dce4ebbf;text-shadow:0 1px 2px #000000e6;font-family:Courier New,monospace;font-size:9px;position:absolute;top:3px;left:5px}.cs-figure{z-index:2;opacity:0;background:#e8eef4d9;border-radius:3px 3px 1px 1px;width:7px;height:15px;position:absolute;top:42%;left:58%;box-shadow:0 0 7px #fff6}.cs-figure:before{content:"";background:inherit;border-radius:50%;width:4px;height:4px;position:absolute;top:-5px;left:1.5px}.is-signal .cs-figure{opacity:1;animation:1.1s steps(3,end) infinite cs-flicker}.is-signal .cs-quad-classroom{outline-offset:-1px;outline:1px solid #e8eef459}@keyframes cs-flicker{50%{opacity:.55;translate:.5px}}.is-miss .cs-quads,.is-paused .cs-quads{filter:brightness(.82)contrast(1.08)}.is-miss .cs-quad:before,.is-paused .cs-quad:before{animation-play-state:paused}.is-paused .cs-quad-classroom{z-index:1;transform:scale(1.45)}.is-paused .cs-figure{animation-play-state:paused}.is-eject .cs-quads{filter:brightness(.3)}.cs-caption{color:#e8ecf2;text-align:center;min-height:1.5em;padding:3px 4px 0;font-size:12px}.cs-osd{letter-spacing:1px;color:#c8d2c8;justify-content:space-between;padding:2px 4px 0;font-family:Courier New,monospace;font-size:11px;display:flex}.cs-rec{color:#e07a6a}.is-miss .cs-rec,.is-paused .cs-rec{color:#d8dee6}.cs-timecode{font-weight:700}.cs-track{cursor:ew-resize;touch-action:none;-webkit-tap-highlight-color:transparent;background:#0e1013;border:1px solid #3d434c;border-radius:3px;height:36px;margin-top:10px;position:relative}.cs-track:focus-visible{outline-offset:2px;outline:2px solid #6ea8ff}.cs-days{pointer-events:none;grid-template-columns:1fr 1fr 1fr;display:grid;position:absolute;inset:0}.cs-day{color:#8b95a3;border-right:1px dashed #8b95a366;padding:2px 5px;font-size:10px}.cs-day:last-child{border-right:none}.cs-mark{background:#d9c37a;border-radius:1px;width:3px;margin-left:-1px;position:absolute;top:55%;bottom:3px;box-shadow:0 0 5px #d9c37a8c}.cs-cursor{background:#f2f5f9;width:2px;margin-left:-1px;position:absolute;top:-4px;bottom:-4px;box-shadow:0 0 6px #ffffffa6}.cs-cursor:after{content:"";background:#f2f5f9;border-radius:50%;width:12px;height:12px;position:absolute;bottom:-7px;left:-5px;box-shadow:0 1px 4px #0009}.cs-actions{align-items:center;gap:8px;margin-top:12px;display:flex}.cs-stop,.cs-confirm{color:#e8ecf8;cursor:pointer;background:#1d2745;border:1px solid #4a5a8a;border-radius:4px;flex:1;padding:9px 12px;font-family:inherit;font-size:15px}.cs-stop:hover,.cs-stop:focus-visible,.cs-confirm:not(:disabled):hover,.cs-confirm:not(:disabled):focus-visible{background:#2a3763;border-color:#8fd0ff;outline:none}.cs-confirm{font-size:13px}.cs-confirm:disabled,.cs-resume:disabled{opacity:.55;cursor:default}.cs-resume{color:#9fb0d8;cursor:pointer;background:#0a0e1ab8;border:none;border-radius:4px;padding:6px 8px;font-family:inherit;font-size:13px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.cs-resume:hover,.cs-resume:focus-visible{color:#d5e2ff;outline:none}.cs-hint{color:#9fb0d8;text-align:center;min-height:1.4em;margin-top:8px;font-size:12px}.frog-join{pointer-events:auto;width:min(360px,94vw);position:absolute;top:47%;left:50%;transform:translate(-50%,-50%)}.frog-join[hidden]{display:none}.fj-sub{color:#c6d2ee;text-align:center;text-shadow:0 1px 2px #060a18e6,0 0 6px #060a18b3;margin-bottom:10px;font-size:12px}.fj-desk{background:linear-gradient(115deg,#4a3b28,#52422c 62%,#473926);border:1px solid #241a10;border-radius:3px;width:320px;height:210px;margin:0 auto;position:relative;overflow:hidden;box-shadow:inset 0 0 42px #0a06028c,0 6px 24px #00000080}.fj-half{cursor:grab;touch-action:none;background:0 0;border:none;width:150px;height:64px;margin:0;padding:0;position:absolute;top:0;left:0}.fj-half--top{cursor:default;pointer-events:none}.fj-half:focus-visible{outline:none}.fj-half:focus-visible .fj-paper{box-shadow:0 0 0 2px #8fd0ffcc,0 3px 8px #00000073}.fj-paper{color:#4a4f61;background:radial-gradient(60% 45% at 30% 35%,#d6c8a059,#0000 70%),#f3edd9;border:1px solid #cfc4a2;border-radius:2px;width:100%;height:100%;display:block;box-shadow:0 3px 8px #00000073}.fj-paper svg{width:100%;height:100%;display:block}.fj-half.is-held{cursor:grabbing}.fj-half.is-held .fj-paper{transform:rotate(1.2deg)scale(1.02);box-shadow:0 7px 14px #0000008c}.fj-half.is-snapped{transition:transform .16s ease-out}.frog-join.is-joined .fj-paper{border-color:#b7a97e;animation:.42s ease-out fj-bounce}@keyframes fj-bounce{0%{transform:scale(1)}35%{transform:scale(1.045)translateY(-2px)}70%{transform:scale(.99)}to{transform:scale(1)}}.fj-hint{color:#9fb0d8;text-align:center;min-height:1.4em;margin-top:8px;font-size:12px}.fj-actions{flex-direction:column;align-items:center;gap:6px;margin-top:8px;display:flex}.fj-exit{color:#e8eefc;cursor:pointer;background:#141b30eb;border:1px solid #4a5a8a;border-radius:4px;min-width:220px;padding:8px 14px;font-family:inherit;font-size:14px}.fj-exit:disabled{opacity:.35;cursor:default}.fj-exit:not(:disabled):hover,.fj-exit:not(:disabled):focus-visible{border-color:#8fd0ff;outline:none}.frog-join.is-finished .fj-desk{opacity:.25;transition:opacity .42s}@media (prefers-reduced-motion:reduce){.fj-half.is-snapped{transition:none}.frog-join.is-joined .fj-paper{animation:none}.frog-join.is-finished .fj-desk{transition:none}}.letter-flip{pointer-events:auto;width:min(420px,94vw);position:absolute;top:47%;left:50%;transform:translate(-50%,-50%)}.letter-flip[hidden]{display:none}.lf-sub{color:#c6d2ee;text-align:center;text-shadow:0 1px 2px #060a18e6,0 0 6px #060a18b3;margin-bottom:10px;font-size:12px}.lf-board{background:linear-gradient(105deg,#47402f,#4e4634 58%,#453d2c);border:1px solid #221d12;border-radius:3px;height:216px;position:relative;overflow:hidden;box-shadow:inset 0 0 42px #0807028c,0 6px 24px #00000080}.lf-stack{background:#efe8d2;border:1px solid #c9bd9c;border-radius:2px;width:96px;height:64px;position:absolute;top:68px;left:20px;box-shadow:0 -3px 0 -1px #e6dfc8,0 -6px 0 -2px #ded6bd,0 3px 8px #0006}.lf-stack.is-empty{visibility:hidden}.lf-card{text-align:left;cursor:pointer;touch-action:manipulation;background:repeating-linear-gradient(#0000 0 26px,#5e6a8c29 26px 27px),#f5efdc;border:1px solid #cfc4a2;border-radius:2px;width:200px;min-height:120px;padding:14px 16px 12px;font-family:inherit;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 4px 12px #00000073}.lf-card:disabled{visibility:hidden}.lf-card:focus-visible{outline:none;box-shadow:0 0 0 2px #8fd0ffcc,0 4px 12px #00000073}.lf-salute{color:#8b7f60;margin-bottom:6px;font-size:11px;display:block}.lf-excerpt{color:#2d3f66;white-space:pre-line;min-height:3.5em;font-family:Kaiti SC,KaiTi,STKaiti,serif;font-size:15px;line-height:1.75;display:block}.lf-card.is-revealing .lf-excerpt{animation:.36s ease-out lf-reveal}@keyframes lf-reveal{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}.lf-card.is-flipping{opacity:0;pointer-events:none;transition:transform .42s ease-in,opacity .42s ease-in;transform:translate(46px,-46%)rotate(5deg)scale(.62)}.lf-pile{width:96px;height:64px;position:absolute;bottom:30px;right:22px}.lf-fallen{background:#ece4cc;border:1px solid #c9bd9c;border-radius:2px;position:absolute;inset:0;box-shadow:0 2px 5px #00000059}.lf-count{color:#9fb0d8;text-align:center;margin-top:8px;font-size:12px}.lf-hint{color:#9fb0d8;text-align:center;min-height:1.4em;margin-top:2px;font-size:12px}.lf-actions{flex-direction:column;align-items:center;gap:6px;margin-top:8px;display:flex}.lf-exit{color:#e8eefc;cursor:pointer;background:#141b30eb;border:1px solid #4a5a8a;border-radius:4px;min-width:220px;padding:8px 14px;font-family:inherit;font-size:14px}.lf-exit:disabled{opacity:.35;cursor:default}.lf-exit:not(:disabled):hover,.lf-exit:not(:disabled):focus-visible{border-color:#8fd0ff;outline:none}.letter-flip.is-gathered .lf-board{opacity:.25;transition:opacity .42s}@media (prefers-reduced-motion:reduce){.lf-card.is-revealing .lf-excerpt{animation:none}.lf-card.is-flipping,.letter-flip.is-gathered .lf-board{transition:none}}.pack-box{pointer-events:auto;width:min(420px,94vw);position:absolute;top:47%;left:50%;transform:translate(-50%,-50%)}.pack-box[hidden]{display:none}.pb-sub{color:#c6d2ee;text-align:center;text-shadow:0 1px 2px #060a18e6,0 0 6px #060a18b3;margin-bottom:10px;font-size:12px}.pb-room{box-sizing:border-box;background:linear-gradient(105deg,#47402f,#4e4634 58%,#453d2c);border:1px solid #221d12;border-radius:3px;align-items:stretch;gap:14px;height:216px;padding:14px;display:flex;position:relative;box-shadow:inset 0 0 42px #0807028c,0 6px 24px #00000080}.pb-shelf{flex-direction:column;flex:1;justify-content:center;gap:8px;min-width:0;display:flex}.pb-item{cursor:grab;touch-action:none;color:#d9e2f6;background:#0a080440;border:1px dashed #d6c8a059;border-radius:4px;align-items:center;gap:10px;padding:6px 8px;font-family:inherit;font-size:12px;display:flex}.pb-item:focus-visible{border-style:solid;border-color:#8fd0ff;outline:none}.pb-item.is-held{cursor:grabbing;z-index:2;background:#0a080473;border-style:solid;position:relative;box-shadow:0 7px 14px #00000080}.pb-item.is-returning{transition:transform .22s}.pb-shape{flex:none;width:44px;height:34px;display:block;position:relative}.pb-shape--papers{background:#f3edd9;border:1px solid #cfc4a2;box-shadow:-3px 3px 0 -1px #e8e1c8,-6px 6px 0 -2px #ddd5b8}.pb-shape--papers:after{content:"71";color:#b8452e;font-size:10px;position:absolute;top:1px;right:3px}.pb-shape--bottle{background:0 0;width:44px}.pb-shape--bottle:before{content:"";background:#e094428c;border:1px solid #8c541ecc;border-radius:2px 2px 0 0;width:8px;height:12px;position:absolute;top:0;left:18px}.pb-shape--bottle:after{content:"";background:linear-gradient(#e9a55699,#ce80308c);border:1px solid #8c541ecc;border-radius:4px 4px 3px 3px;width:18px;height:23px;position:absolute;top:11px;left:13px}.pb-shape--schedule{background:repeating-linear-gradient(0deg,#0000 0 7px,#5e6a8c59 7px 8px),repeating-linear-gradient(90deg,#0000 0 10px,#5e6a8c59 10px 11px),#f0ead6;border:1px solid #cfc4a2}.pb-shape--schedule:after{content:"";background:linear-gradient(115deg,#0000 48%,#786c4a80 49% 51%,#0000 52%);position:absolute;inset:0}.pb-box{background:linear-gradient(#8a6a42,#7a5c38 30%,#6d5232);border:2px solid #4e3a22;border-radius:2px 2px 4px 4px;flex:none;align-self:flex-end;width:148px;height:150px;position:relative}.pb-flap{background:#8a6a42;border:2px solid #4e3a22;border-bottom:none;width:46%;height:14px;transition:transform .32s;position:absolute;top:-14px}.pb-flap--l{transform-origin:0 100%;left:-2px;transform:rotate(-14deg)}.pb-flap--r{transform-origin:100% 100%;right:-2px;transform:rotate(14deg)}.pb-box.is-over{box-shadow:0 0 0 2px #8fd0ffb3}.pb-layers{flex-direction:column-reverse;gap:3px;display:flex;position:absolute;bottom:6px;left:6px;right:6px}.pb-layer{text-align:center;color:#4a3c22;background:#d8cdaf;border:1px solid #b3a682;border-radius:2px;height:30px;font-size:11px;line-height:30px;animation:.26s ease-out pb-settle}.pb-layer--bottle{background:linear-gradient(#e9a55680,#ce803073),#d8cdaf}.pb-layer--schedule{background:repeating-linear-gradient(90deg,#0000 0 12px,#5e6a8c40 12px 13px),#d8cdaf}@keyframes pb-settle{0%{opacity:.4;transform:translateY(-10px)}to{opacity:1;transform:none}}.pack-box.is-sealed .pb-flap--l{transform:rotate(88deg)}.pack-box.is-sealed .pb-flap--r{transform:rotate(-88deg)}.pb-tape{background:#e4dcbebf;width:12px;height:0;transition:height .36s .2s;position:absolute;top:-14px;left:50%;transform:translate(-50%)}.pack-box.is-sealed .pb-tape{height:40px}.pb-hint{color:#9fb0d8;text-align:center;min-height:1.4em;margin-top:8px;font-size:12px}.pb-actions{flex-direction:column;align-items:center;gap:6px;margin-top:8px;display:flex}.pb-exit{color:#e8eefc;cursor:pointer;background:#141b30eb;border:1px solid #4a5a8a;border-radius:4px;min-width:220px;padding:8px 14px;font-family:inherit;font-size:14px}.pb-exit:disabled{opacity:.35;cursor:default}.pb-exit:not(:disabled):hover,.pb-exit:not(:disabled):focus-visible{border-color:#8fd0ff;outline:none}@media (prefers-reduced-motion:reduce){.pb-item.is-returning,.pb-flap,.pb-tape{transition:none}.pb-layer{animation:none}}
