*,*:before,*:after{box-sizing:border-box}:root{--bg: #06060e;--panel: #0c0c16;--fg: #f2efe6;--cream: #fff8e7;--dim: #6e7a94;--accent: #ffc94a;--ki: #5ad4ff;--danger: #ff5c5c;--combat-hot: #ffd166;--ok: #6dff9a;--ooc: #7ec8c8;--say: #fff8e7;--shout: #ff9a3c;--border: #1e2a40;--chip: #141428;--tap: 40px;font-family:IBM Plex Mono,SF Mono,Cascadia Code,Consolas,ui-monospace,monospace}html,body{margin:0;height:100%;background:var(--bg);color:var(--fg);overflow:hidden;-webkit-font-smoothing:antialiased}#app{display:grid;grid-template-rows:auto 1fr auto auto auto;height:100dvh;height:100vh;max-width:920px;margin:0 auto;background:radial-gradient(ellipse at top,#12122a 0%,transparent 55%),linear-gradient(180deg,#0a0a14,#06060e);border-left:1px solid var(--border);border-right:1px solid var(--border)}#statusbar{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1.4fr) minmax(0,1fr);gap:.45rem .75rem;align-items:center;padding:.4rem .7rem;border-bottom:1px solid var(--border);background:#090912f0;font-size:.72rem;min-height:48px}#stat-identity{display:flex;flex-direction:column;gap:.1rem;min-width:0}#stat-name{color:var(--accent);font-weight:700;letter-spacing:.03em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem}#stat-pl{font-size:.68rem}.muted{color:var(--dim)}#stat-bars{display:flex;flex-direction:column;gap:.22rem;min-width:0}.bar-row{display:grid;grid-template-columns:22px 1fr auto;gap:.3rem;align-items:center}.bar-label{color:var(--dim);font-size:.62rem;font-weight:700}.bar{height:7px;border-radius:999px;background:#1a1a2c;border:1px solid #2a2a40;overflow:hidden}.bar i{display:block;height:100%;width:0%;border-radius:inherit;transition:width .25s ease}.bar.hp i{background:linear-gradient(90deg,#c62828,#ff6b6b)}.bar.ki i{background:linear-gradient(90deg,#0277bd,#5ad4ff)}.bar-num{color:var(--dim);font-size:.6rem;min-width:3.6rem;text-align:right;font-variant-numeric:tabular-nums}#stat-meta{display:flex;flex-direction:column;align-items:flex-end;gap:.1rem;min-width:0;text-align:right}#stat-room{color:var(--cream);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:.72rem}#stat-online{font-size:.62rem}#terminal{overflow-y:auto;padding:.7rem .85rem .55rem;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;font-size:clamp(14px,2.7vw,15.5px);line-height:1.55;white-space:pre-wrap;word-break:break-word;min-height:0;scrollbar-width:thin;scrollbar-color:#2a3550 transparent}#terminal .line{margin:0 0 .28rem}#terminal .sys{color:var(--dim)}#terminal .room{color:var(--accent);font-weight:700;letter-spacing:.02em;margin-top:.35rem}#terminal .desc{color:#c5d0e6}#terminal .say{color:var(--say)}#terminal .shout{color:var(--shout);font-weight:700}#terminal .tell{color:#c9a0ff}#terminal .ooc{color:var(--ooc);font-style:italic}#terminal .combat{color:var(--danger)}#terminal .combat-hot{color:var(--combat-hot);font-weight:600}#terminal .ki{color:var(--ki)}#terminal .ok{color:var(--ok)}#terminal .err{color:var(--danger)}#terminal .who{color:#8ec5ff}#terminal .cmd{color:var(--dim);opacity:.85}#terminal .guide{color:#b8a0ff}#terminal .entity{color:inherit;text-decoration:underline;text-decoration-color:#3a5080;text-underline-offset:2px;cursor:pointer;font-weight:600}#terminal .entity:hover{color:var(--accent);text-decoration-color:var(--accent)}#exits{display:flex;flex-wrap:wrap;gap:.35rem;padding:.3rem .55rem .15rem;background:#080810;border-top:1px solid var(--border);min-height:0}#exits:empty{display:none}.exit-chip{height:34px;min-width:44px;padding:0 .7rem;border-radius:999px;border:1px solid #2e3d5c;background:var(--chip);color:var(--cream);font-weight:700;font-size:.78rem;letter-spacing:.04em;cursor:pointer;touch-action:manipulation}.exit-chip:hover{border-color:var(--ki);color:var(--ki)}.exit-chip:active{background:#1e1e38}#quick{display:grid;grid-template-columns:repeat(4,1fr);gap:.3rem;padding:.3rem .5rem .35rem;background:#080810}.qbtn{height:36px;border-radius:9px;border:1px solid var(--border);background:#121224;color:var(--ki);font-weight:700;font-size:.7rem;letter-spacing:.04em;cursor:pointer;touch-action:manipulation;padding:0 .2rem}.qbtn:hover{border-color:#3a5a88}.qbtn:active{background:#1c1c34}.qbtn.combat-mode{color:var(--combat-hot);border-color:#5a4030}#input-bar{display:flex;gap:.4rem;align-items:center;padding:.4rem .55rem calc(.45rem + env(safe-area-inset-bottom,0px));border-top:1px solid var(--border);background:#090912f5}#prompt{color:var(--accent);font-weight:700;flex-shrink:0}#cmd{flex:1;min-width:0;height:var(--tap);border:1px solid var(--border);border-radius:10px;background:#10101c;color:var(--fg);padding:0 .7rem;font:inherit;font-size:16px}#cmd::placeholder{color:#5a6785;opacity:1}#cmd:focus{outline:2px solid #3a5cff66;border-color:#4a6cff}#send{height:var(--tap);min-width:52px;padding:0 .75rem;border:none;border-radius:10px;background:var(--accent);color:#1a1200;font-weight:800;font-size:.85rem;cursor:pointer;flex-shrink:0;touch-action:manipulation}@media(max-width:560px){#statusbar{grid-template-columns:1fr 1fr;grid-template-rows:auto auto}#stat-meta{grid-column:1 / -1;flex-direction:row;justify-content:space-between;align-items:baseline}#stat-room{text-align:left}}@media(min-width:700px){#exits,#quick{max-width:520px;margin:0 auto;width:100%}}@supports (height: 100dvh){#app{height:100dvh}}
