@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.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}@font-face{font-family:Noto Serif Display;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-serif-display-latin-400-normal-USF2Wcf4.woff2)format("woff2"),url(/assets/noto-serif-display-latin-400-normal-gTjKYAq0.woff)format("woff")}:root,:root[data-theme=light]{--z-drawer:100;--z-modal:200;--z-popover:260;--z-sheet:280;--z-toast:300;--z-tip:1000;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f2f3f5;--surface:#fff;--surface-2:#f6f7f9;--surface-3:#e8eaee;--ink:#1d2024;--ink-2:#565c64;--ink-3:#676d75;--line:#1d202412;--line-solid:#1d20241a;--line-strong:#1d202433;--ash:#425369;--ash-hover:#364558;--ash-ink:#fff;--ash-text:#3b4b60;--ash-soft:#42536917;--stone:#af9d84;--stone-text:#7a6446;--stone-soft:#af9d8433;--k-project:#425369;--k-project-soft:#4253691a;--k-sheet:#7a6446;--k-sheet-soft:#af9d8438;--k-pallet:#66557f;--k-pallet-soft:#66557f1f;--k-machine:#3d4650;--k-machine-soft:#3d465017;--bar:#1d2024;--bar-ink:#f4f5f7;--bar-ink-2:#f4f5f7b3;--bar-line:#f4f5f729;--planned:#e8eaee;--planned-ink:#1d2024;--planned-edge:#8a919a;--progress:#f59e0b;--progress-ink:#1f1500;--progress-soft:#fdedc9;--progress-text:#8a5300;--done:#15803d;--done-ink:#fff;--done-soft:#dcf2e3;--done-text:#126b33;--danger:#dc2626;--danger-hover:#b91c1c;--danger-ink:#fff;--danger-text:#c11c1c;--danger-soft:#dc26261a;--info:#2a78d6;--info-ink:#fff;--info-soft:#dde9f9;--info-text:#1d5fae;--proposed:#425369;--proposed-ink:#fff;--closed:#1d20240d;--closed-strong:#1d20241a;--overlay:#11141861;--shadow-xs:0 1px 2px #1018280d;--shadow-card:0 1px 2px #1018280a, 0 2px 8px #1018280a;--shadow-raise:0 2px 4px #1018280d, 0 8px 24px #10182814;--shadow-pop:0 4px 12px #10182814, 0 24px 56px #10182829;--focus:#425369;--focus-ring:0 0 0 3px #42536938;--warn-text:#8a5300;--go:#f59e0b;--go-ink:#1f1500;--go-press:#d98a06;--finish:#15803d;--finish-ink:#fff;--finish-press:#116b33;--series-1:#2a78d6;--series-2:#eb6834;--series-3:#1baf7a;--series-4:#eda100;--series-5:#e87ba4;--series-6:#008300;--series-7:#4a3aa7;--series-other:#9a978f;--scan:#2b3644;--scan-ink:#fff;--font:"Helvetica Neue", Helvetica, "Inter Variable", Inter, Arial, system-ui, sans-serif;--serif:"Noto Serif Display", Georgia, "Times New Roman", serif;--radius-sm:6px;--radius:10px;--radius-pop:14px;--radius-card:16px;--radius-sheet:22px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--text-xs:12px;--text-sm:13px;--text-base:15px;--text-md:17px;--text-lg:20px;--text-xl:28px;--dur:.16s;--ease:cubic-bezier(.2, 0, 0, 1);--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-drawer:cubic-bezier(.32, .72, 0, 1)}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#111418;--surface:#1a1e23;--surface-2:#20252b;--surface-3:#2b3138;--ink:#eceef1;--ink-2:#a8aeb6;--ink-3:#959ba3;--line:#eceef112;--line-solid:#eceef11a;--line-strong:#eceef13d;--ash:#56698a;--ash-hover:#6479a0;--ash-ink:#fff;--ash-text:#9fb1c9;--ash-soft:#9fb1c91f;--stone:#c2b39c;--stone-text:#d3c3aa;--stone-soft:#c2b39c26;--k-project:#9fb1c9;--k-project-soft:#9fb1c921;--k-sheet:#d3c3aa;--k-sheet-soft:#c2b39c26;--k-pallet:#bba8d6;--k-pallet-soft:#bba8d624;--k-machine:#c3c9d0;--k-machine-soft:#c3c9d01a;--bar:#262c33;--bar-ink:#eceef1;--bar-ink-2:#eceef1ad;--bar-line:#eceef124;--planned:#2b3138;--planned-ink:#eceef1;--planned-edge:#8d949c;--progress:#fbbf24;--progress-ink:#1b1400;--progress-soft:#4a3810;--progress-text:#fbcf5a;--done:#22a55a;--done-ink:#04150b;--done-soft:#163b26;--done-text:#6fd59a;--danger:#ef4444;--danger-hover:#f25c5c;--danger-ink:#fff;--danger-text:#ff7474;--danger-soft:#ef444429;--info:#3987e5;--info-ink:#fff;--info-soft:#1b3150;--info-text:#8bbaf2;--proposed:#56698a;--proposed-ink:#fff;--closed:#eceef10a;--closed-strong:#eceef114;--overlay:#00000094;--shadow-xs:0 1px 2px #0000004d;--shadow-card:0 1px 2px #00000040, 0 0 0 1px #eceef10d;--shadow-raise:0 2px 6px #0000004d, 0 0 0 1px #eceef10f;--shadow-pop:0 4px 12px #00000059, 0 24px 56px #00000080;--focus:#9fb1c9;--focus-ring:0 0 0 3px #9fb1c94d;--warn-text:#fbcf5a;--go:#fbbf24;--go-ink:#1b1400;--go-press:#e5a812;--finish:#16a34a;--finish-ink:#fff;--finish-press:#128a3e;--series-1:#3987e5;--series-2:#d95926;--series-3:#199e70;--series-4:#c98500;--series-5:#d55181;--series-6:#008300;--series-7:#9085e9;--series-other:#7e7a73;--scan:#56698a;--scan-ink:#fff}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--ink);font:400 var(--text-base) / 1.5 var(--font);font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;margin:0}h1,h2,h3,h4,p{margin:0}h1,h2,h3{letter-spacing:-.015em;text-wrap:balance}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:var(--ash-text)}img{max-width:100%;display:block}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:4px}::selection{background:var(--stone-soft)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.label{font-size:var(--text-xs);letter-spacing:.02em;color:var(--ink-3);font-weight:600}.muted{color:var(--ink-2)}.num{font-variant-numeric:tabular-nums}.danger-text{color:var(--danger-text)}.warn-text{color:var(--warn-text)}.rule{border:0;border-top:1px solid var(--line);margin:0}.wordmark{font-family:var(--serif);letter-spacing:.22em;text-transform:uppercase;font-weight:400}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.strong{font-weight:600}.afj-mark{color:var(--ash-text);flex:none;display:inline-block}.afj-mark svg{width:100%;height:100%;display:block}.tool-name{min-width:0;display:grid}.tool-kicker{letter-spacing:.02em;color:var(--ink-3);font-size:11.5px;font-weight:500;line-height:1.2}.btn{border:1px solid var(--line-solid);border-radius:var(--radius);background:var(--surface);min-height:36px;box-shadow:var(--shadow-xs);color:var(--ink);white-space:nowrap;transition:background-color var(--dur) var(--ease), border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease), transform var(--dur) var(--ease-out);justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:14px;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){background:var(--surface-2);border-color:var(--line-strong)}.btn:active:not(:disabled){transform:scale(.97)}.btn:disabled,.btn.disabled{opacity:.45;pointer-events:none}.btn svg{flex:none}.btn-primary{background:var(--ash);border-color:var(--ash);color:var(--ash-ink);box-shadow:0 1px 2px #1018281f,inset 0 1px #ffffff14}.btn-primary:hover:not(:disabled){background:var(--ash-hover);border-color:var(--ash-hover)}.btn-start{background:var(--progress);border-color:var(--progress);color:var(--progress-ink)}.btn-start:hover:not(:disabled){background:var(--progress);filter:brightness(1.05)}.btn-finish{background:var(--done);border-color:var(--done);color:var(--done-ink)}.btn-finish:hover:not(:disabled){background:var(--done);filter:brightness(1.1)}.btn-danger{background:var(--danger);border-color:var(--danger);color:var(--danger-ink)}.btn-danger:hover:not(:disabled){background:var(--danger-hover)}.btn-danger-outline{border-color:var(--danger);color:var(--danger-text)}.btn-ghost{box-shadow:none;background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--surface-3);border-color:#0000}.btn-sm{border-radius:8px;gap:6px;min-height:30px;padding:0 10px;font-size:13px}.btn-lg{min-height:48px;padding:0 20px;font-size:16px}.btn-xl{gap:12px;min-height:72px;padding:0 32px;font-size:22px}.btn-block{width:100%}.btn-icon{width:36px;padding:0}.btn-icon.btn-sm{width:30px}.tag{background:var(--surface-3);color:var(--ink);font-size:var(--text-xs);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:2px 9px 2px 8px;font-weight:600;line-height:1.5;display:inline-flex}.tag:before{content:"";background:var(--planned-edge);border-radius:50%;flex:none;width:6px;height:6px}.tag-planned:before{background:var(--planned-edge)}.tag-progress{background:var(--progress-soft);color:var(--progress-text)}.tag-progress:before{background:var(--progress)}.tag-done{background:var(--done-soft);color:var(--done-text)}.tag-done:before{background:var(--done)}.tag-danger{color:var(--danger-text);background:var(--danger-soft)}.tag-danger:before{background:var(--danger)}.tag-ash{background:var(--info-soft);color:var(--info-text)}.tag-ash:before{background:var(--info)}.tag-stone{background:var(--stone-soft);color:var(--stone-text)}.tag-stone:before{background:var(--stone)}.tag-solid:before{opacity:.75;background:currentColor}.tag-solid.tag-danger{background:var(--danger);color:var(--danger-ink)}.tag-solid.tag-ash{background:color-mix(in srgb, var(--info) 86%, #000);color:var(--info-ink)}.tag-solid.tag-progress{background:var(--progress);color:var(--progress-ink)}.tag-solid.tag-done{background:var(--done);color:var(--done-ink)}.tag-plain:before{display:none}.tag-unique{box-shadow:inset 0 0 0 1px var(--stone);color:var(--stone-text);background:0 0;font-weight:600}.tag-unique:before{display:none}.count{background:var(--surface-3);min-width:20px;height:20px;color:var(--ink);font-size:var(--text-xs);border-radius:999px;justify-content:center;align-items:center;padding:0 6px;font-weight:700;display:inline-flex}.count-progress{background:var(--progress-soft);color:var(--progress-text)}.count-danger{background:var(--danger);color:var(--danger-ink)}.avatar{background:var(--ash-soft);width:36px;height:36px;color:var(--ash-text);letter-spacing:.02em;border-radius:11px;flex:none;place-items:center;font-size:14px;font-weight:700;display:inline-grid}.kind{font-size:var(--text-xs);letter-spacing:.01em;color:var(--kc,var(--ink-2));white-space:nowrap;align-items:center;gap:7px;font-weight:600;display:inline-flex}.kind-tile{background:var(--kc-soft,var(--surface-3));width:24px;height:24px;color:var(--kc,var(--ink-2));border-radius:7px;flex:none;place-items:center;display:inline-grid}.kind-tile.lg{border-radius:12px;width:40px;height:40px}.kind-tile.xl{border-radius:14px;width:48px;height:48px}.kind-project{--kc:var(--k-project);--kc-soft:var(--k-project-soft)}.kind-sheet{--kc:var(--k-sheet);--kc-soft:var(--k-sheet-soft)}.kind-pallet{--kc:var(--k-pallet);--kc-soft:var(--k-pallet-soft)}.kind-machine{--kc:var(--k-machine);--kc-soft:var(--k-machine-soft)}.tl{margin:0;padding:0;list-style:none;display:grid}.tl-item{grid-template-columns:28px minmax(0,1fr) auto;align-items:start;gap:2px 12px;padding:0 0 16px;display:grid;position:relative}.tl-item:last-child{padding-bottom:0}.tl-item:not(:last-child):before{content:"";background:var(--surface-3);border-radius:1px;width:2px;position:absolute;top:26px;bottom:2px;left:13px}.tl-item.tl-done:not(:last-child):before{background:color-mix(in srgb, var(--done) 45%, var(--surface-3))}.tl-dot{background:var(--surface);width:28px;height:28px;box-shadow:inset 0 0 0 2px var(--line-strong);color:var(--ink-3);border-radius:50%;place-items:center;display:grid;position:relative}.tl-done .tl-dot{background:var(--done);box-shadow:none;color:var(--done-ink)}.tl-part .tl-dot{background:conic-gradient(var(--done) calc(var(--p,.5) * 360deg), var(--surface-3) 0);box-shadow:none}.tl-part .tl-dot:after{content:"";background:var(--surface);border-radius:50%;grid-area:1/1;width:18px;height:18px}.tl-running .tl-dot{background:var(--progress);box-shadow:none;color:var(--progress-ink)}.tl-running .tl-dot:after{content:"";border:2px solid var(--progress);opacity:0;animation:tl-pulse 2s var(--ease-out) infinite;border-radius:50%;position:absolute;inset:-4px}.tl-stopped .tl-dot{background:var(--surface-3);box-shadow:none;color:var(--ink-2)}.tl-danger .tl-dot{background:var(--danger);box-shadow:none;color:var(--danger-ink)}.tl-info .tl-dot{background:var(--surface-3);box-shadow:none;color:var(--ink-2)}.tl-kind .tl-dot{background:var(--kc-soft);box-shadow:none;color:var(--kc)}@keyframes tl-pulse{0%{opacity:.7;transform:scale(.85)}to{opacity:0;transform:scale(1.25)}}.tl-body{min-width:0;padding-top:3px}.tl-title{flex-wrap:wrap;align-items:center;gap:4px 8px;font-weight:600;line-height:1.35;display:flex}.tl-todo .tl-title{color:var(--ink-2);font-weight:500}.tl-meta{color:var(--ink-2);margin-top:2px;font-size:13px;line-height:1.4}.tl-aside{color:var(--ink-2);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;padding-top:4px;font-size:13px}.tl-new{animation:rise .22s var(--ease-out) both}.fold-btn{color:var(--ash-text);background:0 0;border:0;border-radius:8px;align-items:center;gap:6px;margin-top:12px;padding:6px 10px 6px 8px;font-size:14px;font-weight:600;display:inline-flex}.fold-btn:hover{background:var(--surface-2)}.fold-btn svg{transition:transform .2s var(--ease-out)}.fold-btn[aria-expanded=true] svg{transform:rotate(180deg)}.field{align-content:start;gap:6px;min-width:0;display:grid}.field>.label{color:var(--ink-2);justify-content:space-between;gap:8px;font-size:13px;display:flex}.field-hint{color:var(--ink-2);font-size:13px}.field-error{color:var(--danger-text);font-size:13px;font-weight:500}.input,.select,.textarea{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);width:100%;min-height:38px;color:var(--ink);transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);padding:7px 11px;font-size:15px}.input:focus,.select:focus,.textarea:focus{border-color:var(--ash);box-shadow:var(--focus-ring);outline:none}.textarea{resize:vertical;min-height:90px;line-height:1.4}.select{appearance:none;background-image:linear-gradient(45deg, transparent 50%, var(--ink-2) 50%), linear-gradient(135deg, var(--ink-2) 50%, transparent 50%);background-position:calc(100% - 15px) 52%,calc(100% - 10px) 52%;background-repeat:no-repeat;background-size:5px 5px;padding-right:30px}.input[aria-invalid=true],.select[aria-invalid=true],.textarea[aria-invalid=true]{border-color:var(--danger)}.input::placeholder,.textarea::placeholder{color:var(--ink-3)}.check{cursor:pointer;align-items:center;gap:10px;font-size:15px;display:inline-flex}.check input,.table input[type=checkbox]{width:17px;height:17px;accent-color:var(--ash);margin:0}.seg{background:var(--surface-3);border-radius:11px;padding:3px;display:inline-flex}.seg button{color:var(--ink-2);white-space:nowrap;transition:background-color var(--dur) var(--ease), color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);background:0 0;border:0;border-radius:8px;padding:5px 12px;font-size:13px;font-weight:600}.seg button:hover{color:var(--ink)}.seg button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-xs), 0 0 0 1px var(--line)}.table-wrap{background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--shadow-card);overflow-x:auto}.card .table-wrap,.modal .table-wrap{box-shadow:none;border-radius:0}.table{border-collapse:collapse;width:100%;font-size:14px}.table th{text-align:left;color:var(--ink-3);border-bottom:1px solid var(--line-solid);white-space:nowrap;padding:11px 14px;font-size:12.5px;font-weight:500}.table th:first-child,.table td:first-child{padding-left:18px}.table th:last-child,.table td:last-child{padding-right:18px}.table th button{font:inherit;color:inherit;background:0 0;border:0;align-items:center;gap:4px;padding:0;display:inline-flex}.table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:12px 14px}.table .link{white-space:nowrap}@media (width<=640px){.table td{min-width:8.5em}.table td:empty,.table td.cell-thumb{min-width:0}.table td:has(>svg:only-child){min-width:0}.table td:has(>img:only-child){min-width:0}.table td:has(>input:only-child){min-width:0}.table td:has(>button:only-child){min-width:0}.table td.cell-sentence{min-width:15em}}.table tr.clickable{cursor:pointer}.table tr.clickable td{transition:background-color var(--dur) var(--ease)}.table tr.clickable:hover td{background:var(--surface-2)}.table tr.clickable:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.table tbody tr:last-child td{border-bottom:0}.table .r{text-align:right}.table .nowrap{white-space:nowrap}.table .strong{font-weight:600}.banner{border-radius:var(--radius-pop);background:var(--surface);box-shadow:var(--shadow-card);align-items:center;gap:12px;padding:12px 16px;font-size:15px;display:flex}.banner-danger{background:var(--danger);color:var(--danger-ink);font-weight:500}.banner-danger .btn{background:var(--surface);color:var(--ink);border-color:#0000}.banner-warn{background:var(--progress-soft);color:var(--ink);box-shadow:none}.banner-ok{background:var(--done-soft);box-shadow:none}.banner>.grow{flex:1;min-width:0}.modal-back{z-index:var(--z-modal);background:var(--overlay);animation:fade .18s var(--ease-out);place-items:center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:var(--surface);width:min(560px,100%);max-height:calc(100dvh - 32px);box-shadow:var(--shadow-pop);animation:pop-in .2s var(--ease-out);border-radius:20px;flex-direction:column;display:flex;overflow:hidden}.modal-wide{width:min(820px,100%)}.modal-danger{box-shadow:var(--shadow-pop), inset 0 4px 0 var(--danger)}.modal-head{align-items:flex-start;gap:12px;padding:20px 22px 12px;display:flex}.modal-head h2{flex:1;font-size:19px;font-weight:650;line-height:1.25}.modal-body{gap:14px;padding:4px 22px 18px;display:grid;overflow:auto}.modal-foot{background:var(--surface-2);border-top:1px solid var(--line);flex-wrap:wrap;justify-content:flex-end;gap:8px;padding:14px 22px;display:flex}@keyframes fade{0%{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}}@keyframes rise{0%{opacity:0;transform:translateY(6px)}}.toasts{z-index:var(--z-toast);pointer-events:none;gap:8px;width:min(520px,100% - 32px);display:grid;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.toast{pointer-events:auto;background:var(--bar);color:var(--bar-ink);border-radius:var(--radius-pop);box-shadow:var(--shadow-pop);animation:toast-in .28s var(--ease-drawer);align-items:flex-start;gap:12px;padding:12px 12px 12px 14px;font-size:14px;display:flex}.toast:before{content:"";background:var(--stone);border-radius:50%;flex:none;width:8px;height:8px;margin-top:6px}.toast-danger:before{background:var(--danger)}.toast-ok:before{background:#4ade80}.toast.is-leaving{animation:toast-out .2s var(--ease) forwards;pointer-events:none}@keyframes toast-out{to{opacity:0;transform:translateY(12px)scale(.98)}}@keyframes toast-in{0%{opacity:0;transform:translateY(12px)scale(.98)}}.toast ul{color:var(--bar-ink-2);margin:4px 0 0;padding-left:18px}.toast .grow{flex:1;min-width:0}.toast button{color:var(--bar-ink-2);background:0 0;border:0;padding:2px}.empty{text-align:center;color:var(--ink-2);background:var(--surface);border:1px dashed var(--line-strong);border-radius:var(--radius-card);padding:28px 16px;font-size:15px}.empty strong{color:var(--ink);margin-bottom:4px;font-weight:600;display:block}.conn{white-space:nowrap;align-items:center;gap:7px;font-size:13px;font-weight:500;display:inline-flex}.conn i{background:var(--done);border-radius:50%;width:8px;height:8px;position:relative}.conn.online i:after{content:"";background:var(--done);opacity:0;border-radius:50%;animation:3s ease-in-out infinite conn-breathe;position:absolute;inset:-3px}@keyframes conn-breathe{50%{opacity:.25}}.conn.offline i{background:var(--danger)}.conn.connecting i{background:var(--progress)}.dot{background:var(--planned-edge);border-radius:50%;flex:none;width:9px;height:9px;display:inline-block}.dot-running{background:var(--progress)}.dot-idle{background:var(--surface-3);box-shadow:inset 0 0 0 1px var(--line-strong)}.dot-stopped,.dot-maintenance{background:var(--danger)}.progress{background:var(--surface-3);border-radius:999px;height:6px;display:flex;overflow:hidden}.progress i{background:var(--done);height:100%;transition:width .4s var(--ease-out);border-radius:999px;display:block}.progress i.over{background:var(--danger)}.kv{grid-template-columns:max-content 1fr;gap:10px 20px;font-size:14px;display:grid}.kv dt{color:var(--ink-2)}.kv dd{margin:0}.stack{gap:12px;display:grid}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.grow{flex:1;min-width:0}.spinner{border:2px solid var(--line-strong);border-top-color:var(--ash);border-radius:50%;width:22px;height:22px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.photo-thumb{border-radius:var(--radius);border:1px solid var(--line-solid);width:100%;max-width:320px}.toast-action{border-radius:8px;align-self:center;font-weight:600;color:var(--bar-ink)!important;border:1px solid var(--bar-line)!important;padding:4px 10px!important}.tag.tag-text{color:var(--ink);white-space:normal;background:0 0;border-radius:0;align-items:baseline;padding:0;font-size:14px;font-weight:500;line-height:1.4}.tag.tag-text:before{flex:none;width:7px;height:7px;transform:translateY(-1px)}.tag.tag-text.tag-danger{color:var(--danger-text)}.tag.tag-text.tag-solid{font-weight:650}.tag.tag-text.tag-solid:before{background:var(--danger);opacity:1}.loading{justify-items:center;gap:12px;font-size:14px;display:grid}.spinner-sm{vertical-align:-1px;border-width:2px;width:12px;height:12px;display:inline-block}.sync{align-items:center;gap:6px;margin-top:4px;font-size:13px;font-weight:600;display:flex}.sync-ok{color:#86e0a8}.sync-wait{color:var(--bar-ink-2)}.sync-wait .spinner{border-color:var(--bar-line);border-top-color:var(--bar-ink)}.seg-icons button{align-items:center;gap:6px;display:inline-flex}.modal-back.is-ghost{pointer-events:none;animation:fade-out .18s var(--ease) forwards}.modal-back.is-ghost .modal{animation:modal-out .18s var(--ease) forwards}@keyframes fade-out{to{opacity:0}}@keyframes modal-out{to{opacity:0;transform:scale(.97)translateY(4px)}}.table tbody tr{transition:opacity .2s var(--ease)}.avatar.avatar-stonie,.face.face-stonie{box-shadow:none;background:0 0;overflow:visible}.avatar-stonie svg,.face-stonie svg{display:block}.avatar.avatar-photo,.face.face-photo{background:var(--surface-3);padding:0;overflow:hidden}.face.face-photo{box-shadow:0 0 0 1.5px var(--surface)}.avatar-photo img,.face-photo img{object-fit:cover;width:100%;height:100%;display:block}.table-wrap{background:linear-gradient(90deg, var(--surface) 30%, transparent) 0 0 / 40px 100% no-repeat local, linear-gradient(270deg, var(--surface) 30%, transparent) 100% 0 / 40px 100% no-repeat local, radial-gradient(farthest-side at 0 50%, #10182829, transparent) 0 0 / 14px 100% no-repeat scroll, radial-gradient(farthest-side at 100% 50%, #10182829, transparent) 100% 0 / 14px 100% no-repeat scroll, var(--surface)}.toolbar-label{white-space:nowrap}.btn{vertical-align:middle}@media (width<=560px){.kv{grid-template-columns:minmax(0,42%) minmax(0,1fr);gap:10px 14px}}.table td.cell-thumb{width:1%}.crash{place-items:start center;padding:40px 0;display:grid}.crash-box{max-width:560px}.crash-detail{border-radius:var(--radius);background:var(--surface-2);color:var(--ink-2);white-space:normal;word-break:break-word;overflow-wrap:anywhere;margin:0;padding:10px 12px;font-size:12.5px}.crash-actions{flex-wrap:wrap;gap:8px}.office-main:focus:not(:focus-visible),.prog-main:focus:not(:focus-visible){outline:none}:root{--photo-bg:#dfe2e6;--photo-stone:#c9bba5;--photo-stone-2:#b5a68e;--photo-wood:#a07c55}:root[data-theme=dark]{--photo-bg:#2b3138;--photo-stone:#8f8370;--photo-stone-2:#7a6f5e;--photo-wood:#7a5d3f}.photo-strip{flex-wrap:wrap;gap:8px;display:flex}.photo-thumb{background:var(--surface-3);cursor:zoom-in;width:84px;height:64px;box-shadow:0 0 0 1px var(--line-solid);border:0;border-radius:8px;padding:0;position:relative;overflow:hidden}.photo-strip-sm .photo-thumb{border-radius:6px;width:56px;height:42px}.photo-thumb img,.photo-thumb svg{object-fit:cover;width:100%;height:100%;display:block}.photo-thumb:focus-visible{outline:2px solid var(--ash);outline-offset:2px}.photo-loading{background:var(--surface-3);width:100%;height:100%;display:block}.photo-big{z-index:var(--z-toast);background:#0a0c0ee0;place-items:center;padding:56px 16px 24px;animation:.16s ease-out fade;display:grid;position:fixed;inset:0}.photo-big figure{gap:10px;max-width:min(1100px,100%);margin:0;display:grid}.photo-big img,.photo-big .photo-sample{border-radius:8px;width:auto;max-width:100%;max-height:calc(100dvh - 140px);margin:0 auto;display:block}.photo-big .photo-sample{width:min(720px,100%);height:auto}.photo-big figcaption{color:#f4f5f7;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;font-size:14px;display:flex}.photo-big-nav{align-items:center;gap:12px;display:inline-flex}.photo-big-nav button,.photo-big-close{color:#fff;font:inherit;cursor:pointer;background:#ffffff24;border:0;border-radius:8px;padding:8px 12px}.photo-big-close{place-items:center;padding:8px;display:grid;position:absolute;top:12px;right:12px}.toast{touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab;transition:transform .22s var(--ease-out), opacity .22s var(--ease-out)}.toast.is-dragging{cursor:grabbing;transition:none}.toast.is-flung{transition:transform .18s var(--ease-out), opacity .18s var(--ease-out);pointer-events:none}.toast .toast-close{border-radius:8px;place-items:center;min-width:32px;min-height:32px;margin:-6px -6px -6px 0;display:grid}.gate{place-items:center;min-height:100%;padding:24px 16px;display:grid;position:relative}.gate-box{background:var(--surface);width:min(440px,100%);box-shadow:var(--shadow-raise);animation:pop-in .26s var(--ease-out);border-radius:22px;justify-items:start;gap:14px;padding:32px;display:grid}.gate-wide{width:min(520px,100%)}.gate-box h1{font-size:var(--text-xl);font-weight:650;line-height:1.15}.gate-brand{color:var(--stone-text);font-size:13px}.gate-theme{position:absolute;top:12px;right:12px}.pick-list{gap:8px;width:100%;display:grid}.pick{text-align:left;background:var(--surface-2);border-radius:var(--radius-pop);transition:background-color var(--dur) var(--ease), border-color var(--dur) var(--ease), transform var(--dur) var(--ease-out);border:1px solid #0000;align-items:center;gap:12px;padding:12px 14px;display:flex}.pick:hover{background:var(--surface);border-color:var(--line-strong)}.pick:active{transform:scale(.98)}.pick-name{font-size:16px;font-weight:600}.home{grid-template-rows:auto 1fr auto;min-height:100%;display:grid}.home-top{align-items:center;gap:12px;padding:18px 28px;display:flex}.home-top .wordmark{color:var(--stone-text);font-size:15px}.home-main{align-content:center;gap:36px;width:min(1200px,100%);margin:0 auto;padding:40px 24px;display:grid}.home-intro{animation:rise .32s var(--ease-out) both}.home-intro h1{letter-spacing:-.03em;margin:10px 0 14px;font-size:clamp(40px,6vw,64px);font-weight:650;line-height:1}.home-intro p{color:var(--ink-2);max-width:56ch;font-size:18px}.home-doors{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;display:grid}.door{background:var(--surface);min-height:210px;box-shadow:var(--shadow-card);color:var(--ink);animation:rise .36s var(--ease-out) both;transition:box-shadow .2s var(--ease), transform .2s var(--ease-out);border-radius:22px;align-content:start;gap:10px;padding:24px;text-decoration:none;display:grid;position:relative}.door:nth-child(2){animation-delay:50ms}.door:nth-child(3){animation-delay:.1s}.door:hover{box-shadow:var(--shadow-raise);transform:translateY(-2px)}.door:active{transform:scale(.99)}.door-icon{background:var(--ash-soft);width:48px;height:48px;color:var(--ash-text);border-radius:14px;place-items:center;display:grid}.door-phone .door-icon{background:var(--progress-soft);color:var(--progress-text)}.door-tv .door-icon{background:var(--k-machine-soft);color:var(--k-machine)}.door-title{letter-spacing:-.01em;margin-top:10px;font-size:22px;font-weight:650}.door-text{color:var(--ink-2);max-width:34ch;font-size:15px}.door-arrow{color:var(--ink-3);transition:transform .2s var(--ease-out), color .2s var(--ease);position:absolute;top:26px;right:22px}.door:hover .door-arrow{color:var(--ink);transform:translate(3px)}.home-foot{padding:16px 28px;font-size:13px}.office{grid-template-columns:236px minmax(0,1fr);height:100%;display:grid}.side{background:var(--bg);flex-direction:column;min-height:0;padding:18px 12px 14px;display:flex;overflow-y:auto}.side-brand{color:var(--ink);align-items:center;gap:10px;padding:4px 10px 20px;text-decoration:none;display:flex}.side-mark{background:var(--ash);color:#fff;width:34px;height:34px;font-family:var(--serif);border-radius:10px;place-items:center;font-size:17px;display:grid}.side-brand .wordmark{color:var(--stone-text);margin-bottom:2px;font-size:11px;display:block}.side-app{letter-spacing:-.01em;font-size:18px;font-weight:650;line-height:1.1;display:block}.side-nav{gap:12px;display:grid}.nav-group{gap:2px;display:grid}.nav-label{color:var(--ink-3);padding:2px 10px;font-size:11.5px}.nav-link{border-radius:var(--radius);min-height:36px;color:var(--ink-2);transition:background-color var(--dur) var(--ease), color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);align-items:center;gap:10px;padding:7px 10px;font-size:14.5px;font-weight:500;text-decoration:none;display:flex}.nav-link svg{color:var(--ink-3);transition:color var(--dur) var(--ease)}.nav-link:hover{background:var(--surface-3);color:var(--ink)}.nav-link.active{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-xs), 0 0 0 1px var(--line);font-weight:600}.nav-link.active svg{color:var(--ash-text)}.side-foot{z-index:1;background:linear-gradient(to bottom, transparent, var(--bg) 14px);gap:8px;margin-top:auto;margin-bottom:-14px;padding:18px 0 14px;display:grid;position:sticky;bottom:-14px}.side-status{color:var(--ink-2);justify-content:space-between;align-items:center;padding:0 4px 0 10px;display:flex}.side-user{border-radius:var(--radius-pop);background:var(--surface);box-shadow:var(--shadow-xs), 0 0 0 1px var(--line);align-items:center;gap:10px;padding:10px;display:flex}.side-user-name{font-size:14px;font-weight:600;line-height:1.2;display:block}.side-user-role{color:var(--ink-3);font-size:12.5px;display:block}.office-main{min-width:0;padding:30px 36px 72px;overflow-y:auto}.office-main>.route-narrow{max-width:1100px}.office-main>.route{animation:page-in .22s var(--ease-out)}@keyframes page-in{0%{opacity:0;transform:translateY(6px)}}.mbar{display:none}.viewer-note{border-radius:var(--radius);background:var(--stone-soft);margin-bottom:16px;padding:10px 14px;font-size:14px}.side-scrim{display:none}.page-head{margin-bottom:var(--space-5);flex-wrap:wrap;align-items:flex-end;gap:20px;display:flex}.page-head>.grow{flex:280px;min-width:0}.page-head h1{font-size:var(--text-xl);letter-spacing:-.02em;font-weight:650;line-height:1.15}.page-kind{margin-bottom:10px}.back-link{color:var(--ink-2);transition:background-color var(--dur) var(--ease), color var(--dur) var(--ease);border-radius:8px;align-items:center;gap:6px;margin:0 0 12px -8px;padding:5px 10px 5px 8px;font-size:14px;font-weight:500;text-decoration:none;display:inline-flex}.back-link:hover{background:var(--surface-3);color:var(--ink)}.back-link svg{transition:transform var(--dur) var(--ease-out)}.back-link:hover svg{transform:translate(-2px)}.page-kicker{margin-bottom:6px}.page-kicker a{color:var(--ink-2);text-decoration:none}.page-kicker a:hover{color:var(--ink)}.page-lead{color:var(--ink-2);max-width:72ch;margin-top:6px;font-size:15px}.page-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.section{margin-top:36px}.page-head+.section,.split>div>.section:first-child{margin-top:0}.section-head{flex-wrap:wrap;align-items:center;gap:10px;min-height:30px;margin-bottom:12px;display:flex}.section-head h2{font-size:17px;font-weight:650}.section-lead{color:var(--ink-2);max-width:80ch;margin:-6px 0 12px;font-size:14px}.help-tip{color:var(--ink-3);cursor:help;display:inline-flex}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.toolbar .input{width:auto;min-width:280px}.toolbar .select{width:auto}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 24px;display:grid}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px 20px;display:grid}.span-all{grid-column:1/-1}.card{background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:18px 20px}.card-flush{padding:0;overflow:hidden}.card-title{align-items:center;gap:10px;margin-bottom:14px;font-size:15px;font-weight:650;display:flex}.split{grid-template-columns:minmax(0,1.6fr) minmax(300px,1fr);align-items:start;gap:24px;display:grid}.stats{flex-wrap:wrap;gap:12px;display:flex}.stat{background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--shadow-card);color:var(--ink);flex:170px;align-content:start;gap:4px;padding:16px 18px;text-decoration:none;display:grid;position:relative}a.stat{transition:box-shadow .2s var(--ease), transform .2s var(--ease-out)}a.stat:hover{box-shadow:var(--shadow-raise)}.stat b{white-space:nowrap;letter-spacing:-.02em;font-size:26px;font-weight:650;line-height:1.15}.stat b small{color:var(--ink-3);letter-spacing:0;margin-left:8px;font-size:14px;font-weight:600}.stat span{color:var(--ink-2);order:-1;font-size:13px}.stat .stat-icon{order:-2}.stat-danger b{color:var(--danger-text)}.stat-warn b{color:var(--warn-text)}.stat-icon{background:var(--surface-2);width:34px;height:34px;box-shadow:inset 0 0 0 1px var(--line);color:var(--ink-2);border-radius:10px;place-items:center;margin-bottom:8px;display:grid}.bar-stack{background:var(--surface-3);border-radius:999px;gap:2px;min-width:120px;height:8px;display:flex;overflow:hidden}.bar-stack i{height:100%;transition:width .5s var(--ease-out);display:block}.bar-stack i:first-child{border-radius:999px 0 0 999px}.bar-stack i:last-child{border-radius:0 999px 999px 0}.bar-stack i:only-child{border-radius:999px}.bar-lg{height:14px}.seg-notStarted{background:var(--surface-3)}.seg-between{background:#f8d38a}.seg-running{background:var(--progress)}.seg-onPallet{background:#34c172}.seg-dispatched{background:#0d4f28}.seg-done{background:var(--done)}:root[data-theme=dark] .seg-between{background:#8a6a1c}:root[data-theme=dark] .seg-dispatched{background:#86e0a8}.legend{color:var(--ink-2);flex-wrap:wrap;gap:6px 16px;font-size:13px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend i{border-radius:3px;width:10px;height:10px;display:inline-block}.steps{flex-wrap:wrap;gap:4px;display:flex}.step{letter-spacing:.02em;background:var(--surface-3);color:var(--ink-2);white-space:nowrap;border-radius:6px;align-items:center;gap:4px;padding:2px 8px;font-size:11.5px;font-weight:600;display:inline-flex}.step-done{background:var(--done-soft);color:var(--done-text)}.step-part{background:var(--done-soft);color:var(--ink);background-image:linear-gradient(90deg, transparent 50%, var(--surface-3) 50%)}.step-running{background:var(--progress);color:var(--progress-ink)}.step-off{box-shadow:inset 0 0 0 1px var(--danger);color:var(--danger-text);background:0 0}.step-unique{box-shadow:inset 0 0 0 1px var(--stone)}.todo{background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--shadow-card);display:grid;overflow:hidden}.todo a{border-bottom:1px solid var(--line);color:var(--ink);transition:background-color var(--dur) var(--ease);align-items:center;gap:12px;padding:13px 18px;font-weight:500;text-decoration:none;display:flex}.todo a:last-child{border-bottom:0}.todo a:hover{background:var(--surface-2)}.todo a>svg:first-child{color:var(--danger-text)}.todo a>svg:last-child{color:var(--ink-3);transition:transform var(--dur) var(--ease-out)}.todo a:hover>svg:last-child{transform:translate(2px)}.live-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;display:grid}.live{background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--shadow-card);color:var(--ink);gap:6px;padding:16px 18px;text-decoration:none;display:grid}.live-top{align-items:center;gap:8px;display:flex}.live-machine{font-weight:650}.live-time{color:var(--progress-text);font-variant-numeric:tabular-nums;margin-left:auto;font-size:15px;font-weight:650}.live.is-long .live-time{color:var(--danger-text)}.live-step{letter-spacing:-.01em;font-size:19px;font-weight:700;line-height:1.2}.live-what{color:var(--ink-2);font-size:14px}.live-what a{color:inherit}.live-who{color:var(--ink-3);font-size:13px}.hero{background:var(--surface);box-shadow:var(--shadow-card);border-radius:20px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:18px 28px;padding:22px 24px;display:grid}.hero-bars{grid-column:1/-1;gap:14px;display:grid}.hero-bar{grid-template-columns:120px minmax(0,1fr) 140px;align-items:center;gap:14px;font-size:14px;display:grid}.hero-bar b{letter-spacing:-.02em;font-size:22px;font-weight:650}.hero-meter{background:var(--surface-3);border-radius:999px;height:12px;overflow:hidden}.hero-meter i{background:var(--done);transform-origin:0;height:100%;animation:meter-in .7s var(--ease-out) both;border-radius:999px;display:block}.hero-meter.sent i{background:#0d4f28}:root[data-theme=dark] .hero-meter.sent i{background:#86e0a8}@keyframes meter-in{0%{transform:scaleX(0)}}.subhead{border-top:1px solid var(--line);color:var(--ink-2);align-items:center;gap:8px;margin:18px 0 10px;padding-top:14px;font-size:13.5px;font-weight:600;display:flex}.unique-note{align-items:flex-start;gap:10px;display:flex}.unique-note .steps{margin-top:6px}.drop{border:1.5px dashed var(--line-strong);background:var(--surface);text-align:center;border-radius:20px;place-items:center;gap:10px;padding:36px 20px;transition:background-color .15s,border-color .15s;display:grid}.drop>svg{color:var(--ash-text)}.drop.over{border-color:var(--ash);background:var(--ash-soft)}.drop strong{font-size:18px}.upload-summary{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;display:grid}.review{grid-template-columns:minmax(0,1.25fr) minmax(340px,1fr);align-items:start;gap:24px;display:grid}.review-pdf{position:sticky;top:0}.pdf-view{background:var(--surface-3);border-radius:var(--radius-card);box-shadow:var(--shadow-card);place-items:center;min-height:200px;display:grid;overflow:hidden}.pdf-view-note{text-align:center;justify-items:center;gap:14px;max-width:34em;padding:32px 24px;display:grid}.pdf-view canvas{background:#fff;width:100%;height:auto;display:block}.review-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;display:grid}.field-flag .input,.field-flag .textarea{border-color:var(--danger);background:var(--danger-soft)}.field-flag>.label{color:var(--danger-text)}.flag-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.flag-list li{align-items:flex-start;gap:8px;font-size:14px;display:flex}.flag-list svg{color:var(--danger-text);flex:none;margin-top:2px}.rev-stack{display:grid}.rev{border-bottom:1px solid var(--line);grid-template-columns:52px minmax(0,1fr) auto;align-items:start;gap:12px;padding:12px 0;display:grid}.rev:first-child{padding-top:0}.rev:last-child{border-bottom:0;padding-bottom:0}.rev-letter{background:var(--k-sheet-soft);width:40px;height:40px;color:var(--k-sheet);border-radius:12px;place-items:center;font-size:18px;font-weight:700;display:grid}.rev-old .rev-letter{background:var(--surface-3);color:var(--ink-3)}.rev-old{color:var(--ink-2)}.rev ul{margin:6px 0 0;padding-left:18px;font-size:13px}.qr-box{border-radius:var(--radius-card);box-shadow:var(--shadow-card);color:#111;background:#fff;justify-items:center;gap:8px;padding:18px;display:grid}.qr-box svg{width:170px;height:auto}.qr-code{letter-spacing:.08em;font-size:15px;font-weight:700}.edited{color:var(--danger-text)}.strike{color:var(--ink-3);text-decoration:line-through}.chart-bars{gap:10px;display:grid}.chart-row{grid-template-columns:140px minmax(0,1fr) 70px;align-items:center;gap:12px;font-size:14px;display:grid}.chart-row .bar-stack{height:12px}.chart-row-wide{grid-template-columns:minmax(140px,220px) minmax(0,1fr) 120px}.chart-row-wide>span:first-child{align-items:center;gap:8px;min-width:0;display:flex}.week-chart{border-bottom:1px solid var(--line-strong);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;align-items:end;gap:10px;height:180px;padding-top:10px;display:grid}.week-col{align-items:flex-end;gap:3px;height:100%;display:flex}.week-col i{border-radius:4px 4px 0 0;flex:1;min-height:1px}.week-labels{color:var(--ink-2);text-align:center;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:10px;margin-top:6px;font-size:12px;display:grid}.tabs{background:var(--surface-3);scrollbar-width:none;border-radius:12px;gap:2px;max-width:100%;margin-bottom:20px;padding:3px;display:inline-flex;overflow-x:auto}.tabs button{color:var(--ink-2);white-space:nowrap;transition:color var(--dur) var(--ease), background-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);background:0 0;border:0;border-radius:9px;padding:7px 14px;font-size:14px;font-weight:500}.tabs button:hover{color:var(--ink)}.tabs button[aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-xs), 0 0 0 1px var(--line);font-weight:600}.labels-sheet{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;display:grid}.label-card{border:1px solid var(--line-strong);border-radius:var(--radius);color:#111;break-inside:avoid;background:#fff;align-content:start;justify-items:center;gap:6px;padding:14px;display:grid}.label-card svg{width:150px;height:auto}.label-card strong{font-size:18px}.mono{font-variant-numeric:tabular-nums;letter-spacing:.04em;white-space:nowrap}.link{color:var(--ash-text);font-weight:500;text-decoration:none}.link:hover{text-decoration:underline}@media (width<=1100px){.split,.review{grid-template-columns:minmax(0,1fr)}.review-pdf{order:2;position:static}}@media (width<=860px){.office{grid-template-rows:56px minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.mbar{background:var(--surface);box-shadow:0 1px 0 var(--line-solid);z-index:95;align-items:center;gap:10px;padding:0 10px;display:flex}.mbar .side-brand{padding:0}.mbar .side-mark{width:30px;height:30px;font-size:15px}.side{width:272px;z-index:var(--z-drawer);transition:transform .28s var(--ease-drawer);background:var(--bg);position:fixed;top:56px;bottom:0;left:0;transform:translate(-100%)}.side>.side-brand{display:none}.menu-open .side{box-shadow:var(--shadow-pop);transform:none}.menu-open .side-scrim{background:var(--overlay);z-index:calc(var(--z-drawer) - 1);animation:fade .2s var(--ease-out);display:block;position:fixed;inset:56px 0 0}.office-main{padding:20px 16px 48px}.grid-2,.grid-3,.review-fields,.home-doors{grid-template-columns:minmax(0,1fr)}.toolbar .input{width:100%;min-width:0}.toolbar .select{flex:130px;min-width:0}.toolbar>label.row{flex-wrap:nowrap;flex:100%}.toolbar>label.row>.label{flex:none;min-width:8em}.hero{grid-template-columns:minmax(0,1fr);padding:18px}.hero-bar{grid-template-columns:90px minmax(0,1fr)}.hero-bar>:last-child{grid-column:1/-1}.stat{flex:calc(50% - 6px);padding:14px}.stat-icon{display:none}.stat b{white-space:normal;font-size:21px}}@media print{.mbar,.side,.no-print,.toasts{display:none!important}.office{height:auto;display:block}.office-main{padding:0;overflow:visible}body{background:#fff}.table-wrap,.card,.stat,.hero{box-shadow:none;border:1px solid #ddd}}.lchart{gap:10px;display:grid}.lchart-legend{flex-wrap:wrap;align-items:center;gap:6px 8px;display:flex}.lchart-legend button{border:1px solid var(--line-solid);background:var(--surface);color:var(--ink);border-radius:999px;align-items:center;gap:7px;padding:4px 10px;font-size:13px;display:inline-flex}.lchart-legend button i{border-radius:2px;width:14px;height:3px}.lchart-legend button:not(.lchart-table-btn)[aria-pressed=false]{color:var(--ink-3);text-decoration:line-through}.lchart-legend button[aria-pressed=false] i{opacity:.3}.lchart-legend .lchart-table-btn{border-radius:8px}.lchart-plot{width:100%;position:relative;overflow:hidden}.lchart-plot svg{display:block}.lchart-grid{stroke:var(--line)}.lchart-base{stroke:var(--line-strong)}.lchart-cross{stroke:var(--ink-3);stroke-dasharray:3 3}.lchart-axis{fill:var(--ink-3);font-variant-numeric:tabular-nums;font-size:11px}.lchart-tip{background:var(--surface);min-width:170px;max-width:260px;box-shadow:var(--shadow-pop);pointer-events:none;border-radius:12px;gap:3px;padding:9px 11px;font-size:13px;display:grid;position:absolute}.lchart-tip-head{margin-bottom:2px;font-weight:600}.lchart-tip-row{grid-template-columns:14px auto 1fr;align-items:center;gap:7px;display:grid}.lchart-tip-row i{border-radius:2px;height:3px}.lchart-tip-row span{color:var(--ink-2);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.lchart-tip-total{border-top:1px solid var(--line);margin-top:2px;padding-top:3px}.lchart-unit{font-weight:600}.drop-compact{grid-auto-flow:row;padding:20px}.drop-compact>svg{display:none}.table .steps{min-width:230px}.label-help{text-align:center;color:#55524d;font-size:13px}.fieldset{border:1px solid var(--line-solid);border-radius:var(--radius);min-width:0;margin:0;padding:10px 12px 12px}.fieldset>legend{margin-left:-4px;padding:0 4px}.cell-kind{align-items:center;gap:10px;display:inline-flex}.mini-stats{border-top:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:14px 18px;margin-top:18px;padding-top:16px;display:grid}.mini-stats>div{grid-template-columns:10px 1fr;align-items:center;gap:2px 8px;display:grid}.mini-stats i{border-radius:3px;width:10px;height:10px}.mini-stats b{letter-spacing:-.01em;font-size:18px;font-weight:650}.mini-stats b small{color:var(--ink-3);margin-left:6px;font-size:12.5px;font-weight:600}.mini-stats span{color:var(--ink-2);grid-area:1/2;font-size:12.5px}.mini-stats i{grid-row:1}.mini-stats b{grid-column:2}.mini-stats .is-zero i,.mini-stats .is-zero b{opacity:.45}.log-list{display:grid}.log-item{border-bottom:1px solid var(--line);padding:12px 0}.log-item:first-child{padding-top:0}.log-item:last-child{border-bottom:0;padding-bottom:0}.help-steps{max-width:760px;padding:22px 24px}.help-steps .tl-item{padding-bottom:20px}.help-steps .tl-title{font-size:16px}.help-steps .tl-meta{max-width:62ch;font-size:14.5px}.tl-num{color:var(--ash-text);font-size:13px;font-weight:700}.help-steps .tl-dot{background:var(--ash-soft)}.folders{--folder-back:color-mix(in srgb, var(--k-project) 22%, var(--surface));grid-template-columns:repeat(auto-fill,minmax(272px,1fr));gap:34px 18px;margin-top:30px;display:grid}.folder{color:inherit;filter:drop-shadow(0 1px 1px #1018280d)drop-shadow(0 3px 8px #1018280d);transition:transform .22s var(--ease-out), filter .22s var(--ease-out);text-decoration:none;display:block;position:relative}.folder:hover{filter:drop-shadow(0 2px 3px #1018280f)drop-shadow(0 10px 22px #1018281a);transform:translateY(-2px)}.folder:active{transform:translateY(0)scale(.99)}.folder:focus-visible{outline:none}.folder:focus-visible .folder-body{outline:2px solid var(--focus);outline-offset:2px}.folder-tab{background:var(--folder-back);min-width:72px;height:24px;color:var(--k-project);letter-spacing:.01em;border-radius:9px 0 0;align-items:center;padding:0 4px 0 14px;font-size:13px;font-weight:700;display:inline-flex;position:absolute;bottom:calc(100% - 1px);left:0}.folder-tab:after{content:"";background:inherit;transform-origin:0 0;border-top-right-radius:6px;width:16px;height:100%;position:absolute;top:0;right:-14px;transform:skew(30deg)}.folder-body{border-top:7px solid var(--folder-back);border-radius:0 var(--radius-card) var(--radius-card) var(--radius-card);background:var(--surface);gap:10px;padding:14px 18px 16px;display:grid}.folder-title{-webkit-line-clamp:2;min-height:2.6em;color:var(--ink);text-wrap:balance;-webkit-box-orient:vertical;font-size:16px;font-weight:650;line-height:1.3;display:-webkit-box;overflow:hidden}.folder-meta{color:var(--ink-3);flex-wrap:wrap;gap:4px 12px;font-size:13px;display:flex}.folder-live{color:var(--progress-text);align-items:center;gap:6px;font-weight:600;display:inline-flex}.folder .bar-stack{min-width:0}.folder-stats{color:var(--ink-3);flex-wrap:wrap;gap:4px 16px;font-size:13px;display:flex}.folder-stats b{color:var(--ink);font-size:15px;font-weight:650}.folder.is-archived{--folder-back:var(--surface-3);opacity:.75}.folder.is-archived .folder-tab{color:var(--ink-2)}.folders-archived{margin-top:28px}.folders-archived .folders{margin-top:24px}.archived-note{border-radius:var(--radius);background:var(--surface-3);color:var(--ink-2);margin-bottom:14px;padding:10px 14px;font-size:14px}.toolbar-label{font-size:13px}.sort-group{align-items:center;gap:10px;display:inline-flex}.tag-mixed{background:var(--k-pallet-soft);color:var(--k-pallet);margin-left:4px}.tag-mixed:before{display:none}.link-quiet{color:inherit;text-decoration:none}.link-quiet:hover{text-underline-offset:3px;text-decoration:underline}.seg-type{background:var(--ash)}.type-list{gap:8px;max-width:560px;display:grid}.type-row{grid-template-columns:minmax(0,1fr) 9.5em auto;align-items:center;gap:12px;display:grid}.type-used{white-space:nowrap;font-size:13px}.filters{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;padding:12px 14px;display:flex}.filters .input,.filters .select{width:auto}.filters .filter-search{flex:260px;min-width:220px;max-width:380px}.filter-date{align-items:center;gap:8px;font-size:13px;display:inline-flex}.filter-date .input{width:150px}.table-fixed{table-layout:fixed}.table-fixed td{overflow:hidden}.table-fixed td.cut,.table-fixed .cut{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.table-fixed .cell-kind{min-width:0}.th-resizable{position:relative}.th-sort{max-width:100%}.th-sort span{text-overflow:ellipsis;overflow:hidden}.th-sort svg{opacity:0;transition:opacity var(--dur) var(--ease), transform .2s var(--ease-out);flex:none}.th-sort:hover svg{opacity:.5}.th-sort.is-active{color:var(--ink);font-weight:600}.th-sort.is-active svg{opacity:1;transform:rotate(180deg)}.th-sort.is-active.is-desc svg{transform:none}.col-resize{z-index:1;cursor:col-resize;touch-action:none;width:10px;position:absolute;top:6px;bottom:6px;right:-5px}.col-resize:after{content:"";background:var(--line-solid);width:1px;transition:background-color var(--dur) var(--ease), width var(--dur) var(--ease);position:absolute;top:0;bottom:0;left:4.5px}.col-resize:hover:after,.col-resize:focus-visible:after,.col-resize:active:after{background:var(--ash);border-radius:2px;width:3px;left:3.5px}.col-resize:focus-visible{outline:none}@media (width<=860px){.filters .filter-search{max-width:none}.toolbar .seg{max-width:100%;overflow-x:auto}}.gate-mark{margin-bottom:4px;display:block}.home-tools{grid-template-rows:auto auto;grid-template-columns:3fr 1fr;gap:14px 16px;display:grid}.home-tool{grid-row:span 2;grid-template-rows:subgrid;min-width:0;display:grid}.home-tool-head h2{letter-spacing:0;font-size:15px;font-weight:650}.home-tool-head p{color:var(--ink-2);max-width:60ch;margin:4px 0 0;font-size:14px}.home-tool:first-child .home-doors{grid-template-columns:repeat(3,minmax(0,1fr))}.home-tool:last-child .home-doors{grid-template-columns:minmax(0,1fr)}@media (width<=980px){.home-tools{grid-template-rows:none;grid-template-columns:minmax(0,1fr);row-gap:28px}.home-tool{grid-row:auto;grid-template-rows:none;gap:14px}.home-tool:first-child .home-doors{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}}.app-switch{border-radius:var(--radius-pop);background:var(--surface-3);gap:2px;padding:6px;display:grid}.app-switch-label{color:var(--ink-2);padding:2px 6px 4px;font-size:11.5px;font-weight:500}.app-switch-item{min-height:34px;color:var(--ink-2);transition:background-color var(--dur) var(--ease), color var(--dur) var(--ease);border-radius:9px;align-items:center;gap:9px;padding:6px 8px;font-size:14px;font-weight:500;text-decoration:none;display:flex}.app-switch-item svg{color:var(--ink-3);flex:none}a.app-switch-item:hover{background:var(--surface);color:var(--ink)}a.app-switch-item:hover svg{color:var(--ink-2)}.app-switch-item.is-here{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-xs), 0 0 0 1px var(--line);font-weight:600}.app-switch-item.is-here svg{color:var(--ash-text)}.side-status-tools{align-items:center;gap:2px;display:inline-flex}.projects-table{margin-top:20px;container-type:inline-size}@container (width<=660px){.projects-table .col-bar{display:none}}.projects-table tr.is-archived{opacity:.7}.project-cell{min-width:200px}.project-cell .strong{display:block}.project-sub{color:var(--ink-3);flex-wrap:wrap;gap:2px 12px;margin-top:2px;font-size:12.5px;display:flex}@media (height<=960px) and (width>=861px){.side .nav-link{min-height:30px;padding-block:4px}.side .side-nav{gap:10px}.side .side-brand{padding-bottom:12px}.side .app-switch-item{min-height:30px;padding-block:4px}.side .side-foot{padding-top:10px}}.cell-note{margin-top:4px;display:block}.cell-note .tag{white-space:normal;border-radius:8px;padding-block:3px;line-height:1.35}.grid-3:has(>.fieldset)>.field{margin-bottom:13px}@media (width>=1200px){.mini-stats{grid-template-columns:repeat(8,minmax(0,1fr))}}@media (width<=560px){.mini-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}.check-hint{margin-top:2px;font-size:13px;display:block}.cell-line{white-space:nowrap;font-size:13px;display:block}.table-wrap-heads th{white-space:normal;vertical-align:bottom}.batch-result{min-width:200px}.batch-check{margin-top:6px;font-size:13px}@media (width<=560px){.chart-row,.chart-row-wide{grid-template-columns:minmax(0,1fr) auto;gap:6px 12px}.chart-row>:first-child{grid-area:1/1}.chart-row>:last-child{grid-area:1/2}.chart-row>.bar-stack,.chart-row>:nth-child(2):not(:last-child){grid-area:2/1/auto/-1}}.toolbar>label.row{min-width:0;max-width:100%}.toolbar>label.row>.select{text-overflow:ellipsis;min-width:0;max-width:100%}.user-menu-btn{width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:box-shadow var(--dur) var(--ease), background-color var(--dur) var(--ease);border:0}.user-menu-btn:hover,.user-menu-btn.is-open{box-shadow:var(--shadow-xs), 0 0 0 1px var(--line-strong)}.user-menu-btn .side-user-face{flex:none;display:inline-grid}.user-menu-caret{color:var(--ink-3);transition:transform var(--dur) var(--ease);flex:none}.user-menu-btn.is-open .user-menu-caret{transform:rotate(180deg)}.cs-layout{grid-template-columns:220px minmax(0,1fr);align-items:start;gap:28px;display:grid}.cs-nav{gap:2px;display:grid;position:sticky;top:0}.cs-nav-item{border-radius:var(--radius);min-height:38px;color:var(--ink-2);transition:background-color var(--dur) var(--ease), color var(--dur) var(--ease);align-items:center;gap:10px;padding:8px 12px;font-size:14.5px;font-weight:500;text-decoration:none;display:flex}.cs-nav-item:hover{background:var(--surface-2);color:var(--ink)}.cs-nav-item.is-current{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-xs), 0 0 0 1px var(--line);font-weight:600}.cs-nav-lock{color:var(--ink-3);flex:none}.cs-body{min-width:0;animation:cs-in .18s var(--ease) backwards;grid-template-columns:minmax(0,1fr);gap:16px;display:grid}@keyframes cs-in{0%{opacity:0}}.cs-title{margin:0;font-size:20px;font-weight:650}.cs-lead{max-width:640px;margin:-6px 0 0}.cs-note{border-radius:var(--radius);background:var(--ash-soft);margin:0;padding:10px 14px;font-size:13.5px}.cs-locked{border-radius:var(--radius-card);background:var(--surface-2);color:var(--ink-2);align-items:flex-start;gap:12px;padding:16px 18px;display:flex}.cs-locked>svg{color:var(--ink-3);flex:none;margin-top:2px}.cs-locked>span{gap:4px;display:grid}.cs-rows{padding:4px 18px;display:grid}.cs-row{border-top:1px solid var(--line);align-items:center;gap:14px;padding:14px 0;display:flex}.cs-row:first-child{border-top:0}.cs-row-main{flex:1;gap:2px;min-width:0;display:grid}.cs-row-main .muted{font-size:13.5px}.cs-row-hint{margin-top:4px;font-size:12.5px!important}.cs-pin{justify-items:center;display:grid}.cs-floor-other{gap:10px;margin-top:22px;display:grid}.plain-fieldset{border:0;margin:0;padding:0;display:contents}@media (width<=760px){.cs-layout{grid-template-columns:minmax(0,1fr);gap:18px}.cs-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;position:static}.cs-nav-item{min-height:40px;padding-inline:10px;font-size:14px}.cs-row{flex-wrap:wrap}.cs-row-main{flex:150px}}.report-fab{z-index:calc(var(--z-drawer) - 2);background:var(--surface);width:42px;height:42px;color:var(--ink-2);box-shadow:var(--shadow-raise), 0 0 0 1px var(--line);cursor:pointer;opacity:.85;transition:opacity var(--dur) var(--ease), transform var(--dur) var(--ease), color var(--dur) var(--ease);border:0;border-radius:50%;place-items:center;display:grid;position:fixed;bottom:18px;right:18px}.report-fab:hover,.report-fab:focus-visible{opacity:1;color:var(--ink);transform:translateY(-2px)}.report-fab:active{transform:scale(.95)}@media (width<=760px){.report-fab{width:38px;height:38px;bottom:12px;right:12px}}.report-attached{border-radius:var(--radius);background:var(--surface-2);color:var(--ink-2);gap:6px;padding:12px 14px;font-size:13px;display:grid}.report-attached ul{gap:2px;margin:0;padding-left:18px;display:grid}.user-menu-btn .side-user-face{position:relative}.user-menu-count{min-width:18px;height:18px;font-size:11px;position:absolute;top:-6px;right:-8px}.problems-tools{flex-wrap:wrap;gap:8px}.problems{padding:0 18px;display:grid}.problem{border-top:1px solid var(--line);gap:8px;padding:16px 0;display:grid}.problem:first-child{border-top:0}.problem.is-done{opacity:.6}.problem-top{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.problem-by{font-size:13px}.problem-text{white-space:pre-wrap;margin:0;font-size:15px}.problem-where{color:var(--ink-2);flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.problem-where .btn svg.is-flipped{transform:rotate(180deg)}.problem-details{border-radius:var(--radius);background:var(--surface-2);padding:12px 14px;font-size:13px}.problem-errors{color:var(--danger-text,var(--ink-2));word-break:break-word;margin:0;padding-left:16px}.procore-card{justify-items:start;gap:12px;display:grid}.procore-id{gap:2px;margin:0;display:grid}.procore-id strong{font-size:22px}.procore-text,.procore-hint{margin:0;font-size:13px}.procore-list{border-top:1px solid var(--line-solid);gap:4px;width:100%;padding-top:12px;font-size:14px;display:grid}.procore-list .mono{overflow-wrap:anywhere}.procore-actions{flex-wrap:wrap;gap:8px}.cell-sub{color:var(--ink-3);margin-top:2px;font-size:12px;font-weight:500;display:block}.table-lines td.line-code{vertical-align:top;background:var(--surface)}.table-lines tr.line-more td{border-top:1px dashed var(--line-solid)}.line-links{flex-wrap:wrap;align-items:center;gap:6px;margin-top:8px;display:flex}.line-link{background:var(--k-sheet-soft);color:var(--k-sheet);border-radius:6px;padding:1px 8px;font-size:13px;font-weight:600;text-decoration:none}.line-link.is-on{background:var(--k-sheet);color:var(--surface)}.line-tabs{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.line-tab{font:inherit;background:var(--surface-2);color:var(--ink-2);box-shadow:0 0 0 1px var(--line-solid);cursor:pointer;border:0;border-radius:8px;padding:6px 12px;font-size:14px;font-weight:600}.line-tab.is-on{background:var(--k-sheet-soft);color:var(--k-sheet);box-shadow:0 0 0 2px var(--k-sheet)}.line-tab.has-flag:after{content:"";background:var(--progress);vertical-align:middle;border-radius:50%;width:7px;height:7px;margin-left:6px;display:inline-block}.line-note{margin:-4px 0 0;font-size:13px}.export-groups{border:0;gap:8px;margin:12px 0;padding:0;display:grid}.export-group{background:var(--surface-2);border-radius:8px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex!important}.export-group input{margin-top:3px}.export-hint{color:var(--ink-3);margin-top:2px;font-size:13px;display:block}.export-summary{margin-top:12px;font-size:14px}.cell-tags{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.row-fold svg{transition:transform .16s var(--ease)}.row-fold[aria-expanded=true] svg{transform:rotate(180deg)}.table tr.row-detail>td{background:var(--surface-2);padding-top:4px;padding-bottom:12px}.row-detail .table-wrap{box-shadow:0 0 0 1px var(--line-solid)}.rev-history{gap:16px;display:grid}.rev-item{gap:8px;display:grid}.rev-item+.rev-item{border-top:1px solid var(--line-solid);padding-top:14px}.offpick{gap:10px;max-height:40vh;margin:10px 0;display:grid;overflow-y:auto}.offpick-line{border:0;gap:4px;margin:0;padding:0;display:grid}.offpick-line .row{gap:6px 16px}.btn.btn-warn{background:var(--progress-soft);color:var(--ink);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--progress) 55%, transparent)}.mismatch-row{padding:6px 0;align-items:flex-start!important}.mismatch-diff{color:var(--ink-2);margin-top:2px;font-size:13px;display:block}.phone{background:var(--bg);flex-direction:column;min-height:100dvh;font-size:17px;display:flex}@media (width>=620px){.phone-wrap{background:var(--surface-3);min-height:100%}.phone{max-width:480px;box-shadow:0 0 0 1px var(--line-solid), 0 10px 40px #0000001a;margin:0 auto}}.ptop{z-index:20;min-height:62px;padding:8px 10px;padding-top:max(8px, env(safe-area-inset-top));background:color-mix(in srgb, var(--bg) 86%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(14px);backdrop-filter:saturate(1.4)blur(14px);box-shadow:0 1px 0 var(--line);color:var(--ink);align-items:center;gap:8px;display:flex;position:sticky;top:0}.ptop-title{letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;padding:0 4px;font-size:18px;font-weight:650;line-height:1.2;overflow:hidden}.ptop-title .kind{margin-bottom:3px;font-size:12px;display:flex}.ptop-title .kind-tile{border-radius:6px;width:20px;height:20px}.ptop-sub{letter-spacing:0;color:var(--ink-2);text-overflow:ellipsis;font-size:13px;font-weight:400;display:block;overflow:hidden}.ptop .btn{background:var(--surface);min-width:44px;min-height:44px;box-shadow:var(--shadow-xs), 0 0 0 1px var(--line);color:var(--ink);border-color:#0000;border-radius:14px;flex:none}.ptop .btn:hover:not(:disabled){background:var(--surface-2)}.ptop .conn{color:var(--ink-2);padding:0 6px;font-size:13px}.ptop-brand{letter-spacing:.02em;color:var(--ink-3);margin-bottom:2px;font-size:11.5px;font-weight:500;display:block}.poffline{background:var(--danger);color:var(--danger-ink);padding:10px 16px;font-size:15px;font-weight:500}.pmain{padding:14px 16px max(24px, env(safe-area-inset-bottom));animation:page-in .22s var(--ease-out);flex:1;align-content:start;gap:16px;display:grid}.pfoot{padding:12px 16px max(14px, env(safe-area-inset-bottom));background:color-mix(in srgb, var(--bg) 90%, transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 -1px 0 var(--line);gap:10px;display:grid;position:sticky;bottom:0}.pfoot-hint{text-align:center;color:var(--ink-2);margin:0 0 -2px;font-size:14px;font-weight:500}.ph1{letter-spacing:-.02em;font-size:26px;font-weight:650;line-height:1.15}.ph2{color:var(--ink);font-size:15px;font-weight:650}.pmuted{color:var(--ink-2);font-size:15px}.pgroup{gap:10px;display:grid}.pcard{background:var(--surface);box-shadow:var(--shadow-card);border-radius:18px;gap:12px;padding:16px;display:grid}.pcard-head{align-items:center;gap:10px;display:flex}.pbtn{text-align:center;-webkit-tap-highlight-color:transparent;width:100%;min-height:60px;transition:transform .14s var(--ease-out), filter .15s, background-color .15s;border:0;border-radius:16px;justify-content:center;align-items:center;gap:12px;padding:10px 18px;font-size:20px;font-weight:650;line-height:1.2;text-decoration:none;display:flex}.pbtn:active:not(:disabled){transform:scale(.97)}.pbtn:disabled{opacity:.4}.pbtn small{opacity:.8;font-size:14px;font-weight:500;display:block}.pbtn-col{flex-direction:column;gap:2px}.pbtn-scan{background:var(--scan);min-height:148px;color:var(--scan-ink);border-radius:24px;flex-direction:column;gap:8px;font-size:28px;box-shadow:0 10px 24px #2b364438,inset 0 1px #ffffff14}.pbtn-scan small{font-size:15px}.pbtn-go{background:var(--go);color:var(--go-ink);min-height:72px;font-size:22px}.pbtn-go:active:not(:disabled){background:var(--go-press)}.pbtn-finish{background:var(--finish);color:var(--finish-ink);min-height:80px;font-size:24px}.pbtn-finish:active:not(:disabled){background:var(--finish-press)}.pbtn-start{background:var(--finish);color:var(--finish-ink);min-height:72px;font-size:22px;box-shadow:0 6px 16px #15803d38}.pbtn-start:active:not(:disabled){background:var(--finish-press)}.pbtn-stop{background:var(--danger);color:var(--danger-ink);min-height:72px;font-size:22px}.pbtn-stop:active:not(:disabled){background:var(--danger-hover)}.pbtn-stop-outline{background:var(--surface);color:var(--danger-text);box-shadow:inset 0 0 0 2px var(--danger);font-size:18px}.pbtn-dark{background:var(--scan);color:var(--scan-ink)}.pbtn-danger{background:var(--danger);color:var(--danger-ink)}.pbtn-plain{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-xs), 0 0 0 1px var(--line-solid);font-size:18px}.pbtn-quiet{color:var(--ash-text);background:0 0;min-height:48px;font-size:17px}.pbtn-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.pbtn-row .pbtn{min-height:56px;font-size:17px}.plist{background:var(--surface);box-shadow:var(--shadow-card);border-radius:18px;display:grid;overflow:hidden}.prow{min-height:62px;color:var(--ink);text-align:left;background:0 0;border:0;align-items:center;gap:12px;width:100%;padding:10px 16px;font-size:17px;text-decoration:none;display:flex;position:relative}.prow+.prow:before,.pstone+.pstone:before{content:"";background:var(--line-solid);height:1px;position:absolute;top:0;left:16px;right:0}a.prow,button.prow{-webkit-tap-highlight-color:transparent;transition:background-color var(--dur) var(--ease)}a.prow:active,button.prow:active,.prow-link:active{background:var(--surface-2)}.prow-icon{background:var(--ash-soft);width:40px;height:40px;color:var(--ash-text);border-radius:12px;flex:none;place-items:center;padding:9px;display:grid}.prow .kind-tile{border-radius:12px;width:40px;height:40px}.prow-chev{color:var(--ink-3);flex:none;margin-right:-4px}.prow-link{min-height:44px;color:inherit;font:inherit;text-align:left;-webkit-tap-highlight-color:transparent;background:0 0;border:0;align-self:stretch;padding:0;text-decoration:none;display:block}.prow-link.prow-main{flex-direction:column;justify-content:center;display:flex}.prow-main{flex:1;min-width:0}.prow-title{font-weight:600;display:block}.prow-sub{color:var(--ink-2);margin-top:1px;font-size:14px;display:block}.prow-edge{background:var(--surface-3);border-radius:50%;flex:none;width:10px;height:10px}.edge-running{background:var(--go);box-shadow:0 0 0 4px var(--progress-soft);animation:2s ease-in-out infinite live-dot}@keyframes live-dot{50%{box-shadow:0 0 0 7px #0000}}.edge-done{background:var(--finish)}.edge-danger{background:var(--danger);box-shadow:0 0 0 4px var(--danger-soft)}.edge-ash{background:var(--ash)}.pstone{cursor:pointer;-webkit-tap-highlight-color:transparent;min-height:66px;transition:background-color var(--dur) var(--ease);align-items:center;gap:14px;padding:10px 16px;display:flex;position:relative}.pstone input{appearance:none;width:30px;height:30px;box-shadow:inset 0 0 0 2px var(--line-strong);background:var(--surface);transition:background-color .14s var(--ease), box-shadow .14s var(--ease), transform .14s var(--ease-out);border-radius:9px;flex:none;place-items:center;margin:0;display:grid}.pstone:active input{transform:scale(.92)}.pstone input:checked{background:var(--scan);box-shadow:none}.pstone input:checked:after{content:"";width:8px;height:15px;animation:tick .2s var(--ease-out);border:3px solid #fff;border-width:0 3px 3px 0;transform:translateY(-2px)rotate(45deg)}@keyframes tick{0%{opacity:0;transform:translateY(-2px)rotate(45deg)scale(.4)}}.pstone.is-on{background:var(--ash-soft)}.pstone-status{color:var(--ink-2);font-size:15px}.pstone-status b{color:var(--ink);font-weight:600}.prun{background:var(--surface);box-shadow:var(--shadow-card);border-radius:20px;gap:6px;padding:18px;display:grid}.prun-live{color:var(--progress-text);align-items:center;gap:8px;font-size:13px;font-weight:650;display:inline-flex}.prun-live:before{content:"";background:var(--go);width:8px;height:8px;box-shadow:0 0 0 4px var(--progress-soft);border-radius:50%;animation:2s ease-in-out infinite live-dot}.prun-long .prun-live{color:var(--danger-text)}.prun-long .prun-live:before{background:var(--danger);box-shadow:0 0 0 4px var(--danger-soft)}.prun-clock{letter-spacing:-.03em;margin:4px 0 2px;font-size:52px;font-weight:600;line-height:1}.prun-long .prun-clock{color:var(--danger-text)}.prun-step-big{letter-spacing:-.01em;font-size:22px;font-weight:700}.psteps{gap:10px;display:grid}.pnote{background:var(--surface);box-shadow:var(--shadow-xs), 0 0 0 1px var(--line);border-radius:14px;padding:12px 14px;font-size:15px}.pnote-warn{background:var(--progress-soft);box-shadow:none;color:var(--ink)}.pnote-danger{background:var(--danger-soft);box-shadow:none;color:var(--ink)}.pbasket{background:var(--scan);color:var(--scan-ink);animation:rise .22s var(--ease-out);border-radius:16px;align-items:center;gap:10px;padding:10px 10px 10px 16px;font-size:15px;display:flex}.pbasket span{flex:1}.pbasket button{min-height:40px;color:inherit;background:#ffffff1a;border:0;border-radius:10px;padding:6px 12px;font-size:14px;font-weight:600}.psheet-back{z-index:var(--z-sheet);background:var(--overlay);animation:fade .2s var(--ease-out);justify-content:center;align-items:flex-end;font-size:17px;display:flex;position:fixed;inset:0}.psheet{width:min(480px,100%);max-height:92dvh;padding:20px 16px max(18px, env(safe-area-inset-bottom));background:var(--bg);border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;box-shadow:var(--shadow-pop);animation:sheet-up .34s var(--ease-drawer);gap:14px;display:grid;overflow:auto}.psheet-danger{box-shadow:var(--shadow-pop), inset 0 4px 0 var(--danger)}.psheet h2{letter-spacing:-.01em;font-size:22px;font-weight:650;line-height:1.2}@keyframes sheet-up{0%{transform:translateY(100%)}}.pinput{border:1.5px solid var(--line-strong);background:var(--surface);width:100%;min-height:54px;color:var(--ink);transition:border-color var(--dur) var(--ease), box-shadow var(--dur) var(--ease);border-radius:14px;padding:10px 14px;font-size:19px}.pinput:focus{border-color:var(--ash);box-shadow:var(--focus-ring);outline:none}textarea.pinput{resize:vertical;min-height:110px;line-height:1.4}.pchips{flex-wrap:wrap;gap:8px;display:flex}.pchips button{min-height:48px;box-shadow:var(--shadow-xs), 0 0 0 1px var(--line-solid);background:var(--surface);transition:background-color var(--dur) var(--ease), color var(--dur) var(--ease), transform .14s var(--ease-out);border:0;border-radius:14px;padding:0 16px;font-size:17px;font-weight:500}.pchips button:active{transform:scale(.96)}.pchips button[aria-pressed=true]{background:var(--scan);color:var(--scan-ink);box-shadow:none}.scan{gap:12px;display:grid}.scan-hint{font-size:17px;font-weight:600}.scanbox{aspect-ratio:1;color:#fff;width:100%;max-height:46dvh;box-shadow:0 0 0 3px var(--scan);background:#111;border-radius:22px;margin:0 auto;transition:box-shadow .15s;position:relative;overflow:hidden}.scanbox-ok{box-shadow:0 0 0 4px var(--finish)}.scanbox-bad{box-shadow:0 0 0 4px var(--danger);animation:.3s ease-in-out nudge}.scanbox video{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.scanbox-corners{opacity:.9;background:linear-gradient(#fff,#fff) 0 0/34px 4px no-repeat,linear-gradient(#fff,#fff) 0 0/4px 34px no-repeat,linear-gradient(#fff,#fff) 100% 0/34px 4px no-repeat,linear-gradient(#fff,#fff) 100% 0/4px 34px no-repeat,linear-gradient(#fff,#fff) 0 100%/34px 4px no-repeat,linear-gradient(#fff,#fff) 0 100%/4px 34px no-repeat,linear-gradient(#fff,#fff) 100% 100%/34px 4px no-repeat,linear-gradient(#fff,#fff) 100% 100%/4px 34px no-repeat;position:absolute;inset:16%}.scanbox-nocam{text-align:center;color:#ffffffd9;place-content:center;justify-items:center;gap:8px;padding:20px;font-size:15px;display:grid;position:absolute;inset:0}.scanbox-torch{color:#fff;background:#00000080;border:0;border-radius:50%;place-items:center;width:44px;height:44px;display:grid;position:absolute;top:10px;right:10px}.scanbox-torch[aria-pressed=true]{background:var(--go);color:var(--go-ink)}.scanbox-msg{text-align:center;animation:rise .2s var(--ease-out);border-radius:12px;padding:10px 12px;font-size:16px;font-weight:600;position:absolute;bottom:10px;left:10px;right:10px}.scanbox-msg.ok{background:var(--finish)}.scanbox-msg.bad{background:var(--danger)}@media (width<=619px){.toasts{top:calc(env(safe-area-inset-top) + 68px);bottom:auto}.toast{animation-name:toast-down}.toasts .toast:not(:last-child){display:none}}@keyframes toast-down{0%{opacity:0;transform:translateY(-12px)scale(.98)}}.pbtn.pbtn-inline{border-radius:12px;flex:none;gap:6px;width:auto;min-height:44px;padding:0 14px;font-size:15px}.hold{isolation:isolate;touch-action:manipulation;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;position:relative;overflow:hidden}.hold-fill{z-index:0;opacity:.22;transform-origin:0;pointer-events:none;background:currentColor;transition:transform .18s ease-out;position:absolute;inset:0;transform:scaleX(0)}.hold.is-holding .hold-fill{transition:transform var(--hold-ms,.7s) linear;transform:scaleX(1)}.hold-label,.hold-hint{z-index:1;position:relative}.pbtn .hold-hint{opacity:.85;font-size:13.5px;font-weight:500}.hold.is-short .hold-hint{opacity:1;font-weight:700}.hold.is-short{animation:.3s ease-in-out nudge}@keyframes nudge{25%{transform:translate(-4px)}75%{transform:translate(4px)}}@media (prefers-reduced-motion:reduce){.hold.is-holding .hold-fill{transition-duration:var(--hold-ms,.7s)!important}}.pmeta{gap:4px;display:grid}.pmeta-main{font-size:18px;font-weight:650}.pfacts{flex-wrap:wrap;gap:6px;display:flex}.pfact{background:var(--surface);box-shadow:var(--shadow-xs), 0 0 0 1px var(--line);color:var(--ink-2);border-radius:10px;align-items:center;gap:6px;padding:5px 10px;font-size:14px;display:inline-flex}.pfact b{color:var(--ink);font-weight:650}.prun.prun-compact{border-radius:18px;align-items:center;gap:12px;padding:12px 12px 12px 16px;display:flex}.prun-step{font-size:15px;font-weight:700}.prun-line{flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.prun-clock-sm{letter-spacing:-.02em;font-size:26px;font-weight:700;line-height:1.15}.psheet-handle{background:var(--line-strong);border-radius:3px;justify-self:center;width:40px;height:5px;margin:-8px 0 -2px}.psending{background:var(--progress-soft);color:var(--ink);align-items:center;gap:10px;padding:8px 16px;font-size:15px;font-weight:500;display:flex}.pchips-even{grid-template-columns:repeat(auto-fit,minmax(72px,1fr));display:grid}.pchips-even button{padding:0 8px;font-size:16px}.pfit-group{gap:8px;display:grid}.pfit-head{font-size:15px;font-weight:700}.pfit-progress{background:var(--surface);box-shadow:var(--shadow-card);border-radius:18px;gap:10px;padding:16px;display:grid}.pfit-progress b{font-size:17px}.pfit-progress p{margin:0}.pbar{background:var(--surface-3);border-radius:5px;height:10px;overflow:hidden}.pbar i{background:var(--done);height:100%;transition:width .5s var(--ease-out);border-radius:5px;display:block}.ppin-dots{justify-content:center;gap:18px;padding:8px 0 4px;display:flex}.ppin-dots span{width:18px;height:18px;box-shadow:inset 0 0 0 2px var(--line-strong);transition:background-color .12s var(--ease), transform .16s var(--ease-out);border-radius:50%}.ppin-dots span.on{background:var(--scan);box-shadow:none;transform:scale(1.1)}.ppin-dots.is-wrong{animation:.3s ease-in-out nudge}.ppin-dots.is-wrong span.on{background:var(--danger)}.ppin-pad{grid-template-columns:repeat(3,1fr);gap:10px;width:100%;max-width:340px;margin:0 auto;display:grid}.ppin-pad button{background:var(--surface);height:68px;box-shadow:var(--shadow-xs), 0 0 0 1px var(--line);color:var(--ink);font-variant-numeric:tabular-nums;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background-color .12s var(--ease), transform .12s var(--ease-out);border:0;border-radius:18px;place-items:center;font-family:inherit;font-size:28px;font-weight:600;line-height:1;display:grid}.ppin-pad button:active{background:var(--ash-soft);transform:scale(.95)}.ppin-pad .ppin-del{box-shadow:none;color:var(--ink-2);background:0 0}.ppin-pad .ppin-del:disabled{opacity:.35}.pfit-no{background:var(--k-sheet-soft);min-width:54px;color:var(--k-sheet);text-align:center;font-variant-numeric:tabular-nums;border-radius:12px;flex:none;padding:6px 8px;font-size:20px;font-weight:800}.pfit-text{gap:2px;min-width:0;font-size:15px;display:grid}.pfit-text span{color:var(--ink-2);font-size:14px}.pcard .tl-item{padding-bottom:18px}.pcard .tl-item:last-child{padding-bottom:0}.pcard .tl-title{font-size:16px}.pcard .fold-btn{min-height:44px;margin-top:6px;font-size:15px}.ptop-mark{margin-left:6px}.ptop-branded .ptop-title{align-items:center;gap:10px;display:flex}.ptop-branded .side-app{font-size:18px;font-weight:650}.psheet-back.is-ghost{pointer-events:none;animation:fade-out .24s var(--ease) forwards}.psheet-back.is-ghost .psheet{animation:sheet-down .24s var(--ease-drawer) forwards}@keyframes sheet-down{to{transform:translateY(100%)}}.scan-tick{z-index:var(--z-toast);background:var(--done);color:#fff;pointer-events:none;width:92px;height:92px;animation:scan-tick .45s var(--ease-out);border-radius:50%;place-items:center;margin:-46px 0 0 -46px;display:grid;position:fixed;top:42%;left:50%;box-shadow:0 10px 30px #00000040}@keyframes scan-tick{0%{opacity:0;transform:scale(.6)}30%{opacity:1;transform:scale(1.06)}60%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1)}}.ptop-me{padding:0}.ptop-me .avatar{width:34px;height:34px}.psticker{justify-items:center;gap:8px;margin:0;display:grid}.psticker-card{color:#1d2024;width:min(100%,290px);box-shadow:var(--shadow-xs), 0 0 0 1px var(--line-solid);background:#fff;border-radius:10px;overflow:hidden}.psticker-band{color:#fff;text-align:center;background:#e3b341;padding:3px 8px;font-size:12px;font-weight:700}.psticker-body{justify-content:space-between;align-items:center;gap:12px;padding:8px 12px 10px;display:flex}.psticker-id{gap:2px;font-size:15px;display:grid}.psticker-id span{color:#565c64;font-size:12px}.psticker-id mark{color:inherit;box-shadow:0 0 0 2px var(--done);background:0 0;border-radius:5px;margin:-1px -2px -1px 2px;padding:1px 4px}.psticker-qr{fill:#1d2024;flex:none;width:48px;height:48px}.psticker figcaption{color:var(--ink-2);text-align:center;max-width:30em;font-size:14px}.pcode-wrap{justify-items:center;gap:10px;display:grid}.pcode{align-items:center;gap:6px;display:flex}.pcode.is-nudged{animation:.3s ease-in-out nudge}.pcode-box{background:var(--surface);width:40px;height:52px;box-shadow:var(--shadow-xs), inset 0 0 0 1.5px var(--line-strong);font-variant-numeric:tabular-nums;color:var(--ink);transition:box-shadow .12s var(--ease);border-radius:10px;place-items:center;font-size:26px;font-weight:650;display:grid}.pcode-box.is-next{box-shadow:var(--shadow-xs), inset 0 0 0 2.5px var(--scan)}.pcode-box.is-on{box-shadow:var(--shadow-xs), inset 0 0 0 1.5px var(--line-solid)}.pcode-box.is-optional:not(.is-next){box-shadow:inset 0 0 0 1.5px var(--line-solid);background:0 0}.pcode-box>span{animation:pcode-pop .16s var(--ease-out)}@keyframes pcode-pop{0%{opacity:0;transform:scale(.6)}}.pcode-dash{text-align:center;width:14px;color:var(--line-strong);transition:color .12s var(--ease);font-size:26px;font-weight:650}.pcode-dash.is-on{color:var(--ink)}@media (width<=360px){.pcode-box{width:34px;height:46px;font-size:22px}}.ppin-pad.ppin-pad-tight{gap:8px}.ppin-pad.ppin-pad-tight button{height:54px}.pcode-line{text-align:center;min-height:44px;color:var(--ink-2);justify-content:center;align-items:flex-start;gap:6px;max-width:30em;margin:0;font-size:15px;display:flex}.pcode-line svg{flex:none;margin-top:2px}.pcode-line.is-ok{color:var(--done-text);font-weight:600}.pcode-line.is-warn{color:var(--warn-text);font-weight:600}.pcode-line.is-danger{color:var(--danger-text);font-weight:600}.pcode-line.is-ok,.pcode-line.is-warn,.pcode-line.is-danger{animation:pcode-line-in .18s var(--ease-out)}@keyframes pcode-line-in{0%{opacity:0;transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.pcode.is-nudged,.pcode-box>span,.pcode-line{animation:none!important}}.ptaker{background:var(--surface);box-shadow:var(--shadow-xs), 0 0 0 1px var(--line);border-radius:16px;gap:10px;padding:14px;display:grid}.ptaker.is-needed{box-shadow:var(--shadow-xs), 0 0 0 2px var(--progress)}.ptaker-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.ptaker-list{gap:4px;display:grid}.ptaker-remove{flex-wrap:wrap;gap:4px 12px;display:flex}.ptaker-remove .pbtn{min-height:36px;padding:0 4px;font-size:14px}.pline{background:var(--surface);box-shadow:var(--shadow-xs), 0 0 0 1px var(--line);border-radius:16px;padding:14px}.pline.is-focus{box-shadow:var(--shadow-xs), 0 0 0 2px var(--k-sheet)}.pline-facts{margin-top:2px;font-size:14px}.pline-path summary{cursor:pointer;align-items:center;gap:8px;min-height:44px;font-weight:600;display:flex}.pline-path[open] summary{margin-bottom:6px}.pnote-ready{background:var(--done-soft);box-shadow:none;color:var(--ink);flex-wrap:wrap;align-items:center;gap:10px;display:flex}.ppick{align-items:flex-start}.ppick input{margin-top:2px}.ppick.is-off{opacity:.55;cursor:default}.ppick-main{gap:6px;min-width:0;display:grid}.ppick-tags{flex-wrap:wrap;gap:6px;display:flex}.psteps-mini{flex-wrap:wrap;gap:4px;display:flex}.pstep-pill{letter-spacing:.01em;background:var(--surface-3);color:var(--ink-2);border-radius:6px;align-items:center;gap:3px;padding:2px 7px;font-size:12px;font-weight:600;display:inline-flex}.pstep-pill.is-done{background:var(--done-soft);color:var(--done)}.pstep-pill.is-running{background:var(--progress-soft);color:var(--ink)}.pwizard{counter-reset:pw;gap:6px;margin:0;padding:0;list-style:none;display:flex}.pwizard li{counter-increment:pw;border-top:3px solid var(--surface-3);color:var(--ink-3);text-align:center;flex:1;padding:8px 4px 0;font-size:13px;font-weight:600}.pwizard li:before{content:counter(pw) ". "}.pwizard li.is-on{border-color:var(--ash);color:var(--ink)}.pwizard li.is-done{border-color:var(--done);color:var(--ink-2)}.pline-facts .nowrap{white-space:nowrap}.pcode-p{color:var(--ink);padding:0 2px;font-size:26px;font-weight:700;transition:color .16s}.pcode-p.is-waiting{color:var(--ink-3)}.pcode-tight{gap:5px}.pcode-tight .pcode-box{width:36px;height:50px;font-size:24px}.pcode-tight .pcode-dash{width:12px}@media (width<=360px){.pcode-tight .pcode-box{width:30px;height:44px;font-size:20px}}.pchoice{min-height:76px}.pchoice-code{color:var(--ink);font-size:20px;font-weight:700}.pchoice-tags{flex-wrap:wrap;gap:6px;margin:2px 0;display:flex}.pchoice.is-alone{box-shadow:inset 0 0 0 2px var(--k-pallet);border-radius:14px}.pchoice.is-alone .pchoice-code{font-size:26px}.pchoice.is-sent{opacity:.6}.plabel{justify-items:center;gap:8px;margin:0;display:grid}.plabel-card{color:#1d2024;width:min(100%,300px);box-shadow:var(--shadow-xs), 0 0 0 1px var(--line-solid);background:#fff;border-radius:8px;gap:8px;padding:8px 8px 10px;display:grid}.plabel-head{border:1.5px solid #1d2024;border-radius:3px;grid-template-columns:26px 1fr 30px 92px;align-items:stretch;gap:4px;padding:4px;display:grid}.plabel-logo{background:#3d4f63;border-radius:50%;align-self:center;width:22px;height:22px}.plabel-cells{grid-template-columns:1fr 1fr;gap:3px;display:grid}.plabel-cells i{background:#e2e4e8;border-radius:2px;display:block}.plabel-qr{color:#7a8087;border:1.5px dashed #9aa0a6;border-radius:3px;place-items:center;font-size:9px;font-weight:700;display:grid}.plabel-code{border:1.5px solid #1d2024;border-radius:3px;justify-items:center;gap:2px;padding:3px 2px 5px;display:grid}.plabel-code small{letter-spacing:.04em;font-size:8px;font-weight:800}.plabel-code mark{color:inherit;white-space:nowrap;box-shadow:0 0 0 2px var(--done);background:0 0;border-radius:4px;padding:1px 4px;font-size:15px;font-weight:800}.plabel-lines{gap:5px;margin-top:8px;display:grid}.plabel-lines i{background:#e2e4e8;border-radius:3px;height:5px;display:block}.plabel-lines i:nth-child(2){width:80%}.plabel-lines i:nth-child(3){width:60%}.plabel figcaption{color:var(--ink-2);text-align:center;max-width:30em;font-size:14px}.pcheck{background:var(--progress-soft);color:var(--ink);border-radius:16px;gap:8px;padding:14px;display:grid}.pcheck .ph2{align-items:center;gap:6px;display:flex}.pcheck p{margin:0}.pdiff{gap:2px;margin:0;padding-left:18px;display:grid}.pchips-wrap{flex-wrap:wrap}.ptitle-code{letter-spacing:.01em;font-size:1.15em}.pconfirm-lead{overflow-wrap:anywhere;margin:4px 0 0;font-size:24px}.pconfirm-actions{gap:14px;margin:0;padding:0;list-style:none;display:grid}.pconfirm-actions li{align-items:flex-start;gap:10px;font-size:17px;line-height:1.35;display:flex}.pconfirm-actions li>svg{color:var(--ink-2);flex:none;margin-top:3px}.pconfirm-detail{gap:6px;margin-top:8px;display:grid}.pconfirm-from{flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:15px;display:flex}.pconfirm-stones{flex-wrap:wrap;gap:6px;display:flex}.pconfirm-stone{background:var(--k-sheet-soft);color:var(--ink);letter-spacing:.01em;border-radius:8px;align-items:baseline;gap:3px;padding:2px 9px;font-size:17px;font-weight:650;display:inline-flex}.pconfirm-stone small{color:var(--ink-2);font-size:14px;font-weight:650}.pconfirm-row{align-items:flex-start}.pconfirm-row .prow-main{gap:4px;display:grid}.pconfirm-row .kind-tile{margin-top:2px}.pconfirm-warns{gap:8px;display:grid}.pconfirm-warn{background:var(--danger-soft);color:var(--ink);border-radius:14px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:16px;font-weight:500;display:flex}.pconfirm-warn svg{color:var(--danger-text);flex:none;margin-top:1px}.pconfirm-busy{background:var(--progress-soft);color:var(--ink);border-radius:16px;gap:10px;padding:14px;display:grid}.pconfirm-busy p{margin:0}.pbtn.pbtn-back{min-height:44px;margin-top:-4px}.pstone-no{letter-spacing:.01em;min-width:52px;color:var(--ink);font-variant-numeric:tabular-nums;flex:none;font-size:21px;font-weight:750}.pstone-status{gap:1px;min-width:0;display:grid}.pstone-status small{color:var(--ink-2);font-size:14px}.pstone.is-focus{box-shadow:inset 4px 0 0 var(--k-sheet)}.pstone-group{gap:8px}.pgroup-head{align-items:center;gap:10px;min-height:44px;display:flex}.pgroup-head .ph2{font-size:16px}.pgroup-dot{background:var(--ink-3);border-radius:50%;flex:none;width:11px;height:11px}.pgroup-dot.is-running{background:var(--go);box-shadow:0 0 0 4px var(--progress-soft);animation:2s ease-in-out infinite live-dot}.pgroup-dot.is-next{background:var(--scan)}.pgroup-dot.is-ready{background:var(--finish)}.pgroup-dot.is-pallet{background:var(--k-pallet)}.pgroup-dot.is-sent{background:var(--ink-3)}.pgroup-count{background:var(--surface-3);min-width:24px;height:22px;color:var(--ink-2);vertical-align:1px;border-radius:11px;place-items:center;margin-left:4px;padding:0 7px;font-size:13px;font-weight:650;display:inline-grid}.pchips.pchips-sm button{min-height:40px;padding:0 12px;font-size:15px;font-weight:600}.psheet-what{gap:2px;display:grid}.psheet-what b{font-size:19px;font-weight:650}.psheet-what span{color:var(--ink-2);font-size:15px}.psend-code{font-size:19px}.pfold{background:var(--surface);box-shadow:var(--shadow-card);border-radius:16px}.pfold>summary{cursor:pointer;-webkit-tap-highlight-color:transparent;align-items:center;gap:10px;min-height:52px;padding:6px 16px;font-size:16px;font-weight:650;list-style:none;display:flex}.pfold>summary::-webkit-details-marker{display:none}.pfold-caret{color:var(--ink-2);transition:transform .18s var(--ease-out);flex:none}.pfold[open] .pfold-caret{transform:rotate(180deg)}.pfold-body{padding:0 12px 12px}.pfold-body>.plist{box-shadow:var(--shadow-xs), 0 0 0 1px var(--line)}.pline .pfold{box-shadow:0 0 0 1px var(--line)}@media (width<=619px){.toast .toast-close{min-width:44px;min-height:44px}}.tv{background:var(--bg);color:var(--ink);grid-template-rows:auto 1fr;font-size:clamp(14px,1.15vw,22px);display:grid;position:fixed;inset:0;overflow:hidden}.tv .num{font-variant-numeric:tabular-nums}.tv-top{border-bottom:1px solid var(--line-solid);background:var(--surface);align-items:center;gap:1.2em;padding:.9em 1.6em;display:flex}.tv-brand{color:var(--ink);font-size:1.5em}.tv-title{color:var(--ink-2);font-size:1.3em;font-weight:600}.tv-date{color:var(--ink-2);font-size:1.1em}.tv-clock{letter-spacing:-.01em;font-size:2.2em;font-weight:700}.tv-btn{border-radius:var(--radius);width:2.2em;height:2.2em;color:var(--ink-3);cursor:pointer;background:0 0;border:0;place-items:center;display:grid}.tv-btn:hover{background:var(--surface-2);color:var(--ink)}.tv-body{grid-template-columns:1.3fr 1fr;gap:1.6em;min-height:0;padding:1.4em 1.6em;display:grid}.tv-col{flex-direction:column;gap:.9em;min-height:0;display:flex}.tv-head{align-items:baseline;gap:1em;display:flex}.tv-head h2{margin:0;font-size:1.5em;font-weight:700}.tv-head span{color:var(--ink-2);font-size:1.05em}.tv-empty{color:var(--ink-2);font-size:1.2em}.tv-machines{grid-template-columns:repeat(auto-fill,minmax(min(14em,100%),1fr));align-content:start;gap:.8em;display:grid}.tv-subhead{color:var(--ink-2);margin-top:.4em;font-size:.95em;font-weight:700}.tv-idle{grid-template-columns:repeat(auto-fill,minmax(min(14em,100%),1fr));gap:.5em;display:grid}.tv-idle-item{background:var(--surface-3);border-radius:12px;gap:.1em;padding:.55em .9em;display:grid}.tv-idle-name{color:var(--ink-2);font-weight:700}.tv-machine{background:var(--surface);box-shadow:var(--shadow-card);border-radius:18px;gap:.35em;padding:.9em 1.1em 1em;display:grid}.tv-machine.is-running{box-shadow:var(--shadow-card), inset 0 0 0 2px var(--progress-soft)}.tv-machine.is-running .tv-machine-name:before{content:"";vertical-align:.12em;background:var(--progress);border-radius:50%;width:.5em;height:.5em;margin-right:.5em;animation:2s ease-in-out infinite live-dot;display:inline-block;box-shadow:0 0 0 .22em #f59e0b38}.tv-machine.is-long .tv-machine-name:before{background:var(--danger);box-shadow:0 0 0 .22em #ef444440}.tv-machine-top{justify-content:space-between;align-items:baseline;gap:.6em;display:flex}.tv-machine-name{font-size:1.35em;font-weight:700}.tv-time{color:var(--progress-text);font-size:1.35em;font-weight:700}.tv-machine.is-long .tv-time{color:var(--danger-text)}.tv-step{letter-spacing:-.01em;font-size:1.9em;font-weight:800;line-height:1.1}.tv-what{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:1.05em;overflow:hidden}.tv-who,.tv-machine-last{color:var(--ink-2);font-size:.95em}.tv-machine-last{font-size:.85em}.tv-projects{align-content:start;gap:.6em;display:grid}.tv-project{background:var(--surface);box-shadow:var(--shadow-card);border-radius:18px;gap:.5em;padding:.85em 1.1em .95em;display:grid}.tv-project-top{align-items:baseline;gap:.7em;min-width:0;display:flex}.tv-job{font-size:1.3em;font-weight:700}.tv-contract{color:var(--ink-2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tv .bar-stack.bar-lg{background:var(--surface-3);height:1.1em}.tv-pcts{color:var(--ink-2);align-items:baseline;gap:1.4em;font-size:1.05em;display:flex}.tv-pcts b{color:var(--ink);font-size:1.3em}.tv-dim{margin-left:auto}.tv-legend{color:var(--ink-2);flex-wrap:wrap;gap:.4em 1.1em;margin-top:auto;font-size:.85em;display:flex}.tv-legend span{align-items:center;gap:.4em;display:inline-flex}.tv-legend i{border-radius:2px;width:.8em;height:.8em;display:inline-block}@media (width<=900px){.tv{grid-template-columns:minmax(0,1fr);min-height:100vh;font-size:15px;position:static;overflow:visible}.tv-body{grid-template-columns:minmax(0,1fr)}.tv-body>*{min-width:0}.tv-date{display:none}}@media (width<=520px){.tv-top{gap:.6em;padding:.7em 1em}.tv-title{display:none}.tv-clock{font-size:1.6em}}.tv-mark{color:var(--ink)}:root{--gb-ash:#4a5d76;--gb-brick:#b0463a;--gb-olive:#677528;--gb-blue:#2f6fb6;--gb-teal:#2b7a74;--gb-heather:#6f5c8c;--gb-amber:#96600f;--gb-stone:#85704f;--gb-group:#3a4250;--gb-today:var(--danger)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--gb-group:#c3c9d0}}:root[data-theme=dark]{--gb-group:#c3c9d0}.bar-ash{--gb:var(--gb-ash)}.bar-brick{--gb:var(--gb-brick)}.bar-olive{--gb:var(--gb-olive)}.bar-blue{--gb:var(--gb-blue)}.bar-teal{--gb:var(--gb-teal)}.bar-heather{--gb:var(--gb-heather)}.bar-amber{--gb:var(--gb-amber)}.bar-stone{--gb:var(--gb-stone)}.office.prog{transition:grid-template-columns .22s var(--ease-out)}.office.prog.is-folded{grid-template-columns:64px minmax(0,1fr)}.prog-side-top{align-items:center;gap:4px;margin-bottom:14px;display:flex}.prog-side-top .side-brand{flex:1;align-items:center;gap:10px;min-width:0;margin:0;display:flex}.prog-fold svg{transition:transform .22s var(--ease-out);transform:rotate(90deg)}.is-folded .prog-fold svg{transform:rotate(-90deg)}.is-folded .nav-text,.is-folded .side-status .conn,.is-folded .prog-side-top .tool-name{display:none}.is-folded .side-status{justify-content:center;padding:0}.is-folded .side-status-tools{flex-direction:column}.is-folded .app-switch{padding:4px}.is-folded .app-switch-item{justify-content:center;padding:6px 0}.is-folded .side{padding-left:10px;padding-right:10px}.is-folded .prog-side-top{flex-direction:column}.is-folded .side-user{justify-content:center;padding:6px 0}.is-folded .nav-link{justify-content:center}.prog-mine .nav-sub{padding-left:12px;font-size:13.5px}.prog-mine .nav-sub .nav-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.prog-main{flex-direction:column;min-width:0;height:100%;min-height:0;display:flex;overflow:hidden}.prog-page{animation:page-in .22s var(--ease-out);flex:1;padding:30px 36px 72px;overflow-y:auto}.prog-page.page-narrow>*{max-width:1100px}.prog-cards{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-top:8px;display:grid}.prog-card{border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-card);color:inherit;transition:transform .2s var(--ease-out), box-shadow .2s var(--ease-out);gap:10px;padding:16px 18px 14px;text-decoration:none;display:grid}.prog-card:hover{box-shadow:var(--shadow-raise);transform:translateY(-2px)}.prog-card.is-archived{opacity:.7}.prog-card-top{align-items:center;gap:8px;display:flex}.prog-card-role{align-items:center;gap:4px;font-size:12.5px;display:inline-flex}.prog-card-title{color:var(--ink);text-wrap:balance;font-size:16.5px;font-weight:650;line-height:1.3}.prog-card-meta{color:var(--ink-3);font-size:13px}.prog-card-line{background:var(--surface-3);border-radius:999px;height:10px;position:relative}.prog-card-line b{background:var(--done);border-radius:999px;position:absolute;top:0;bottom:0;left:0}.prog-card-line.is-behind b{background:var(--danger)}.prog-card-due{background:var(--ink);z-index:1;border-radius:1px;width:2px;margin-left:-1px;position:absolute;top:-3px;bottom:-3px}.prog-card-foot{align-items:center;gap:12px;font-size:13px;display:flex}.prog-project{min-height:0;animation:page-in .22s var(--ease-out);flex-direction:column;flex:1;display:flex}.prog-head{flex-wrap:wrap;align-items:center;gap:8px 12px;padding:18px 24px 10px;display:flex}.prog-head-main{flex:260px;min-width:0}.prog-head-tools{flex:none;align-items:center;gap:12px;display:flex}.prog-head-main h1{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.prog-back{width:32px;height:32px;color:var(--ink-2);border-radius:10px;place-items:center;display:grid}.prog-back:hover{background:var(--surface-3);color:var(--ink)}.prog-head-main h1{margin:0;font-size:22px;line-height:1.2}.prog-head-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-top:4px;font-size:13px;display:flex}.chip-btn{color:var(--ink-3);font:inherit;background:0 0;border:0;border-radius:999px;align-items:center;gap:4px;padding:2px 6px 2px 2px;display:inline-flex}.chip-btn:not(:disabled):hover{background:var(--surface-3)}.chip-btn:disabled{cursor:default;padding-right:2px}.prog-tools{flex-wrap:wrap;align-items:center;gap:4px;padding:6px 20px 10px;display:flex}.prog-tools-slot{display:contents}.tools-sep{background:var(--line-solid);width:1px;height:20px;margin:0 6px}.prog-tools .seg{margin-left:auto}.toggle-chip{color:var(--ink-2);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:9px;align-items:center;gap:6px;padding:5px 10px;font-size:13px;font-weight:600;display:inline-flex}.toggle-chip:hover{background:var(--surface-3)}.toggle-chip input{accent-color:var(--ash);margin:0}.prog-body{border-radius:var(--radius-card);background:var(--surface);min-height:0;box-shadow:var(--shadow-card);flex:1;margin:0 16px 16px;display:flex;overflow:hidden}.gantt-wrap{flex-direction:column;flex:1;min-width:0;display:flex}.gantt{overscroll-behavior:contain;--row-h:36px;outline:none;flex:1;min-height:0;overflow:auto}.gantt:focus-visible{box-shadow:inset 0 0 0 2px var(--focus)}.gantt-canvas{position:relative}.gantt-headrow{z-index:5;display:flex;position:sticky;top:0}.gantt-bodyrow{display:flex}.gantt-corner{z-index:6;background:var(--surface);border-bottom:1px solid var(--line-solid);box-shadow:1px 0 0 var(--line-solid);flex:none;align-items:flex-end;display:flex;position:sticky;left:0}.gantt-head{background:var(--surface);border-bottom:1px solid var(--line-solid);flex:none;position:relative;overflow:clip}.gh-tier{height:27px;position:relative}.gh-top{border-bottom:1px solid var(--line)}.gh-tick{box-shadow:inset 1px 0 0 var(--line);white-space:nowrap;align-items:center;display:flex;position:absolute;top:0;bottom:0;overflow:clip}.gh-top .gh-tick{box-shadow:inset 1px 0 0 var(--line-solid)}.gh-label{left:var(--gh-left,0px);color:var(--ink-2);padding:0 5px;font-size:12px;font-weight:600;position:sticky}.gh-bottom .gh-label{color:var(--ink-3);font-variant-numeric:tabular-nums;font-weight:500}.gh-bottom .gh-tick.is-off{background:var(--surface-2)}.gh-bottom .gh-tick.is-today .gh-label{color:var(--gb-today);font-weight:700}.gh-today{background:var(--gb-today);color:#fff;pointer-events:none;z-index:2;border-radius:6px;padding:1px 6px;font-size:11px;font-weight:700;position:absolute;top:4px;transform:translate(-50%)}.gantt-grid{z-index:4;background:var(--surface);box-shadow:1px 0 0 var(--line-solid), 6px 0 12px -10px #1018282e;flex:none;position:sticky;left:0}.gantt-body{background-image:repeating-linear-gradient(to bottom, transparent 0 calc(var(--row-h) - 1px), var(--line) calc(var(--row-h) - 1px) var(--row-h));flex:none;position:relative}.gantt-empty{color:var(--ink-3);padding:24px}.off-strip{background:var(--surface-2);position:absolute;top:0;bottom:0}.off-strip.is-squeezed{background:repeating-linear-gradient(135deg, var(--surface-3) 0 2px, transparent 2px 5px);opacity:.8}.grid-line{background:var(--line);width:1px;position:absolute;top:0;bottom:0}.grid-line.is-major{background:var(--line-solid)}.row-band{height:var(--row-h);background:var(--ash-soft);position:absolute;left:0;right:0}.today-line{background:var(--gb-today);opacity:.8;z-index:0;pointer-events:none;width:2px;margin-left:-1px;position:absolute;top:0;bottom:0}.bar{background:var(--gb);color:#fff;cursor:grab;touch-action:none;height:20px;transition:box-shadow .15s var(--ease);z-index:2;border-radius:6px;position:absolute;box-shadow:0 1px 2px #1018281f}.bar:hover,.bar.is-selected{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px color-mix(in srgb, var(--gb) 45%, transparent)}.bar.is-dragging{cursor:grabbing;box-shadow:var(--shadow-raise)}.bar.is-hold{background:repeating-linear-gradient(135deg, var(--gb) 0 6px, color-mix(in srgb, var(--gb) 70%, #fff) 6px 9px)}.bar.is-late:after{content:"";background:var(--danger);border-radius:2px;width:3px;position:absolute;top:-3px;bottom:-3px;right:-1px}.bar-fill{pointer-events:none;background:#00000042;border-radius:6px 0 0 6px;position:absolute;inset:0 auto 0 0}.bar-label{left:var(--gh-left,0px);vertical-align:top;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;max-width:100%;padding:0 9px;font-size:12px;font-weight:600;line-height:20px;display:inline-block;position:sticky;overflow:hidden}.bar-h{cursor:ew-resize;width:7px;position:absolute;top:0;bottom:0}.bar-h-start{left:-2px}.bar-h-end{right:-2px}.bar-prog{border:5px solid #0000;border-bottom:6px solid var(--ink-2);cursor:ew-resize;opacity:0;width:0;height:0;transition:opacity .12s var(--ease);border-top:0;margin-left:-5px;position:absolute;bottom:-7px}.bar-dot{background:var(--surface);width:10px;height:10px;box-shadow:inset 0 0 0 2px var(--ink-3);cursor:crosshair;opacity:0;transition:opacity .12s var(--ease);border-radius:50%;margin-top:-5px;position:absolute;top:50%;right:-14px}.bar:hover .bar-prog,.bar.is-selected .bar-prog,.bar:hover .bar-dot,.bar.is-selected .bar-dot,.mile:hover .bar-dot,.mile.is-selected .bar-dot{opacity:1}.bar-dot:hover{box-shadow:inset 0 0 0 3px var(--ash)}.bar-out{height:18px;color:var(--ink-2);white-space:nowrap;pointer-events:none;z-index:1;opacity:clamp(0, calc(var(--x,1) - var(--sl,0)), 1);align-items:center;gap:6px;font-size:12.5px;display:inline-flex;position:absolute}.gbar{background:color-mix(in srgb, var(--gb-group) 30%, transparent);cursor:grab;touch-action:none;z-index:2;border-radius:3px;height:10px;position:absolute}.gbar i{background:var(--gb-group);border-radius:3px 0 0 3px;position:absolute;inset:0 auto 0 0}.gbar:before,.gbar:after{content:"";background:var(--gb-group);width:2px;height:14px;position:absolute;bottom:-4px}.gbar:before{left:0}.gbar:after{right:0}.gbar.is-selected,.gbar:hover{outline:2px solid color-mix(in srgb, var(--gb-group) 35%, transparent);outline-offset:2px}.gbar-label{color:var(--ink);font-weight:650}.mile{cursor:grab;touch-action:none;z-index:2;width:16px;height:16px;position:absolute}.mile:before{content:"";background:var(--gb);box-shadow:0 0 0 2px var(--surface);border-radius:2px;position:absolute;inset:2px;transform:rotate(45deg)}.mile.is-done:before{background:var(--done)}.mile.is-selected:before,.mile:hover:before{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px color-mix(in srgb, var(--gb) 45%, transparent)}.mile .bar-dot{right:-16px}.links{pointer-events:none;z-index:1;position:absolute;inset:0;overflow:visible}.link-halo{fill:none;stroke:var(--surface);stroke-width:5px;stroke-linejoin:round}.link-line{fill:none;stroke:var(--ink-3);stroke-width:1.4px}.link-head{fill:var(--ink-3)}.link.is-broken .link-line{stroke:var(--danger);stroke-dasharray:4 3}.link-head.is-broken{fill:var(--danger)}.link-line.is-drawing{stroke:var(--ash);stroke-dasharray:5 4}.link-hit{fill:none;stroke:#0000;stroke-width:10px;pointer-events:stroke;cursor:pointer}.link:hover .link-line{stroke:var(--ink);stroke-width:2px}.drag-tip{z-index:var(--z-tip);background:var(--ink);color:var(--surface);pointer-events:none;box-shadow:var(--shadow-pop);white-space:nowrap;border-radius:9px;padding:6px 10px;font-size:12.5px;font-weight:600;position:fixed}.drag-tip.is-warn{background:var(--danger);color:#fff}.grip-line{background:var(--ash);z-index:5;height:2px;position:absolute;left:0;right:0}.pg-head{align-items:center;height:30px;display:grid}.pg-hcell{height:100%;color:var(--ink-3);white-space:nowrap;align-items:center;padding:0 8px;font-size:12.5px;font-weight:500;display:flex;position:relative}.pg-row{border-bottom:1px solid var(--line);background:var(--surface);align-items:center;font-size:13.5px;display:grid;position:absolute;left:0;right:0}.list-table .pg-row{position:relative}.pg-row:hover{background:var(--surface-2)}.pg-row.is-selected{background:var(--ash-soft)}.pg-row.is-group{font-weight:650}.pg-row.is-done .pg-name-text{color:var(--ink-3)}.pg-cell{white-space:nowrap;align-items:center;gap:6px;min-width:0;height:100%;padding:0 8px;display:flex;overflow:hidden}.pg-cell.is-editable{cursor:text}.pg-cell.is-editable:hover{box-shadow:inset 0 0 0 1px var(--line-strong);border-radius:6px}.pg-wbs{color:var(--ink-3);font-variant-numeric:tabular-nums;font-size:12.5px}.pg-wbs.is-grip{cursor:grab}.pg-name{gap:7px}.pg-name-text{text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.pg-twist,.pg-twist-gap{width:18px;height:18px;color:var(--ink-3);background:0 0;border:0;border-radius:5px;flex:none;place-items:center;padding:0;display:grid}.pg-twist:hover{background:var(--surface-3);color:var(--ink)}.pg-dot{background:var(--gb);border-radius:3px;flex:none;width:9px;height:9px}.pg-dot.is-group{border-radius:50%;width:10px;height:10px}.pg-diamond{background:var(--gb);border-radius:2px;flex:none;width:9px;height:9px;transform:rotate(45deg)}.pg-more{width:24px;height:24px;color:var(--ink-3);opacity:0;background:0 0;border:0;border-radius:7px;flex:none;place-items:center;margin-left:auto;display:grid}.pg-row:hover .pg-more,.pg-row.is-selected .pg-more,.pg-more:focus-visible{opacity:1}.pg-more:hover{background:var(--surface-3);color:var(--ink)}.pg-input{border:1px solid var(--ash);background:var(--surface);width:100%;min-width:0;height:28px;color:var(--ink);font:inherit;border-radius:7px;padding:0 6px;font-weight:500}.pg-late{color:var(--danger-text);font-weight:600}.pg-progress{align-items:center;gap:7px;width:100%;display:flex}.pg-ptrack{background:var(--surface-3);border-radius:999px;flex:none;width:26px;height:5px;overflow:hidden}.pg-ptrack i{background:var(--done);border-radius:999px;height:100%;display:block}.pg-adder{border-bottom-color:#0000}.pg-adder:hover{background:0 0}.pg-add{color:var(--ash-text);font:inherit;background:0 0;border:0;border-radius:6px;align-items:center;gap:4px;padding:3px 4px;font-size:13px;font-weight:600;display:inline-flex}.pg-add:hover{background:var(--ash-soft)}.pg-add-sep{color:var(--line-strong)}.list-wrap{flex-direction:column;flex:1;min-width:0;display:flex}.list-scroll{flex:1;min-height:0;overflow:auto}.list-head{z-index:3;background:var(--surface);border-bottom:1px solid var(--line-solid);position:sticky;top:0}.bulk-bar{background:var(--ash-soft);border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:8px 14px;font-size:13.5px;display:flex}.row-panel{border-left:1px solid var(--line-solid);background:var(--surface);width:380px;animation:panel-in .22s var(--ease-out);flex-direction:column;flex:none;display:flex}@keyframes panel-in{0%{opacity:0;transform:translate(12px)}}.row-panel-head{align-items:center;gap:8px;padding:12px 14px 4px 18px;display:flex}.row-panel-body{flex:1;align-content:start;gap:14px;padding:6px 18px 24px;display:grid;overflow-y:auto}.row-panel-name{width:100%;color:var(--ink);font:inherit;resize:none;field-sizing:content;background:0 0;border:0;border-radius:8px;height:auto;min-height:2.4em;margin:0 -8px;padding:6px 8px;font-size:19px;font-weight:650;line-height:1.3}.row-panel-name:hover:not([readonly]),.row-panel-name:focus{background:var(--surface-2);outline:none}.panel-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.panel-value{color:var(--ink-2);padding:7px 0;display:block}.panel-hint{margin-bottom:6px;font-size:12.5px;display:block}.row-panel input[type=range]{width:100%;accent-color:var(--done)}.assign-btn{border:1px solid var(--line-solid);background:var(--surface);width:100%;min-height:38px;color:var(--ink-3);font:inherit;text-align:left;border-radius:10px;align-items:center;gap:8px;padding:4px 10px;display:flex}.assign-btn:not(:disabled):hover{border-color:var(--line-strong)}.link-list{gap:6px;display:grid}.link-lag{text-align:center;height:30px;width:56px!important}.seg-sm button{align-items:center;gap:4px;padding:4px 10px;font-size:12.5px;display:inline-flex}.select-sm{width:auto;height:30px;min-height:30px;padding-top:0;padding-bottom:0;font-size:13px}.faces{align-items:center;display:inline-flex}.face{background:var(--ash-soft);width:22px;height:22px;color:var(--ash-text);letter-spacing:.02em;box-shadow:0 0 0 2px var(--surface);border-radius:50%;flex:none;place-items:center;font-size:9.5px;font-weight:700;display:inline-grid}.faces .face+.face{margin-left:-5px}.face-contact{background:var(--k-sheet-soft);color:var(--k-sheet)}.face-more{background:var(--surface-3);color:var(--ink-2)}.face-lg{width:30px;height:30px;font-size:11.5px}.prio{white-space:nowrap;align-items:center;gap:4px;font-size:12.5px;font-weight:600;display:inline-flex}.prio-low{color:var(--ink-3)}.prio-medium{color:var(--info)}.prio-high{color:var(--progress-text)}.prio-urgent{color:var(--danger-text)}.popover{z-index:var(--z-popover);border-radius:var(--radius-pop);background:var(--surface);box-shadow:var(--shadow-pop);animation:pop-in .14s var(--ease-out);padding:8px;position:fixed}.menu{padding:6px}.menu-item{width:100%;color:var(--ink);font:inherit;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:9px;padding:7px 10px;font-size:13.5px;display:flex}.menu-item:hover:not(:disabled),.menu-item:focus-visible{background:var(--surface-2);outline:none}.menu-item:disabled{color:var(--ink-3);opacity:.6}.menu-item.is-danger{color:var(--danger-text)}.menu-item svg{color:var(--ink-3);flex:none}.menu-sep{background:var(--line);height:1px;margin:5px 4px}.assign .input{margin-bottom:6px}.assign-list{max-height:300px;overflow-y:auto}.assign-head{padding:8px 8px 4px}.pick-row{width:100%;color:var(--ink);font:inherit;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:9px;padding:6px 8px;font-size:13.5px;display:flex}.pick-row:hover{background:var(--surface-2)}.pick-row.is-on{background:var(--ash-soft)}.member-list{gap:8px;margin:12px 0 16px;display:grid}.member-row{align-items:center;gap:10px;display:flex}.member-add{gap:8px;display:grid}.check-row{cursor:pointer;align-items:flex-start;gap:10px;margin-top:6px;display:flex}.check-row input{accent-color:var(--ash);margin-top:3px}.check-row span{gap:2px;display:grid}.link-pop{gap:8px;padding:4px;display:grid}.link-pop p{margin:0;font-size:12.5px}.shut-row{align-items:center;gap:12px;display:flex}.shut-what{flex-wrap:wrap;flex:1;justify-content:space-between;align-items:baseline;gap:2px 12px;min-width:0;display:flex}.shut-add{flex-wrap:wrap;align-items:end;gap:10px;margin-top:16px;display:flex}.shut-add>.field{flex:150px;min-width:0}.shut-add>.field:first-child{flex-basis:200px}.shut-add>.btn{flex:none}.bank-list{flex-wrap:wrap;gap:6px 18px;font-size:13.5px;display:flex}.door-programme .door-icon{background:var(--k-project-soft);color:var(--k-project)}.door:nth-child(4){animation-delay:.15s}@media (width<=860px){.prog-page{padding:20px 16px 48px}.prog-head{padding:14px 16px 6px}.prog-body{margin:0 8px 8px}.row-panel{z-index:40;width:min(380px,100vw);box-shadow:var(--shadow-pop);position:fixed;inset:0 0 0 auto}.office.prog.is-folded{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){.office.prog,.row-panel,.popover,.prog-card{transition:none;animation:none}}.bar-dot-start{left:-14px;right:auto}.mile .bar-dot-start{left:-16px;right:auto}.prog-tools .btn.is-on{background:var(--ash-soft);color:var(--ash-text)}.show-critical .bar:not(.is-critical),.show-critical .mile:not(.is-critical){opacity:.42}.show-critical .link:not(.is-critical) .link-line{opacity:.4}.bar.is-critical,.mile.is-critical:before{box-shadow:0 0 0 2px var(--surface), 0 0 0 3.5px var(--danger)}.link.is-critical .link-line{stroke:var(--danger);stroke-width:1.8px}.link-head.is-critical{fill:var(--danger)}.base-bar{background:color-mix(in srgb, var(--ink-3) 55%, transparent);pointer-events:none;z-index:1;border-radius:3px;height:5px;position:absolute}.base-mile{border:1.5px solid var(--ink-3);pointer-events:none;z-index:1;border-radius:2px;width:10px;height:10px;position:absolute;transform:rotate(45deg)}.slip{border-radius:5px;padding:0 5px;font-size:11.5px;font-weight:650;line-height:16px;display:inline-block}.slip.is-late{background:var(--danger-soft);color:var(--danger-text)}.slip.is-early{background:var(--done-soft);color:var(--done-text)}.base-pop{gap:6px;padding:4px;display:grid}.base-pop p{margin:0 0 4px;font-size:12.5px}.base-row{align-items:center;gap:8px;min-height:32px;font-size:13.5px;display:flex}.base-row input,.link-type input{accent-color:var(--ash)}.base-pick{align-items:center;gap:8px;min-width:0;display:flex}.base-save{border-top:1px solid var(--line);gap:6px;margin-top:4px;padding-top:8px;display:flex}.base-save .input{flex:1;min-width:0;height:32px}.link-types{gap:4px;display:grid}.link-type{cursor:pointer;border-radius:8px;align-items:flex-start;gap:8px;padding:6px 8px;display:flex}.link-type:hover{background:var(--surface-3)}.link-type.is-on{background:var(--ash-soft)}.link-type input{margin-top:3px}.link-type>span{gap:1px;font-size:13px;display:grid}.link-type .muted{font-size:12px}.link-row{background:var(--surface-2);border-radius:10px;gap:6px;padding:8px 10px;font-size:13.5px;display:grid}.link-row-top{align-items:center;gap:8px;min-height:26px;display:flex}.link-row-opts{align-items:center;gap:8px;display:flex}.link-row-opts .select{min-width:0}.link-lag-wrap{align-items:center;gap:6px;font-size:12.5px;display:inline-flex}.link-row-type{white-space:nowrap;font-size:12px}.panel-facts{gap:6px;display:grid}.panel-fact{background:var(--surface-2);color:var(--ink-2);border-radius:10px;padding:8px 10px;font-size:13px}.panel-fact.is-critical,.panel-fact.is-late{background:var(--danger-soft);color:var(--danger-text)}.pg-adder-top .pg-add-strong{color:var(--ink)}.prog-list-tools .input[type=search]{width:220px}.seg-count{color:var(--ink-3);font-variant-numeric:tabular-nums;margin-left:4px;font-size:11.5px}.seg-scroll{scrollbar-width:none;max-width:100%;overflow-x:auto}.seg-scroll::-webkit-scrollbar{display:none}.prog-folders{margin-top:26px}.prog-folder.pf-awaitingStart{--folder-back:color-mix(in srgb, var(--ash) 16%, var(--surface))}.prog-folder.pf-inProgress{--folder-back:var(--progress-soft)}.prog-folder.pf-onHold{--folder-back:var(--stone-soft)}.prog-folder.pf-done{--folder-back:var(--done-soft)}.prog-folder .folder-tab{color:var(--ink-2);font-size:12px;font-weight:650}.prog-folder.pf-inProgress .folder-tab{color:var(--progress-text)}.prog-folder.pf-done .folder-tab{color:var(--done-text)}.prog-folder .folder-body{position:relative}.prog-folder-top{align-items:flex-start;gap:6px;display:flex}.prog-folder-top .folder-title{flex:1;min-width:0}.prog-folder-top .star-btn{margin:-6px -8px 0 0}.prog-folder-foot .folder-stats span{white-space:nowrap}.prog-folder-foot{align-items:center;gap:10px;min-height:30px;display:flex}.prog-folder:hover{transform:translateY(-2px)}.pl-link{color:var(--ink);text-decoration:none}.pl-link:after{content:"";position:absolute;inset:0}.pl-link:focus-visible{outline:none}.pl-link:focus-visible:after{border-radius:var(--radius-card);box-shadow:inset 0 0 0 2px var(--focus)}.prog-folder button,.prog-folder .chip-btn,.prog-row button,.prog-row .chip-btn{z-index:1;position:relative}.pl-sub{min-width:0;color:var(--ink-3);white-space:nowrap;align-items:center;gap:6px;font-size:12.5px;display:flex}.pl-sub>span{text-overflow:ellipsis;overflow:hidden}.pl-role{flex:none;align-items:center;gap:3px;display:inline-flex}.pl-timeline{gap:4px;min-width:0;display:grid}.pl-dates{color:var(--ink-3);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.pl-late{white-space:nowrap}.star-btn{width:34px;height:34px;color:var(--ink-3);cursor:pointer;transition:color var(--dur) var(--ease), background-color var(--dur) var(--ease);background:0 0;border:0;border-radius:8px;flex:none;place-items:center;margin:0 auto;display:grid}.star-btn:hover{background:var(--surface-3);color:var(--ink-2)}.star-btn.is-on{color:#c98a0b}.prog-list-box{margin-top:8px;container-type:inline-size}.prog-list{border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-card);overflow:hidden}.prog-list-head,.prog-row{grid-template-columns:44px minmax(200px,1fr) 190px 64px 104px 136px 92px 44px;align-items:center;gap:8px;padding:0 8px 0 4px;display:grid}.prog-list-head{border-bottom:1px solid var(--line);min-height:36px;color:var(--ink-3);font-size:12px}.prog-row{border-bottom:1px solid var(--line);min-height:60px;transition:background-color var(--dur) var(--ease);position:relative}.prog-row:last-child{border-bottom:0}.prog-row:hover{background:var(--surface-2)}.prog-row.is-archived{opacity:.75}.prog-row>span{min-width:0}.prog-row .r,.prog-list-head .r{text-align:right}.pl-name{gap:2px;padding:8px 0;display:grid}.pl-name .pl-link{text-overflow:ellipsis;white-space:nowrap;font-size:15px;font-weight:620;overflow:hidden}.pl-c-overdue{padding-left:12px}.pl-progress{color:var(--ink);font-weight:650}.pl-late-inline{display:none}@container (width<=1000px){.prog-list-head,.prog-row{grid-template-columns:44px minmax(180px,1fr) 150px 56px 104px 136px 44px}.pl-c-people{display:none}}@container (width<=820px){.prog-list-head,.prog-row{grid-template-columns:40px minmax(0,1fr) 56px 136px 40px}.pl-c-timeline,.pl-c-overdue{display:none}.pl-late-inline{display:block}}@container (width<=520px){.prog-list-head{display:none}.prog-row{grid-template-columns:36px minmax(0,1fr) auto 36px;gap:6px}.pl-c-progress{display:none}.pl-name .pl-link{white-space:normal}}.prog-list-foot{margin:14px 0 0}.nav-hint{color:var(--ink-3);padding:2px 10px 4px;font-size:12.5px;line-height:1.35}.st-dot{background:var(--ink-3);border-radius:50%;flex:none;width:8px;height:8px}.st-dot.st-awaitingStart{box-shadow:inset 0 0 0 1.5px var(--ink-3);background:0 0}.st-dot.st-inProgress{background:var(--progress)}.st-dot.st-onHold{background:var(--stone)}.st-dot.st-done{background:var(--done)}.prog-mine .nav-sub{position:relative}.prog-mine .nav-sub[draggable=true]{cursor:grab}.prog-mine .nav-sub.is-dragging{opacity:.45}.prog-mine .nav-sub.drop-before:before,.prog-mine .nav-sub.drop-after:after{content:"";background:var(--ash);border-radius:1px;height:2px;position:absolute;left:8px;right:8px}.prog-mine .nav-sub.drop-before:before{top:-2px}.prog-mine .nav-sub.drop-after:after{bottom:-2px}.tpl-tag{margin-left:8px}.tpl-lines{text-overflow:ellipsis;white-space:nowrap;max-width:60ch;margin-top:2px;font-size:12.5px;font-weight:400;overflow:hidden}.star-inline{vertical-align:-4px;width:30px;height:30px;margin:0 0 0 6px;display:inline-grid}.prog-tools .btn-sm:not(.btn-icon){padding-inline:7px}.prog-tools .seg button{padding-inline:8px}.prog-tools .tools-sep{margin:0 4px}.prog-tools{gap:2px;padding-inline:16px}.prog-tools .btn-sm{gap:5px}.base-save{gap:6px;display:grid}.base-save .input{width:100%}.prog-tools .tools-label{text-overflow:ellipsis;white-space:nowrap;max-width:140px;overflow:hidden}.pg-adder-cell{white-space:nowrap;overflow:hidden}.gantt-grid{container-type:inline-size}.pg-add-short{display:none}@container (width<=560px){.pg-add-opt,.pg-add-long{display:none}.pg-add-short{display:inline}}@container (width<=240px){.pg-adder-cell{--adder-lead:16px}.pg-add-sep{display:none}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .show-critical .bar:not(.is-critical),:root:not([data-theme=light]) .show-critical .mile:not(.is-critical){opacity:.58}}:root[data-theme=dark] .show-critical .bar:not(.is-critical),:root[data-theme=dark] .show-critical .mile:not(.is-critical){opacity:.58}@media (width<=860px){.prog-fold{display:none}}.item-list{border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-card);overflow:hidden}.item-row{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px 14px;min-height:60px;padding:10px 16px;display:flex}.item-row:last-child{border-bottom:0}.item-row.is-archived{opacity:.6}.item-icon{background:var(--ash-soft);width:36px;height:36px;color:var(--ash-text);border-radius:10px;flex:none;place-items:center;display:grid}.item-main{flex:160px;gap:2px;min-width:0;display:grid}.item-title{color:var(--ink);font-weight:620}.item-tag{margin-left:8px}.item-sub{color:var(--ink-3);font-size:13px}.item-clamp{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.item-actions{gap:4px;margin-left:auto;display:flex}.prog-folder,.prog-folder .folder-body,.prog-folder .folder-body>*{min-width:0}.prog-folder .folder-body{grid-template-columns:minmax(0,1fr);display:grid}.prog-body{position:relative;container-type:inline-size}@container (width<=980px){.row-panel{z-index:30;width:min(380px,100%);position:absolute;top:0;bottom:0;right:0;box-shadow:-12px 0 32px -12px #10182847}}.task-row{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:8px 14px;min-height:60px;padding:10px 16px;display:flex}.task-row:last-child{border-bottom:0}.task-mark{background:var(--surface-3);width:30px;height:8px;color:var(--ash-text);border-radius:999px;flex:none;place-items:center;display:grid;position:relative;overflow:hidden}.task-mark i{background:var(--done);border-radius:999px;position:absolute;inset:0 auto 0 0}.task-row .task-mark:has(svg){background:0 0;height:auto;overflow:visible}.task-link{text-decoration:none}.task-link:hover{text-decoration:underline}.task-late{color:var(--danger-text);font-weight:600}.task-side{align-items:center;gap:10px;margin-left:auto;display:flex}.task-pct{text-align:right;min-width:3ch;color:var(--ink);font-weight:650}.task-done{min-width:112px}.task-done span{white-space:nowrap}.task-done-gap{width:112px}.task-done-list{margin-top:16px}.task-row.due-done{opacity:.7}.fold-caret{transition:transform .16s var(--ease)}.fold-btn[aria-expanded=true] .fold-caret{transform:rotate(90deg)}.wl-tools .input[type=search]{width:200px}.wl-nav{align-items:center;gap:2px;display:inline-flex}.wl-legend{flex-wrap:wrap;align-items:center;gap:6px 14px;margin:4px 0 14px;font-size:12.5px;display:flex}.wl-legend-item{align-items:center;gap:6px;display:inline-flex}.wl-legend .wl-chip{width:18px;height:18px}.wl-wrap{border-radius:var(--radius-card);background:var(--surface);box-shadow:var(--shadow-card);overflow-x:auto}.wl-table{border-collapse:collapse;width:100%;min-width:760px}.wl-table th,.wl-table td{border-bottom:1px solid var(--line)}.wl-table tbody tr:last-child th,.wl-table tbody tr:last-child td{border-bottom:0}.wl-person{z-index:1;background:var(--surface);text-align:left;width:220px;min-width:190px;box-shadow:1px 0 0 var(--line-solid);padding:8px 12px 8px 16px;font-weight:400;position:sticky;left:0}thead .wl-person{color:var(--ink-3);font-size:12px}.wl-table tbody th.wl-person{align-items:center;gap:10px;display:flex}.wl-name{min-width:0;display:grid}.wl-name .item-title,.wl-name .item-sub{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.wl-week{text-align:center;min-width:56px;padding:8px 4px;font-weight:400}.wl-week-no{color:var(--ink-2);font-size:12.5px;font-weight:650;display:block}.wl-week-day{color:var(--ink-3);white-space:nowrap;font-size:11.5px;display:block}.wl-week.is-now .wl-week-no{color:var(--danger-text)}.wl-cell{text-align:center;padding:6px 4px}.wl-cell.is-now,.wl-week.is-now{background:color-mix(in srgb, var(--danger) 5%, transparent)}.wl-chip{width:36px;height:30px;font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;transition:transform .12s var(--ease), box-shadow .12s var(--ease);border:0;border-radius:8px;place-items:center;font-size:13.5px;font-weight:650;display:inline-grid}button.wl-chip:hover{box-shadow:var(--shadow-xs), 0 0 0 1px var(--line-strong);transform:translateY(-1px)}.wl-chip.lv-1{background:var(--ash-soft);color:var(--ash-text)}.wl-chip.lv-2{background:color-mix(in srgb, var(--ash) 42%, var(--surface));color:var(--ink)}.wl-chip.lv-3{background:var(--progress);color:var(--progress-ink)}.wl-empty{background:var(--line-strong);opacity:.6;border-radius:50%;width:6px;height:6px;display:inline-block}.wl-nobody .wl-person .item-title{color:var(--ink-2)}.wl-pop{gap:4px;padding:4px;display:grid}.wl-pop-head{border-bottom:1px solid var(--line);gap:1px;margin-bottom:2px;padding:2px 6px 6px;display:grid}.wl-pop-line{color:inherit;border-radius:8px;gap:1px;padding:7px 8px;text-decoration:none;display:grid}.wl-pop-line:hover{background:var(--surface-3)}.wl-pop-all{justify-self:start;margin-top:4px}.wl-chip.has-late{box-shadow:inset 0 0 0 2px var(--danger)}@media (width<=600px){.wl-person{width:128px;min-width:128px;padding-left:12px}.wl-table tbody th.wl-person .face{display:none}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .wl-chip.lv-2{background:color-mix(in srgb, var(--ash) 75%, var(--surface));color:#fff}}:root[data-theme=dark] .wl-chip.lv-2{background:color-mix(in srgb, var(--ash) 75%, var(--surface));color:#fff}.ov-grid{grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr));align-items:start;gap:16px;margin-top:20px;display:grid}.ov-card{border-radius:var(--radius-card);background:var(--surface);min-width:0;box-shadow:var(--shadow-card);gap:4px;padding:14px 8px 8px;display:grid}.ov-head{align-items:center;gap:8px;min-height:30px;padding:0 10px;display:flex}.ov-head h2{margin:0;font-size:15px;font-weight:650}.ov-lead,.ov-none{margin:0;padding:2px 10px 6px;font-size:13px}.ov-list{display:grid}.ov-row{min-height:50px;color:inherit;transition:background-color var(--dur) var(--ease);border-radius:10px;align-items:center;gap:10px;padding:7px 10px;text-decoration:none;display:flex}.ov-row:hover{background:var(--surface-2)}.ov-row .item-main{flex:auto}.ov-row .item-title,.ov-row .item-sub{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ov-diamond{color:var(--ash-text);vertical-align:0;margin-right:5px}.ov-side{flex:none;align-items:center;gap:10px;font-size:13px;display:flex}.ov-more{justify-self:start;margin:2px 4px}.ov-meter{background:var(--surface-3);border-radius:999px;flex:none;width:90px;height:8px;position:relative}.ov-meter i{background:var(--danger);border-radius:999px;position:absolute;inset:0 auto 0 0}.ov-meter b{background:var(--ink);border-radius:1px;width:2px;margin-left:-1px;position:absolute;top:-4px;bottom:-4px}.ov-weeks{flex:none;gap:4px;display:flex}.ov-week.wl-chip{width:26px;height:24px;cursor:inherit;font-size:12px}.wl-chip.lv-0{background:var(--surface-2)}.ptl-page{flex-direction:column;display:flex}.ptl-tools{margin-bottom:8px}.ptl-empty{margin-top:16px}.ptl{--ptl-name:300px;border-radius:var(--radius-card);background:var(--surface);min-height:300px;max-height:calc(100vh - 260px);box-shadow:var(--shadow-card);overflow:auto}.ptl-canvas{position:relative}.ptl-row{min-height:34px;display:flex}.ptl-name{z-index:3;width:var(--ptl-name);background:var(--surface);box-shadow:1px 0 0 var(--line-solid), 6px 0 12px -10px #1018282e;flex:none;align-items:center;gap:8px;min-width:0;padding:6px 12px;display:flex;position:sticky;left:0}.ptl-lane{flex:1;position:relative}.ptl-headrow{z-index:5;border-bottom:1px solid var(--line-solid);position:sticky;top:0}.ptl-corner{z-index:6;color:var(--ink-3);font-size:12px}.ptl-head{background:var(--surface)}.ptl-body{position:relative}.ptl-back{left:var(--ptl-name);pointer-events:none;position:absolute;top:0;bottom:0}.ptl-prog{border-top:1px solid var(--line);min-height:52px}.ptl-group:first-child .ptl-prog{border-top:0}.ptl-caret{width:24px;height:24px;color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:6px;flex:none;place-items:center;display:grid}.ptl-caret:hover{background:var(--surface-3);color:var(--ink)}.ptl-caret-gap{flex:none;width:24px}.ptl-prog-main{gap:3px;min-width:0;display:grid}.ptl-prog-link{text-overflow:ellipsis;white-space:nowrap;color:var(--ink);font-weight:620;text-decoration:none;overflow:hidden}.ptl-prog-link:hover,.ptl-child-link:hover{text-decoration:underline}.ptl-prog-sub{flex-wrap:wrap;gap:6px;display:flex}.ptl-child .ptl-name{padding-left:44px;font-size:13.5px}.ptl-child-link{text-overflow:ellipsis;white-space:nowrap;color:var(--ink-2);text-decoration:none;overflow:hidden}.ptl-bar{background:color-mix(in srgb, var(--gb,var(--ash)) 32%, var(--surface));cursor:pointer;z-index:1;height:14px;transition:box-shadow .12s var(--ease);border:0;border-radius:5px;margin-top:-7px;padding:0;position:absolute;top:50%;overflow:hidden}.ptl-bar i{background:var(--gb,var(--ash));position:absolute;inset:0 auto 0 0}.ptl-bar:hover,.ptl-bar:focus-visible{box-shadow:0 0 0 2px var(--surface), 0 0 0 4px color-mix(in srgb, var(--gb,var(--ash)) 45%, transparent);outline:none}.ptl-prog .ptl-bar{border-radius:6px;height:18px;margin-top:-9px}.ptl-bar.is-late{box-shadow:inset -3px 0 0 var(--danger)}.ptl-st-awaitingStart{--gb:var(--gb-ash)}.ptl-st-inProgress{--gb:var(--progress)}.ptl-st-onHold{--gb:var(--gb-stone)}.ptl-st-done{--gb:var(--done)}.ptl-mile{width:18px;height:18px;color:var(--gb,var(--ash));cursor:pointer;z-index:1;background:0 0;border:0;place-items:center;margin-top:-9px;padding:0;display:grid;position:absolute;top:50%}.ptl-out{color:var(--ink-3);white-space:nowrap;pointer-events:none;font-size:12.5px;position:absolute;top:50%;transform:translateY(-50%)}.ptl-out-strong{color:var(--ink-2);font-weight:600}.ptl-page{container-type:inline-size}@container (width<=700px){.ptl{--ptl-name:200px}.ptl-child .ptl-name{padding-left:30px}}@container (width<=480px){.ptl{--ptl-name:150px}.ptl-child .ptl-name{padding-left:22px}}@media (width<=860px){.ptl{max-height:none}}.ptl .gh-label{left:var(--ptl-name)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .ptl-bar{background:color-mix(in srgb, var(--gb,var(--ash)) 50%, var(--surface))}}:root[data-theme=dark] .ptl-bar{background:color-mix(in srgb, var(--gb,var(--ash)) 50%, var(--surface))}.prog-title-row{align-items:center;gap:6px;min-width:0;display:flex}.prog-title-row h1{min-width:0}.prog-title-row .star-inline{flex:none;margin:0}.list-table .pg-wbs,.list-table .pg-name{z-index:1;background:inherit;position:sticky}.list-table .pg-wbs{left:0}.list-table .pg-name{left:var(--wbs-w);box-shadow:1px 0 0 var(--line)}.list-head .pg-hcell.pg-wbs,.list-head .pg-hcell.pg-name{background:var(--surface)}.list-table .pg-adder-cell{box-shadow:none;position:static;overflow:visible}.pg-adder-inner{align-items:center;gap:inherit;display:flex}.list-table .pg-adder-inner{left:calc(var(--wbs-w) + 8px);position:sticky}.zoom-select{width:auto;display:none}@media (width<=640px),(height<=500px){.prog-head{gap:6px 8px;padding:10px 12px 2px}.prog-head-main h1{font-size:19px}.prog-head-meta{margin-top:2px;font-size:12.5px}.prog-head-tools{gap:8px}.prog-tools{gap:2px;padding:0 8px 6px}.prog-tools .tools-label{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}.prog-tools .btn-sm:not(.btn-icon){justify-content:center;min-width:32px;padding-inline:6px}.prog-tools .tools-sep{margin:0 2px}.prog-tools .zoom-seg{display:none}.prog-tools .zoom-select{margin-left:auto;display:block}.prog-body{margin:0 4px 4px}.gh-today{display:none}.pg-name{--indent:10px}.gantt-grid .pg-name-text{-webkit-line-clamp:2;white-space:normal;-webkit-box-orient:vertical;font-size:13px;line-height:1.2;display:-webkit-box}.list-table .pg-wbs{position:static}.list-table .pg-name{left:0}.list-table .pg-adder-inner{left:8px}.list-table .pg-name-text{-webkit-line-clamp:2;white-space:normal;-webkit-box-orient:vertical;font-size:13px;line-height:1.2;display:-webkit-box}}@media (pointer:coarse){.pg-twist,.chip-btn{position:relative}.pg-twist:after,.chip-btn:after{content:"";position:absolute;inset:-8px -3px}}.pg-twist svg,.ptl-caret svg{transition:transform .16s var(--ease-out)}.pg-twist[aria-expanded=true] svg,.ptl-caret[aria-expanded=true] svg{transform:rotate(90deg)}.bar,.mile,.gbar,.link-line{transition:opacity .2s var(--ease-out), box-shadow .15s var(--ease)}.star-btn[data-pop] svg{animation:star-pop .3s var(--ease-out)}@keyframes star-pop{40%{transform:scale(1.25)}}.pg-row[data-fresh]:after{content:"";box-shadow:inset 0 0 0 2px var(--focus);pointer-events:none;animation:row-fresh .9s var(--ease-out) forwards;position:absolute;inset:0}@keyframes row-fresh{0%,35%{opacity:1}to{opacity:0}}.prog-folder,.prog-row{animation:rise .3s var(--ease-out) backwards;animation-delay:calc(min(var(--i,0), 8) * 40ms)}.prog-card-line b{transform-origin:0;animation:bar-grow .5s var(--ease-out) backwards;animation-delay:calc(min(var(--i,0), 8) * 40ms + .12s)}@keyframes bar-grow{0%{transform:scaleX(0)}}.task-row.is-leaving{animation:task-leave .3s var(--ease-out) forwards}.task-row.is-leaving .task-done,.task-row.is-leaving .task-done:disabled{opacity:1;color:var(--done)}.task-row.is-leaving .task-done svg{animation:star-pop .26s var(--ease-out)}@keyframes task-leave{0%,45%{opacity:1;transform:none}to{opacity:0;transform:translate(10px)}}.row-panel.is-ghost{pointer-events:none;box-shadow:var(--shadow-pop);animation:panel-out .2s var(--ease) forwards}@keyframes panel-out{to{opacity:0;transform:translate(16px)}}.popover{transform-origin:0 0}.popover.is-up{transform-origin:0 100%;animation-name:pop-in-up}@keyframes pop-in-up{0%{opacity:0;transform:translateY(4px)scale(.98)}}.ov-row.is-extra,.ptl-child{animation:rise .2s var(--ease-out) backwards}.bar-out .faces{pointer-events:auto}.faces{cursor:default;min-width:0}.faces-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink-2);margin-left:6px;font-size:12.5px;overflow:hidden}.name-tip{z-index:var(--z-tip);background:var(--ink);max-width:260px;color:var(--surface);box-shadow:var(--shadow-raise);pointer-events:none;animation:name-tip-in .12s var(--ease) both;border-radius:10px;gap:6px;padding:8px 12px 10px;font-size:12.5px;font-weight:500;display:grid;position:fixed}.name-tip-head{opacity:.65;font-size:11px;font-weight:600}.name-tip-row{white-space:nowrap;align-items:center;gap:8px;display:flex}.name-tip .face:not(.face-stonie):not(.face-photo){box-shadow:none;background:var(--surface);color:var(--ink)}@keyframes name-tip-in{0%{opacity:0;transform:translateY(3px)}}.named-faces{flex-wrap:wrap;gap:6px;display:flex}.named-face{background:var(--surface-2);color:var(--ink);border-radius:999px;align-items:center;gap:6px;padding:3px 10px 3px 4px;font-size:13px;font-weight:500;display:inline-flex}.assign-chosen{border-bottom:1px solid var(--line-solid);flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;padding-bottom:10px;display:flex}.assign-chosen .label{width:100%}.assign-chip{background:var(--surface-2);border-radius:999px;align-items:center;gap:6px;max-width:100%;padding:3px 4px;font-size:13px;font-weight:500;display:inline-flex}.assign-chip-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.assign-chip-x{width:20px;height:20px;color:var(--ink-3);cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;display:inline-grid}.assign-chip-x:hover{background:var(--surface-3);color:var(--ink)}.pg-assigned .faces-name{display:none}.list-table .pg-assigned .faces-name{display:inline}.signin{justify-items:stretch}.signin>.gate-mark{justify-self:start}.signin-people .pick{animation:rise .32s var(--ease-out) backwards;animation-delay:calc(min(var(--i,0), 8) * 35ms)}.signin-form{gap:12px;display:grid}.signin-demo{background:var(--surface-2);border-radius:10px;padding:10px 12px;font-size:13px}.side-user-face{cursor:pointer;transition:transform .2s var(--ease-out);background:0 0;border:0;border-radius:12px;flex:none;padding:0}@media (hover:hover) and (pointer:fine){.side-user-face:hover{transform:translateY(-2px)rotate(-3deg)}}.side-user-face:active{transform:scale(.94)}.person-cell{align-items:center;gap:10px;display:flex}.person-email{font-size:12.5px;display:block}.new-start{gap:4px;display:grid}.new-start code{background:var(--surface-2);border-radius:8px;justify-self:start;padding:6px 10px;font-size:16px;font-weight:650}.pin{text-align:center;justify-items:center;gap:12px;width:100%;display:grid}.pin-who{justify-items:center;gap:8px;display:grid}.pin-who h1{font-size:22px}.pin-dots{gap:14px;margin:6px 0 0;display:flex}.pin-dots span{width:16px;height:16px;box-shadow:inset 0 0 0 2px var(--line-strong);transition:background-color .12s var(--ease);border-radius:50%}.pin-dots span.on{background:var(--ink);box-shadow:none;animation:dot-pop .22s var(--ease-out)}.pin-dots.is-wrong{animation:shake .38s var(--ease)}.pin-dots.is-wrong span.on{background:var(--danger)}.pin-msg{min-height:20px;color:var(--danger-text);font-size:14px;font-weight:500}.pin-pad{grid-template-columns:repeat(3,68px);gap:12px;display:grid}.pin-pad button{background:var(--surface-2);height:68px;color:var(--ink);font:inherit;cursor:pointer;transition:transform .12s var(--ease-out), background-color .12s var(--ease);border:0;border-radius:50%;font-size:24px;font-weight:600}.pin-pad button:active:not(:disabled){background:var(--surface-3);transform:scale(.9)}.pin-pad .pin-del{background:0 0;place-items:center;display:grid}.pin-pad .pin-del:disabled{opacity:.3}@keyframes dot-pop{50%{transform:scale(1.35)}}@keyframes shake{20%{transform:translate(-8px)}40%{transform:translate(7px)}60%{transform:translate(-5px)}80%{transform:translate(3px)}}.welcome{background:var(--bg);grid-template-rows:auto 1fr;min-height:100dvh;display:grid}.welcome-top{align-items:center;gap:12px;padding:16px 24px;display:flex}.welcome-kicker{color:var(--ink-2);font-weight:650}.welcome-main{align-content:start;justify-items:center;gap:18px;width:min(640px,100%);margin:0 auto;padding:8px 20px 48px;display:grid}.welcome-stage{place-items:center;width:184px;height:184px;display:grid;position:relative}.welcome-stage svg{width:184px;height:184px}.welcome-stage.is-done,.welcome-stage.is-done svg{width:230px;height:230px}.welcome-card{background:var(--surface);width:100%;box-shadow:var(--shadow-raise);border-radius:24px;padding:26px 32px;overflow:hidden}.welcome-step h1{letter-spacing:-.02em;margin-bottom:8px;font-size:28px;font-weight:650;line-height:1.15}.welcome-lead{color:var(--ink-2);margin-bottom:18px;font-size:16px}.welcome-step.from-right{animation:step-in-right .44s var(--ease-out) both}.welcome-step.from-left{animation:step-in-left .44s var(--ease-out) both}.welcome-step>*,.welcome-form>*{animation:rise .38s var(--ease-out) backwards}.welcome-step>:nth-child(2),.welcome-form>:nth-child(2){animation-delay:50ms}.welcome-step>:nth-child(3),.welcome-form>:nth-child(3){animation-delay:.1s}.welcome-step>:nth-child(4),.welcome-form>:nth-child(4){animation-delay:.15s}.welcome-step>:nth-child(n+5),.welcome-form>:nth-child(n+5){animation-delay:.2s}@keyframes step-in-right{0%{opacity:0;transform:translate(40px)rotate(.8deg)}}@keyframes step-in-left{0%{opacity:0;transform:translate(-40px)rotate(-.8deg)}}.welcome-form{gap:14px;display:grid}.welcome-nav{align-items:center;gap:8px;margin-top:6px;display:flex}.welcome-err{min-height:20px;color:var(--danger-text);font-size:14px;font-weight:500}.welcome-err:not(:empty){animation:shake .38s var(--ease)}.welcome-go{transition:transform .16s var(--ease-out)}.welcome-go:active:not(:disabled){transform:scale(.95)}.input-lg{min-height:48px;font-size:16px}.welcome-email{background:var(--surface-2);overflow-wrap:anywhere;border-radius:12px;padding:14px 16px;font-size:18px;font-weight:650}.welcome-tick{border:2px solid var(--line-solid);cursor:pointer;transition:border-color .2s var(--ease), background-color .2s var(--ease);border-radius:14px;align-items:center;gap:12px;padding:14px 16px;font-weight:600;display:flex}.welcome-tick input{width:22px;height:22px;accent-color:var(--done)}.welcome-tick.is-on{border-color:var(--done);background:color-mix(in srgb, var(--done) 10%, var(--surface))}.welcome-tick.is-on input{animation:dot-pop .26s var(--ease-out)}.welcome-checks{color:var(--ink-2);gap:6px;margin:0;padding:0;font-size:14px;list-style:none;display:grid}.welcome-checks li{align-items:center;gap:8px;display:flex}.welcome-checks li:before{content:"";width:16px;height:16px;box-shadow:inset 0 0 0 2px var(--line-strong);transition:background-color .2s var(--ease), box-shadow .2s var(--ease);border-radius:50%}.welcome-checks li.is-ok{color:var(--done-text,var(--ink))}.welcome-checks li.is-ok:before{background:var(--done);box-shadow:none;animation:dot-pop .26s var(--ease-out)}.welcome-choices{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.welcome-choice{border:2px solid var(--line-solid);background:var(--surface);color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:transform .22s var(--ease-out), border-color .2s var(--ease), background-color .2s var(--ease);border-radius:18px;align-content:start;justify-items:start;gap:6px;padding:18px;display:grid}.welcome-choice span{color:var(--ink-2);font-size:14px}.welcome-choice svg{color:var(--ash-text)}@media (hover:hover) and (pointer:fine){.welcome-choice:hover{transform:translateY(-3px)}}.welcome-choice:active{transform:scale(.97)}.welcome-choice.is-on{border-color:var(--ash);background:var(--ash-soft)}.welcome-choice.is-on svg{animation:wiggle .52s var(--ease-out)}.course-ground{fill:var(--line-solid)}.stone-courses .course{transform-box:fill-box;transform-origin:50% 100%}.stone-courses .course.is-new{animation:.6s cubic-bezier(.3,.7,.4,1) both course-land}@keyframes course-land{0%{opacity:.38;transform:translateY(-26px)}18%{opacity:.7;animation-timing-function:cubic-bezier(.55,0,.9,.45);transform:translateY(-32px)}46%{opacity:1;transform:translateY(0)scale(1.07,.82)}64%{transform:translateY(-4px)scale(.97,1.04)}82%{transform:translateY(0)scale(1.012,.988)}to{opacity:1;transform:none}}.course-stack{transform-box:fill-box;transform-origin:50% 100%}.course-stack.is-thud{animation:.42s cubic-bezier(.3,.7,.4,1) .26s both stack-thud}@keyframes stack-thud{30%{transform:scaleY(.975)}65%{transform:scaleY(1.01)}}.course-ghost-in{transform-box:fill-box;transform-origin:50% 100%}.course-ghost-in.after-land{animation:ghost-arrive .42s var(--ease-out) .6s both}@keyframes ghost-arrive{0%{opacity:0;transform:translateY(-18px)}}.course-ghost-in.from-stack{animation:ghost-lift .44s var(--ease-out) both}@keyframes ghost-lift{0%{transform:translateY(26px)}}.course-dust .dust{transform-box:fill-box;transform-origin:50%;opacity:0;animation:none}.course-dust .dust-l{animation-name:dust-l}.course-dust .dust-r{animation-name:dust-r}.course-dust .dust-2{animation-delay:.3s}@keyframes dust-l{0%{opacity:.9;transform:translate(0)scale(.4)}to{opacity:0;transform:translate(-18px,-9px)scale(1.2)}}@keyframes dust-r{0%{opacity:.9;transform:translate(0)scale(.4)}to{opacity:0;transform:translate(18px,-9px)scale(1.2)}}.course-ghost{transform-box:fill-box;transform-origin:50% 100%;animation:1.8s ease-in-out infinite ghost-bob}.course-ghost.is-wobble{animation:ghost-wobble .46s var(--ease-out), ghost-bob 1.8s ease-in-out .46s infinite}@keyframes ghost-bob{50%{transform:translateY(-5px)}}@keyframes ghost-wobble{20%{transform:rotate(-6deg)translate(-6px)}45%{transform:rotate(5deg)translate(5px)}70%{transform:rotate(-3deg)}}.stone-courses.is-merging{transform-origin:50% 85%;animation:.56s cubic-bezier(.34,1.56,.64,1) both merge}.stone-courses.is-merging polygon{stroke-opacity:0;transition:stroke-opacity .36s var(--ease)}@keyframes merge{35%{transform:scale(1.08,.86)}70%{transform:scale(.95,1.08)}to{transform:scale(1)}}.stonie-hold{transform-origin:50% 85%;place-items:center;display:grid}.stonie-eyes{transform-box:fill-box;transform-origin:50%}.stonie-hold.is-born{animation:.68s cubic-bezier(.34,1.56,.64,1) both born}.stonie-hold.is-born .stonie-eyes{animation:eyes-open .72s var(--ease-out) .26s both}.stonie-hold.is-bumped{animation:.52s cubic-bezier(.34,1.56,.64,1) bump}.stonie-hold.is-bumped .stonie-eyes{animation:.32s ease-in-out .14s blink}.stonie-hold.is-cheering{animation:.9s ease-in-out 3 cheer}@keyframes born{0%{opacity:.4;transform:scale(.88,1.12)translateY(-10px)}50%{opacity:1;transform:scale(1.08,.92)}to{transform:none}}@keyframes eyes-open{0%{transform:scaleY(.06)}60%{transform:scaleY(1.12)}to{transform:none}}@keyframes blink{50%{transform:scaleY(.1)}}@keyframes bump{25%{transform:scale(1.08,.9)rotate(-3deg)}55%{transform:scale(.96,1.05)rotate(2deg)translateY(-10px)}to{transform:none}}@keyframes cheer{30%{transform:translateY(-20px)rotate(-5deg)}50%{transform:scale(1.06,.94)}70%{transform:translateY(-10px)rotate(4deg)}}@keyframes wiggle{25%{transform:rotate(-12deg)scale(1.15)}60%{transform:rotate(8deg)}}.welcome .stonie-z,.modal .stonie-z{animation:2.4s ease-in-out infinite z-float}@keyframes z-float{50%{opacity:.6;transform:translate(3px,-5px)}}.chips{pointer-events:none;position:absolute;inset:50% auto auto 50%}.chips i{background:var(--stone-chip,#c9bfa4);width:9px;height:7px;animation:.9s cubic-bezier(.2,.7,.4,1) both chip;animation-delay:calc(var(--n) * 25ms);border-radius:2px;position:absolute}@keyframes chip{0%{opacity:1;transform:rotate(var(--a)) translateX(10px) rotate(0deg)}to{opacity:0;transform:rotate(var(--a)) translateX(120px) rotate(200deg)}}@media (width<=760px){.welcome-main{gap:12px;padding:4px 12px 24px}.welcome-stage,.welcome-stage svg,.builder-stage svg{width:170px;height:170px}.builder-stage{height:176px}.welcome-card{border-radius:20px;padding:22px 18px}.welcome-step h1{font-size:23px}.pin-pad{grid-template-columns:repeat(3,64px)}.pin-pad button{height:64px}}.home-doors-two{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.path-h{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;width:100%;margin:0;padding:0;list-style:none;display:grid}.path-h-step{text-align:center;align-content:start;justify-items:center;gap:4px;display:grid;position:relative}.path-h-step+.path-h-step:before{content:"";background:var(--surface-3);width:calc(100% - 32px);height:2px;transition:background-color .4s var(--ease);border-radius:1px;position:absolute;top:13px;right:calc(50% + 16px)}.path-h-step.is-done+.path-h-step:before,.path-h-step.is-done+.path-h-step.is-done:before{background:color-mix(in srgb, var(--done) 45%, var(--surface-3))}.path-h-dot{background:var(--surface);width:28px;height:28px;box-shadow:inset 0 0 0 2px var(--line-strong);color:var(--done-ink);transition:background-color .3s var(--ease), box-shadow .3s var(--ease), transform .16s var(--ease-out);border:0;border-radius:50%;place-items:center;padding:0;display:grid;position:relative}.path-h-dot:not(:disabled){cursor:pointer}.path-h-dot:not(:disabled):active{transform:scale(.9)}.is-done .path-h-dot{background:var(--done);box-shadow:none;animation:.42s cubic-bezier(.34,1.56,.64,1) dot-fill}.is-now .path-h-dot{background:var(--progress);box-shadow:none}.is-now .path-h-dot:after{content:"";border:2px solid var(--progress);animation:ring 1.6s var(--ease-out) infinite;border-radius:50%;position:absolute;inset:-4px}.path-h-label{color:var(--ink-2);font-size:12.5px;font-weight:600;line-height:1.2}.is-now .path-h-label{color:var(--ink)}.path-h-value{color:var(--ink-3);font-size:11.5px;line-height:1.2}@keyframes dot-fill{0%{transform:scale(.6)}60%{transform:scale(1.18)}to{transform:none}}@keyframes ring{0%{opacity:.8;transform:scale(.9)}to{opacity:0;transform:scale(1.35)}}.builder{justify-items:center;gap:14px;width:100%;display:grid}.builder-stage{place-items:center;height:236px;display:grid}.builder-part{justify-items:center;gap:12px;width:100%;display:grid}.builder-part.from-right{animation:step-in-right .38s var(--ease-out) both}.builder-part.from-left{animation:step-in-left .38s var(--ease-out) both}.builder-q{letter-spacing:-.01em;font-size:22px;font-weight:650}.choice-pills{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.choice-pill{border:2px solid var(--line-solid);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;animation:rise .32s var(--ease-out) backwards;animation-delay:calc(var(--i,0) * 40ms);transition:background-color .2s var(--ease), border-color .2s var(--ease), color .2s var(--ease), transform .16s var(--ease-out);border-radius:999px;padding:9px 16px;font-size:14.5px;font-weight:600}@media (hover:hover) and (pointer:fine){.choice-pill:hover{border-color:var(--line-strong)}}.choice-pill:active{transform:scale(.95)}.choice-pill.is-on{border-color:var(--ash);background:var(--ash);color:#fff}.builder-nav{align-items:center;gap:8px;width:100%;display:flex}.picture-stage{place-items:center;height:210px;display:grid}.picture-photo{object-fit:cover;width:180px;height:180px;box-shadow:var(--shadow-raise);border-radius:28px}.picture-choices{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.picture-choice{border:2px solid var(--line-solid);transition:border-color .2s var(--ease), background-color .2s var(--ease);border-radius:18px;justify-items:center;gap:10px;padding:12px;display:grid}.picture-choice .btn{white-space:normal;text-align:center;max-width:100%;height:auto;min-height:32px}.picture-choice.is-on{border-color:var(--ash);background:var(--ash-soft)}.picture-pick{color:var(--ink);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:12px;justify-items:center;gap:6px;padding:4px 10px;display:grid}.picture-thumb{object-fit:cover;border-radius:12px;width:44px;height:44px}.picture-empty{background:var(--surface-2);color:var(--ink-3);place-items:center;display:grid}@media (hover:hover){.user-menu-btn:hover .side-user-face{transform:translateY(-2px)rotate(-3deg)}}svg.stonie{overflow:visible}.builder-part{align-content:start;min-height:150px}@media (width<=560px){.builder-part{min-height:200px}}.welcome-photo{width:170px;height:170px}.welcome-another{justify-self:start}.shadow-gather{transform-box:fill-box;transform-origin:50%;animation:.6s cubic-bezier(.3,.7,.4,1) both shadow-gather}@keyframes shadow-gather{0%,18%{opacity:.25;transform:scaleX(.7)}46%{opacity:1;transform:scaleX(1.05)}to{opacity:1;transform:none}}.signin>*{min-width:0}.signin .btn{white-space:normal;text-align:center;height:auto;min-height:44px}@media (width<=480px){.gate-box{padding:24px 20px}}.pin-dots.is-busy span.on,.ppin-dots.is-busy span.on{animation:pin-busy .9s var(--ease) infinite alternate}@keyframes pin-busy{to{opacity:.35}}@media (prefers-reduced-motion:reduce){.pin-dots.is-busy span.on,.ppin-dots.is-busy span.on{opacity:.6;animation:none}}.signin-forgot{font-size:var(--text-sm);margin:0}.live-actions{gap:8px;display:grid}.live-actions .row{flex-wrap:wrap;gap:4px 10px}.errors-list{margin-top:32px}.errors-list .cs-title{margin-bottom:6px}.errors-list .card{padding:2px 18px}.error-row{border-top:1px dashed var(--line);gap:6px;padding:12px 0;display:grid}.error-row:first-child{border-top:0}.error-head{font-size:var(--text-sm);flex-wrap:wrap;align-items:center;gap:6px 10px;min-width:0;display:flex}.error-head .muted{overflow-wrap:anywhere}.error-msg{font-size:var(--text-sm);white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink)}.home-doors-one{grid-template-columns:minmax(0,420px)}
