@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-semi-condensed-vietnamese-600-normal-b1FQiZcx.woff2)format("woff2"),url(/assets/barlow-semi-condensed-vietnamese-600-normal-DzVrjA0Q.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-semi-condensed-latin-ext-600-normal-BkQ9hN72.woff2)format("woff2"),url(/assets/barlow-semi-condensed-latin-ext-600-normal-BuP8AaxH.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-semi-condensed-latin-600-normal-BkLiAYu4.woff2)format("woff2"),url(/assets/barlow-semi-condensed-latin-600-normal-DyOfdMBA.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-semi-condensed-vietnamese-700-normal-Dm7RZTvf.woff2)format("woff2"),url(/assets/barlow-semi-condensed-vietnamese-700-normal-BvUTSFNY.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-semi-condensed-latin-ext-700-normal-BhgEo64M.woff2)format("woff2"),url(/assets/barlow-semi-condensed-latin-ext-700-normal-C0vCoZIV.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Semi Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-semi-condensed-latin-700-normal-BpqDG8I9.woff2)format("woff2"),url(/assets/barlow-semi-condensed-latin-700-normal-BMyZXq_9.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-V-xxqcpd.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-9HEixskS.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-600-normal-fLZuRloM.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-vietnamese-600-normal-D2EvbN8M.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-600-normal-iLQfcSjf.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#0c0e11;--surface:#14171c;--surface-2:#1b1f26;--surface-3:#242931;--border:#262c35;--border-strong:#343c47;--text:#e8eaed;--text-dim:#c3cad2;--muted:#818d9a;--accent:#f08a3c;--accent-strong:#ff974a;--accent-dim:#f08a3c24;--on-accent:#1a0e04;--data:#9fb6c9;--danger:#e5685f;--warn:#e0b34c;--ok:#6fbf8f;--radius:10px;--radius-sm:8px;--safe-bottom:env(safe-area-inset-bottom,0px);--safe-top:env(safe-area-inset-top,0px);--font-display:"Barlow Semi Condensed", -apple-system, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{background-color:var(--bg);height:100%;color:var(--text);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Segoe UI,Roboto,Arial,sans-serif;font-size:15px}body{overscroll-behavior-y:none}a{color:var(--accent);cursor:pointer;font-weight:550;text-decoration:none}h1,h2,h3{font-family:var(--font-display);letter-spacing:.01em}.mono,.bignum,.result-grid .box .v{font-family:var(--font-mono);font-variant-numeric:tabular-nums}button{font:inherit;cursor:pointer;border-radius:var(--radius-sm);background:var(--accent);color:var(--on-accent);border:1px solid #0000;padding:12px 18px;font-weight:700;transition:transform 80ms,filter .15s,opacity .15s}button:active{filter:brightness(.92);transform:scale(.98)}button:disabled{opacity:.45}button.ghost{background:var(--surface-3);color:var(--text)}button.outline{border-color:var(--border-strong);color:var(--text-dim);background:0 0}button.danger{color:var(--danger);background:0 0;border-color:#e5685f73}button.sm{padding:8px 13px;font-size:13px}button.block{width:100%}input,select,textarea{font:inherit;background:var(--surface-2);border:1px solid var(--border);width:100%;color:var(--text);border-radius:var(--radius-sm);padding:12px 13px;transition:border-color .15s}input[type=number]{font-family:var(--font-mono)}input:focus,select:focus,textarea:focus{border-color:var(--accent);outline:none}label{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.09em;color:var(--muted);margin:0 0 6px;font-size:10.5px;font-weight:600;display:block}.field{margin-bottom:16px}.row{gap:10px;display:flex}.row>*{flex:1}.app{max-width:560px;min-height:100dvh;padding-bottom:calc(86px + var(--safe-bottom));margin:0 auto}.topbar{z-index:5;-webkit-backdrop-filter:blur(10px);padding:calc(16px + var(--safe-top)) 18px 12px;border-bottom:1px solid var(--border);background:#0c0e11ed;justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.topbar h1{text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:24px;font-weight:700}.topbar .sub{color:var(--muted);font-size:12.5px;font-family:var(--font-mono);margin-top:1px}.content{padding:16px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:12px;padding:15px}.card h3{margin:0 0 3px;font-size:17px;font-weight:600}.card .meta{color:var(--muted);font-size:13px}.eyebrow{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--muted);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:11px;padding-bottom:7px;font-size:10px;font-weight:600;display:flex}.hero-card{border-color:var(--border-strong)}.pill{font-family:var(--font-mono);background:var(--surface-3);color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;border-radius:4px;padding:3px 9px;font-size:10.5px;font-weight:600;display:inline-block}.pill.on{background:var(--accent-dim);color:var(--accent-strong)}.pill.cat{color:var(--data);background:#9fb6c91f}.pill.warn{color:var(--warn);background:#e0b34c21}.pill.bad{color:var(--danger);background:#e5685f21}.bignum{letter-spacing:-.01em;font-size:30px;font-weight:600}.muted{color:var(--muted)}.center{text-align:center}.spread{justify-content:space-between;align-items:center;gap:10px;display:flex}.stack{flex-direction:column;gap:10px;display:flex}.grow{flex:1}.tiny{font-size:12px}.mt{margin-top:14px}.mb{margin-bottom:14px}.section-title{justify-content:space-between;align-items:baseline;margin:20px 2px 9px;display:flex}.section-title h3{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin:0;font-size:11px;font-weight:600}.due{border-bottom:1px solid var(--border);align-items:center;gap:13px;padding:12px 0;display:flex}.due:last-child{border-bottom:none;padding-bottom:2px}.due:first-child{padding-top:2px}.due .check{border:2px solid var(--border-strong);width:34px;height:34px;color:var(--accent);background:0 0;border-radius:50%;flex:none;place-items:center;padding:0;font-size:16px;display:grid}.due .check.done{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.levelbar{background:var(--surface-2);border:1px solid var(--border);border-radius:3px;height:6px;overflow:hidden}.levelbar>span{background:var(--accent);height:100%;display:block}.ticker{width:100%}.ticker .track{border-bottom:1.5px solid var(--border-strong);height:18px;position:relative}.ticker .tk{background:var(--border-strong);width:1.5px;height:7px;position:absolute;bottom:0}.ticker .tk.major{height:12px}.ticker .tk.filled{background:var(--accent)}.ticker .fill{background:var(--accent);height:1.5px;position:absolute;bottom:-1.5px;left:0}.ticker .needle{background:var(--accent-strong);width:2px;height:18px;position:absolute;bottom:0}.tabbar{-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--border);padding:9px 8px calc(9px + var(--safe-bottom));z-index:10;background:#0c0e11f2;display:flex;position:fixed;bottom:0;left:0;right:0}.tabbar a{text-align:center;color:var(--muted);font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.06em;flex-direction:column;flex:1;align-items:center;gap:4px;padding:3px 0;font-size:10px;font-weight:600;transition:color .15s;display:flex}.tabbar a svg{display:block}.tabbar a.active{color:var(--accent-strong)}.sheet-backdrop{z-index:20;background:#040507b3;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{background:var(--surface);border-top:1px solid var(--border-strong);width:100%;max-width:560px;max-height:92dvh;padding:12px 16px calc(24px + var(--safe-bottom));border-radius:14px 14px 0 0;animation:.2s cubic-bezier(.2,.9,.3,1) slideup;overflow-y:auto}.sheet:before{content:"";background:var(--surface-3);border-radius:2px;width:38px;height:4px;margin:0 auto 12px;display:block}@keyframes slideup{0%{opacity:.5;transform:translateY(36px)}to{opacity:1;transform:none}}.sheet h2{text-transform:uppercase;letter-spacing:.03em;margin:0 0 14px;font-size:20px;font-weight:700}.seg{background:var(--surface-2);border-radius:var(--radius-sm);border:1px solid var(--border);gap:3px;padding:3px;display:flex}.seg button{color:var(--muted);font-family:var(--font-mono);background:0 0;border-radius:6px;flex:1;padding:8px 4px;font-size:12px;font-weight:600}.seg button.active{background:var(--accent);color:var(--on-accent)}.daypick{gap:5px;display:flex}.daypick button{background:var(--surface-2);color:var(--muted);border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-mono);flex:1;padding:9px 0;font-size:11px;font-weight:600}.daypick button.on{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.empty{text-align:center;color:var(--muted);padding:40px 20px}.empty .ic{font-size:38px}.result-grid{grid-template-columns:1fr 1fr;gap:9px;display:grid}.result-grid .box{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-sm);text-align:center;padding:13px 8px}.result-grid .box .v{color:var(--accent-strong);font-size:21px;font-weight:600}.result-grid .box .k{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin-top:4px;font-size:10px}.disclaimer{color:var(--muted);opacity:.8;padding:14px 6px;font-size:11px;line-height:1.55}.toast{bottom:calc(94px + var(--safe-bottom));background:var(--surface-3);border:1px solid var(--border-strong);color:var(--text);border-radius:var(--radius-sm);z-index:30;white-space:nowrap;padding:10px 17px;font-size:13px;font-weight:600;animation:.18s toastin;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 10px 28px #00000080}@keyframes toastin{0%{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%)}}.spinner{border:3px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;width:26px;height:26px;margin:46px auto;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.auth-hero{text-align:center;padding:calc(38px + var(--safe-top)) 0 24px}.auth-hero .logo{width:64px;height:64px;margin:0 auto 14px}.auth-hero h1{text-transform:uppercase;letter-spacing:.12em;margin:0 0 4px;font-size:36px;font-weight:700}.auth-hero .tag{color:var(--muted);font-size:13px;font-family:var(--font-mono)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
