:root{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--bg-app:#f1f5f9;--bg-surface:#fff;--bg-surface-elevated:#fff;--bg-surface-alt:#f8fafc;--border-color:#e2e8f0;--border-subtle:#cbd5e1;--text-primary:#0f172a;--text-secondary:#334155;--text-muted:#64748b;--text-light:#94a3b8;--primary-navy:#1e3a8a;--primary-blue:#2563eb;--primary-hover:#1d4ed8;--primary-focus:#2563eb59;--accent-amber:#d97706;--accent-amber-bg:#fef3c7;--accent-amber-border:#fcd34d;--accent-red:#dc2626;--accent-red-bg:#fee2e2;--accent-red-border:#fca5a5;--accent-green:#15803d;--accent-green-bg:#dcfce7;--accent-green-border:#86efac;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-md:0 4px 6px -1px #00000012, 0 2px 4px -2px #0000000d;--shadow-lg:0 10px 15px -3px #00000014, 0 4px 6px -4px #0000000a;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-full:9999px;--header-height:4.25rem;--footer-height:4.5rem}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body{background-color:var(--bg-app);width:100%;height:100dvh;max-height:100dvh;color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.45;overflow:hidden}.app-shell{flex-direction:column;width:100vw;height:100dvh;max-height:100dvh;display:flex;overflow:hidden}.main-content{flex-direction:column;flex:1;justify-content:center;align-items:center;min-height:0;padding:1.25rem 2rem;display:flex;overflow:hidden}.btn{font-family:var(--font-sans);border-radius:var(--radius-md);cursor:pointer;user-select:none;border:1px solid #0000;justify-content:center;align-items:center;gap:.5rem;padding:.65rem 1.5rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .15s ease-in-out;display:inline-flex}.btn:focus-visible{outline:2px solid var(--primary-blue);outline-offset:2px}.btn-primary{background-color:var(--primary-navy);color:#fff;box-shadow:var(--shadow-sm)}.btn-primary:hover:not(:disabled){background-color:var(--primary-hover);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary{background-color:var(--bg-surface);color:var(--text-secondary);border-color:var(--border-color);box-shadow:var(--shadow-sm)}.btn-secondary:hover:not(:disabled){background-color:var(--bg-surface-alt);color:var(--text-primary);border-color:var(--border-subtle)}.btn-warning{background-color:var(--accent-amber-bg);color:#92400e;border-color:var(--accent-amber-border)}.btn-warning:hover:not(:disabled){background-color:#fde68a}.btn-danger{background-color:var(--accent-red-bg);color:#991b1b;border-color:var(--accent-red-border)}.btn-danger:hover:not(:disabled){background-color:#fecaca}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed;pointer-events:none;box-shadow:none;transform:none}.btn-lg{border-radius:var(--radius-md);letter-spacing:.015em;padding:.85rem 2.25rem;font-size:1.05rem}.badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:.35rem;padding:.25rem .65rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-blue{color:#1e40af;background-color:#eff6ff;border:1px solid #bfdbfe}.badge-emerald{background-color:var(--accent-green-bg);color:var(--accent-green);border:1px solid var(--accent-green-border)}.badge-amber{background-color:var(--accent-amber-bg);color:#b45309;border:1px solid var(--accent-amber-border)}.badge-red{background-color:var(--accent-red-bg);color:var(--accent-red);border:1px solid var(--accent-red-border)}.paused-indicator{background-color:var(--accent-amber-bg);color:#92400e;border:1px solid var(--accent-amber-border);border-radius:var(--radius-full);letter-spacing:.05em;align-items:center;gap:.5rem;padding:.35rem .85rem;font-size:.85rem;font-weight:700;animation:1.5s infinite pulse-slow;display:inline-flex}@keyframes pulse-slow{0%,to{opacity:1}50%{opacity:.75}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
