@import "https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800&family=DM+Mono:wght@400;500&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--clr-black:#0a0a0a;--clr-900:#1a1a1a;--clr-700:#333;--clr-500:#6b6b6b;--clr-300:#aaa;--clr-200:#d4d4d4;--clr-100:#efefef;--clr-white:#fff;--canvas:#f0f0f0;--glass-bg:#ffffffe0;--glass-border:#fff9;--glass-blur:blur(12px);--glass-bg-dim:#ffffff80;--border:#00000014;--border-hover:#0000002e;--border-focus:#00000059;--text:#0a0a0a;--text-2:#6b6b6b;--text-3:#aaa;--green:#22c55e;--yellow:#eab308;--orange:#f97316;--red:#ef4444;--purple:#a855f7;--cyan:#06b6d4;--teal:#14b8a6;--green-dim:#22c55e1a;--yellow-dim:#eab3081a;--orange-dim:#f973161a;--red-dim:#ef44441a;--purple-dim:#a855f71a;--cyan-dim:#06b6d41a;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px;--radius-sm:6px;--radius:10px;--radius-lg:14px;--radius-xl:20px;--radius-pill:999px;--shadow-xs:0 1px 2px #0000000f;--shadow-sm:0 2px 6px #00000012;--shadow-md:0 4px 12px #00000014;--shadow-lg:0 8px 24px #0000001a;--shadow-xl:0 16px 48px #0000001f;--sidebar-w:248px;--sidebar-bg:#0b0b0b;--font-sans:"Poppins", sans-serif;--font-mono:"DM Mono", monospace}html,body,#root{height:100%}body{font-family:var(--font-sans);background:var(--canvas);color:var(--text);-webkit-font-smoothing:antialiased;font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}input,textarea,select{font-family:inherit}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--clr-200);border-radius:2px}.t-display{letter-spacing:-.02em;font-size:44px;font-weight:800;line-height:1.1}.t-heading{letter-spacing:-.01em;font-size:28px;font-weight:700;line-height:1.2}.t-section{font-size:19px;font-weight:700;line-height:1.3}.t-label{letter-spacing:.05em;text-transform:uppercase;font-size:11px;font-weight:600}.t-body{font-size:14px;font-weight:400;line-height:1.6}.t-meta{color:var(--text-2);font-size:12px;font-weight:400}.t-mono{font-family:var(--font-mono);font-size:11px;line-height:1.4}.glass{background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:var(--glass-blur);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.btn{align-items:center;gap:var(--sp-2);border-radius:var(--radius);white-space:nowrap;border:none;padding:8px 16px;font-size:14px;font-weight:500;transition:opacity .15s,box-shadow .15s;display:inline-flex}.btn:hover{opacity:.85}.btn:active{opacity:.7}.btn-primary{background:var(--clr-black);color:var(--clr-white)}.btn-secondary{background:var(--glass-bg);color:var(--clr-black);border:1px solid var(--border);box-shadow:var(--shadow-xs)}.btn-secondary:hover{border-color:var(--border-hover)}.btn-pill{border-radius:var(--radius-pill)}.btn-sm{padding:5px 12px;font-size:12px}.btn-lg{padding:12px 24px;font-size:15px}.badge{border-radius:var(--radius-pill);border-left:2px solid #0000;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:500;display:inline-flex}.badge-green{background:var(--green-dim);color:var(--green);border-left-color:var(--green)}.badge-yellow{background:var(--yellow-dim);color:var(--yellow);border-left-color:var(--yellow)}.badge-orange{background:var(--orange-dim);color:var(--orange);border-left-color:var(--orange)}.badge-red{background:var(--red-dim);color:var(--red);border-left-color:var(--red)}.badge-purple{background:var(--purple-dim);color:var(--purple);border-left-color:var(--purple)}.badge-grey{color:var(--text-2);border-left-color:var(--clr-300);background:#0000000d}.input{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);background:#fffffff5;outline:none;padding:10px 14px;font-size:13px;transition:border-color .15s,box-shadow .15s}.input::placeholder{color:var(--text-3)}.input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px #0000000f}textarea.input{resize:vertical;min-height:100px;line-height:1.6}.divider{border:none;border-top:1px solid var(--border);margin:var(--sp-6) 0}
