:root{--bg:#14120ec7;--fg:#f4ede0;--accent:#e0a040;--line:#ffffff24;color:var(--fg);font:16px/1.4 system-ui,sans-serif}*{box-sizing:border-box}html,body,#root{touch-action:none;background:#0d0c0a;height:100%;margin:0;overflow:hidden}.world-canvas{width:100%;height:100%;display:block;position:fixed;inset:0}.ui{pointer-events:none;position:fixed;inset:0}.ui>*{pointer-events:auto}.panel{background:var(--bg);border:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:14px;padding:20px}.home{text-align:center;gap:16px;width:min(420px,92vw);display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.home h1{margin:0;font-size:2rem}.side{width:min(300px,80vw);max-height:calc(100% - 88px);position:absolute;top:72px;left:16px;overflow:auto}.side h2{margin:0 0 8px;font-size:1.1rem}.hud{pointer-events:none;align-items:center;gap:16px;display:flex;position:absolute;top:12px;left:16px;right:16px}.hud>*{pointer-events:auto;background:var(--bg);border-radius:10px;padding:8px 14px}.kp{color:var(--accent);font-weight:700}.col{gap:10px;display:grid}.row{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.notice{background:#5a3a1a;border-radius:8px;margin:0;padding:8px}button{font:inherit;color:var(--fg);border:1px solid var(--line);cursor:pointer;background:#ffffff14;border-radius:10px;min-height:44px;padding:10px 16px}button:hover:not(:disabled){background:#ffffff29}button:disabled{opacity:.5;cursor:default}button[aria-pressed=true]{border-color:var(--accent);color:var(--accent)}button.big{background:var(--accent);color:#1a1408;border:none;font-size:1.2rem}.topics{gap:6px;margin:0;padding:0;list-style:none;display:grid}.topics button{text-align:left;justify-content:space-between;align-items:center;width:100%;display:flex}.world-fade{background:radial-gradient(60% 50% at 50% 50%, color-mix(in srgb, var(--glow,#e3902f) 18%, var(--dark,#0d0c0a)), var(--dark,#0d0c0a) 75%);opacity:0;pointer-events:none;place-items:center;transition:opacity .3s;display:grid;position:fixed;inset:0}.world-fade.on{opacity:1;pointer-events:auto}.world-fade span{color:var(--acc2);opacity:0;font-size:clamp(1.8rem,4.4vw,3rem);line-height:1;transition:opacity .4s .12s,transform .6s .12s;transform:translateY(6px)}.world-fade.on span{opacity:.9;transform:none}.world-fade[data-era="2"] span,.world-fade[data-era="3"] span{color:var(--acc)}
