@import "https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,300;0,400;0,500;0,700;1,400&family=Roboto+Mono:wght@400;500&family=Roboto+Flex:opsz,wght@8..144,400;8..144,500;8..144,600;8..144,700&display=swap";:root,[data-theme=light]{--bg:#fff;--bg-soft:#f6f9fe;--bg-softer:#eaf1fb;--ink:#1b1c1e;--ink-2:#43474e;--muted:#5f6368;--muted-2:#858a90;--line:#e6e9ef;--line-2:#d9dde4;--line-strong:#c2c7cf;--accent:var(--md-primary,#1a73e8);--on-accent:#fff;--accent-soft:color-mix(in srgb, var(--accent) 13%, var(--bg));--accent-ink:color-mix(in srgb, var(--accent) 70%, var(--ink));--primary:var(--accent);--primary-container:#d3e3fd;--on-primary-container:#041e49;--secondary:#00696e;--secondary-container:#cdf0f1;--on-secondary-container:#002022;--tertiary:#8b418f;--tertiary-container:#ffd6fa;--on-tertiary-container:#36003a;--red:#d93025;--red-soft:#fce8e6;--green:#1e8e3e;--green-soft:#e6f4ea;--amber:#e8710a;--amber-soft:#feefe3;--g-blue:#4285f4;--g-red:#ea4335;--g-yellow:#fbbc04;--g-green:#34a853;--c-blue-bg:#e8f0fe;--c-blue-fg:#174ea6;--c-green-bg:#e6f4ea;--c-green-fg:#188038;--c-yellow-bg:#fef7e0;--c-yellow-fg:#a56e00;--c-red-bg:#fce8e6;--c-red-fg:#c5221f;--c-purple-bg:#f3e8fd;--c-purple-fg:#8430ce;--c-teal-bg:#d7f5ef;--c-teal-fg:#00796b;--c-pink-bg:#fde7f3;--c-pink-fg:#b80672;--c-orange-bg:#feeae0;--c-orange-fg:#c2410c;--radius-sm:8px;--radius:14px;--radius-lg:22px;--radius-xl:28px;--radius-full:999px;--shadow-sm:0 1px 2px #3c40431a, 0 1px 3px 1px #3c40430d;--shadow-md:0 1px 2px #3c40431f, 0 2px 8px 2px #3c404317;--shadow-lg:0 6px 12px 4px #3c40431f, 0 4px 6px #3c40431a;--shadow-xl:0 12px 28px 6px #3c404329, 0 6px 10px #3c40431a;--ring:0 0 0 4px color-mix(in srgb, var(--accent) 26%, transparent);--glass-bg:#ffffffb8;--glass-border:#fff9;--glass-blur:saturate(180%) blur(18px);--grad-brand:linear-gradient(120deg, #4285f4 0%, #7c4dff 42%, #e040fb 72%, #ff7a59 100%);--grad-google:linear-gradient(90deg, #4285f4 0%, #34a853 33%, #fbbc04 66%, #ea4335 100%);--grad-accent:linear-gradient(135deg, #1a73e8 0%, #6c4cf1 100%);--ease-emph:cubic-bezier(.2,0,0,1);--ease-standard:cubic-bezier(.2,0,0,1)}[data-theme=dark]{--bg:#131314;--bg-soft:#1e1f20;--bg-softer:#2a2b2d;--ink:#e3e3e6;--ink-2:#c7c9cd;--muted:#9aa0a6;--muted-2:#80868b;--line:#303134;--line-2:#3c4043;--line-strong:#5f6368;--accent:var(--md-primary-dark,#a8c7fa);--on-accent:#062e6f;--accent-soft:color-mix(in srgb, var(--accent) 22%, var(--bg));--accent-ink:color-mix(in srgb, var(--accent) 78%, var(--ink));--primary:var(--accent);--primary-container:#0842a0;--on-primary-container:#d3e3fd;--secondary:#4fd8df;--secondary-container:#004f54;--on-secondary-container:#9ff4f7;--tertiary:#f9aef9;--tertiary-container:#6f2974;--on-tertiary-container:#ffd6fa;--red:#f2b8b5;--red-soft:#3b2220;--green:#6dd58c;--green-soft:#1d3326;--amber:#fdb976;--amber-soft:#3a2a1a;--g-blue:#8ab4f8;--g-red:#f28b82;--g-yellow:#fdd663;--g-green:#81c995;--c-blue-bg:#1f3a5f;--c-blue-fg:#aecbfa;--c-green-bg:#1d3326;--c-green-fg:#81c995;--c-yellow-bg:#3a3018;--c-yellow-fg:#fdd663;--c-red-bg:#3b2220;--c-red-fg:#f28b82;--c-purple-bg:#321a45;--c-purple-fg:#e0b3ff;--c-teal-bg:#0e3b38;--c-teal-fg:#79e0d4;--c-pink-bg:#3d1430;--c-pink-fg:#ffabe0;--c-orange-bg:#3a2417;--c-orange-fg:#fdb976;--shadow-sm:0 1px 2px #00000080, 0 1px 3px 1px #0000004d;--shadow-md:0 1px 3px #00000080, 0 4px 10px 2px #0006;--shadow-lg:0 8px 16px 4px #00000080, 0 4px 6px #0006;--shadow-xl:0 16px 32px 8px #0009, 0 8px 12px #00000080;--ring:0 0 0 4px #a8c7fa47;--glass-bg:#1e1f20b8;--glass-border:#ffffff14;--grad-brand:linear-gradient(120deg, #8ab4f8 0%, #b39dff 42%, #f48fb1 72%, #ffab91 100%)}*{box-sizing:border-box}html,body,#root{min-height:100vh;margin:0;padding:0}body{color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;transition:background-color .25s var(--ease-standard), color .25s var(--ease-standard);font-family:Google Sans Text,Roboto Flex,Roboto,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif}button{font-family:inherit}a{color:inherit}.serif{letter-spacing:-.02em;font-family:Roboto Flex,Google Sans,Roboto,sans-serif;font-style:normal;font-weight:600}.mono{font-family:Roboto Mono,ui-monospace,monospace}.btn{isolation:isolate;border-radius:var(--radius-full);background:var(--accent);color:var(--on-accent);letter-spacing:.01em;cursor:pointer;transition:box-shadow .2s var(--ease-standard), transform 80ms var(--ease-standard), filter .15s, background .15s;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:9px 18px;font-size:13px;font-weight:500;display:inline-flex;position:relative;overflow:hidden}.btn:hover:not(:disabled){box-shadow:var(--shadow-md)}.btn:active:not(:disabled){transform:scale(.97)}.btn:focus-visible{box-shadow:var(--ring);outline:none}.btn:disabled{opacity:.45;cursor:not-allowed}.btn:before{content:"";opacity:0;transition:opacity .15s var(--ease-standard);pointer-events:none;z-index:-1;background:currentColor;position:absolute;inset:0}.btn:hover:not(:disabled):before{opacity:.08}.btn.ghost{background:var(--bg);color:var(--ink);border-color:var(--line-2)}.btn.ghost:hover:not(:disabled){background:var(--bg-soft);border-color:var(--line-strong);box-shadow:none}.btn.ghost:before{background:var(--ink)}.btn.accent{background:var(--grad-accent);color:#fff;border:none}.btn.accent:hover:not(:disabled){box-shadow:0 6px 18px -4px #1a73e88c}.btn.brand{background:var(--grad-brand);color:#fff;border:none}.btn.tonal{background:var(--accent-soft);color:var(--accent-ink);border:none}.btn.danger{background:var(--red);border-color:var(--red);color:#fff}.btn.success{background:var(--green);border-color:var(--green);color:#fff}[data-theme=dark] .btn.danger,[data-theme=dark] .btn.success{color:#11130f}.btn.lg{padding:13px 26px;font-size:14px}.btn.sm{padding:6px 14px;font-size:12px}.btn.xs{padding:4px 10px;font-size:11px}.btn:after{content:"";left:var(--rx,50%);top:var(--ry,50%);pointer-events:none;opacity:0;z-index:0;background:#fff6;border-radius:50%;width:0;height:0;position:absolute;transform:translate(-50%,-50%)}.btn.ghost:after{background:#78787847}.btn.btn--rippling:after{opacity:1;width:300px;height:300px;transition:width .55s var(--ease-emph), height .55s var(--ease-emph), opacity .8s;opacity:0}.input{border:1px solid var(--line-2);background:var(--bg);width:100%;color:var(--ink);border-radius:12px;outline:none;padding:11px 14px;font-family:inherit;font-size:14px;transition:border-color .15s,box-shadow .15s}.input::placeholder{color:var(--muted-2)}.input:focus{border-color:var(--accent);box-shadow:var(--ring)}.input.error{border-color:var(--red);box-shadow:0 0 0 4px #d930252e}select.input{cursor:pointer}.label-mono{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-family:Roboto Mono,monospace;font-size:11px;font-weight:500}.chip{border-radius:var(--radius-full);background:var(--bg-softer);color:var(--muted);text-transform:uppercase;letter-spacing:.03em;border:1px solid #0000;align-items:center;gap:6px;padding:5px 11px;font-family:Roboto Mono,monospace;font-size:11px;font-weight:500;display:inline-flex}.chip.live{color:var(--c-green-fg);background:var(--c-green-bg)}.chip.live:before{content:"";background:var(--g-green);width:6px;height:6px;box-shadow:0 0 0 0 var(--g-green);border-radius:50%;flex-shrink:0;animation:1.6s ease-in-out infinite pulse-dot}.chip.warn{color:var(--c-yellow-fg);background:var(--c-yellow-bg)}.chip.purple{color:var(--c-purple-fg);background:var(--c-purple-bg)}.chip.red{color:var(--c-red-fg);background:var(--c-red-bg)}.chip.success{color:var(--c-green-fg);background:var(--c-green-bg)}.chip.blue{color:var(--c-blue-fg);background:var(--c-blue-bg)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes pulse-dot{0%{box-shadow:0 0 #34a85380}70%{box-shadow:0 0 0 6px #34a85300}to{box-shadow:0 0 #34a85300}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-in{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:none}}@keyframes toast-in{0%{opacity:0;transform:translateY(16px)scale(.98)}to{opacity:1;transform:none}}@keyframes toast-out{to{opacity:0;transform:translate(20px)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes page-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float-up{0%{transform:translateY(0)}50%{transform:translateY(-8px)}to{transform:translateY(0)}}@keyframes gradient-shift{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}@keyframes confetti-fall{0%{opacity:1;transform:translateY(-10vh)rotate(0)}to{opacity:0;transform:translateY(110vh)rotate(720deg)}}.page-anim{animation:page-in .4s var(--ease-emph)}.float-anim{animation:4s ease-in-out infinite float-up}.spinner{border:2px solid var(--line-2);border-top-color:var(--accent);border-radius:50%;width:14px;height:14px;animation:.7s linear infinite spin;display:inline-block}.shimmer{background:linear-gradient(90deg, var(--bg-softer) 0%, var(--bg) 50%, var(--bg-softer) 100%);background-size:200% 100%;animation:1.4s linear infinite shimmer}.kbd{border:1px solid var(--line-strong);background:var(--bg);color:var(--muted);border-bottom-width:2px;border-radius:6px;justify-content:center;align-items:center;padding:1px 7px;font-family:Roboto Mono,monospace;font-size:11px;display:inline-flex}.page{min-height:100vh}.card{background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:20px}[data-theme=dark] .card{background:var(--bg-soft)}.glass{background:var(--glass-bg);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md)}.glass-hover{transition:transform .22s var(--ease-emph), box-shadow .22s var(--ease-emph), border-color .22s var(--ease-emph)}.glass-hover:hover{box-shadow:var(--shadow-lg);border-color:var(--accent);transform:translateY(-3px)}.halo{position:relative}.halo:before{content:"";z-index:-1;background:var(--grad-brand);filter:blur(32px);opacity:.28;border-radius:inherit;pointer-events:none;background-size:200% 200%;animation:8s infinite gradient-shift;position:absolute;inset:-2px}.google-bar{background:var(--grad-google);border-radius:var(--radius-full);width:100%;height:4px}.text-display{letter-spacing:-.03em;font-family:Roboto Flex,Roboto,sans-serif;font-size:68px;font-weight:700;line-height:1.02}.text-display-lg{letter-spacing:-.035em;font-family:Roboto Flex,Roboto,sans-serif;font-size:100px;font-weight:700;line-height:.98}.brand-gradient{background:var(--grad-brand);color:#0000;background-size:200% 200%;-webkit-background-clip:text;background-clip:text;animation:8s infinite gradient-shift}.muted-link{color:var(--muted);cursor:pointer;text-decoration:none;transition:color .12s}.muted-link:hover{color:var(--ink)}.menu-item{cursor:pointer;color:var(--ink-2);text-align:left;width:100%;transition:background .12s var(--ease-standard), color .12s;background:0 0;border:none;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-family:inherit;font-size:13px;display:flex}.menu-item:hover{background:var(--accent-soft);color:var(--accent-ink)}.menu-item.danger{color:var(--red)}.menu-item.danger:hover{background:var(--red-soft);color:var(--red)}.nav-rail-item{border-radius:var(--radius-full);color:var(--ink-2);cursor:pointer;text-align:left;width:100%;transition:background .14s var(--ease-standard), color .14s;background:0 0;border:none;align-items:center;gap:12px;padding:9px 14px;font-family:inherit;font-size:13px;font-weight:500;display:flex}.nav-rail-item:hover{background:var(--bg-softer)}::selection{background:var(--accent-soft);color:var(--accent-ink)}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--line-strong);border:3px solid var(--bg);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--muted-2)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}@media (width<=900px){.hide-md{display:none!important}.text-display{font-size:44px}.text-display-lg{font-size:60px}}@media (width<=640px){.hide-sm{display:none!important}}
