:root{--bg0: #0b0f14;--bg1: #121821;--bg2: #1a2330;--line: #2a3545;--text: #e8eef6;--muted: #8b9bb0;--accent: #3dd6c6;--accent2: #2bb8aa;--danger: #ff6b6b;--warn: #f0c14b;--ok: #5bd67a;--radius: 14px;--font: "Segoe UI", "Manrope", system-ui, sans-serif;--display: "Manrope", "Segoe UI", system-ui, sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;background:radial-gradient(1200px 600px at 10% -10%,#1a3a3a 0%,transparent 50%),radial-gradient(900px 500px at 100% 0%,#1a2840 0%,transparent 45%),var(--bg0);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent)}.app-shell{max-width:720px;margin:0 auto;padding:16px 16px 40px;min-height:100dvh}.topbar{display:flex;align-items:center;gap:12px;margin-bottom:20px}.topbar h1{font-family:var(--display);font-size:1.15rem;font-weight:700;letter-spacing:-.02em;margin:0;flex:1}.muted{color:var(--muted);font-size:.9rem}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line);background:var(--bg2);color:var(--text);border-radius:12px;padding:12px 16px;min-height:48px;cursor:pointer;transition:transform .12s ease,background .12s ease,border-color .12s ease;text-decoration:none;width:100%}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent2));border-color:transparent;color:#04201c;font-weight:700}.btn-accent{background:linear-gradient(135deg,#ffb347,#ff7a45);border-color:transparent;color:#2a1200;font-weight:700}.btn-ghost{background:transparent}.btn-danger{border-color:#5a2a2a;color:var(--danger)}.btn-sm{min-height:40px;padding:8px 12px;width:auto}.stack{display:flex;flex-direction:column;gap:12px}.menu-list{display:flex;flex-direction:column;gap:10px}.menu-list .btn{justify-content:flex-start;font-size:1.05rem;padding:16px 18px}.hero-center{min-height:calc(100dvh - 120px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;text-align:center}.hero-center .btn-primary{max-width:320px;font-size:1.15rem;padding:18px 24px;border-radius:16px;box-shadow:0 12px 40px #3dd6c640;animation:pulseIn .5s ease}@keyframes pulseIn{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}.field{display:flex;flex-direction:column;gap:6px}.field label{font-size:.85rem;color:var(--muted)}.field input,.field select,.field textarea{background:var(--bg1);border:1px solid var(--line);border-radius:12px;padding:12px 14px;min-height:48px;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent)}.field textarea{min-height:88px;resize:vertical}.panel{background:color-mix(in srgb,var(--bg1) 88%,transparent);border:1px solid var(--line);border-radius:var(--radius);padding:14px}.row{display:flex;gap:10px;align-items:center}.row>*{flex:1}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%);background:var(--bg2);border:1px solid var(--line);padding:12px 16px;border-radius:12px;z-index:50;max-width:90vw;animation:pulseIn .25s ease}.toast.err{border-color:#5a2a2a;color:#ffb4b4}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px;max-height:55vh}table.data{border-collapse:collapse;width:max-content;min-width:100%;font-size:.8rem}table.data th,table.data td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:8px 10px;white-space:nowrap;text-align:left}table.data th{position:sticky;top:0;background:var(--bg2);z-index:1}.fullscreen-table{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg0);z-index:40;display:flex;flex-direction:column;padding:12px}.fullscreen-table .table-wrap{flex:1;max-height:none}.close-x{width:44px;height:44px;border-radius:12px;border:1px solid var(--line);background:var(--bg2);cursor:pointer;font-size:1.4rem;line-height:1}.list-item{display:flex;flex-direction:column;gap:6px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--bg1);cursor:pointer}.list-item:hover{border-color:var(--accent)}.badge{display:inline-block;padding:2px 8px;border-radius:999px;background:var(--bg2);border:1px solid var(--line);font-size:.75rem;color:var(--muted)}.badge.boss{color:var(--accent);border-color:#2a5a55}.badge.off{color:var(--danger)}@media(min-width:768px){.app-shell{padding:28px 24px 48px}.menu-list{display:grid;grid-template-columns:1fr 1fr}}
