@font-face{font-family:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(../media/instrument-sans-latin-ext-wght-normal.2jfp7v6ns64yg.woff2)format("woff2-variations");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:Instrument Sans Variable;font-style:normal;font-display:swap;font-weight:400 700;src:url(../media/instrument-sans-latin-wght-normal.3h2wr6o8p949u.woff2)format("woff2-variations");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{--font:"Instrument Sans", system-ui, -apple-system, "Segoe UI", sans-serif;--fs-xs:12px;--fs-sm:13px;--fs-md:14px;--fs-base:16px;--fs-lg:18px;--fs-xl:22px;--fs-2xl:28px;--fs-3xl:36px;--fs-4xl:48px;--fs-5xl:64px;--fs-6xl:92px;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--lh-tight:1.02;--lh-snug:1.18;--lh-body:1.45;--tr-display:-.035em;--tr-title:-.02em;--tr-text:-.005em;--tv-fs-sm:19px;--tv-fs-md:22px;--tv-fs-lg:26px;--tv-fs-xl:34px;--tv-fs-2xl:44px;--tv-fs-figure:64px;--tv-fs-clock:72px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px;--gutter:16px;--gutter-wide:24px;--r-xs:6px;--r-sm:10px;--r-md:14px;--r-lg:20px;--r-xl:26px;--r-pill:999px;--tap:56px;--tap-min:44px;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--ease-drawer:cubic-bezier(.32, .72, 0, 1);--dur-press:.14s;--dur-quick:.16s;--dur-base:.22s;--dur-enter:.42s;--dur-flood:.52s;--dur-hold:1s;--ring-due:2.8s;--ring-late:1.7s;--ring-report:2s;--z-overlay:40;--z-strip:80;--z-toast:90;--focus:#3b82f6}.theme-light{--ground:#eceeec;--surface:#fff;--raised:#f4f5f4;--sunk:#e3e6e4;--line:#e1e4e2;--rule:#eceeed;--control:#c9cfcc;--text:#0d1214;--muted:#4a5357;--faint:#5f696d;--primary:#0d1214;--on-primary:#fff;--ok:#12a26f;--ok-ink:#0a6e4b;--ok-tint:#dff3ea;--due:#e8a11a;--due-ink:#855000;--due-tint:#fbedcf;--late:#e2372b;--late-ink:#b0231a;--late-tint:#fbe2df;--late-trace:#f2b9b3;--pl-foot:#dde1df;--pl-room:#f7f8f7;--pl-point:#fff;--pl-core:#cfd5d2;--pl-stroke:#b6bebb;--pl-label:#5f696d;--pl-ok:#e7f6ef;--pl-due:#fcebc6;--pl-late:#fbdcd8;--pl-report:#fbdcd8;--shadow-float:0 18px 40px #0d121429;--shadow-chip:0 2px 8px #0d12141f;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.theme-dark{--ground:#0a0c0d;--surface:#131719;--raised:#1c2124;--sunk:#0f1214;--line:#20272a;--rule:#191e21;--control:#3a4347;--text:#f3f5f5;--muted:#b3babd;--faint:#8f989c;--primary:#f3f5f5;--on-primary:#0a0c0d;--ok:#4fe0a6;--ok-ink:#4fe0a6;--ok-tint:#12291f;--due:#f5b83d;--due-ink:#f5b83d;--due-tint:#2e2512;--late:#ff5a4f;--late-ink:#ff7a70;--late-tint:#321615;--late-trace:#6a2a25;--pl-foot:#14191b;--pl-room:#1b2124;--pl-point:#232a2e;--pl-core:#262e31;--pl-stroke:#3b4549;--pl-label:#8a9498;--pl-ok:#18302a;--pl-due:#3a2f14;--pl-late:#3d1a18;--pl-report:#3d1a18;--shadow-float:0 18px 40px #00000080;--shadow-chip:0 2px 10px #00000073;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}
*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--ground);color:var(--text);font:var(--fw-regular) var(--fs-base) / var(--lh-body) var(--font);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin:0}ul,ol{padding:0;list-style:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:0;padding:0}img{max-width:100%;display:block}a{color:inherit}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:8px}[hidden]{display:none!important}.ic{stroke:currentColor;fill:none;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;vertical-align:-.2em;flex:none;width:1.15em;height:1.15em}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.rise{animation:rise var(--dur-enter) var(--ease-out) both;animation-delay:calc(var(--i,0) * 60ms)}@keyframes rise{0%{opacity:0;transform:translateY(14px)}}.mark{font-weight:var(--fw-semibold);letter-spacing:-.01em;white-space:nowrap;align-items:center;gap:9px;text-decoration:none;display:inline-flex}.mark-dot{background:color-mix(in srgb, var(--ok) 22%, transparent);border-radius:50%;flex:none;place-items:center;width:22px;height:22px;display:grid;position:relative}.mark-dot:after{content:"";background:var(--ok);border-radius:50%;width:10px;height:10px}.mark--sm{font-size:var(--fs-sm);gap:6px}.mark--sm .mark-dot{width:16px;height:16px}.mark--sm .mark-dot:after{width:7px;height:7px}.mono{background:var(--text);width:36px;height:36px;color:var(--ground);font-weight:var(--fw-bold);font-size:var(--fs-sm);letter-spacing:0;border-radius:11px;flex:none;place-items:center;display:grid}.live-dot{background:var(--ok);border-radius:50%;flex:none;width:8px;height:8px;animation:2s ease-in-out infinite blink}@keyframes blink{50%{opacity:.35}}.btn{border-radius:var(--r-pill);min-height:48px;font-weight:var(--fw-semibold);font-size:var(--fs-base);white-space:nowrap;background:var(--raised);color:var(--text);transition:transform var(--dur-quick) var(--ease-out), background-color var(--dur-quick) ease, opacity var(--dur-quick) ease;justify-content:center;align-items:center;gap:10px;padding:0 22px;text-decoration:none;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:var(--primary);color:var(--on-primary)}.btn-go{background:var(--ok);color:#04261a}.btn-ghost{box-shadow:inset 0 0 0 1.5px var(--control);background:0 0}.btn-big{min-height:var(--tap);font-size:var(--fs-lg);width:100%}.btn-sm{min-height:36px;font-size:var(--fs-md);border-radius:var(--r-sm);padding:0 14px}.btn[disabled]{background:var(--sunk);color:var(--faint);cursor:not-allowed;transform:none}@media (hover:hover) and (pointer:fine){.btn-primary:hover{opacity:.9}.btn-ghost:hover{background:var(--raised)}}.link{font-weight:var(--fw-semibold);text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--control);text-decoration-color:var(--control);min-height:var(--tap-min);align-items:center;display:inline-flex}.x{background:var(--raised);width:40px;height:40px;transition:transform var(--dur-press) var(--ease-out);border-radius:50%;flex:none;place-items:center;display:grid}.x:active{transform:scale(.94)}.seg{background:var(--sunk);border-radius:var(--r-pill);gap:2px;padding:3px;display:inline-flex}.theme-dark .seg{background:var(--raised)}.seg button{border-radius:var(--r-pill);min-height:36px;color:var(--muted);font-size:var(--fs-md);font-weight:var(--fw-medium);white-space:nowrap;transition:background-color var(--dur-quick) ease, color var(--dur-quick) ease;align-items:center;gap:7px;padding:0 14px;display:inline-flex}.seg button[aria-pressed=true]{background:var(--primary);color:var(--on-primary)}.seg .ic{width:16px;height:16px}.seg--lg button{min-width:52px;min-height:42px;font-size:var(--fs-base);font-weight:var(--fw-semibold)}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border-radius:var(--r-pill);background:var(--surface);min-height:40px;box-shadow:inset 0 0 0 1.5px var(--line);font-weight:var(--fw-medium);font-size:var(--fs-md);transition:background-color var(--dur-quick) ease, transform var(--dur-press) var(--ease-out);align-items:center;gap:7px;padding:0 14px;display:inline-flex}.chip:active{transform:scale(.96)}.chip[aria-pressed=true]{background:var(--primary);color:var(--on-primary);box-shadow:none}.chips--sm .chip{min-height:32px;font-size:var(--fs-sm);background:var(--raised);box-shadow:none;padding:0 12px}.chips--sm .chip[aria-pressed=true]{background:var(--primary)}.av{width:28px;height:28px;font-size:var(--fs-xs);font-weight:var(--fw-semibold);letter-spacing:0;border-radius:50%;flex:none;place-items:center;line-height:1;display:inline-grid}.theme-light .av{background:hsl(var(--h) 55% 90%);color:hsl(var(--h) 45% 26%)}.theme-dark .av{background:hsl(var(--h) 30% 22%);color:hsl(var(--h) 60% 82%)}.av--sm{width:22px;height:22px;font-size:10px}.av--lg{width:36px;height:36px;font-size:var(--fs-sm)}.sw{font-weight:var(--fw-semibold);white-space:nowrap;align-items:center;gap:7px;display:inline-flex}.sw:before{content:"";background:currentColor;border-radius:50%;flex:none;width:9px;height:9px}.sw-ok{color:var(--ok-ink)}.sw-due{color:var(--due-ink)}.sw-late,.sw-report{color:var(--late-ink)}.sw-new{color:var(--muted)}.sw-late:before{background:0 0;box-shadow:inset 0 0 0 2.5px}.sw-report:before{border-radius:50% 50% 50% 0;transform:rotate(-45deg)}.sw-new:before{background:0 0;box-shadow:inset 0 0 0 2px}.legend{font-size:var(--fs-sm);color:var(--muted);flex-wrap:wrap;gap:6px 16px;display:flex}.legend .sw{font-weight:var(--fw-medium);color:var(--muted)}.legend .sw-ok:before{background:var(--ok)}.legend .sw-due:before{background:var(--due)}.legend .sw-late:before{box-shadow:inset 0 0 0 2.5px var(--late)}.legend .sw-report:before{background:var(--late)}.pin{--pin:36px;width:var(--pin);height:var(--pin);background:var(--late);border-radius:50% 50% 50% 0;flex:none;place-items:center;display:inline-grid;position:relative;transform:rotate(-45deg)}.pin .ic{color:#fff;stroke-width:2.2px;width:50%;height:50%;transform:rotate(45deg)}.pin--sm{--pin:28px}.pin--md{--pin:36px}.pin--lg{--pin:48px}.pin--xl{--pin:64px}.pin--xl .ic{stroke-width:2px}.pin--quiet{background:var(--late-trace)}.card{background:var(--surface);border-radius:var(--r-lg);padding:var(--sp-5)}.card-h{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:14px;display:flex}.card-h h2{font-size:var(--fs-base);font-weight:var(--fw-semibold)}.card-h .meta{color:var(--faint);font-size:var(--fs-sm)}.kpi{min-width:0;padding:18px 20px}.kpi .k{font-size:var(--fs-sm);color:var(--muted)}.kpi .v{font-size:32px;font-weight:var(--fw-semibold);letter-spacing:-.025em;margin-top:4px;line-height:1.1}.kpi .v small{font-size:var(--fs-base);color:var(--faint);font-weight:var(--fw-medium);letter-spacing:0}.kpi .s{font-size:var(--fs-sm);color:var(--faint);margin-top:2px}.kpi .s b{color:var(--text);font-weight:var(--fw-semibold)}.kpi.is-alarm .v{color:var(--late-ink)}.meter{background:var(--raised);border-radius:2px;height:4px;margin-top:10px;position:relative}.meter i{background:var(--ok);transition:width .6s var(--ease-out);border-radius:2px;position:absolute;inset:0 auto 0 0}.meter i.ink{background:var(--text)}.meter b{background:var(--text);width:2px;height:10px;margin-left:-1px;position:absolute;top:-3px}.kpi.flash .v{animation:flash .7s var(--ease-out)}@keyframes flash{0%{opacity:0;transform:translateY(-6px)}}.plan{width:100%;position:relative}.plan-svg,.iso-svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.pl-foot{fill:var(--pl-foot)}.pl-room{fill:var(--pl-room);transition:fill .4s}.pl-room.is-point{fill:var(--pl-point)}.pl-room.st-due,.pl-zone.st-due{fill:var(--pl-due)}.pl-room.st-late,.pl-zone.st-late{fill:var(--pl-late)}.pl-room.st-report,.pl-zone.st-report{fill:var(--pl-report)}.pl-room.st-new{fill:var(--pl-point);stroke:var(--text);stroke-width:2px;stroke-dasharray:8 7}.pl-zone{fill:#0000;stroke:var(--pl-stroke);stroke-width:2px;stroke-dasharray:6 6}.pl-zone.st-ok{fill:#0000}.pl-room.is-focus,.pl-zone.is-focus{stroke:var(--text);stroke-width:4px;stroke-dasharray:none}.pl-core{fill:var(--pl-core)}.pl-stair line{stroke:var(--pl-stroke);stroke-width:2px}.pl-door{fill:var(--ok)}.pl-label{fill:var(--pl-label);font-family:var(--font);font-weight:var(--fw-medium);letter-spacing:0}.pl-label.is-point{fill:var(--text);font-weight:var(--fw-semibold)}.plan.no-labels .pl-label{display:none}.plan-marks{pointer-events:none;position:absolute;inset:0}.pl-route path{fill:none;stroke:var(--text);stroke-width:7px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:2 16;animation:1.2s linear infinite march}@keyframes march{to{stroke-dashoffset:-18px}}.plan-chip{background:var(--surface);border-radius:var(--r-pill);font-size:var(--fs-sm);font-weight:var(--fw-semibold);box-shadow:var(--shadow-chip);padding:5px 12px;position:absolute;top:10px;left:10px}.plan-chip--right{left:auto;right:10px}.plan-tag{background:var(--surface);border-radius:var(--r-pill);font-size:var(--fs-xs);font-weight:var(--fw-semibold);white-space:nowrap;box-shadow:var(--shadow-chip);pointer-events:none;align-items:center;gap:6px;padding:3px 10px 3px 3px;display:flex;position:absolute;transform:translate(-50%,-50%)}.plan-tag--after{transform:translate(20px,-50%)}.plan-tag .av{width:24px;height:24px;font-size:10px}.plan-tag--ink{background:var(--text);color:var(--ground);font-size:var(--fs-sm);border-radius:12px;padding:6px 10px 6px 8px}.plan-tag--ink .ic{width:16px;height:16px}.here-chip{background:var(--text);color:var(--ground);font-size:var(--fs-md);font-weight:var(--fw-semibold);border-radius:var(--r-pill);white-space:nowrap;pointer-events:none;padding:6px 12px;position:absolute;transform:translate(-50%,calc(-100% - 60px))}.here-chip:after{content:"";background:inherit;border-radius:2px;width:10px;height:10px;margin-left:-5px;position:absolute;bottom:-5px;left:50%;transform:rotate(45deg)}.mk{--c:var(--ok);--s:14px;pointer-events:auto;border-radius:50%;place-items:center;width:44px;height:44px;margin:-22px 0 0 -22px;display:grid;position:absolute}.mk--due{--c:var(--due)}.mk--late,.mk--report{--c:var(--late)}.mk--new{--c:var(--faint)}.mk--big{--s:18px}.mk-dot{width:var(--s);height:var(--s);background:var(--c);box-shadow:0 0 0 3px var(--pl-point);transition:transform .2s var(--ease-out);border-radius:50%}.mk--late .mk-dot,.mk--new .mk-dot{background:var(--pl-point);box-shadow:inset 0 0 0 4px var(--c), 0 0 0 3px var(--pl-point)}.mk-ring{width:var(--s);height:var(--s);margin:calc(var(--s) / -2) 0 0 calc(var(--s) / -2);border:2px solid var(--c);opacity:0;pointer-events:none;border-radius:50%;position:absolute;top:50%;left:50%}.mk--due .mk-ring:not(.mk-ring2){animation:ring var(--ring-due) var(--ease-out) infinite}.mk--late .mk-ring:not(.mk-ring2){animation:ring var(--ring-late) var(--ease-out) infinite}.mk--report .mk-ring{animation:ring var(--ring-report) var(--ease-out) infinite}.mk--report .mk-ring2{animation-delay:1s}@keyframes ring{0%{opacity:.85;transform:scale(1)}to{opacity:0;transform:scale(4.2)}}@media (hover:hover) and (pointer:fine){.mk:hover .mk-dot{transform:scale(1.25)}}.mk.is-selected .mk-dot{box-shadow:0 0 0 3px var(--pl-point), 0 0 0 6px var(--text);transform:scale(1.35)}.mk--pin .mk-dot{--s:10px}.mk-head{background:var(--c);width:38px;height:38px;box-shadow:0 0 0 3px var(--pl-point);border-radius:50% 50% 50% 0;place-items:center;margin:0 0 9px -19px;display:grid;position:absolute;bottom:50%;left:50%;transform:rotate(-45deg)}.mk-head .ic{color:#fff;stroke-width:2.2px;width:19px;height:19px;transform:rotate(45deg)}.mk--big .mk-head{width:46px;height:46px;margin-left:-23px}.mk--big .mk-head .ic{width:23px;height:23px}.mk--here{--c:var(--text)}.mk--here .mk-ring{animation:ring 2.4s var(--ease-out) infinite}.mk--here .mk-ring2{animation-delay:1.2s}.mk-you{background:var(--pl-point);border-radius:50%;width:14px;height:14px}.mk--drop .mk-head{animation:drop .52s var(--ease-out) both}@keyframes drop{0%{opacity:0;transform:translateY(-26px)rotate(-45deg)}60%{opacity:1}to{transform:translateY(0)rotate(-45deg)}}.plan--mini .mk{transform:scale(.62)}.plan--mini .mk-ring{display:none}.co{pointer-events:none;white-space:nowrap;position:absolute;transform:translate(14px,-50%)}.co.left{transform:translate(calc(-100% - 14px),-50%)}.building{width:100%;position:relative}.iso-side{fill:var(--pl-core)}.iso-side2{fill:var(--line)}.iso-floor.is-dim{opacity:.35}.iso-flabel{text-align:right;font-weight:var(--fw-semibold);white-space:nowrap;pointer-events:none;padding-right:18px;position:absolute;transform:translate(-100%,-50%)}.iso-flabel small{font-weight:var(--fw-medium);color:var(--faint);display:block}.dt{height:32px;position:relative}.dt:before{content:"";background:var(--rule);border-radius:1px;height:2px;margin-top:-1px;position:absolute;top:50%;left:0;right:0}.dt>i{display:block;position:absolute}.dt-past{background:var(--line);height:2px;margin-top:-1px;top:50%;left:0}.theme-dark .dt-past{background:var(--control);opacity:.55}.dt-tick{background:var(--ok);border-radius:2px;width:4px;height:16px;margin:-8px 0 0 -2px;top:50%}.dt-plan{background:var(--control);border-radius:50%;width:4px;height:4px;margin:-2px 0 0 -2px;top:50%}.dt-gap{border-radius:3px;height:6px;margin-top:-3px;top:50%}.dt-gap.is-due{background:var(--due)}.dt-gap.is-late{background:repeating-linear-gradient(-45deg, var(--late) 0 3px, transparent 3px 6px);box-shadow:inset 0 0 0 1.5px var(--late)}.dt-rep{border-radius:5px;min-width:4px;height:10px;margin-top:-5px;top:50%}.dt-rep.is-closed{background:var(--late-trace)}.dt-rep.is-open{background:var(--late)}.dt-rep.is-open:after{content:"";background:var(--late);width:10px;height:10px;animation:pulseRed 1.6s var(--ease-out) infinite;border-radius:50%;margin-top:-5px;position:absolute;top:50%;right:-5px}@keyframes pulseRed{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--late) 60%, transparent)}70%,to{box-shadow:0 0 0 10px #0000}}.dt-now{background:var(--text);border-radius:1px;width:2px;margin-left:-1px;top:2px;bottom:2px}.dt-tick.is-new{animation:tickIn .7s var(--ease-out) both .25s;transform-origin:50% 100%}@keyframes tickIn{0%{opacity:0;transform:scaleY(.2)}60%{opacity:1;transform:scaleY(1.35)}to{transform:none}}.dt-rep.is-new{animation:barIn .5s var(--ease-out) both;transform-origin:0}@keyframes barIn{0%{opacity:0;transform:scaleX(.2)}}.dt--compact{height:24px}.dt--compact .dt-tick{height:12px;margin-top:-6px}.dt-axis{height:22px;font-size:var(--fs-xs);color:var(--faint);position:relative}.dt-axis span{position:absolute;top:3px;transform:translate(-50%)}.dt-axis span:first-child{transform:none}.dt-axis span:last-of-type{transform:translate(-100%)}.dt-nowlabel{border-radius:var(--r-xs);background:var(--text);color:var(--ground);font-size:var(--fs-xs);font-weight:var(--fw-semibold);padding:0 7px;line-height:20px;position:absolute;top:0;transform:translate(-50%)}.dt-legend{font-size:var(--fs-sm);color:var(--muted);flex-wrap:wrap;gap:6px 18px;display:flex}.dt-legend span{align-items:center;gap:8px;display:inline-flex}.dt-legend i{flex:none;display:inline-block}.lg-tick{background:var(--ok);border-radius:2px;width:4px;height:14px}.lg-plan{background:var(--control);border-radius:50%;width:5px;height:5px}.lg-due{background:var(--due);border-radius:3px;width:18px;height:6px}.lg-late{background:repeating-linear-gradient(-45deg, var(--late) 0 3px, transparent 3px 6px);width:18px;height:6px;box-shadow:inset 0 0 0 1.5px var(--late);border-radius:3px}.lg-open{background:var(--late);border-radius:5px;width:18px;height:10px}.lg-closed{background:var(--late-trace);border-radius:5px;width:18px;height:10px}.lg-now{background:var(--text);border-radius:1px;width:2px;height:16px}.tracker{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.tracker li{align-content:start;gap:8px;min-width:0;display:grid}.tracker .bar{background:color-mix(in srgb, var(--text) 10%, transparent);border-radius:4px;height:8px;position:relative;overflow:hidden}.tracker .bar i{border-radius:inherit;background:var(--ok);transform-origin:0;transition:transform .7s var(--ease-in-out);position:absolute;inset:0;transform:scaleX(0)}.tracker .is-done .bar i{transform:scaleX(1)}.tracker .is-now .bar i{animation:wait 1.8s var(--ease-in-out) infinite alternate}@keyframes wait{0%{transform:scaleX(.08)}to{transform:scaleX(.6)}}.tracker .lbl{font-size:var(--fs-md);font-weight:var(--fw-semibold);line-height:1.2}.tracker .lbl small{font-weight:var(--fw-medium);color:var(--muted);font-size:var(--fs-sm);margin-top:2px;display:block}.tracker li:not(.is-done):not(.is-now) .lbl{color:var(--faint)}.countdown{background:var(--surface);border-radius:var(--r-lg);padding:18px 18px 16px}.cd-top{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.cd-age{font-size:56px;line-height:.95;font-weight:var(--fw-semibold);letter-spacing:-.045em}.cd-age small{font-size:var(--fs-sm);font-weight:var(--fw-medium);letter-spacing:0;color:var(--muted);margin-bottom:6px;display:block}.cd-goal{text-align:right;font-size:var(--fs-sm);color:var(--muted)}.cd-goal b{font-size:var(--fs-xl);color:var(--text);font-weight:var(--fw-semibold);letter-spacing:-.02em;display:block}.cd-bar{background:var(--raised);border-radius:5px;height:10px;margin-top:18px;position:relative}.cd-bar .fill{background:var(--due);border-radius:5px;transition:width .9s linear;position:absolute;top:0;bottom:0;left:0}.cd-bar .over{background:var(--late);border-radius:0 5px 5px 0;position:absolute;top:0;bottom:0}.cd-bar .goal{background:var(--text);border-radius:2px;width:3px;margin-left:-1.5px;position:absolute;top:-6px;bottom:-6px}.cd-lab{height:18px;font-size:var(--fs-xs);color:var(--muted);margin-top:8px;position:relative}.cd-lab span{white-space:nowrap;position:absolute;transform:translate(-50%)}.cd-lab span:first-child{transform:none}.cd-say{font-size:var(--fs-md);color:var(--muted);margin-top:10px}.cd-say b{color:var(--text);font-weight:var(--fw-semibold)}.countdown.is-late .cd-age,.countdown.is-late .cd-say b{color:var(--late-ink)}.countdown.is-closed .cd-age{color:var(--ok-ink)}.countdown.is-closed .fill{background:var(--ok)}.chain{position:relative}.chain li{grid-template-columns:50px 24px 1fr;align-items:start;gap:10px;padding-bottom:16px;display:grid;position:relative}.chain li:before{content:"";background:var(--rule);width:2px;position:absolute;top:22px;bottom:0;left:71px}.chain li:last-child{padding-bottom:0}.chain li:last-child:before{display:none}.chain time{font-size:var(--fs-md);color:var(--muted);padding-top:2px}.chain .dot{width:24px;height:24px;box-shadow:inset 0 0 0 2px var(--control);background:var(--surface);border-radius:50%;place-items:center;display:grid}.chain .dot .ic{stroke-width:3px;width:13px;height:13px}.chain .is-done .dot{background:var(--ok);box-shadow:none;color:#fff}.chain .is-done time{color:var(--text)}.chain .is-alarm .dot{background:var(--late);color:#fff;box-shadow:none}.chain .is-alarm time{color:var(--late-ink);font-weight:var(--fw-semibold)}.chain .is-next .dot{box-shadow:inset 0 0 0 2px var(--due)}.chain .is-next .dot:after{content:"";background:var(--due);border-radius:50%;width:8px;height:8px;animation:1.6s ease-in-out infinite blink}.chain b{font-weight:var(--fw-semibold);align-items:center;gap:8px;display:flex}.chain small{font-size:var(--fs-md);color:var(--muted);margin-top:1px;display:block}.hold{border-radius:var(--r-pill);background:var(--ok);color:#04261a;width:100%;min-height:60px;font-weight:var(--fw-semibold);font-size:var(--fs-lg);-webkit-user-select:none;user-select:none;touch-action:none;-webkit-touch-callout:none;transition:transform var(--dur-quick) var(--ease-out), background-color var(--dur-base) ease;position:relative;overflow:hidden}.hold .fill{clip-path:inset(0 100% 0 0);transition:clip-path .2s var(--ease-out);background:#0a3d2a;position:absolute;inset:0}.hold .lbl{justify-content:center;align-items:center;gap:10px;height:100%;min-height:60px;display:flex;position:relative}.hold .lbl.on-fill{color:#fff;clip-path:inset(0 100% 0 0);transition:clip-path .2s var(--ease-out);position:absolute;inset:0}.hold.is-holding{transform:scale(.98)}.hold.is-holding .fill,.hold.is-holding .lbl.on-fill{clip-path:inset(0);transition:clip-path var(--dur-hold) linear}.hold.is-frozen .fill,.hold.is-frozen .lbl.on-fill{clip-path:inset(0 38% 0 0);transition:none}.hold:disabled{background:var(--sunk);color:var(--faint);cursor:not-allowed}.hold:disabled .fill,.hold:disabled .on-fill{display:none}.checks li+li button{box-shadow:inset 0 1px 0 var(--rule)}.checks button{width:100%;min-height:var(--tap);text-align:left;font-size:var(--fs-base);transition:color var(--dur-quick) ease;grid-template-columns:30px 1fr;align-items:center;gap:12px;padding:6px 2px;display:grid}.box{width:28px;height:28px;box-shadow:inset 0 0 0 2px var(--control);transition:background-color var(--dur-quick) ease, box-shadow var(--dur-quick) ease, transform var(--dur-quick) var(--ease-out);border-radius:50%;place-items:center;display:grid}.box .ic{color:#fff;stroke-width:3px;opacity:0;width:16px;height:16px;transition:opacity var(--dur-quick) ease, transform .2s var(--ease-out);transform:scale(.6)}.checks button:active .box{transform:scale(.9)}.checks [aria-checked=true] .box{background:var(--ok);box-shadow:none}.checks [aria-checked=true] .box .ic{opacity:1;transform:none}.checks [aria-checked=true]{color:var(--muted)}.proof{border-radius:var(--r-md);background:var(--sunk);margin:0;position:relative;overflow:hidden}.proof img{object-fit:cover;width:100%;height:100%}.stamp{border-radius:var(--r-pill);color:#fff;max-width:calc(100% - 20px);font-size:var(--fs-sm);font-weight:var(--fw-medium);white-space:nowrap;background:#0a0c0dd6;align-items:center;gap:8px;padding:4px 10px 4px 6px;display:flex;position:absolute;bottom:10px;left:10px}.stamp b{font-weight:var(--fw-semibold);padding-left:4px}.stamp span{text-overflow:ellipsis;overflow:hidden}.stamp .av{background:hsl(var(--h) 30% 26%);width:22px;height:22px;color:hsl(var(--h) 60% 86%);font-size:10px}.cam,.prev{z-index:var(--z-overlay);color:#fff;background:#000;display:grid;position:fixed;inset:44px 0 0}.cam{grid-template-rows:auto 1fr auto auto}.prev{grid-template-rows:auto 1fr auto}.cam-top{font-weight:var(--fw-semibold);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.cam-top .x{color:#fff;background:#1d1d1d}.cam-view{border-radius:18px;margin:0 8px;position:relative;overflow:hidden}.cam-view img{object-fit:cover;width:100%;height:100%}.cam-frame{border-radius:18px;position:absolute;inset:14%;box-shadow:0 0 0 2000px #00000047,inset 0 0 0 2px #ffffffbf}.cam-warn{border-radius:var(--r-md);font-size:var(--fs-md);background:#0d1214;gap:10px;padding:10px 12px;display:flex;position:absolute;top:12px;left:12px;right:12px}.cam-warn .ic{color:#f5b83d;margin-top:1px}.cam-ctl{grid-template-columns:1fr auto 1fr;align-items:center;padding:18px 20px 8px;display:grid}.gallery-off{font-size:var(--fs-sm);color:#c7c7c7;align-items:center;gap:8px;display:flex}.gallery-off .ic{width:18px;height:18px}.shutter{width:76px;height:76px;transition:transform var(--dur-press) var(--ease-out);border-radius:50%;place-items:center;display:grid;box-shadow:inset 0 0 0 4px #fff}.shutter span{background:#fff;border-radius:50%;width:60px;height:60px}.shutter:active{transform:scale(.94)}.cam-foot{text-align:center;font-size:var(--fs-sm);color:#b5b5b5;padding:4px 16px 18px}.prev .proof{border-radius:18px;margin:0 8px}.prev-actions{grid-template-columns:1fr 1.4fr;gap:10px;padding:16px;display:grid}.prev-actions .btn{color:#fff;background:#1d1d1d}.prev-actions .btn-go{color:#04261a;background:#4fe0a6}.lock{color:#f2f2f3;background:#000;flex-direction:column;align-items:center;min-height:calc(100dvh - 44px);padding:44px 14px 24px;display:flex}.lock-date{font-size:var(--fs-lg);font-weight:var(--fw-medium);color:#d4d4d8}.lock-clock{font-size:var(--fs-6xl);font-weight:var(--fw-semibold);letter-spacing:-.05em;margin:2px 0 40px;line-height:1}.lock-list{gap:4px;width:100%;max-width:420px;display:grid}.sms{text-align:left;color:#fff;width:100%;transition:transform var(--dur-quick) var(--ease-out);animation:smsIn .52s var(--ease-drawer) both .15s;background:#1c1f21;border-radius:22px;gap:3px;padding:13px 15px 15px;display:grid}.sms:active{transform:scale(.985)}.sms.is-older{opacity:.8;background:#131618;margin-top:8px;animation:none}@keyframes smsIn{0%{opacity:0;transform:translateY(-18px)scale(.98)}}.sms-head{font-size:var(--fs-sm);color:#a6adb0;align-items:center;gap:8px;display:flex}.sms-app{color:#fff;background:#34c759;border-radius:6px;place-items:center;width:22px;height:22px;display:grid}.sms-app .ic{width:14px;height:14px}.sms-head time{margin-left:auto}.sms-from{font-weight:var(--fw-bold);letter-spacing:.01em;margin-top:4px;font-size:15px}.sms-body{color:#e8eaeb;font-size:15px;line-height:1.4}.sms-body u{color:#8ec5ff;text-underline-offset:2px}.sms.is-esc .sms-from:after{content:" · gecikti";color:#ff8c84;font-weight:var(--fw-semibold)}.sms-meta{font-size:var(--fs-xs);color:#7d858a;margin:6px 8px 0}.lock-who{font-size:var(--fs-md);color:#9aa1a4;text-align:center;margin-top:auto;padding-top:28px}.sheet{background:var(--surface);border-radius:var(--r-xl) var(--r-xl) 0 0;animation:sheetIn var(--dur-enter) var(--ease-drawer) both;padding:8px 16px 0;position:relative}@keyframes sheetIn{0%{opacity:0;transform:translateY(40px)}}.grab{background:var(--sunk);border-radius:3px;width:40px;height:5px;margin:0 auto 12px}.dock{z-index:5;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--surface);box-shadow:0 -1px 0 var(--rule);margin:18px -16px 0;position:sticky;bottom:0}.dock .hint{text-align:center;font-size:var(--fs-md);color:var(--muted);margin-top:8px}.dock .hint b{color:var(--text)}.stops{grid-template-columns:1.15fr 1fr 1fr;gap:6px;display:grid}.stop{background:var(--surface);border-radius:var(--r-md);font-size:var(--fs-xs);color:var(--muted);min-width:0;padding:9px 11px}.stop b{color:var(--text);font-size:var(--fs-sm);font-weight:var(--fw-semibold);white-space:nowrap;text-overflow:ellipsis;margin:1px 0;display:block;overflow:hidden}.stop.is-now{background:var(--text);color:#c9d0cd}.stop.is-now b{color:#fff}.stop .w-late,.stop .w-report{color:var(--late-ink);font-weight:var(--fw-semibold)}.stop .w-due{color:var(--due-ink);font-weight:var(--fw-semibold)}.stop.is-now .w-late,.stop.is-now .w-report{color:#ff8c84}.stop.is-now .w-due{color:#f5b83d}.field label{font-weight:var(--fw-semibold);margin-bottom:6px;display:block}.field input,.field textarea{width:100%;min-height:var(--tap);border-radius:var(--r-md);background:var(--surface);box-shadow:inset 0 0 0 2px var(--control);font-size:var(--fs-xl);font-weight:var(--fw-medium);border:0;padding:0 16px}.field input:focus,.field textarea:focus{box-shadow:inset 0 0 0 2px var(--text);outline:none}.done-mark{background:var(--ok);width:52px;height:52px;animation:pop .38s var(--ease-out) both;border-radius:50%;flex:none;place-items:center;display:grid}.done-mark svg{fill:none;stroke:#fff;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:30;stroke-dashoffset:30px;width:28px;height:28px;animation:draw .42s .12s var(--ease-out) forwards}@keyframes draw{to{stroke-dashoffset:0}}@keyframes pop{0%{opacity:0;transform:scale(.8)}}.toast{z-index:var(--z-toast);color:#fff;border-radius:var(--r-pill);font-weight:var(--fw-medium);transition:transform .3s var(--ease-out), opacity .3s ease;white-space:nowrap;background:#0d1214;align-items:center;gap:10px;padding:12px 18px;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 12px 30px #00000040}@starting-style{.toast{opacity:0;transform:translate(-50%,16px)}}.mock-strip{z-index:var(--z-strip);color:#ddd;min-height:44px;font:500 13px/1 var(--font);scrollbar-width:none;white-space:nowrap;background:#000;align-items:center;gap:6px;padding:6px 12px;display:flex;position:sticky;top:0;overflow-x:auto}.mock-strip::-webkit-scrollbar{display:none}.mock-strip .tag{color:#000;background:#f5d547;border-radius:6px;padding:4px 8px;font-weight:700}.mock-strip a{color:#ddd;padding:8px 6px}.mock-strip .sep{background:#333;flex:none;align-self:stretch;width:1px;margin:0 4px}.mock-strip button{color:#ddd;background:#1a1a1a;border-radius:999px;min-height:32px;padding:0 12px;transition:background-color .15s}.mock-strip button[aria-pressed=true]{color:#000;background:#f5d547;font-weight:600}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:1ms!important;animation-duration:1ms!important;animation-iteration-count:1!important}.mk-ring{opacity:.5!important;transform:scale(2.2)!important}.pl-route path{animation:none}}
:root{--font:"Instrument Sans Variable", "Instrument Sans", system-ui, -apple-system, "Segoe UI", sans-serif}html,body{min-height:100%}
