@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-condensed-latin-ext-500-normal-yA5ONLQ9.woff2)format("woff2"),url(/assets/barlow-condensed-latin-ext-500-normal-B1RE8WP7.woff)format("woff")}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-ext-600-normal-18ESti3H.woff2)format("woff2"),url(/assets/barlow-condensed-latin-ext-600-normal-Clv9cIcR.woff)format("woff")}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-ext-700-normal-CwuXbfVR.woff2)format("woff2"),url(/assets/barlow-condensed-latin-ext-700-normal-BIHFfxf0.woff)format("woff")}:root{--bg:#0a0b0d;--outside:#050506;--surface:#15171b;--surface-2:#1f2227;--surface-3:#2b2f36;--line:#262a30;--fg:#f2f4f6;--muted:#99a1ab;--ghost:#5c636d;--accent:#36d982;--accent-ink:#04180b;--accent-soft:#36d98226;--chart:#25ab63;--chart-fill:#25ab6338;--warn:#ffb547;--warn-soft:#ffb54729;--danger:#ff6464;--danger-soft:#ff646426;--info:#66b0ff;--info-soft:#66b0ff26;--scrim:#0000008c;--font-ui:-apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-num:"Barlow Condensed", "Arial Narrow", "Roboto Condensed", -apple-system, sans-serif;--r-lg:22px;--r-md:14px;--r-sm:10px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:light){:root:not([data-theme=dark]){--bg:#f3f4f6;--outside:#e4e6ea;--surface:#fff;--surface-2:#eceef1;--surface-3:#dfe2e7;--line:#dde0e5;--fg:#0d0f12;--muted:#5b636e;--ghost:#a9afb7;--accent:#1db463;--accent-ink:#03150a;--accent-soft:#1db46324;--chart:#17975a;--chart-fill:#17975a29;--warn:#b87300;--warn-soft:#e6961429;--danger:#d43a3a;--danger-soft:#d43a3a1f;--info:#1f6fd6;--info-soft:#1f6fd61f;--scrim:#0f121666;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}}:root[data-theme=light]{--bg:#f3f4f6;--outside:#e4e6ea;--surface:#fff;--surface-2:#eceef1;--surface-3:#dfe2e7;--line:#dde0e5;--fg:#0d0f12;--muted:#5b636e;--ghost:#a9afb7;--accent:#1db463;--accent-ink:#03150a;--accent-soft:#1db46324;--chart:#17975a;--chart-fill:#17975a29;--warn:#b87300;--warn-soft:#e6961429;--danger:#d43a3a;--danger-soft:#d43a3a1f;--info:#1f6fd6;--info-soft:#1f6fd61f;--scrim:#0f121666;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*,:before,:after{box-sizing:border-box}html,body{height:100%}body{background:var(--outside);color:var(--fg);font-family:var(--font-ui);-webkit-tap-highlight-color:transparent;font-size:15px}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;text-align:inherit;background:0 0;border:0;padding:0}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.num{font-family:var(--font-num);font-variant-numeric:tabular-nums;letter-spacing:.01em}h1,h2,h3{text-wrap:balance}.app{background:var(--bg);flex-direction:column;max-width:440px;height:100%;margin:0 auto;display:flex;position:relative;overflow:hidden}@media (width>=480px){.app{border-left:1px solid var(--line);border-right:1px solid var(--line)}}.view{flex-direction:column;flex:1;min-height:0;display:flex}.pad-x{padding-left:16px;padding-right:16px}.scroll{flex-direction:column;flex:1;gap:14px;min-height:0;padding:8px 16px 24px;display:flex;overflow-y:auto}.scroll>*,.start>*,.login>*{flex-shrink:0}.bar{align-items:center;gap:10px;padding:10px 16px;display:flex}.icon-btn{background:var(--surface-2);text-align:center;border-radius:50%;flex:none;place-items:center;width:40px;height:40px;display:grid}.icon-btn svg{width:20px;height:20px}.bar-title{flex:1;min-width:0}.bar-title b{white-space:nowrap;text-overflow:ellipsis;font-size:17px;display:block;overflow:hidden}.bar-title span{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;font-size:13px;display:block;overflow:hidden}.page-head{align-items:flex-end;gap:12px;padding:16px 16px 4px;display:flex}.page-head div{flex:1;min-width:0}.page-head h1{letter-spacing:-.02em;margin:0;font-size:32px;line-height:1.1}.page-head p{color:var(--muted);margin:3px 0 0;font-size:15px}.page-top{justify-content:flex-end;padding:10px 16px 0;display:flex}.page-top+.page-head{padding-top:2px}.head-out{background:var(--surface-2);height:32px;color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:0 12px 0 10px;font-size:14px;font-weight:600;display:inline-flex}.head-out svg{width:17px;height:17px}.btn{text-align:center;border-radius:999px;justify-content:center;align-items:center;gap:8px;height:48px;padding:0 20px;font-size:16px;font-weight:700;display:inline-flex}.btn svg{width:18px;height:18px}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-secondary{background:var(--surface-2);color:var(--fg)}.btn-ghost{color:var(--accent);padding:0 8px}.btn-danger{background:var(--danger-soft);color:var(--danger)}.btn-sm{height:36px;padding:0 14px;font-size:14px}.btn-block{width:100%}.btn[disabled]{opacity:.45;cursor:default}.pill{white-space:nowrap;border-radius:999px;flex:none;align-items:center;gap:6px;height:26px;padding:0 10px;font-size:13px;font-weight:600;display:inline-flex}.pill svg{width:14px;height:14px}.pill-ok{background:var(--accent-soft);color:var(--accent)}.pill-warn{background:var(--warn-soft);color:var(--warn)}.pill-info{background:var(--info-soft);color:var(--info)}.pill-danger{background:var(--danger-soft);color:var(--danger)}.pill-mute{background:var(--surface-2);color:var(--muted)}.card{background:var(--surface);border-radius:var(--r-lg)}.label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:600}.section-title{justify-content:space-between;align-items:center;gap:10px;margin:6px 2px -4px;display:flex}.section-title h2{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0;font-size:13px}.proto-note{color:var(--muted);border:1px dashed var(--surface-3);border-radius:var(--r-sm);padding:7px 10px;font-size:12px;line-height:1.4}.muted{color:var(--muted)}.list{padding:4px 0}.li{border-top:1px solid var(--line);align-items:center;gap:12px;width:100%;padding:12px 16px;display:flex}.li:first-child{border-top:0}.li>div{flex:1;min-width:0}.li b{white-space:nowrap;text-overflow:ellipsis;font-size:15px;display:block;overflow:hidden}.li span.sub{color:var(--muted);margin-top:1px;font-size:13px;display:block}.li .chev{color:var(--ghost);flex:none;width:18px;height:18px}.li.cancelled b{color:var(--muted);text-decoration:line-through}.li .end{text-align:right;flex:none}.li .end .num{font-size:22px;font-weight:600}.tiles{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.tile{background:var(--surface);border-radius:var(--r-md);flex-direction:column;gap:2px;min-width:0;padding:12px;display:flex}.tile .num{font-size:30px;font-weight:700;line-height:1.05}.tile span{color:var(--muted);font-size:12px;line-height:1.3}button.tile{text-align:left}.seg{background:var(--surface-2);scrollbar-width:none;border-radius:999px;max-width:100%;padding:3px;display:inline-flex;overflow-x:auto}.seg::-webkit-scrollbar{display:none}.seg button{height:30px;color:var(--muted);white-space:nowrap;border-radius:999px;flex:none;padding:0 12px;font-size:13px}.seg button[aria-pressed=true]{background:var(--surface);color:var(--fg);font-weight:600}.seg.seg-fill{width:100%;display:flex}.seg.seg-fill button{flex:1 1 0;min-width:0;padding:0 4px}.chips{scrollbar-width:none;gap:6px;padding-bottom:2px;display:flex;overflow-x:auto}.chips.wrap{flex-wrap:wrap;overflow:visible}.chips::-webkit-scrollbar{display:none}.chip{background:var(--surface-2);height:32px;color:var(--muted);white-space:nowrap;border-radius:999px;flex:none;padding:0 12px;font-size:13px;font-weight:600}.chip[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}.tag{background:var(--surface-2);color:var(--muted);border-radius:6px;margin:2px 4px 0 0;padding:2px 7px;font-size:12px;display:inline-block}.field{flex-direction:column;gap:6px;display:flex}.field>span{color:var(--muted);font-size:13px}.input{background:var(--surface-2);height:46px;color:var(--fg);font:inherit;border:0;border-radius:12px;width:100%;min-width:0;padding:0 14px;font-size:16px}textarea.input{resize:vertical;height:auto;min-height:76px;padding:12px 14px;line-height:1.4}.input[readonly]{color:var(--muted)}.input.num-in{font-family:var(--font-num);text-align:center;padding:0 6px;font-size:22px;font-weight:600}.form{flex-direction:column;gap:14px;display:flex}.grid-2{grid-template-columns:1fr 1fr;gap:10px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.hint{color:var(--muted);font-size:12px;line-height:1.4}.error-text{color:var(--danger);font-size:13px}.search{position:relative}.search svg{width:20px;height:20px;color:var(--ghost);position:absolute;top:13px;left:12px}.search .input{padding-left:40px}.tabbar{border-top:1px solid var(--line);padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px));background:var(--bg);display:flex}.tabbar button{color:var(--muted);text-align:center;flex-direction:column;flex:1;align-items:center;gap:3px;padding:4px 0;font-size:11px;display:flex}.tabbar button svg{width:24px;height:24px}.tabbar button[aria-current=page]{color:var(--accent)}.start{flex-direction:column;flex:1;gap:16px;padding:28px 16px 24px;display:flex;overflow-y:auto}.start h1{letter-spacing:-.02em;margin:0;font-size:34px}.start>p{color:var(--muted);margin:-8px 0 0;line-height:1.45}.role{align-items:center;gap:14px;width:100%;padding:16px;display:flex}.role .av{background:var(--accent-soft);width:46px;height:46px;color:var(--accent);border-radius:50%;flex:none;place-items:center;font-weight:700;display:grid}.role div{flex:1;min-width:0}.role b{font-size:17px;display:block}.role span{color:var(--muted);margin-top:2px;font-size:13px;display:block}.role .chev{width:18px;height:18px;color:var(--ghost)}.login{flex-direction:column;flex:1;gap:18px;padding:40px 20px 24px;display:flex;overflow-y:auto}.login .mark{background:var(--accent);width:56px;height:56px;color:var(--accent-ink);border-radius:18px;place-items:center;display:grid}.login .mark svg{width:30px;height:30px}.login h1{margin:0;font-size:28px}.login p{color:var(--muted);margin:-10px 0 0;line-height:1.45}.code-in{background:var(--surface-2);height:64px;color:var(--fg);font-family:var(--font-num);letter-spacing:.35em;text-align:center;border:0;border-radius:16px;width:100%;padding-left:.35em;font-size:40px;font-weight:700}.session-card{flex-direction:column;gap:14px;padding:18px;display:flex}.session-time{align-items:baseline;gap:10px;display:flex}.session-time .num{font-size:40px;font-weight:700;line-height:1}.session-card h2{margin:0;font-size:22px}.session-card .sub{color:var(--muted);margin-top:3px;font-size:14px}.block-strip{flex-wrap:wrap;gap:6px;display:flex}.block-strip span{background:var(--surface-2);border-radius:8px;padding:5px 8px;font-size:13px}.block-strip b{font-family:var(--font-num);margin-right:4px;font-size:15px}.row-btns{flex-wrap:wrap;gap:8px;display:flex}.row-btns .btn{flex:1}.week{grid-template-columns:repeat(7,1fr);gap:2px;padding:10px 8px 12px;display:grid}.day{text-align:center;border-radius:14px;flex-direction:column;align-items:center;gap:4px;padding:6px 0;display:flex}.day small{color:var(--muted);letter-spacing:.04em;font-size:11px}.day .num{border-radius:50%;place-items:center;width:36px;height:36px;font-size:22px;font-weight:600;display:grid}.day i{background:0 0;border-radius:50%;width:6px;height:6px}.day[data-has=done] i{background:var(--ghost)}.day[data-has=plan] i{background:var(--accent)}.day[data-has=cancel] i{background:var(--danger)}.day[data-has=me-yes] i{background:var(--accent)}.day[data-has=me-no] i{background:var(--danger)}.day[data-today] .num{background:var(--accent);color:var(--accent-ink)}.day[aria-pressed=true]{background:var(--surface-2)}.week-nav{justify-content:space-between;align-items:center;padding:12px 12px 0;display:flex}.week-nav b{font-size:15px}.st-dot{border-radius:50%;flex:none;width:10px;height:10px}.blocks-plan{flex-direction:column;gap:10px;display:flex}.bplan{flex-direction:column;gap:8px;padding:14px 16px;display:flex}.bplan header{align-items:center;gap:10px;display:flex}.bplan header .letter{font-family:var(--font-num);width:22px;font-size:26px;font-weight:700;line-height:1}.bplan header b{font-size:15px}.bplan header span{color:var(--muted);font-size:13px}.bplan ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.bplan li{justify-content:space-between;align-items:baseline;gap:10px;font-size:14px;display:flex}.bplan li .p{color:var(--muted);text-align:right;flex:none;max-width:52%}.bplan li .r{font-family:var(--font-num);text-align:right;flex:none;font-size:18px;font-weight:600}.bplan li .r small{font-family:var(--font-ui);color:var(--muted);font-size:12px;font-weight:400;display:block}.pr{background:var(--accent-soft);color:var(--accent);font-family:var(--font-ui);letter-spacing:.03em;text-transform:uppercase;vertical-align:2px;border-radius:6px;align-items:center;gap:4px;padding:1px 6px;font-size:11px;font-weight:700;display:inline-flex}.people{flex-wrap:wrap;gap:6px;display:flex}.bcard{flex-direction:column;gap:10px;padding:12px 14px 14px;display:flex}.bcard-head{align-items:center;gap:8px;display:flex}.bcard-head .letter{font-family:var(--font-num);width:22px;font-size:28px;font-weight:700;line-height:1}.bcard-head .fmt{background:var(--fg);height:30px;color:var(--bg);border-radius:999px;padding:0 10px;font-size:13px;font-weight:700}.bcard-head .phase{background:var(--surface-2);height:30px;color:var(--muted);border-radius:999px;padding:0 10px;font-size:13px}.bcard-head .sp{flex:1}.mini{background:var(--surface-2);width:32px;height:32px;color:var(--muted);border-radius:50%;flex:none;place-items:center;display:grid}.mini svg{width:16px;height:16px}.params{flex-wrap:wrap;gap:8px;display:flex}.param{flex-direction:column;gap:4px;width:92px;display:flex}.param span{color:var(--muted);font-size:11px}.param .input{height:40px;font-size:18px}.toggle-row{align-items:center;gap:10px;font-size:14px;display:flex}.switch{background:var(--surface-3);border-radius:999px;flex:none;width:44px;height:26px;position:relative}.switch:after{content:"";background:var(--fg);border-radius:50%;width:20px;height:20px;transition:transform .15s;position:absolute;top:3px;left:3px}.switch[aria-checked=true]{background:var(--accent)}.switch[aria-checked=true]:after{background:var(--accent-ink);transform:translate(18px)}.bitem{background:var(--surface-2);border-radius:12px;align-items:center;gap:10px;width:100%;padding:10px 12px;display:flex}.bitem div{flex:1;min-width:0}.bitem b{font-size:15px;display:block}.bitem span{color:var(--muted);margin-top:1px;font-size:13px;display:block}.bitem .chev{width:16px;height:16px;color:var(--ghost)}.add-row{border:1.5px dashed var(--surface-3);height:44px;color:var(--accent);border-radius:12px;justify-content:center;align-items:center;gap:8px;width:100%;font-size:14px;font-weight:600;display:flex}.add-row svg{width:18px;height:18px}.stepper{align-items:center;gap:6px;display:flex}.stepper button{background:var(--surface-2);text-align:center;border-radius:12px;flex:none;width:40px;height:40px;font-size:22px;font-weight:600}.stepper .input{height:40px}.scrim{background:var(--scrim);z-index:40;position:absolute;inset:0}.sheet{z-index:41;background:var(--surface);border-radius:22px 22px 0 0;flex-direction:column;max-height:88%;display:flex;position:absolute;bottom:0;left:0;right:0;box-shadow:0 -10px 40px #0000004d}.sheet-head{align-items:center;gap:10px;padding:14px 16px 8px;display:flex}.sheet-head b{flex:1;font-size:18px}.sheet-body{padding:6px 16px calc(20px + env(safe-area-inset-bottom,0px));flex-direction:column;gap:14px;display:flex;overflow-y:auto}.fmt-list{flex-direction:column;gap:8px;display:flex}.fmt-opt{background:var(--surface-2);border-radius:14px;align-items:center;gap:12px;width:100%;padding:12px 14px;display:flex}.fmt-opt b{font-size:16px;display:block}.fmt-opt span{color:var(--muted);margin-top:2px;font-size:13px;display:block}.copy-box{background:var(--surface-2);-webkit-user-select:all;user-select:all;word-break:break-word;border-radius:12px;padding:12px 14px;font-size:14px;line-height:1.45}.chart-card{flex-direction:column;gap:10px;padding:14px 14px 12px;display:flex}.chart{touch-action:pan-y;position:relative}.chart svg{width:100%;height:auto;display:block;overflow:visible}.chart text{font-family:var(--font-ui);fill:var(--muted);font-size:11px}.chart .grid{stroke:var(--line);stroke-width:1px}.chart .ln{fill:none;stroke:var(--chart);stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart .area{fill:var(--chart-fill);stroke:none}.chart .dot{fill:var(--chart);stroke:var(--surface);stroke-width:2px}.chart .bar{fill:var(--chart)}.chart .bar:hover{fill:var(--accent)}.chart .hl{stroke:var(--muted);stroke-width:1px;stroke-dasharray:3 3}.chart .hit{fill:#0000}.tip{background:var(--fg);color:var(--bg);white-space:nowrap;pointer-events:none;z-index:5;border-radius:10px;padding:6px 9px;font-size:12px;line-height:1.35;position:absolute;top:0;transform:translate(-50%,-100%)}.tip b{font-family:var(--font-num);font-size:16px;display:block}.chart-empty{text-align:center;color:var(--muted);padding:30px 10px;font-size:14px}.chart-head{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.chart-head .num{font-size:30px;font-weight:700;line-height:1}.chart-head .delta{color:var(--accent);font-size:14px;font-weight:600}.chart-head .delta.flat{color:var(--muted)}.bars-row{align-items:center;gap:10px;display:flex}.bars-row .who{white-space:nowrap;text-overflow:ellipsis;flex:none;width:96px;font-size:14px;overflow:hidden}.bars-row .track{background:var(--surface-2);border-radius:4px;flex:1;height:8px;overflow:hidden}.bars-row .track i{background:var(--chart);border-radius:4px;height:100%;display:block}.bars-row .num{text-align:right;flex:none;width:44px;font-size:18px;font-weight:600}.months{flex-direction:column;gap:12px;display:flex}.month b{margin-bottom:6px;font-size:14px;display:block}.dots{flex-wrap:wrap;gap:5px;display:flex}.dots i{background:var(--surface-2);width:22px;height:22px;color:var(--muted);font-size:10px;font-style:normal;font-family:var(--font-num);border-radius:7px;place-items:center;display:grid}.dots i[data-s=yes]{background:var(--chart);color:var(--accent-ink)}.dots i[data-s=late]{background:var(--info);color:var(--bg)}.dots i[data-s=no]{background:var(--danger-soft);color:var(--danger)}.dots i[data-s=exc]{background:var(--surface-3)}.dots i[data-s=cancel]{border:1.5px dashed var(--surface-3);background:0 0}.legend{color:var(--muted);flex-wrap:wrap;gap:10px;font-size:12px;display:flex}.legend span{align-items:center;gap:5px;display:inline-flex}.legend i{border-radius:4px;width:12px;height:12px;display:inline-block}.att-summary{flex-wrap:wrap;gap:8px;padding:4px 16px 10px;display:flex}.att-list{flex-direction:column;flex:1;gap:8px;min-height:0;padding:0 16px 12px;display:flex;overflow-y:auto}.att-row{background:var(--surface);border-radius:var(--r-md);flex-direction:column;gap:8px;padding:8px 8px 8px 14px;display:flex}.att-main{align-items:center;gap:10px;display:flex}.att-main .who{text-align:left;flex:1;min-width:0;padding:6px 0}.att-main .who b{font-size:16px;display:block}.att-main .who span{color:var(--muted);font-size:13px}.att-check{background:var(--surface-2);width:52px;height:44px;color:var(--ghost);border-radius:12px;place-items:center;display:grid}.att-check svg{width:24px;height:24px}.att-row[data-st=present] .att-check{background:var(--accent);color:var(--accent-ink)}.att-row[data-st=late] .att-check{background:var(--info-soft);color:var(--info)}.att-row[data-st=excused] .att-check,.att-row[data-st=absent] .att-check{background:var(--surface-2);color:var(--muted)}.att-more{flex-wrap:wrap;gap:6px;display:flex}.att-more button{background:var(--surface-2);border-radius:999px;height:34px;padding:0 12px;font-size:14px}.att-more button[aria-pressed=true]{background:var(--fg);color:var(--bg);font-weight:600}.foot{padding:10px 16px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);flex-direction:column;gap:8px;display:flex}.foot .btn{width:100%}.foot small{color:var(--muted);text-align:center;font-size:12px}.live-bar{padding-bottom:6px}.blocks{scrollbar-width:none;gap:6px;padding:2px 16px 8px;display:flex;overflow-x:auto}.blocks::-webkit-scrollbar{display:none}.blk{background:var(--surface);border-radius:12px;flex:none;align-items:center;gap:7px;height:38px;padding:0 12px 0 10px;display:flex}.blk b{font-family:var(--font-num);font-size:20px;line-height:1}.blk span{color:var(--muted);font-size:12px}.blk i{border:1.5px solid var(--ghost);border-radius:50%;width:7px;height:7px}.blk[data-done=part] i{border-color:var(--accent)}.blk[data-done=all] i{background:var(--accent);border-color:var(--accent)}.blk[aria-current=true]{background:var(--fg);color:var(--bg)}.blk[aria-current=true] span{color:var(--bg);opacity:.7}.ex{flex-direction:column;gap:8px;margin:0 16px;padding:10px 12px;display:flex}.ex-items{scrollbar-width:none;gap:6px;display:flex;overflow-x:auto}.ex-items::-webkit-scrollbar{display:none}.ex-items button{background:var(--surface-2);height:30px;color:var(--muted);border-radius:999px;flex:none;padding:0 11px;font-size:13px;font-weight:600}.ex-items button[aria-current=true]{background:var(--accent-soft);color:var(--accent)}.ex-head h2{margin:0;font-size:20px;line-height:1.15}.ex-head p{color:var(--muted);margin:3px 0 0;font-size:14px}.ex-head p b{color:var(--fg);font-weight:600}.sets{align-items:center;gap:6px;display:flex}.sets .label{margin-right:4px}.set-chip{background:var(--surface-2);width:38px;height:34px;font-family:var(--font-num);text-align:center;border-radius:10px;font-size:19px;font-weight:600;position:relative}.set-chip[aria-current=true]{background:var(--fg);color:var(--bg)}.set-chip[data-done=all]:after{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px;position:absolute;top:4px;right:4px}.moves{color:var(--muted);grid-template-columns:1fr 1fr;gap:3px 12px;margin:0;padding:0;font-size:13px;list-style:none;display:grid}.moves li b{color:var(--fg);font-weight:600}.timer{background:var(--surface-2);border-radius:var(--r-md);align-items:center;gap:12px;padding:8px 8px 8px 12px;display:flex}.timer .phase{letter-spacing:.08em;font-size:12px;font-weight:700}.timer[data-phase=work] .phase{color:var(--danger)}.timer[data-phase=rest] .phase{color:var(--accent)}.timer .clock{font-family:var(--font-num);font-variant-numeric:tabular-nums;min-width:72px;font-size:34px;font-weight:700;line-height:1}.timer .round{color:var(--muted);flex:1;font-size:13px}.rows{flex-direction:column;flex:1;gap:4px;min-height:0;padding:8px 16px;display:flex;overflow-y:auto}.rows-head{align-items:center;gap:6px;padding:0 2px;display:flex}.rows-head .label:first-child{flex:1}.rows-head .label{text-align:center}.arow{align-items:center;gap:6px;min-height:44px;display:flex}.arow .who{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:16px;font-weight:600;overflow:hidden}.arow .who small{color:var(--muted);font-weight:400}.arow .who .late{color:var(--info);margin-left:4px;font-size:12px;font-weight:600}.cell{background:var(--surface);width:70px;height:42px;font-family:var(--font-num);font-variant-numeric:tabular-nums;color:var(--fg);text-align:center;border-radius:12px;flex:none;font-size:23px;font-weight:600;position:relative}.cell.narrow{width:56px}.cell[data-ghost],.cell[data-empty]{color:var(--ghost)}.cell[aria-pressed=true]{background:var(--accent-soft);box-shadow:inset 0 0 0 2px var(--accent)}.cell[data-st=pending]:after,.cell[data-st=syncing]:after{content:"";background:var(--warn);border-radius:50%;width:7px;height:7px;position:absolute;top:5px;right:5px}.cell[data-st=syncing]:after{animation:1s infinite blink}.colhead{flex:none;width:70px}.colhead.narrow{width:56px}.colhead[aria-current=true]{color:var(--accent)}.rstat{flex:none;place-items:center;width:22px;display:grid}.rstat svg{width:18px;height:18px}.rstat[data-st=saved]{color:var(--accent)}.rstat[data-st=pending]{color:var(--warn)}.fill-plan{align-self:flex-start;margin-top:4px}.keypad{border-top:1px solid var(--line);background:var(--bg);padding:8px 12px calc(10px + env(safe-area-inset-bottom,0px));flex-direction:column;gap:8px;display:flex}.kp-info{align-items:center;gap:10px;min-height:34px;padding:0 4px;display:flex}.kp-info div{min-width:0;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:14px;overflow:hidden}.kp-info div b{color:var(--fg);font-size:16px}.kp-display{font-family:var(--font-num);font-variant-numeric:tabular-nums;font-size:34px;font-weight:700;line-height:1}.kp-display[data-ghost]{color:var(--ghost)}.kp-grid{grid-template-columns:repeat(4,1fr);gap:6px;display:grid}.key{background:var(--surface);height:44px;font-family:var(--font-num);text-align:center;border-radius:12px;font-size:26px;font-weight:600}.key:active{background:var(--surface-3)}.key.step{background:var(--surface-2);color:var(--muted);font-size:20px}.key.del{place-items:center;display:grid}.key.del svg{width:24px;height:24px}.key.next{background:var(--accent);color:var(--accent-ink);font-family:var(--font-ui);grid-column:span 2;justify-content:center;align-items:center;gap:6px;font-size:17px;font-weight:700;display:flex}.key.next svg{width:20px;height:20px}.key[disabled]{opacity:.35}.kp-done{justify-content:space-between;align-items:center;gap:10px;padding:8px 4px 6px;display:flex}.kp-done p{margin:0;font-size:15px}.menu{z-index:20;background:var(--surface-2);border-radius:var(--r-md);min-width:250px;padding:6px;position:absolute;top:58px;right:12px;box-shadow:0 12px 30px #00000059}.menu button{border-radius:10px;align-items:center;gap:10px;width:100%;padding:11px 12px;font-size:15px;display:flex}.menu button svg{flex:none;width:18px;height:18px}.menu button:hover{background:var(--surface-3)}.menu .switch{margin-left:auto}.menu .switch[aria-checked=true]{background:var(--warn)}.menu small{color:var(--muted);padding:4px 12px 8px;font-size:12px;display:block}.toast{left:16px;right:16px;bottom:calc(96px + env(safe-area-inset-bottom,0px));z-index:60;background:var(--fg);color:var(--bg);border-radius:var(--r-md);padding:12px 14px;font-size:14px;font-weight:600;position:absolute;box-shadow:0 10px 30px #0000004d}.swatches{grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;display:grid}.sw{border-radius:var(--r-sm);background:var(--surface);overflow:hidden}.sw i{border-bottom:1px solid var(--line);height:44px;display:block}.sw span{padding:6px 8px;font-size:12px;display:block}.sw span small{color:var(--muted);display:block}.typeset{flex-direction:column;gap:8px;display:flex}.typeset div{align-items:baseline;gap:12px;display:flex}.typeset small{width:64px;color:var(--muted);flex:none;font-size:12px}.row-wrap{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.state-card{flex-direction:column;gap:8px;padding:16px;display:flex}.empty{text-align:center;padding:22px 16px}.empty svg{width:34px;height:34px;color:var(--ghost)}.empty b{margin-top:6px;font-size:16px;display:block}.empty span{color:var(--muted);margin-top:3px;font-size:14px;display:block}.skel{background:linear-gradient(90deg, var(--surface-2), var(--surface-3), var(--surface-2));background-size:200% 100%;border-radius:7px;height:14px;animation:1.4s linear infinite shimmer}.err{background:var(--danger-soft);color:var(--fg);border-radius:var(--r-md);align-items:flex-start;gap:10px;padding:12px 14px;font-size:14px;display:flex}.err svg{width:20px;height:20px;color:var(--danger);flex:none;margin-top:1px}.demo-cells{flex-wrap:wrap;gap:10px;display:flex}.demo-cells figure{color:var(--muted);flex-direction:column;align-items:center;gap:4px;margin:0;font-size:12px;display:flex}.ds-section h2{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0 0 10px;font-size:13px}.ds-section p{color:var(--muted);max-width:60ch;margin:0 0 10px;font-size:14px;line-height:1.45}@keyframes blink{50%{opacity:.25}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){*,:after{transition:none!important;animation:none!important}}html,body,#root{height:100%}#root{padding-top:env(safe-area-inset-top,0px)}#root:before{content:"";height:env(safe-area-inset-top,0px);z-index:100;pointer-events:none;background:#0a0b0d;position:fixed;top:0;left:0;right:0}body{margin:0}a{color:inherit;text-decoration:none}.link-reset{display:block}.tabbar a{color:var(--muted);text-align:center;flex-direction:column;flex:1;align-items:center;gap:3px;padding:4px 0;font-size:11px;display:flex}.tabbar a svg{width:24px;height:24px}.tabbar a[aria-current=page]{color:var(--accent)}.li>svg,.hint svg{flex:none;width:18px;height:18px}.app-toast{width:min(408px,100% - 32px);position:fixed;left:50%;right:auto;transform:translate(-50%)}.day-head{color:var(--muted);padding:12px 16px 2px;font-size:13px;font-weight:600}.li-btn{color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0}.num-in-sm{width:76px}.inline-fields{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.center-screen{text-align:center;color:var(--muted);flex:1;place-items:center;padding:24px;display:grid}.spinner{border:3px solid var(--surface-3);border-top-color:var(--accent);border-radius:50%;width:28px;height:28px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.pw-row{display:block;position:relative}.pw-row .input{padding-right:52px}.pw-row button{width:40px;height:34px;color:var(--muted);border-radius:10px;place-items:center;display:grid;position:absolute;top:6px;right:6px}.pw-row button svg{width:20px;height:20px}.slot-list{flex-direction:column;gap:8px;display:flex}.slot-row{align-items:center;gap:8px;display:flex}.slot-row .input{flex:1}.big-timer{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:18px 16px 16px;display:flex}.big-timer .bt-phase{letter-spacing:.12em;color:var(--muted);font-size:14px;font-weight:700}.big-timer[data-phase=work] .bt-phase{color:var(--danger)}.big-timer[data-phase=rest] .bt-phase{color:var(--accent)}.big-timer .bt-label{font-size:17px;font-weight:600}.big-timer .bt-clock{font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:clamp(72px,26vw,120px);font-weight:700;line-height:1}.big-timer .bt-sub{color:var(--muted);font-size:14px}.big-timer .bt-bar{background:var(--surface-2);border-radius:3px;width:100%;height:6px;margin-top:6px;overflow:hidden}.big-timer .bt-bar i{background:var(--fg);height:100%;transition:width .1s linear;display:block}.big-timer[data-phase=work] .bt-bar i{background:var(--danger)}.big-timer[data-phase=rest] .bt-bar i{background:var(--accent)}.big-timer .bt-controls{grid-template-columns:1fr auto 1fr;align-items:center;gap:12px;width:100%;margin-top:10px;display:grid}.big-timer .bt-main{background:var(--accent);width:76px;height:76px;color:var(--accent-ink);border-radius:50%;place-items:center;display:grid}.big-timer .bt-main svg{width:34px;height:34px}.big-timer .bt-controls .btn{white-space:nowrap;min-width:0;padding-left:10px;padding-right:10px}@media (height<=760px){.bar.live-bar{padding-top:6px;padding-bottom:4px}.blocks{padding-bottom:6px}.blk{height:32px}.ex{gap:6px;padding:8px 10px}.ex-head h2{font-size:17px}.ex-head p{margin-top:1px;font-size:13px}.set-chip{width:34px;height:28px;font-size:17px}.rows{gap:2px;padding-top:4px;padding-bottom:4px}.arow{min-height:38px}.cell{border-radius:10px;height:36px;font-size:21px}.keypad{gap:6px;padding-top:6px}.kp-info{min-height:26px}.kp-display{font-size:28px}.kp-grid{gap:5px}.key{height:38px;font-size:23px}.fill-plan{height:30px;margin-top:0;font-size:13px}}.media-link{background:var(--surface-2);width:24px;height:24px;color:var(--accent);vertical-align:middle;border-radius:50%;place-items:center;margin-left:6px;display:inline-grid}.media-link svg{width:12px;height:12px}
