:root{--dusk:#1f1a2b;--glass:#1a142080;--glass-line:#ffffff26;--hall:#1d1825;--panel:#27202f;--line:#e2523a47;--shu:#e2523a;--gold:#e3b860;--lamp:#ffcf86;--ok:#8fd19e;--fg:#f4eee4;--muted:#b0a6b4;--wood:#d8b483;--paper:#f4ecdb;--ink:#1d1813;--f-display:"Zen Antique","Hiragino Mincho ProN","Yu Mincho",serif;--f-body:"Zen Kaku Gothic New","Hiragino Sans","Yu Gothic",system-ui,sans-serif;--f-brush:"Yuji Syuku","Zen Antique","Hiragino Mincho ProN",serif;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}[hidden]{display:none!important}html{box-sizing:border-box;height:100%}*,:before,:after{box-sizing:inherit}body{background:var(--dusk);height:100%;color:var(--fg);font-family:var(--f-body);-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;margin:0;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,textarea:focus-visible{outline:2px solid var(--gold);outline-offset:2px}#world{touch-action:none;outline:none;width:100%;height:100%;display:block;position:fixed;inset:0}.glass{background:var(--glass);border:1px solid var(--glass-line);-webkit-backdrop-filter:blur(14px)saturate(1.2);box-shadow:0 6px 24px #00000040}.hud-top{z-index:5;top:calc(12px + env(safe-area-inset-top,0px));left:max(12px,env(safe-area-inset-left,0px));right:max(12px,env(safe-area-inset-right,0px));pointer-events:none;justify-content:space-between;align-items:flex-start;gap:8px;display:flex;position:fixed}.hud-top>*{pointer-events:auto}.pill{border-radius:999px;align-items:center;gap:4px;height:50px;padding:5px 8px;display:flex}.ib{width:40px;height:40px;color:var(--fg);background:0 0;border:0;border-radius:999px;place-items:center;display:grid}.ib:hover{background:#ffffff14}.ib svg{width:20px;height:20px}.lang{width:auto;padding:0 10px;font-size:12.5px;font-weight:700}.room{background:0 0;border:0;align-items:baseline;gap:8px;padding:0 10px 0 4px;display:flex}.room b{font-family:var(--f-display);letter-spacing:.06em;font-size:19px;font-weight:400}.room span{color:var(--muted);font-size:13px}.room i{font-variant-numeric:tabular-nums;margin-left:6px;font-size:13px;font-style:normal}.rcol{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.amb{border-radius:999px;padding:10px 16px;font-size:13px}.amb[aria-pressed=true]{border-color:var(--gold);color:var(--gold)}.hint{z-index:4;bottom:calc(92px + env(safe-area-inset-bottom,0px));text-align:center;color:#f4eee4e6;text-shadow:0 1px 6px #000c;pointer-events:none;padding-inline:16px;font-size:12.5px;transition:opacity .6s;position:fixed;left:0;right:0}.check{z-index:4;left:max(12px,env(safe-area-inset-left,0px));top:calc(74px + env(safe-area-inset-top,0px));border-radius:16px;width:186px;padding:10px 12px;position:fixed}.check h3{font-family:var(--f-display);letter-spacing:.1em;flex-wrap:wrap;justify-content:space-between;align-items:baseline;column-gap:8px;margin:0 0 6px;font-size:14px;font-weight:400;display:flex}.check h3 small{font-family:var(--f-body);color:var(--gold);letter-spacing:0;font-size:10.5px}.check ol{gap:4px;margin:0;padding:0;list-style:none;display:grid}.check li{color:var(--muted);align-items:center;gap:8px;font-size:12px;display:flex}.check li i{border:1.5px solid #ffffff4d;border-radius:50%;flex:none;place-items:center;width:18px;height:18px;font-size:11px;font-style:normal;display:grid}.check li.done{color:var(--fg)}.check li.done i{background:var(--ok);border-color:var(--ok);color:#13241a}.check p{color:var(--fg);margin:8px 0 0;font-size:11px;line-height:1.5}.banner{z-index:6;top:calc(76px + env(safe-area-inset-top,0px));text-align:center;border-radius:16px;min-width:220px;padding:10px 18px;transition:opacity .3s;position:fixed;left:50%;transform:translate(-50%)}.banner b{font-family:var(--f-display);letter-spacing:.12em;font-size:24px;font-weight:400;display:block}.banner span{color:var(--muted);font-size:12px}.banner .dots{justify-content:center;gap:5px;margin-top:6px;display:flex}.banner .dots i{background:#ffffff40;border-radius:50%;width:7px;height:7px}.banner .dots i.on{background:var(--shu)}.acts{z-index:5;left:50%;bottom:calc(14px + env(safe-area-inset-bottom,0px));border-radius:999px;grid-template-columns:repeat(4,1fr);gap:4px;width:min(480px,100% - 24px);padding:6px;display:grid;position:fixed;transform:translate(-50%)}.acts button{color:var(--fg);letter-spacing:.04em;background:0 0;border:0;border-radius:999px;flex-direction:column;align-items:center;gap:3px;padding:8px 2px 7px;font-size:12.5px;display:flex}.acts button:hover{background:#ffffff1a}.acts button.ready{color:var(--lamp)}.acts svg{width:24px;height:24px}.tag{z-index:3;color:#2a2228;white-space:nowrap;pointer-events:none;will-change:transform;background:#f4eee4ed;border-radius:999px;align-items:center;gap:6px;padding:4px 10px 4px 4px;font-size:12px;display:flex;position:fixed;top:0;left:0}.tag em{background:var(--shu);color:#fff;border-radius:99px;place-items:center;min-width:20px;height:20px;padding:0 4px;font-size:10.5px;font-style:normal;display:grid}.tag.npc{color:#f4eee4e6;background:#1a14208c;padding:3px 9px;font-size:11px}.fl{z-index:3;font-family:var(--f-display);color:#fff;text-shadow:0 1px 8px #000000d9;pointer-events:none;white-space:nowrap;font-size:18px;position:fixed;top:0;left:0}.fl.gold{color:var(--lamp)}.loader{z-index:60;text-align:center;background:linear-gradient(#2a2440,#c8705e);place-items:center;transition:opacity .8s;display:grid;position:fixed;inset:0}.loader svg{width:64px;height:48px;color:var(--shu)}.loader h2{font-family:var(--f-display);letter-spacing:.3em;margin:12px 0 6px;font-size:32px;font-weight:400}.loader p{color:#f6e3d8;margin:0;font-size:13px}.backdrop{z-index:29;background:#08050a8c;position:fixed;inset:0}.sheet{z-index:30;background:var(--hall);border:1px solid var(--line);width:min(580px,100%);max-height:88%;padding-left:max(20px,env(safe-area-inset-left,0px));padding-right:max(20px,env(safe-area-inset-right,0px));padding-top:16px;padding-bottom:calc(22px + env(safe-area-inset-bottom,0px));-webkit-user-select:text;user-select:text;border-bottom:0;border-radius:20px 20px 0 0;margin-inline:auto;animation:.26s ease-out up;position:fixed;bottom:0;left:0;right:0;overflow:auto;box-shadow:0 -24px 60px #00000080}@keyframes up{0%{opacity:0;transform:translateY(24px)}}.sheet header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:6px;display:flex}.sheet h2{font-family:var(--f-display);letter-spacing:.08em;margin:0;font-size:24px;font-weight:400}.x{border:1px solid var(--line);width:34px;height:34px;color:var(--muted);background:0 0;border-radius:999px;font-size:16px}.lede{color:var(--muted);margin:0 0 14px;font-size:13px;line-height:1.75}.btn{border:1px solid var(--shu);background:var(--shu);color:#fff;letter-spacing:.06em;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:11px 18px;font-weight:700;display:inline-flex}.btn.ghost{color:var(--fg);border-color:var(--line);background:0 0;font-weight:500}.btn:disabled{opacity:.45;cursor:default}.row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.note{color:var(--muted);margin:12px 0 0;font-size:11.5px;line-height:1.6}.menu{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;display:grid}.menu button{text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:14px;flex-direction:column;align-items:flex-start;gap:4px;padding:14px;display:flex}.menu b{font-family:var(--f-display);letter-spacing:.06em;font-size:19px;font-weight:400}.menu span{color:var(--muted);font-size:12px;line-height:1.5}.flow{gap:8px;margin:0;padding:0;list-style:none;display:grid}.flow li{background:var(--panel);border:1px solid var(--line);border-radius:12px;grid-template-columns:30px 1fr;gap:10px;padding:10px 12px;display:grid}.flow li i{width:26px;height:26px;color:var(--shu);background:#e2523a2e;border-radius:50%;place-items:center;font-size:13px;font-style:normal;display:grid}.flow b{font-family:var(--f-display);font-size:16px;font-weight:400;display:block}.flow span{color:var(--muted);font-size:12.5px;line-height:1.6}.write{background:var(--panel);border:1px solid var(--line);border-radius:14px;margin-bottom:14px;padding:12px}.cats{flex-wrap:wrap;gap:6px;margin-bottom:8px;display:flex}.cats button{border:1px solid var(--line);color:var(--fg);background:0 0;border-radius:99px;padding:6px 12px;font-size:12.5px}.cats button[aria-pressed=true]{background:var(--shu);border-color:var(--shu);color:#fff}textarea{resize:none;width:100%;min-height:62px;color:var(--fg);border:1px solid var(--line);font:inherit;background:#16121b;border-radius:10px;padding:10px;font-size:15px;line-height:1.6}.write .row{justify-content:space-between;margin-top:8px}.write small{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.tabs{gap:6px;margin:0 0 10px;padding-bottom:2px;display:flex;overflow-x:auto}.tabs button{border:1px solid var(--line);color:var(--muted);background:0 0;border-radius:99px;flex:none;padding:6px 12px;font-size:12.5px}.tabs button[aria-pressed=true]{color:var(--fg);border-color:var(--gold)}.emas{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.ema{color:#2a1a0c;clip-path:polygon(50% 0,100% 16%,100% 100%,0 100%,0 16%);background:linear-gradient(#e2c08f,#d1a873);border-radius:0 0 6px 6px;flex-direction:column;gap:6px;min-height:150px;padding:22px 12px 10px;display:flex;position:relative}.ema:before{content:"";background:#5a3a1c;border-radius:50%;width:8px;height:8px;margin-left:-4px;position:absolute;top:9px;left:50%}.ema .cat{color:#fff;background:#a02819d9;border-radius:99px;align-self:flex-start;padding:2px 7px;font-size:10.5px;font-weight:700}.ema p{font-family:var(--f-brush);word-break:break-word;flex:1;margin:0;font-size:16px;line-height:1.45}.ema .by{color:#6a4a2a;font-size:10.5px}.ema .cheer{color:#5a3a1c;font-variant-numeric:tabular-nums;background:#ffffff59;border:1px solid #5a3a1c59;border-radius:99px;align-self:flex-end;align-items:center;gap:5px;padding:4px 10px;font-size:12px;display:flex}.ema .cheer[aria-pressed=true]{color:#fff;background:#a52a1a;border-color:#a52a1a}.ema.mine{box-shadow:inset 0 0 0 3px #e3b860}.shuin{aspect-ratio:3/4;background:var(--paper);border-radius:3px;width:100%;max-width:290px;margin:4px auto 12px;display:block;box-shadow:0 10px 30px #00000073}.kuji{clip-path:polygon(20% 0,80% 0,100% 8%,100% 100%,0 100%,0 8%);width:78px;height:138px;font-family:var(--f-display);writing-mode:vertical-rl;letter-spacing:.3em;color:#fff3e0;background:linear-gradient(90deg,#8a1f16,#c23a2a 45%,#9a2a1c);place-items:center;margin:4px auto 14px;font-size:20px;display:grid}.kuji.go{animation:.9s ease-in-out kshake}@keyframes kshake{10%,50%,90%{transform:rotate(-14deg)}30%,70%{transform:rotate(14deg)}to{transform:rotate(180deg)}}.slip{background:var(--paper);color:var(--ink);border-radius:4px;margin-top:4px;padding:18px 18px 16px;box-shadow:0 10px 30px #0006}.slip .no{letter-spacing:.2em;color:#7a6a55;font-size:12px}.slip .grade{font-family:var(--f-brush);margin:2px 0;font-size:56px;line-height:1.1}.slip .grade.top{color:#b8321f}.slip .gen{color:#6a5a45;margin-bottom:8px;font-size:13px}.slip .poem{font-family:var(--f-display);letter-spacing:.04em;border-bottom:1px solid #1d181326;margin:0 0 12px;padding-bottom:12px;font-size:15px}.slip dl{grid-template-columns:auto 1fr;gap:6px 14px;margin:0;font-size:13.5px;line-height:1.5;display:grid}.slip dt{font-family:var(--f-display);color:#8a3a22;letter-spacing:.06em}.slip dd{margin:0}.toast{z-index:50;top:calc(150px + env(safe-area-inset-top,0px));border:1px solid var(--gold);color:var(--fg);white-space:nowrap;text-overflow:ellipsis;background:#1a1420e0;border-radius:999px;max-width:calc(100% - 32px);padding:9px 16px;font-size:13px;position:fixed;left:50%;overflow:hidden;transform:translate(-50%)}.toast.show{animation:.25s ease-out tin}@keyframes tin{0%{opacity:0;transform:translate(-50%,-8px)}}@media (width<=520px){.check{width:150px;padding:8px 10px}.check li{font-size:11px}.room span{display:none}.pill{height:46px;padding:3px 6px}.ib{width:34px;height:34px}.banner{top:calc(66px + env(safe-area-inset-top,0px));min-width:180px}.banner b{font-size:20px}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation-duration:.01ms!important}}.connection{z-index:4;bottom:calc(100px + env(safe-area-inset-bottom,0px));text-align:center;pointer-events:none;border-radius:20px;max-width:90%;padding:7px 12px;font-size:11px;position:fixed;left:50%;transform:translate(-50%)}.hint{bottom:calc(136px + env(safe-area-inset-bottom,0px))}.scope{border:1px solid var(--gold);color:var(--fg);border-radius:10px;margin:0 0 12px;padding:10px}.consent{align-items:flex-start;gap:8px;margin-top:10px;font-size:12px;line-height:1.7;display:flex}.consent input{min-width:20px;min-height:20px;margin-top:4px}.ema-manage{color:#5a3a1c;background:0 0;border:0;min-height:30px;font-size:12px;text-decoration:underline}.pagination{justify-content:center;margin-top:12px}.error-panel,.captcha-panel{z-index:100;background:var(--hall);border:1px solid var(--gold);border-radius:16px;width:min(420px,95%);padding:24px;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}.error-panel h1{font-size:20px}.error-panel button{background:var(--shu);border:0;border-radius:8px;padding:12px}a{color:var(--gold)}body.gaming .hud-top,body.gaming .check,body.gaming .acts,body.gaming #tags,body.gaming .hint,body.gaming .connection,body.gaming .banner{display:none!important}.game{z-index:6;pointer-events:none;position:fixed;inset:0}.game>button,.game>.game-result{pointer-events:auto}.game-top{top:calc(12px + env(safe-area-inset-top,0px));white-space:nowrap;border-radius:999px;align-items:baseline;gap:14px;padding:10px 18px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.game-top b{font-family:var(--f-display);letter-spacing:.08em;font-size:20px;font-weight:400}#gStat{font-variant-numeric:tabular-nums;color:var(--gold);font-size:14px;font-weight:700}.btn.game-exit{top:calc(70px + env(safe-area-inset-top,0px));left:max(12px,env(safe-area-inset-left,0px));background:#1a1420d1;padding:9px 16px;position:absolute}.game-help{bottom:calc(18px + env(safe-area-inset-bottom,0px));text-align:center;color:var(--fg);text-shadow:0 1px 6px #000000e6;margin:0;padding-inline:16px;font-size:13px;position:absolute;left:0;right:0}.game-result{text-align:center;background:#1a1420db;border-radius:18px;width:min(340px,100vw - 32px);padding:22px 24px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.game-result h2{font-family:var(--f-display);letter-spacing:.04em;margin:0 0 8px;font-size:24px;font-weight:400}.game-result p{margin:4px 0;font-size:14px}#gResS{color:var(--gold)}.game-row{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:16px;display:flex}.g-aim{border:2px solid var(--gold);pointer-events:none;border-radius:50%;width:36px;height:36px;margin:-18px 0 0 -18px;position:absolute;box-shadow:0 0 0 1px #0000008c,inset 0 0 0 1px #0000008c}.g-aim:after{content:"";background:var(--gold);border-radius:50%;width:4px;height:4px;margin:-2px 0 0 -2px;position:absolute;top:50%;left:50%}.g-grade{font-family:var(--f-display);color:var(--gold);text-shadow:0 0 18px #e3b8608c;margin:-4px 0 6px;font-size:56px;line-height:1;animation:.5s cubic-bezier(.2,1.6,.4,1) gstamp}.g-grade[data-g=S]{color:#ffd86a;text-shadow:0 0 24px #ffc850e6,0 0 4px #fff}.g-grade[data-g=C]{color:var(--muted);text-shadow:none}.game-result.record{border-color:var(--gold);box-shadow:0 0 0 2px #e3b86059,0 10px 40px #0006}.g-ranks{text-align:left;gap:10px;margin-top:12px;display:grid}.g-ranks h3{color:var(--muted);margin:0 0 4px;font-size:12px;font-weight:500}.g-ranks ol{font-variant-numeric:tabular-nums;margin:0;padding-left:22px;font-size:13px}.g-ranks li{padding:1px 0}.g-ranks li b{min-width:64px;font-weight:700;display:inline-block}.g-ranks li span{color:var(--muted)}.g-ranks li.me b,.g-ranks li.me span{color:var(--gold)}.g-pop{pointer-events:none;color:#fff;text-shadow:0 2px #0000008c,0 0 10px #00000073;white-space:nowrap;font-size:20px;font-weight:700;animation:1s ease-out forwards gpop;position:absolute;transform:translate(-50%,-50%)}.g-pop.gold{color:#ffd86a;font-size:26px}.g-pop.big{color:#ffd86a;font-size:34px;font-family:var(--f-display);font-weight:400}.g-pop.bad{color:#ff8a7a;font-size:17px}.g-pop.good{color:#9ae0ff}.g-banner{pointer-events:none;font-family:var(--f-display);color:#fff;text-shadow:0 4px #00000073,0 0 24px #e3b860b3;white-space:nowrap;font-size:64px;animation:1s ease-out forwards gbanner;position:absolute;top:42%;left:50%;transform:translate(-50%,-50%)}.g-banner.go{color:#ffd86a}.g-banner.over{color:#ffd86a;font-size:52px}@keyframes gpop{0%{opacity:0;transform:translate(-50%,-30%)scale(.6)}15%{opacity:1;transform:translate(-50%,-60%)scale(1.15)}30%{transform:translate(-50%,-70%)scale(1)}to{opacity:0;transform:translate(-50%,-150%)scale(1)}}@keyframes gbanner{0%{opacity:0;transform:translate(-50%,-50%)scale(1.8)}20%{opacity:1;transform:translate(-50%,-50%)scale(1)}80%{opacity:1}to{opacity:0;transform:translate(-50%,-50%)scale(.9)}}@keyframes gstamp{0%{opacity:0;transform:scale(2.4)rotate(-12deg)}to{opacity:1;transform:scale(1)rotate(0)}}@media (prefers-reduced-motion:reduce){.g-pop,.g-banner,.g-grade{animation:none}}.g-tip{left:50%;bottom:calc(52px + env(safe-area-inset-bottom,0px));pointer-events:none;background:#1a1420d1;border-radius:14px;width:min(380px,100vw - 32px);padding:12px 16px;position:absolute;transform:translate(-50%)}.g-tip p{margin:3px 0;font-size:13.5px;line-height:1.5}.g-tip .note{color:var(--gold);font-size:12.5px}
