*{scrollbar-width:none;-ms-overflow-style:none}::-webkit-scrollbar{display:none}:root{--bg:#0a0a14;--bg2:#1c1e34fa;--bg3:#1c1e34ed;--bg4:#ffffff24;--border:#ffffff21;--nav-bg:#0b0b16f0;--accent:#818cf8;--accent2:#67e8f9;--accent-glow:#818cf840;--gradient-primary:linear-gradient(135deg, #818cf8, #22d3ee);--text:#eef0ff;--text2:#eef0ff8c;--text-faint:#eef0ff73;--danger:#ff4d6a;--success:#22c55e;--warn:#f59e0b;--shadow-card:0 8px 30px #00000059;--shadow-btn:0 10px 28px -8px #22d3ee80;--mesh:radial-gradient(120% 80% at 15% 0%, #818cf859, transparent 55%), radial-gradient(100% 70% at 95% 20%, #22d3ee47, transparent 50%), radial-gradient(90% 60% at 50% 100%, #a855f738, transparent 55%), var(--bg);--radius:24px;--radius-sm:14px;--btn-primary-text:#0a0a14}[data-theme=light]{--bg:#f4f5fb;--bg2:#fff;--bg3:#eef0f8;--bg4:#e2e4f0;--border:#6366f11a;--nav-bg:#f4f5fbf0;--accent:#6366f1;--accent2:#0891b2;--accent-glow:#6366f11f;--gradient-primary:linear-gradient(135deg, #6366f1, #06b6d4);--text:#1a1c2e;--text2:#6b6f86;--text-faint:#8b8fa6;--danger:#e11d48;--success:#16a34a;--warn:#d97706;--shadow-card:0 8px 24px -16px #6366f180;--shadow-btn:0 10px 28px -8px #06b6d480;--btn-primary-text:#fff;--mesh:radial-gradient(120% 80% at 15% 0%, #818cf838, transparent 55%), radial-gradient(100% 70% at 95% 20%, #22d3ee33, transparent 50%), radial-gradient(90% 60% at 50% 100%, #a855f724, transparent 55%), var(--bg)}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--mesh);color:var(--text);-webkit-tap-highlight-color:transparent;min-height:100dvh;font-family:Sora,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;transition:background .25s,color .25s}button{cursor:pointer;color:inherit;border:none;font-family:inherit}input,select,textarea{background:var(--bg3);border:1px solid var(--bg4);color:var(--text);border-radius:var(--radius-sm);outline:none;width:100%;padding:12px 16px;font-family:inherit;font-size:16px;transition:border-color .2s,box-shadow .2s}input:focus,select:focus,textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}input::placeholder{color:var(--text2)}input.set-input{text-align:center;padding:8px 4px}input.set-input::placeholder{text-align:center}.btn{border-radius:var(--radius-sm);letter-spacing:.01em;justify-content:center;align-items:center;gap:6px;padding:14px 24px;font-size:15px;font-weight:700;transition:opacity .15s,transform .1s;display:inline-flex}.btn:active{opacity:.85;transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.btn-primary{background:var(--gradient-primary);color:var(--btn-primary-text);box-shadow:var(--shadow-btn);font-weight:800}.btn-secondary{background:var(--bg3);color:var(--text);border:1px solid var(--bg4)}.btn-danger{background:var(--danger);color:#fff}.btn-ghost{color:var(--text2);background:0 0}.btn-full{width:100%}.card{background:var(--bg2);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(20px);padding:18px}.stat-card{background:var(--bg2);border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(20px);flex-direction:column;gap:10px;padding:16px;display:flex}.stat-icon{border-radius:10px;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.stat-icon svg{width:20px;height:20px}.stat-value{font-size:22px;font-weight:800;line-height:1}.stat-label{color:var(--text2);text-transform:uppercase;letter-spacing:.06em;font-size:11px;font-weight:500}.label{color:var(--text2);margin-bottom:6px;font-size:13px;font-weight:500;display:block}.form-group{flex-direction:column;gap:6px;display:flex}.page{max-width:480px;margin:0 auto;padding:20px 16px 110px}.page-title{margin-bottom:20px;font-size:24px;font-weight:800}.nav{background:var(--nav-bg);width:100%;max-width:480px;padding:6px 8px max(14px, env(safe-area-inset-bottom));border-top:1px solid var(--border);z-index:100;-webkit-backdrop-filter:blur(20px);justify-content:space-around;align-items:flex-end;display:flex;position:fixed;bottom:0;left:50%;overflow:visible;transform:translate(-50%)}body.is-swiping .card,body.is-swiping .stat-card,body.is-swiping .nav,body.is-swiping .segmented,[data-theme=light] .card,[data-theme=light] .stat-card,[data-theme=light] .sheet{-webkit-backdrop-filter:none}.nav-item{color:var(--text2);letter-spacing:.03em;text-transform:uppercase;background:0 0;border-radius:12px;flex-direction:column;align-items:center;gap:4px;padding:6px 14px;font-size:10px;font-weight:600;transition:color .15s,background .15s;display:flex}.nav-item.active{color:var(--accent2);background:var(--accent-glow)}.nav-item svg{width:22px;height:22px}.chip{background:var(--bg3);color:var(--text2);border-radius:999px;padding:4px 12px;font-size:12px;font-weight:600;display:inline-block}.chip-accent{background:var(--accent-glow);color:var(--accent2)}.auth-root{max-width:480px;min-height:100dvh;padding:max(40px, env(safe-area-inset-top)) 20px max(24px, env(safe-area-inset-bottom));flex-direction:column;justify-content:space-between;gap:32px;margin:0 auto;display:flex}.auth-header{text-align:center;flex-direction:column;align-items:center;gap:14px;padding-top:24px;display:flex}.auth-logo{background:var(--gradient-primary);width:64px;height:64px;box-shadow:var(--shadow-btn);border-radius:20px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.auth-wordmark{letter-spacing:-.02em;font-size:40px;font-weight:800}.auth-tagline{color:var(--text2);font-size:14px;font-weight:600}.auth-card{border-radius:26px;padding:28px 24px}.gradient-number{color:var(--text)}:root:not([data-theme=light]) .gradient-number{background:var(--gradient-primary);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.field-show-toggle{color:var(--accent2);background:0 0;border:none;padding:4px 6px;font-size:12px;font-weight:700;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.error-msg{color:var(--danger);font-size:14px}.text-muted{color:var(--text2);font-size:14px}.divider{background:var(--bg4);height:1px;margin:12px 0}.stack{flex-direction:column;gap:12px;display:flex}.row{align-items:center;gap:8px;display:flex}.row-between{justify-content:space-between;align-items:center;display:flex}.segmented{background:var(--nav-bg);-webkit-backdrop-filter:blur(20px);border-radius:999px;gap:4px;padding:4px;display:flex}.segmented-item{text-align:center;color:var(--text2);white-space:nowrap;background:0 0;border-radius:999px;flex:1;padding:9px 14px;font-size:13px;font-weight:700;transition:background .2s,color .2s}.segmented-item.active{background:var(--gradient-primary);color:var(--btn-primary-text)}.toggle-track{background:var(--bg3);border:1px solid var(--border);border-radius:999px;flex-shrink:0;width:44px;height:26px;transition:background .2s;position:relative}.toggle-track.on{background:var(--gradient-primary);border-color:#0000}.toggle-knob{background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .2s cubic-bezier(.34,1.56,.64,1);position:absolute;top:2px;left:2px;box-shadow:0 1px 4px #0000004d}.toggle-track.on .toggle-knob{transform:translate(18px)}.sheet-backdrop{z-index:200;opacity:0;pointer-events:none;background:#0a0a1480;transition:opacity .28s;position:fixed;inset:0}.sheet-backdrop.open{opacity:1;pointer-events:auto}.sheet{z-index:201;background:var(--bg2);border:1px solid var(--border);width:100%;max-width:480px;padding:16px 0 max(26px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(24px);border-bottom:none;border-radius:26px 26px 0 0;transition:transform .34s cubic-bezier(.22,1,.36,1);position:fixed;bottom:0;left:50%;transform:translate(-50%)translateY(110%);box-shadow:0 -20px 60px -20px #0006}.sheet.open{transform:translate(-50%)translateY(0)}.sheet-handle{background:var(--bg4);border-radius:999px;width:40px;height:4px;margin:0 auto 16px}.ruler-readout-row{text-align:center;margin:-2px 0 4px}.ruler-readout{letter-spacing:-.03em;font-size:52px;font-weight:800;line-height:1.1;animation:.11s ease-out rulerPulse;display:inline-block}@media (prefers-reduced-motion:reduce){.ruler-readout{animation:none}}@keyframes rulerPulse{0%{transform:scale(1.16)}to{transform:scale(1)}}.ruler-unit{color:var(--text2);font-size:17px;font-weight:600}.ruler-viewport{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none;height:66px;position:relative;overflow:hidden;-webkit-mask:linear-gradient(90deg,#0000,#000 16% 84%,#0000);mask:linear-gradient(90deg,#0000,#000 16% 84%,#0000)}.ruler-viewport:active{cursor:grabbing}.ruler-strip{will-change:transform;height:100%;position:absolute;top:8px;left:0}.ruler-tick{background:color-mix(in srgb, var(--text) 18%, transparent);border-radius:2px;width:2px;height:16px;transition:height .1s,background .1s,box-shadow .1s;position:absolute;bottom:14px;transform:translate(-50%)}.ruler-tick.major{background:color-mix(in srgb, var(--text) 38%, transparent);height:30px}.ruler-tick.active{background:var(--accent2);height:38px;box-shadow:0 0 10px color-mix(in srgb, var(--accent2) 70%, transparent)}.ruler-tick-label{color:color-mix(in srgb, var(--text) 36%, transparent);white-space:nowrap;font:600 10px Sora,sans-serif;position:absolute;bottom:-4px;transform:translate(-50%)}.ruler-caret{background:var(--accent2);width:3px;height:40px;box-shadow:0 0 14px 1px color-mix(in srgb, var(--accent2) 70%, transparent);border-radius:3px;position:absolute;top:4px;left:50%;transform:translate(-50%)}.ruler-caret-point{border-left:7px solid #0000;border-right:7px solid #0000;border-top:9px solid var(--accent2);width:0;height:0;position:absolute;top:-2px;left:50%;transform:translate(-50%)}.cell{background:var(--bg3);height:52px;color:var(--text);cursor:pointer;border:1px solid #0000;border-radius:12px;justify-content:center;align-items:center;font-size:18px;font-weight:800;transition:border-color .15s,box-shadow .15s;display:flex}.cell.cell-empty{color:var(--text-faint);border-color:var(--border);font-weight:600}.cell.cell-active{border-color:var(--accent2);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent2) 18%, transparent)}.cell-check{background:var(--bg3);height:52px;color:var(--text-faint);border-radius:12px;justify-content:center;align-items:center;font-size:16px;font-weight:800;display:flex}.cell-check.done{background:color-mix(in srgb, var(--accent2) 16%, transparent);color:var(--accent2)}.mode-toggle-pill{background:var(--bg3);border:1px solid var(--border);color:var(--accent2);border-radius:999px;align-items:center;gap:6px;padding:7px 13px;font-size:12px;font-weight:700;display:inline-flex}.keypad-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.keypad-key{border-radius:var(--radius-sm);background:var(--bg3);border:1px solid var(--border);height:54px;color:var(--text);-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;font-size:22px;font-weight:700;transition:transform 80ms,background .1s;display:flex}.keypad-key:active{background:var(--accent-glow);transform:scale(.94)}.keypad-key:disabled{opacity:.35;cursor:not-allowed}.keypad-key.keypad-del{color:var(--accent2)}@keyframes yellowPulse{0%,to{box-shadow:0 4px 20px color-mix(in srgb, var(--warn) 50%, transparent);transform:scale(1)}50%{box-shadow:0 4px 28px color-mix(in srgb, var(--warn) 80%, transparent);transform:scale(1.08)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes incompleteGlow{0%,to{box-shadow:0 0 #0000}50%{box-shadow:0 0 10px 3px color-mix(in srgb, var(--warn) 25%, transparent)}}
