:root{--ink:#f4e4c1;--dim:#b09a72;--gold:#f0c040;--shadow:#140e0a;--panel:#2b211a;--edge:#6b5340;--mono:"Courier New", ui-monospace, Consolas, monospace}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{color:var(--ink);font-family:var(--mono);background:#120e0a radial-gradient(circle at 50% 0,#241a12 0%,#120e0a 72%);overflow:hidden}.app{flex-direction:column;align-items:center;height:100%;padding:10px 14px;display:flex}.topbar{text-align:center;flex:none}.topbar h1{letter-spacing:.16em;color:var(--gold);text-shadow:2px 2px 0 var(--shadow);font-size:clamp(14px,2vw,21px);font-weight:700}.topbar p{color:var(--dim);letter-spacing:.12em;margin-top:2px;font-size:clamp(9px,1.2vw,12px)}.phaser-host{flex:auto;justify-content:center;align-items:center;width:100%;min-height:0;margin:8px 0;display:flex}.phaser-host canvas{box-shadow:0 0 0 3px var(--edge), 0 0 0 6px var(--shadow), 0 16px 44px #000000b3;image-rendering:pixelated}.botbar{letter-spacing:.1em;color:var(--dim);text-transform:uppercase;flex-wrap:wrap;flex:none;justify-content:center;align-items:center;gap:22px;font-size:11.5px;display:flex}.botbar b{color:var(--gold)}.overlay{z-index:40;background:#080503ed;justify-content:center;align-items:center;padding:18px;animation:.16s fade;display:flex;position:fixed;inset:0}@keyframes fade{0%{opacity:0}to{opacity:1}}.frame{grid-template-columns:1.25fr 1fr;gap:14px;width:100%;max-width:1280px;max-height:92vh;display:grid}.frame .shot{object-fit:contain;width:100%;height:100%;min-height:0;image-rendering:pixelated;border:3px solid var(--edge);box-shadow:0 0 0 3px var(--shadow);background:#120e0a}@media (width<=900px){.frame{grid-template-rows:auto minmax(0,1fr);grid-template-columns:1fr;overflow-y:auto}.frame .shot{max-height:38vh}}.msn{color:#101418;background:#eef4fb;border:1px solid #4a7ab8;border-radius:6px;flex-direction:column;min-height:0;font-family:Tahoma,Verdana,Segoe UI,sans-serif;font-size:12.5px;display:flex;overflow:hidden;box-shadow:0 14px 40px #0009}.msn-title{color:#fff;text-shadow:0 1px 1px #00000073;background:linear-gradient(#4f9aec 0%,#2f76c8 48%,#1f5fae 100%);align-items:center;gap:7px;padding:5px 8px;font-size:12px;font-weight:700;display:flex}.msn-icon{align-items:flex-end;gap:2px;display:flex}.msn-icon i{background:#bfe0ff;border-radius:1px;width:4px;display:block}.msn-icon i:first-child{height:7px}.msn-icon i:nth-child(2){height:11px}.msn-icon i:nth-child(3){height:9px}.msn-name{white-space:nowrap;text-overflow:ellipsis;flex:1;overflow:hidden}.msn-btns{gap:3px;display:flex}.msn-btns b{color:#17324f;background:#d8e8fb;border:1px solid #7ba7d8;border-radius:2px;place-items:center;width:17px;height:15px;font-size:9px;display:grid}.msn-btns .x{color:#fff;cursor:pointer;background:#e8746a;border-color:#b8433a}.msn-btns .x:hover{background:#f0554a}.msn-menu{color:#23384f;background:#dfeaf6;border-bottom:1px solid #b9d0e8;padding:3px 9px;font-size:11px}.msn-log{background:#fff;flex:auto;min-height:120px;padding:10px 12px;line-height:1.45;overflow-y:auto}.msn-sys{color:#6d7b88;border-bottom:1px solid #e3e9ef;margin-bottom:8px;padding-bottom:8px;font-size:11.5px;font-style:italic}.msn-sys.hint{color:#8a6d1f;border:0;margin-top:10px;font-style:normal}.msn-sys code{background:#f2f4f7;border-radius:3px;padding:1px 4px;font-size:11px}.msn-msg{margin-bottom:7px}.says{font-size:12px;font-weight:700;display:block}.says.me{color:#1a56a8}.says.them{color:#b3560d}.msn-msg .body{color:#14181d;overflow-wrap:anywhere;padding-left:12px;display:block}.msn-compose{background:#eef4fb;border-top:1px solid #b9d0e8;gap:7px;padding:8px;display:flex}.msn-input{background:#fff;border:1px solid #9cbcdd;border-radius:3px;flex:1;height:40px}.msn-send{cursor:pointer;color:#17324f;background:linear-gradient(#f4f8fc,#d9e6f4);border:1px solid #7ba7d8;border-radius:3px;padding:0 16px;font-family:inherit;font-size:12px;font-weight:700}.msn-send:hover{background:linear-gradient(#fff,#e6f0fa)}.fight-btn{cursor:pointer;font-family:var(--mono);letter-spacing:.1em;background:var(--shadow);color:var(--gold);border:3px solid var(--edge);border-radius:3px;margin:0 8px 8px;padding:11px;font-size:14px;font-weight:700}.fight-btn:hover{background:var(--panel);border-color:var(--gold)}.msn-status{color:#5b6e80;background:#dfeaf6;border-top:1px solid #b9d0e8;justify-content:space-between;padding:4px 9px;font-size:10.5px;display:flex}.archive-btn{font-family:var(--mono);letter-spacing:.1em;cursor:pointer;background:var(--panel);color:var(--gold);border:2px solid var(--edge);text-transform:uppercase;padding:5px 12px;font-size:11px}.archive-btn:hover{border-color:var(--gold);background:var(--panel2,#3a2c22)}.archive-overlay{padding:26px}.archive{background:#eef4fb;border:1px solid #4a7ab8;border-radius:6px;flex-direction:column;width:100%;max-width:1180px;height:92vh;font-family:Tahoma,Verdana,Segoe UI,sans-serif;display:flex;overflow:hidden;box-shadow:0 18px 50px #000000b3}.archive-frame{background:#fff;border:0;flex:auto;width:100%;min-height:0}.msn-menu{justify-content:space-between;align-items:center;gap:10px;display:flex}.msn-history{cursor:pointer;color:#17324f;white-space:nowrap;background:linear-gradient(#f4f8fc,#d9e6f4);border:1px solid #7ba7d8;border-radius:3px;padding:2px 9px;font-family:inherit;font-size:11px}.msn-history:hover{background:linear-gradient(#fff,#e6f0fa);border-color:#4a7ab8}.msn-sys.also{border-top:1px solid #e3e9ef;border-bottom:0;margin-top:14px;padding-top:10px}.gate{z-index:200;background:#120e0a;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.gate-card{text-align:center;border:3px solid var(--edge);background:var(--panel);max-width:420px;box-shadow:0 0 0 3px var(--shadow);padding:28px 24px}.gate-card h2{letter-spacing:.16em;color:var(--gold);text-shadow:2px 2px 0 var(--shadow);margin-bottom:18px;font-size:16px}.gate-lead{color:var(--ink);margin-bottom:14px;font-size:15px}.gate-card p{color:var(--dim);margin-bottom:12px;font-size:13.5px;line-height:1.6}.gate-dim{color:#7d6f5c;font-size:12.5px}.gate-card button{font-family:var(--mono);letter-spacing:.1em;cursor:pointer;background:var(--shadow);color:var(--dim);border:2px solid var(--edge);text-transform:uppercase;margin-top:12px;padding:8px 14px;font-size:11px}.gate-card button:hover{color:var(--gold);border-color:var(--gold)}
