:root{--sky:#d3eef6;--ink:#2a2622;--ink-2:#6b635b;--temple:#c8372d;--gold:#e3a93c;--paper:#fbf6ec;--wood:#3b2a22;--cream:#fff8e7;--brown:#6b4a3a;--serif:"Noto Serif SC", "Songti SC", serif;--ui:system-ui, -apple-system, "PingFang SC", "Hiragino Sans", sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}[hidden]{display:none!important}html,body{overscroll-behavior:none;height:100%;overflow:hidden}body{background:var(--sky);color:var(--ink);font-family:var(--ui);margin:0}.wrap{height:100%}header{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.stage{height:100vh;touch-action:none;-webkit-user-select:none;user-select:none;background:#d3eef6;height:100dvh;position:relative;overflow:hidden}.cv{width:100%;height:100%;display:block}.hud,.keys,.hint,.tool,.crowd{background:var(--cream);color:var(--brown);font-weight:700;box-shadow:0 3px #6b4a3a29}.hint{position:absolute}.hud-row{left:max(12px, env(safe-area-inset-left,0px));top:max(12px, env(safe-area-inset-top,0px));align-items:center;gap:8px;display:flex;position:absolute}.crowd{border-radius:999px;padding:7px 12px;font-size:13px}.hud{cursor:pointer;border:0;border-radius:999px;padding:7px 14px;font-family:inherit;font-size:14px}.tools{right:max(12px, env(safe-area-inset-right,0px));top:max(12px, env(safe-area-inset-top,0px));align-items:center;gap:8px;display:flex;position:absolute}.keys{border-radius:999px;padding:7px 14px;font-size:13px}.tool{cursor:pointer;border:0;border-radius:50%;place-items:center;width:40px;height:40px;padding:0;display:grid}.hint{left:max(12px, env(safe-area-inset-left,0px));top:calc(max(12px, env(safe-area-inset-top,0px)) + 44px);border-radius:14px;max-width:60%;padding:7px 12px;font-size:13px}@media (hover:none),(pointer:coarse),(max-width:760px){.keys{display:none}}.prompt{left:50%;bottom:max(22px, calc(env(safe-area-inset-bottom,0px) + 12px));font:inherit;letter-spacing:.04em;color:#fff;cursor:pointer;white-space:nowrap;background:#e2594b;border:0;border-radius:999px;padding:14px 26px;font-size:17px;font-weight:800;animation:.32s cubic-bezier(.3,1.6,.5,1) prompt-pop;position:absolute;transform:translate(-50%);box-shadow:0 5px #b9453b,0 10px 18px #6b4a3a40}.prompt:active{transform:translate(-50%)translateY(3px);box-shadow:0 2px #b9453b,0 5px 10px #6b4a3a40}.prompt.soft{background:var(--cream);color:var(--brown);box-shadow:0 5px #e0d2b4,0 10px 18px #6b4a3a33}@keyframes prompt-pop{0%{opacity:0;transform:translate(-50%)scale(.7)}to{opacity:1;transform:translate(-50%)scale(1)}}button:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.stick{pointer-events:none;background:#fff8e766;border-radius:50%;width:110px;height:110px;margin:-55px 0 0 -55px;position:absolute;box-shadow:inset 0 0 0 3px #fff8e7d9}.stick i{background:var(--cream);border-radius:50%;width:46px;height:46px;margin:-23px 0 0 -23px;position:absolute;top:50%;left:50%;box-shadow:0 3px #6b4a3a33}.nogl{text-align:center;color:var(--ink-2);place-items:center;padding:24px;display:grid;position:absolute;inset:0}.bubble{background:var(--cream);width:max-content;max-width:250px;color:var(--brown);pointer-events:none;border-radius:16px;margin-top:-14px;padding:10px 14px;font-size:14px;font-weight:600;line-height:1.5;animation:.28s cubic-bezier(.3,1.6,.5,1) bubble-pop;position:absolute;transform:translate(-50%,-100%);box-shadow:0 4px #6b4a3a29}.bubble:after{content:"";background:var(--cream);border-radius:3px;width:16px;height:16px;margin-left:-8px;position:absolute;bottom:-8px;left:50%;transform:rotate(45deg)}.bubble b{color:#e2594b;letter-spacing:.08em;font-size:12px;display:block}@keyframes bubble-pop{0%{opacity:0;transform:translate(-50%,-100%)scale(.7)}to{opacity:1;transform:translate(-50%,-100%)scale(1)}}.tags{pointer-events:none;position:absolute;inset:0;overflow:hidden}.tag{white-space:nowrap;color:var(--brown);background:#fff8e7eb;border-radius:999px;padding:2px 9px;font-size:12px;font-weight:700;position:absolute;transform:translate(-50%,-100%);box-shadow:0 2px #6b4a3a24}.welcome{touch-action:manipulation;background:#3c2a2259;place-items:center;padding:20px;display:grid;position:absolute;inset:0}.welcome-card{box-sizing:border-box;background:var(--cream);width:min(340px,100%);color:var(--brown);text-align:center;border-radius:24px;justify-items:center;gap:12px;margin:0;padding:24px 22px;animation:.3s ease-out bubble-in;display:grid;box-shadow:0 10px 30px #3c2a224d}.welcome-card h2{font-family:var(--serif);letter-spacing:.12em;margin:0;font-size:21px}.welcome-hint{opacity:.8;margin:0;font-size:12px;line-height:1.6}.name-input{box-sizing:border-box;width:min(240px,100%);font:inherit;text-align:center;color:var(--brown);-webkit-user-select:text;user-select:text;background:#fff;border:2px solid #e6d7b8;border-radius:999px;padding:10px 16px;font-size:16px;font-weight:700}.name-input:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.name-input::placeholder{color:#b3a089;font-size:13px;font-weight:400}@keyframes bubble-in{0%{opacity:0;transform:translateY(14px)scale(.96)}to{opacity:1;transform:none}}.sheet{box-sizing:border-box;background:var(--cream);width:min(460px,100%);color:var(--brown);padding:18px 20px max(18px, env(safe-area-inset-bottom,0px));touch-action:manipulation;border-radius:24px 24px 0 0;justify-items:center;gap:10px;animation:.25s ease-out sheet-up;display:grid;position:absolute;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 -6px 24px #6b4a3a40}.sheet h2{font-family:var(--serif);letter-spacing:.2em;margin:0;font-size:20px}.choice-label{opacity:.8;font-size:13px;font-weight:700}.choices{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.chip.light{color:var(--brown);box-shadow:none;background:#f3e6cc;font-weight:600}.chip.light.on{background:var(--gold);color:var(--wood);font-weight:800}.swatch{cursor:pointer;border:3px solid #fff;border-radius:50%;width:40px;height:40px;padding:0;box-shadow:0 0 0 2px #e6d7b8}.swatch.on{box-shadow:0 0 0 3px var(--brown)}.sheet .go{margin-top:6px}@keyframes sheet-up{0%{opacity:0;transform:translate(-50%,40px)}to{opacity:1;transform:translate(-50%)}}.room{background:radial-gradient(120% 80% at 50% 0%, #6a3b2c, var(--wood));color:#f6ebdd;padding:20px;padding-top:max(20px, env(safe-area-inset-top,0px));padding-bottom:max(20px, env(safe-area-inset-bottom,0px));touch-action:pan-y;flex-direction:column;align-items:center;display:flex;position:absolute;inset:0;overflow:auto}.room>.panel{margin:auto 0}.panel{text-align:center;justify-items:center;gap:16px;width:min(420px,100%);display:grid}.panel h2{font-family:var(--serif);letter-spacing:.2em;margin:0;font-size:22px}.panel p{color:#e9d7c3;margin:0;font-size:14px;line-height:1.7}.panel .room-error{color:#ffd9a8}.topics{flex-wrap:wrap;justify-content:center;gap:8px;min-height:35px;display:flex}.chip{font:inherit;color:#f6ebdd;cursor:pointer;background:#ffffff1f;border:0;border-radius:999px;padding:8px 14px;font-size:14px;box-shadow:inset 0 0 0 1px #ffffff4d}.chip.on{background:var(--gold);color:var(--wood);box-shadow:none;font-weight:700}.tube{cursor:pointer;background:0 0;border:0;width:96px;height:150px;margin-top:20px;padding:0;position:relative}.tube .body{background:linear-gradient(90deg,#8e2119,#c8372d 40%,#a62a20);border-radius:10px 10px 14px 14px;height:110px;position:absolute;bottom:0;left:8px;right:8px;box-shadow:inset 0 -6px #0003}.tube .body:after{content:attr(data-char);font-family:var(--serif);color:var(--gold);place-items:center;font-size:30px;font-weight:800;display:grid;position:absolute;inset:0}.tube .stk{background:#e8d2a8;border-radius:3px;width:6px;height:70px;position:absolute;bottom:80px}.tube.shake{animation:.16s linear infinite shake}@keyframes shake{0%{transform:rotate(-9deg)}50%{transform:rotate(9deg)}to{transform:rotate(-9deg)}}.fall{background:#e8d2a8;border-radius:3px;width:7px;height:80px;margin-left:-3px;animation:.7s ease-in forwards fall;position:absolute;top:30px;left:50%}@keyframes fall{0%{transform:translateY(0)rotate(0)}to{transform:translateY(150px)rotate(80deg)}}.go{font:inherit;background:var(--gold);color:var(--wood);cursor:pointer;border:0;border-radius:999px;padding:13px 26px;font-size:16px;font-weight:700;box-shadow:0 4px #9c6f1f}.go:disabled{opacity:.5;cursor:default}.ghost{font:inherit;color:#f6ebdd;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:10px 18px;font-size:14px;box-shadow:inset 0 0 0 1px #ffffff59}.row{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.slip{box-sizing:border-box;background:var(--paper);width:min(380px,100%);color:var(--ink);text-align:left;border:2px solid var(--temple);outline:4px solid var(--paper);border-radius:6px;gap:12px;padding:18px 18px 16px;animation:.5s ease-out pop;display:grid;box-shadow:0 18px 40px #00000059}@keyframes pop{0%{opacity:0;transform:translateY(20px)scale(.96)}to{opacity:1;transform:none}}.slip .top{border-bottom:1px dashed #d6c7ae;justify-content:space-between;align-items:center;padding-bottom:10px;display:flex}.slip .no{font-family:var(--serif);letter-spacing:.1em;font-size:20px;font-weight:800}.slip .grade{font-family:var(--serif);color:#fff;background:var(--temple);letter-spacing:.15em;border-radius:4px;padding:4px 10px;font-weight:800}.slip .title-row{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.slip .title{font-family:var(--serif);color:var(--temple);font-size:15px;font-weight:600}.slip .date{color:var(--ink-2);font-size:12px}.slip .poem{font-family:var(--serif);letter-spacing:.06em;font-size:17px;font-weight:600;line-height:1.9}.slip .lab{color:var(--temple);letter-spacing:.1em;font-size:12px;font-weight:700}.slip .txt{font-size:14px;line-height:1.7}.slip .asked{background:#f5ead3;border-radius:6px;margin:0 -4px;padding:10px 12px}.slip .others summary{cursor:pointer;color:var(--ink-2);border-radius:4px;padding:4px 0;font-size:13px;font-weight:700}.slip .others summary:focus-visible{outline:3px solid var(--gold);outline-offset:2px}.slip .others[open] summary{margin-bottom:8px}.slip .others .other+.other{margin-top:10px}.slip .meta{border-top:1px dashed #d6c7ae;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding-top:10px;display:grid}.slip .meta div{color:var(--ink-2);font-size:12px}.slip .meta b{color:var(--ink);margin-top:2px;font-size:14px;display:block}.sw{vertical-align:-1px;border-radius:50%;width:10px;height:10px;margin-right:5px;display:inline-block;box-shadow:inset 0 0 0 1px #00000026}.note{color:#c9b49c;font-size:11px}.panel .today{color:#ffd9a8;font-weight:700}.book-stats{font-size:13px}.book-list{gap:10px;width:100%;display:grid}.book-item{text-align:left;font:inherit;background:var(--paper);color:var(--ink);cursor:pointer;border:0;border-radius:12px;grid-template-columns:1fr auto;gap:2px 12px;padding:12px 14px;display:grid;box-shadow:0 3px #00000040}.book-name{font-family:var(--serif);letter-spacing:.06em;font-size:17px;font-weight:800}.book-date{color:var(--ink-2);grid-area:1/2;align-self:center;font-size:12px}.book-name{grid-area:1/1}.book-meta{color:var(--temple);grid-column:1/-1;font-size:13px;font-weight:600}@media (prefers-reduced-motion:reduce){.tube.shake,.fall,.slip,.prompt,.bubble,.sheet,.welcome-card{animation:none}}
