:root{--bg: #101113;--panel: #1a1c1f;--panel-2: #202226;--border: #2c2f34;--text: #f0f1f3;--text-dim: #9297a0;--text-faint: #5b5f66;--accent: #5b8def;--accent-text: #0b0d10;--good: #3ecf8e;--warn: #e8a33d;--bad: #e5484d}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font-family:IBM Plex Sans,system-ui,sans-serif;-webkit-font-smoothing:antialiased}#root{min-height:100vh}a{color:var(--accent);text-decoration:none}a:hover{color:#83a9f4;text-decoration:underline}input,button,select{font-family:inherit}input:focus{outline:none;border-color:var(--accent)}button{font-family:inherit}.mono{font-family:IBM Plex Mono,monospace}@keyframes skel{0%,to{opacity:.55}50%{opacity:1}}.sk{animation:skel 1.4s ease-in-out infinite;background:var(--panel-2);border-radius:6px}.app-shell{min-height:100vh;display:flex}.sidebar{width:240px;flex:0 0 240px;border-right:1px solid var(--border);background:#141619;display:flex;flex-direction:column;padding:20px 14px 16px;position:sticky;top:0;align-self:flex-start;height:100vh;overflow-y:auto}.sidebar-close,.mobile-topbar,.sidebar-backdrop{display:none}.main-content{flex:1;min-width:0;padding:26px 30px 60px}.hamburger-btn{width:34px;height:34px;border-radius:8px;border:1px solid var(--border);background:var(--panel);color:var(--text);font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0}@media(max-width:768px){.app-shell{flex-direction:column}.mobile-topbar{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--bg);z-index:30}.sidebar{position:fixed;top:0;left:0;bottom:0;height:100vh;width:82vw;max-width:300px;z-index:50;transform:translate(-100%);transition:transform .2s ease;box-shadow:2px 0 28px #00000073}.sidebar.open{transform:translate(0)}.sidebar-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;margin-left:auto;border-radius:7px;border:1px solid var(--border);background:transparent;color:var(--text-dim);font-size:15px;cursor:pointer}.sidebar-backdrop.open{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#06070999;z-index:40}.main-content{padding:18px 16px 40px}}
