*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--font:-apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono:"Courier New", monospace;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px;--transition:.15s ease;--sidebar-w:220px}[data-theme=dark]{--bg:#080a12;--surface:#10121e;--surface-2:#181b2c;--surface-3:#1e2236;--border:#ffffff14;--border-focus:#06b6d480;--text:#eef0fa;--text-2:#8890b8;--text-3:#454870;--primary:#06b6d4;--primary-dim:#06b6d41f;--primary-glow:#06b6d44d;--gold:#f5cc45;--gold-dim:#f5cc4526;--green:#34d399;--green-dim:#34d39926;--red:#f87171;--red-dim:#f871711f;--blue:#60a5fa;--purple:#a78bfa;--shadow:0 8px 40px #0009;--shadow-sm:0 2px 12px #0006;--glow-primary:0 0 24px #06b6d433}[data-theme=light]{--bg:#f0f2fa;--surface:#fff;--surface-2:#e8ecf6;--surface-3:#dde2f0;--border:#00000012;--border-focus:#06b6d466;--text:#0f1228;--text-2:#404870;--text-3:#8890b0;--primary:#0891b2;--primary-dim:#0891b21a;--primary-glow:#0891b240;--gold:#b45309;--gold-dim:#b453091a;--green:#059669;--green-dim:#0596691a;--red:#dc2626;--red-dim:#dc262614;--blue:#2563eb;--purple:#7c3aed;--shadow:0 8px 32px #00000014;--shadow-sm:0 2px 10px #0000000f;--glow-primary:0 0 20px #0891b226}body{font-family:var(--font);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;min-height:100vh;transition:background var(--transition), color var(--transition)}input,button,textarea,select{font-family:var(--font)}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none}input[type=number]{-moz-appearance:textfield}input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.5);cursor:pointer}button{cursor:pointer}::-webkit-scrollbar{width:4px;height:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--text-3)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes slideRight{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.94)}to{opacity:1;transform:scale(1)}}@keyframes scaleInCenter{0%{opacity:0;transform:translate(-50%,-50%)scale(.94)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes shimmer{0%{background-position:-200%}to{background-position:200%}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes successPop{0%{transform:scale(1)}40%{transform:scale(1.12)}70%{transform:scale(.97)}to{transform:scale(1)}}@keyframes bounceDot{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-6px)}}.page-enter{animation:.28s cubic-bezier(.22,1,.36,1) both slideUp}.fade-in{animation:.2s both fadeIn}.app-root{background:var(--bg);min-height:100vh}.app-container{max-width:clamp(720px,88vw,1400px);min-height:100vh;margin:0 auto;position:relative}@media (width>=768px){.app-container{align-items:flex-start;display:flex}.app-main{flex:1;min-width:0;padding-bottom:48px}}@media (width<=767px){.app-main{padding-bottom:72px}}.app-sidebar{display:none}@media (width>=768px){.app-root{background:linear-gradient(var(--border), var(--border)) var(--sidebar-right,220px) 0 / 1px 100% no-repeat, linear-gradient(to right, var(--surface) var(--sidebar-right,220px), var(--bg) var(--sidebar-right,220px));transition:background var(--transition)}.app-sidebar{z-index:1;position:sticky;top:0}.app-main{z-index:1;position:relative}.app-sidebar{width:var(--sidebar-w);background:var(--surface);flex-direction:column;flex-shrink:0;gap:4px;min-height:100vh;padding:20px 12px;display:flex;position:sticky;top:0}}.sidebar-logo{border-bottom:1px solid var(--border);align-items:center;gap:10px;margin-bottom:4px;padding:6px 10px 18px;display:flex}.sidebar-logo-icon{font-size:24px}.sidebar-logo-text{color:var(--text);letter-spacing:-.4px;font-size:15px;font-weight:800}.sidebar-nav{flex-direction:column;flex:1;gap:2px;padding-top:8px;display:flex}.sidebar-nav-item{border-radius:var(--radius-md);color:var(--text-2);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;width:100%;padding:10px 12px;font-size:14px;font-weight:600;transition:background .15s,color .15s,transform .15s;display:flex}.sidebar-nav-item:hover{background:var(--surface-2);color:var(--text);transform:translate(2px)}.sidebar-nav-item.active{background:var(--primary-dim);color:var(--primary)}.sidebar-nav-item.active:hover{background:var(--primary-dim);transform:translate(2px)}.sidebar-nav-icon{flex-shrink:0;justify-content:center;align-items:center;width:22px;font-size:16px;display:flex}.sidebar-footer{border-top:1px solid var(--border);flex-direction:column;gap:4px;margin-top:auto;padding-top:8px;display:flex}.sidebar-meta{color:var(--text-3);letter-spacing:0;padding:4px 10px;font-size:9px}.bottom-nav{display:none}@media (width<=767px){.bottom-nav{background:var(--surface);border-top:1px solid var(--border);z-index:50;height:64px;padding-bottom:env(safe-area-inset-bottom,0);display:flex;position:fixed;bottom:0;left:0;right:0}}.bottom-nav-item{color:var(--text-3);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:8px 0;transition:color .15s,transform .15s;display:flex}.bottom-nav-item.active{color:var(--primary)}.bottom-nav-item:active{transform:scale(.93)}.bottom-nav-icon{font-size:18px;transition:transform .2s cubic-bezier(.34,1.56,.64,1)}.bottom-nav-item.active .bottom-nav-icon{transform:translateY(-2px)scale(1.1)}.bottom-nav-label{letter-spacing:.3px;font-size:10px;font-weight:600}.mobile-header{background:var(--surface);border-bottom:1px solid var(--border);z-index:40;justify-content:space-between;align-items:center;padding:12px 16px;display:flex;position:sticky;top:0}@media (width>=768px){.mobile-header{display:none}}.mobile-header-logo{color:var(--text);letter-spacing:-.3px;font-size:15px;font-weight:800}.btn{cursor:pointer;-webkit-tap-highlight-color:transparent;border:none;outline:none;justify-content:center;align-items:center;gap:6px;transition:transform .15s,box-shadow .15s,background .15s,color .15s,border-color .15s,filter .15s;display:inline-flex}.btn:active{transform:scale(.96)!important}.btn:focus-visible{box-shadow:0 0 0 3px var(--primary-dim)}.btn-primary{background:var(--primary);color:#fff;border-radius:var(--radius-md);letter-spacing:.2px;font-weight:700}.btn-primary:hover:not(:disabled){filter:brightness(1.1);box-shadow:0 4px 20px var(--primary-glow);transform:translateY(-1px)}.btn-primary:disabled{opacity:.45;cursor:not-allowed;transform:none!important}.btn-primary.success{background:var(--green);animation:.35s both successPop}.btn-ghost{background:var(--surface-2);color:var(--text-2);border:1px solid var(--border);border-radius:var(--radius-md)}.btn-ghost:hover{background:var(--surface-3);color:var(--text);border-color:var(--border-focus);transform:translateY(-1px)}.btn-icon{border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);width:36px;height:36px;color:var(--text-2);flex-shrink:0;font-size:16px}.btn-icon:hover{background:var(--surface-3);color:var(--text);border-color:var(--border-focus);transform:translateY(-1px)}.btn-dashed{border:1.5px dashed var(--border);border-radius:var(--radius-sm);color:var(--text-3);background:0 0;font-weight:600}.btn-dashed:hover{border-color:var(--primary);color:var(--primary);background:var(--primary-dim);transform:translateY(-1px)}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);transition:transform .2s,box-shadow .2s,border-color .2s}@media (width>=768px){.card:hover{box-shadow:var(--shadow-sm);border-color:var(--border-focus);transform:translateY(-2px)}}.card-interactive{cursor:pointer}@media (width>=768px){.card-interactive:hover{border-color:var(--border-focus)}}.stat-chip{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;flex-shrink:0;align-items:center;min-width:76px;padding:8px 14px;transition:transform .2s,box-shadow .2s;display:inline-flex}.stat-chip:hover{box-shadow:var(--shadow-sm);transform:translateY(-2px)}.toggle-group{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-md);gap:4px;padding:3px;display:flex}.toggle-btn{border-radius:calc(var(--radius-md) - 3px);color:var(--text-3);background:0 0;border:none;flex:1;padding:6px 8px;font-size:12px;font-weight:700;transition:background .15s,color .15s,transform .1s}.toggle-btn:hover{color:var(--text-2)}.toggle-btn.active{background:var(--surface);color:var(--primary);box-shadow:var(--shadow-sm)}.input{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);outline:none;padding:11px 14px;font-size:14px;transition:border-color .15s,box-shadow .15s}.input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--primary-dim)}.input::placeholder{color:var(--text-3)}.score-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;justify-content:center;align-items:center;height:84px;padding:6px 4px 4px;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex;position:relative}.score-card:focus-within{border-color:var(--border-focus);box-shadow:0 0 0 3px var(--primary-dim);transform:translateY(-1px)}.score-card.valid{border-color:#06b6d44d}.history-item{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);transition:border-color .15s,box-shadow .15s;overflow:hidden}.history-item:hover{border-color:var(--border-focus);box-shadow:var(--shadow-sm)}.history-item-row{cursor:pointer;-webkit-tap-highlight-color:transparent;align-items:center;gap:10px;padding:12px 14px;display:flex}.history-item-detail{background:var(--surface-2);border-top:1px solid var(--border);padding:12px 14px;animation:.2s both slideUp}.loading-spinner{border:2px solid var(--border);border-top-color:var(--primary);border-radius:50%;width:20px;height:20px;animation:.7s linear infinite spin}.loading-dots span{background:currentColor;border-radius:50%;width:4px;height:4px;margin:0 2px;animation:1.2s infinite bounceDot;display:inline-block}.loading-dots span:nth-child(2){animation-delay:.2s}.loading-dots span:nth-child(3){animation-delay:.4s}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:72px 24px;animation:.3s both fadeIn;display:flex}.empty-state-icon{margin-bottom:16px;font-size:52px;animation:.4s cubic-bezier(.34,1.56,.64,1) both scaleIn}.empty-state-text{color:var(--text-2);font-size:14px}.sheet-overlay{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c;animation:.2s both fadeIn;position:fixed;inset:0}.sheet-content{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl) var(--radius-xl) 0 0;width:100%;max-height:75vh;padding:20px 18px 32px;animation:.25s cubic-bezier(.22,1,.36,1) both slideUp;overflow-y:auto}.sheet-content:focus-visible{outline:2px solid var(--border-focus);outline-offset:-2px}@media (width>=768px){.sheet-content{border-radius:var(--radius-xl);max-width:480px;margin:auto;animation:.22s cubic-bezier(.22,1,.36,1) both scaleInCenter;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%)}}._rail_uf811_3{z-index:2147483000;pointer-events:none;flex-direction:column;align-items:flex-start;display:flex;position:fixed;top:50%;left:0;transform:translateY(-50%)}._rail_uf811_3>*{pointer-events:auto}._pill_uf811_37{cursor:pointer;color:#fff;opacity:.6;outline-offset:2px;background:#1e1e28d9;border:none;border-radius:0 50% 50% 0;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;transition:opacity .2s,transform .2s;display:flex}._pill_uf811_37:hover,._rail_uf811_3:hover ._pill_uf811_37,._railOpen_uf811_73 ._pill_uf811_37{opacity:1;transform:scale(1.05)}._pill_uf811_37:focus-visible{outline:2px solid #6366f1}._panel_uf811_93{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;visibility:hidden;pointer-events:none;background:#14141eeb;border-radius:.75rem;flex-direction:column;gap:.5rem;min-width:7rem;padding:.75rem .5rem;transition:opacity .2s,transform .2s,visibility .2s;display:flex;position:absolute;top:50%;left:2.75rem;transform:translateY(-50%)translate(-.5rem)}._rail_uf811_3:hover ._panel_uf811_93,._railOpen_uf811_73 ._panel_uf811_93{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(-50%)translate(0)}._appLink_uf811_151{color:#fffc;border-radius:.5rem;align-items:center;gap:.5rem;min-height:2.75rem;padding:.375rem .5rem;font-family:system-ui,sans-serif;font-size:.8125rem;text-decoration:none;transition:background .15s,color .15s;display:flex}._appLink_uf811_151:hover{color:#fff;background:#ffffff1a}._appLink_uf811_151:focus-visible{outline:2px solid var(--app-color,#6366f1);outline-offset:2px}._appDot_uf811_201{color:#fff;background:#ffffff26;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;font-size:.625rem;font-weight:700;display:inline-flex}._active_uf811_231 ._appDot_uf811_201{box-shadow:0 0 0 2px var(--app-color,#6366f1)}._active_uf811_231{color:#fff}._appLabel_uf811_249{white-space:nowrap;font-size:.8125rem}._collapseBtn_uf811_261{color:#fff6;cursor:pointer;background:0 0;border:none;border-top:1px solid #ffffff1a;border-radius:0 0 .5rem .5rem;justify-content:center;align-items:center;width:100%;min-height:2.75rem;margin-top:.25rem;padding-top:.25rem;font-size:1.25rem;transition:color .15s;display:flex}._collapseBtn_uf811_261:hover{color:#fffc}._collapseBtn_uf811_261:focus-visible{outline-offset:2px;outline:2px solid #6366f1}@media (width<=48rem){._panel_uf811_93{top:auto;bottom:5rem;left:0;transform:translateY(0)translate(-.5rem)}._rail_uf811_3:hover ._panel_uf811_93{opacity:0;visibility:hidden;pointer-events:none}._railOpen_uf811_73 ._panel_uf811_93{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)translate(0)}}
