@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(./barlow-condensed-latin-500-normal-BgYH2mbd.woff2) format("woff2"),url(./barlow-condensed-latin-500-normal-HIEiP5Ov.woff) format("woff")}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(./barlow-condensed-latin-600-normal-DepVgxBB.woff2) format("woff2"),url(./barlow-condensed-latin-600-normal-BFJEwTuo.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(./ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2) format("woff2"),url(./ibm-plex-mono-latin-400-normal-CvHOgSBP.woff) format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(./ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2) format("woff2"),url(./ibm-plex-mono-latin-500-normal-CB9ihrfo.woff) format("woff")}:root{--paper: #f4f5f7;--surface: #ffffff;--surface-2: #eceef1;--ink: #1d2126;--ink-2: #4f5761;--ink-3: #69717b;--line: #dcdfe4;--line-strong: #c3c8cf;--accent: #c22f3b;--accent-ink: #ffffff;--accent-soft: #f8e3e5;--ok: #1d7543;--ok-soft: #e0f1e6;--warn: #8f5b00;--warn-soft: #f9eed8;--heat-0: #e8ebef;--heat-1: #c3cad3;--heat-2: #8e98a5;--heat-3: #56606d;--heat-4: #242a32;--s1: #2a78d6;--s2: #eb6834;--s3: #1baf7a;--s4: #eda100;--s5: #e87ba4;--shadow: 0 1px 2px rgb(29 33 38 / .06), 0 6px 20px rgb(29 33 38 / .05);--focus-ring: 0 0 0 3px rgb(194 47 59 / .35);--font-body: "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", "Noto Sans CJK SC", "Source Han Sans SC", system-ui, sans-serif;--font-display: "Barlow Condensed", "Bahnschrift", "DIN Alternate", "Arial Narrow", var(--font-body);--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Consolas, monospace;--fs-xs: .75rem;--fs-sm: .8125rem;--fs-md: .9375rem;--fs-lg: 1.125rem;--fs-xl: 1.375rem;--fs-2xl: 1.75rem;--radius: 10px;--radius-sm: 6px;--nav-w: 200px;--tabbar-h: 60px}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--paper: #151c19;--surface: #1d2622;--surface-2: #26302b;--ink: #e5eae6;--ink-2: #b1bbb5;--ink-3: #909c95;--line: #313d37;--line-strong: #44524b;--accent: #f07c86;--accent-ink: #1a1012;--accent-soft: #3a292c;--ok: #6fcf97;--ok-soft: #1d3629;--warn: #e8b45a;--warn-soft: #382f20;--heat-0: #26302b;--heat-1: #3c4d45;--heat-2: #5e776b;--heat-3: #93ab9e;--heat-4: #d5e3db;--s1: #3987e5;--s2: #d95926;--s3: #199e70;--s4: #c98500;--s5: #d55181;--shadow: 0 1px 0 rgb(0 0 0 / .25);--focus-ring: 0 0 0 3px rgb(240 124 134 / .4);color-scheme:dark}}:root[data-theme=dark]{--paper: #151c19;--surface: #1d2622;--surface-2: #26302b;--ink: #e5eae6;--ink-2: #b1bbb5;--ink-3: #909c95;--line: #313d37;--line-strong: #44524b;--accent: #f07c86;--accent-ink: #1a1012;--accent-soft: #3a292c;--ok: #6fcf97;--ok-soft: #1d3629;--warn: #e8b45a;--warn-soft: #382f20;--heat-0: #26302b;--heat-1: #3c4d45;--heat-2: #5e776b;--heat-3: #93ab9e;--heat-4: #d5e3db;--s1: #3987e5;--s2: #d95926;--s3: #199e70;--s4: #c98500;--s5: #d55181;--shadow: 0 1px 0 rgb(0 0 0 / .25);--focus-ring: 0 0 0 3px rgb(240 124 134 / .4);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html,body{margin:0}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:var(--fs-md);line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3{margin:0;line-height:1.3;text-wrap:balance;font-weight:600}h1{font-size:var(--fs-2xl)}h2{font-size:var(--fs-lg)}h3{font-size:var(--fs-md)}p{margin:0}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}[hidden]{display:none!important}.num{font-variant-numeric:tabular-nums}.mono{font-family:var(--font-mono)}.muted{color:var(--ink-3)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.page{display:grid;gap:20px;max-width:1080px;margin:0 auto;padding-block:28px 40px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}.page-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:8px 16px}.page-head p{color:var(--ink-2);font-size:var(--fs-sm)}.eyebrow{font-size:var(--fs-xs);letter-spacing:.08em;color:var(--ink-3)}.grid{display:grid;gap:16px}.grid-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}.grid-4{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr))}@media(max-width:640px){.grid-4{gap:10px}.grid-4>.card{padding:14px}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;min-width:0;display:grid;gap:12px;align-content:start}.card-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.card-head a,.link{font-size:var(--fs-sm);color:var(--ink-2);text-decoration:none}.card-head a:hover,.link:hover{color:var(--accent)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:38px;padding:0 14px;border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font-size:var(--fs-sm);font-weight:500;cursor:pointer;white-space:nowrap;text-decoration:none;transition:background .15s,border-color .15s,color .15s}.btn:hover{background:var(--surface-2)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.btn-primary:hover{background:var(--accent);filter:brightness(1.06)}.btn-ghost{border-color:transparent;background:transparent;color:var(--ink-2)}.btn-ghost:hover{background:var(--surface-2);color:var(--ink)}.btn-danger{color:var(--accent);border-color:var(--accent);background:transparent}.btn-danger:hover{background:var(--accent-soft)}.btn-lg{min-height:46px;padding:0 22px;font-size:var(--fs-md)}.btn-icon{width:34px;min-height:34px;padding:0}.input,.select,.textarea{width:100%;min-height:38px;padding:7px 10px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font-size:var(--fs-md)}.textarea{resize:vertical;min-height:64px}.input:focus,.select:focus,.textarea:focus{outline:none;border-color:var(--accent);box-shadow:var(--focus-ring)}.field{display:grid;gap:4px;min-width:0}.field>span{font-size:var(--fs-sm);color:var(--ink-2)}.row{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.segmented{display:inline-flex;justify-self:start;max-width:100%;overflow-x:auto;padding:3px;border-radius:8px;background:var(--surface-2);gap:2px}.segmented button{border:0;background:transparent;padding:5px 14px;border-radius:6px;font-size:var(--fs-sm);color:var(--ink-2);cursor:pointer}.segmented button[aria-pressed=true]{background:var(--surface);color:var(--ink);font-weight:600;box-shadow:var(--shadow)}.segmented button:disabled{cursor:not-allowed;opacity:.6}.chip{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 12px;border-radius:999px;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink-2);font-size:var(--fs-sm);cursor:pointer}.chip[aria-pressed=true]{border-color:var(--ink);color:var(--ink);font-weight:600}.chip .code{font-family:var(--font-mono);font-size:var(--fs-xs);color:var(--ink-3)}.dot{width:9px;height:9px;border-radius:50%;flex:none;background:var(--ink-3)}.dot[data-slot="1"]{background:var(--s1)}.dot[data-slot="2"]{background:var(--s2)}.dot[data-slot="3"]{background:var(--s3)}.dot[data-slot="4"]{background:var(--s4)}.dot[data-slot="5"]{background:var(--s5)}.pill{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border-radius:999px;font-size:var(--fs-xs);line-height:1.6;white-space:nowrap;background:var(--surface-2);color:var(--ink-2)}.pill-accent{background:var(--accent-soft);color:var(--accent)}.pill-ok{background:var(--ok-soft);color:var(--ok)}.pill-warn{background:var(--warn-soft);color:var(--warn)}.pill-outline{background:transparent;border:1px dashed var(--line-strong);color:var(--ink-3)}.pill-example{background:var(--warn-soft);border:1px dashed var(--warn);color:var(--warn);font-weight:600}.pill-example .ex-tag{margin-right:6px;padding-right:6px;border-right:1px dashed var(--warn)}.meter{height:8px;border-radius:999px;background:var(--surface-2);overflow:hidden}.meter>i{display:block;height:100%;border-radius:999px;background:var(--ink);transition:width .4s}.meter.is-done>i{background:var(--ok)}.empty{padding:14px;border:1px dashed var(--line-strong);border-radius:var(--radius-sm);color:var(--ink-3);font-size:var(--fs-sm);text-align:center}.list{list-style:none;margin:0;padding:0;display:grid}.list>li{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--line);min-width:0}.list>li:first-child{border-top:0}.checkbox{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:none;width:20px;height:20px;margin:0;border:1.5px solid var(--line-strong);border-radius:5px;background:var(--surface);cursor:pointer;display:grid;place-items:center}.checkbox:checked{background:var(--ink);border-color:var(--ink)}.checkbox:checked:after{content:"";width:10px;height:6px;border-left:2px solid var(--surface);border-bottom:2px solid var(--surface);transform:translateY(-1px) rotate(-45deg)}@media(max-width:899px){body:before{content:"";position:fixed;inset:0 0 auto;height:env(safe-area-inset-top,0px);z-index:30;background:var(--surface)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}.board[data-v-ac90e2b8]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:24px;padding:24px 28px;border-radius:var(--radius);background:var(--surface);border:1px solid var(--line);background-image:repeating-linear-gradient(to bottom,transparent 0,transparent 31px,color-mix(in srgb,var(--accent) 9%,transparent) 31px,color-mix(in srgb,var(--accent) 9%,transparent) 32px);background-position:0 14px}.count[data-v-ac90e2b8]{display:grid;gap:6px;align-content:center}.big[data-v-ac90e2b8]{display:flex;align-items:baseline;gap:8px;font-family:var(--font-display);color:var(--accent);line-height:.9}.big .n[data-v-ac90e2b8]{font-size:clamp(5rem,12vw,8.5rem);font-weight:600;letter-spacing:-.01em}.big .u[data-v-ac90e2b8]{font-family:var(--font-body);font-size:var(--fs-xl);font-weight:600;color:var(--ink)}.big.today[data-v-ac90e2b8],.big.ended[data-v-ac90e2b8]{font-family:var(--font-body);font-size:2.5rem;font-weight:700;padding-block:12px}.big.ended[data-v-ac90e2b8]{color:var(--ink-2)}.date[data-v-ac90e2b8]{color:var(--ink-2);font-size:var(--fs-sm)}.date a[data-v-ac90e2b8]{color:var(--accent)}.target[data-v-ac90e2b8]{margin-top:4px;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.ex-link[data-v-ac90e2b8]{font-size:var(--fs-sm);color:var(--warn);font-weight:600}.schedule[data-v-ac90e2b8]{display:grid;gap:8px;align-content:center;min-width:0}.days[data-v-ac90e2b8]{display:grid;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);font-size:var(--fs-sm)}.day[data-v-ac90e2b8]{display:grid;grid-template-columns:112px minmax(0,1fr)}.day+.day[data-v-ac90e2b8]{border-top:1px solid var(--line)}.dname[data-v-ac90e2b8]{padding:8px 12px;font-weight:600;border-right:1px solid var(--line);white-space:nowrap}.day ul[data-v-ac90e2b8]{list-style:none;margin:0;padding:0}.day li[data-v-ac90e2b8]{display:grid;grid-template-columns:34px 92px minmax(0,1fr);gap:4px 8px;padding:8px 12px;align-items:baseline}.day li+li[data-v-ac90e2b8]{border-top:1px solid var(--line)}.half[data-v-ac90e2b8]{color:var(--ink-3)}.time[data-v-ac90e2b8]{white-space:nowrap;color:var(--ink-2);font-size:var(--fs-xs)}@media(max-width:720px){.board[data-v-ac90e2b8]{grid-template-columns:minmax(0,1fr);padding:20px}.day[data-v-ac90e2b8]{grid-template-columns:minmax(0,1fr)}.dname[data-v-ac90e2b8]{border-right:0;border-bottom:1px solid var(--line);background:var(--surface-2);padding-block:5px}.day li[data-v-ac90e2b8]{grid-template-columns:34px minmax(0,1fr)}.day li .subj[data-v-ac90e2b8]{grid-column:2}}.picker[data-v-d6481e2c]{display:flex;flex-wrap:wrap;gap:8px}.tiles[data-v-37db8577]{grid-template-columns:repeat(4,minmax(0,1fr))}.dash[data-v-37db8577]{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}.stack[data-v-37db8577]{display:grid;gap:16px;min-width:0}.tile .value[data-v-37db8577]{font-size:var(--fs-2xl);font-weight:600;line-height:1.2}@media(max-width:1100px){.dash[data-v-37db8577]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:899px){.tiles[data-v-37db8577]{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.dash[data-v-37db8577]{grid-template-columns:minmax(0,1fr)}.tiles[data-v-37db8577]{gap:10px}.tile[data-v-37db8577]{padding:14px}.tile .value[data-v-37db8577]{font-size:var(--fs-xl)}}.sub[data-v-37db8577]{font-size:var(--fs-sm);color:var(--ink-3)}label.done[data-v-37db8577]{color:var(--ink-3);text-decoration:line-through}.list label[data-v-37db8577]{flex:1;min-width:0;overflow-wrap:anywhere;cursor:pointer}.add[data-v-37db8577]{flex-wrap:nowrap}.ex-hint[data-v-37db8577]{font-size:var(--fs-xs);color:var(--warn)}.ex-hint a[data-v-37db8577]{color:inherit;font-weight:600}.add .input[data-v-37db8577]{flex:1}.event .when[data-v-37db8577]{width:80px;flex:none;white-space:nowrap}.days[data-v-37db8577]{font-family:var(--font-display);font-size:1.75rem;font-weight:600;line-height:1}.days small[data-v-37db8577]{font-family:var(--font-body);font-size:var(--fs-xs);font-weight:400;color:var(--ink-3);margin-left:2px}.days small.approx[data-v-37db8577]{margin:0 2px 0 0}.what[data-v-37db8577]{min-width:0}.quote[data-v-37db8577]{margin:0}blockquote[data-v-37db8577]{margin:0;font-size:var(--fs-lg);line-height:1.75;font-weight:500}figcaption[data-v-37db8577]{color:var(--ink-3);font-size:var(--fs-sm);text-align:right}.rv[data-v-37db8577]{display:grid;grid-template-columns:22px minmax(0,1fr) 16px;gap:8px;align-items:center;padding:8px 10px;border-radius:var(--radius-sm);background:var(--surface-2);text-decoration:none;font-size:var(--fs-sm)}.rv[data-v-37db8577]:hover{color:var(--accent)}.shell[data-v-a5abf8a2]{min-height:100vh;display:grid;grid-template-columns:var(--nav-w) minmax(0,1fr)}.main[data-v-a5abf8a2]{min-width:0}.brand[data-v-a5abf8a2]{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:700;font-size:var(--fs-lg);letter-spacing:.04em}.seal[data-v-a5abf8a2]{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:6px;background:var(--accent);color:var(--accent-ink);font-size:17px;font-weight:700;transform:rotate(-4deg);box-shadow:inset 0 0 0 2px var(--accent),inset 0 0 0 3px var(--accent-ink)}.sidenav[data-v-a5abf8a2]{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;gap:18px;padding:22px 14px 16px;border-right:1px solid var(--line);background:var(--surface)}.sidenav-links[data-v-a5abf8a2]{display:grid;gap:10px;overflow-y:auto;min-height:0;flex:1 1 auto;align-content:start}.navgroup[data-v-a5abf8a2]{display:grid;gap:1px}.navgroup-label[data-v-a5abf8a2]{padding:0 12px 2px;font-size:var(--fs-xs);letter-spacing:.08em;color:var(--ink-3)}.side-foot[data-v-a5abf8a2]{margin-top:auto;display:grid;gap:6px}.account[data-v-a5abf8a2]{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--radius-sm);border:1px solid var(--line);text-decoration:none;color:var(--ink-2)}.account[data-v-a5abf8a2]:hover{border-color:var(--line-strong);color:var(--ink)}.acc-text[data-v-a5abf8a2]{display:grid;line-height:1.3;min-width:0}.acc-text b[data-v-a5abf8a2]{font-size:var(--fs-sm);color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.acc-text small[data-v-a5abf8a2]{font-size:var(--fs-xs);color:var(--ink-3)}.acc-text small.sync-synced[data-v-a5abf8a2]{color:var(--ok)}.acc-text small.sync-error[data-v-a5abf8a2],.acc-text small.sync-offline[data-v-a5abf8a2]{color:var(--warn)}.navlink[data-v-a5abf8a2]{display:flex;align-items:center;gap:10px;padding:6px 12px;border-radius:var(--radius-sm);color:var(--ink-2);text-decoration:none;font-size:var(--fs-sm)}.navlink[data-v-a5abf8a2]:hover{background:var(--surface-2);color:var(--ink)}.navlink.router-link-exact-active[data-v-a5abf8a2],.navlink.is-active[data-v-a5abf8a2]{background:var(--surface-2);color:var(--ink);font-weight:600;box-shadow:inset 3px 0 0 var(--accent)}.running[data-v-a5abf8a2]{display:grid;gap:2px;padding:10px 12px;border-radius:var(--radius-sm);background:var(--accent-soft);color:var(--accent);text-decoration:none}.running.paused[data-v-a5abf8a2]{background:var(--surface-2);color:var(--ink-2)}.running-label[data-v-a5abf8a2]{font-size:var(--fs-xs)}.running-clock[data-v-a5abf8a2]{font-family:var(--font-display);font-size:1.75rem;font-weight:600;line-height:1}.source[data-v-a5abf8a2]{padding:0 12px;font-size:var(--fs-xs);line-height:1.6}.topbar[data-v-a5abf8a2],.tabbar[data-v-a5abf8a2]{display:none}.demo-bar[data-v-a5abf8a2]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 12px;max-width:1080px;margin:16px auto 0;margin-inline:max(16px,env(safe-area-inset-left,0px)) max(16px,env(safe-area-inset-right,0px));padding:6px 6px 6px 14px;border-radius:var(--radius-sm);background:var(--warn-soft);color:var(--warn);font-size:var(--fs-sm)}@media(min-width:1112px){.demo-bar[data-v-a5abf8a2]{margin-inline:auto}}.toast[data-v-a5abf8a2]{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom,0px));transform:translate(-50%);z-index:50;width:min(460px,calc(100% - 32px))}.toast-inner[data-v-a5abf8a2]{display:flex;align-items:center;gap:10px;padding:8px 8px 8px 14px;border-radius:var(--radius);background:var(--ink);color:var(--paper);font-size:var(--fs-sm);box-shadow:0 8px 30px #00000040}.toast-inner span[data-v-a5abf8a2]{flex:1}.toast-inner .btn[data-v-a5abf8a2]{color:var(--paper);font-size:18px}.toast-inner .btn[data-v-a5abf8a2]:hover{background:transparent;opacity:.8}@media(max-width:899px){.shell[data-v-a5abf8a2]{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr}.sidenav[data-v-a5abf8a2]{display:none}.topbar[data-v-a5abf8a2]{position:sticky;top:env(safe-area-inset-top,0px);z-index:20;display:flex;align-items:center;gap:12px;padding-block:10px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(10px,env(safe-area-inset-right,0px));background:var(--surface);border-bottom:1px solid var(--line)}.topbar .brand[data-v-a5abf8a2]{font-size:var(--fs-md)}.seal[data-v-a5abf8a2]{width:26px;height:26px;font-size:15px}.topbar-actions[data-v-a5abf8a2]{margin-left:auto;display:flex;gap:2px}.running-sm[data-v-a5abf8a2]{padding:4px 10px}.running-sm .running-clock[data-v-a5abf8a2]{font-size:1.25rem}.main[data-v-a5abf8a2]{padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom,0px))}.tabbar[data-v-a5abf8a2]{position:fixed;inset:auto 0 0;z-index:20;display:grid;grid-template-columns:repeat(5,1fr);padding-bottom:env(safe-area-inset-bottom,0px);padding-left:max(0px,env(safe-area-inset-left,0px));padding-right:max(0px,env(safe-area-inset-right,0px));background:var(--surface);border-top:1px solid var(--line)}.tab[data-v-a5abf8a2]{display:grid;justify-items:center;gap:2px;padding:7px 0 6px;font-size:11px;color:var(--ink-3);text-decoration:none}.tab.is-active[data-v-a5abf8a2]{color:var(--accent);font-weight:600}.toast[data-v-a5abf8a2]{bottom:calc(var(--tabbar-h) + 12px + env(safe-area-inset-bottom,0px))}}
