.logo{display:inline-flex;align-items:center;gap:.28em;line-height:1;-webkit-user-select:none;user-select:none}.logo-word{font:700 1em / 1 var(--sans);letter-spacing:-.02em;color:var(--ink)}.logo-word-accent{color:var(--accent)}.hdr{height:var(--hdr-h);flex:none;display:flex;align-items:center;gap:var(--hdr-gap);padding:0 var(--hdr-pad-x);background:var(--surface);color:var(--ink);border-bottom:2px solid var(--ink)}.hdr-station{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0 -8px;padding:6px 8px;border:0;border-radius:var(--r);background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;display:flex;align-items:center;gap:14px}.hdr-station:active{background:var(--page)}.hdr-station{min-width:0;flex:0 1 auto}.hdr>:not(.hdr-station):not(.hdr-spacer){flex:none}.hdr-badge{flex:none}.hdr-id{display:flex;flex-direction:column;align-items:flex-start;min-width:0;max-width:100%}.hdr-title .ms{color:var(--muted)}.hdr-badge{width:var(--badge);height:var(--badge);border-radius:var(--r);background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center}.hdr-title{display:flex;align-items:center;white-space:nowrap;font:700 var(--station-fs) / 1.05 var(--sans);letter-spacing:-.01em}.hdr-store{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font:500 var(--store-fs) var(--mono);color:var(--muted);letter-spacing:.1em;text-transform:uppercase}.hdr-spacer{flex:1}.seg{display:flex;border:1px solid var(--border);border-radius:var(--r);overflow:hidden;font:600 var(--seg-fs) var(--sans)}.seg-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;margin:0;height:var(--seg-h);padding:0 var(--seg-pad-x);display:flex;align-items:center;gap:6px;background:transparent;color:var(--muted);font:inherit;cursor:pointer;transition:background .08s ease,color .08s ease}.seg-item:active{background:var(--raised)}.seg-item.is-active{background:var(--ink);color:#fff;cursor:default}.lang{display:flex;border:1px solid var(--border);border-radius:var(--r);overflow:hidden;font:500 var(--mono-fs) var(--mono)}.lang-item{border:0;background:none;cursor:pointer;font:inherit;height:var(--seg-h);padding:0 var(--lang-pad-x);display:flex;align-items:center;color:var(--muted)}.lang-item.is-active{background:var(--ink);color:#fff}.hdr-clock{display:flex;align-items:baseline;gap:6px}.hdr-clock-hm{font:500 var(--clock-fs) / 1 var(--sans);letter-spacing:-.02em}.hdr-clock-ap{font:500 var(--mono-fs) var(--mono);color:var(--muted)}.picker-scrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;align-items:center;justify-content:center;background:#15131f73;cursor:pointer}.picker{width:var(--picker-w);max-width:calc(100% - 80px);padding:var(--picker-pad);background:var(--surface);border-radius:12px;box-shadow:var(--shadow-drawer);cursor:default;animation:cardIn .2s var(--ease-out) backwards}.picker-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:22px}.picker-title{margin:0;font:700 var(--drawer-title-fs) / 1.1 var(--sans);letter-spacing:-.015em}.picker-sub{margin-top:6px;font:400 var(--body-fs) / var(--body-lh) var(--sans);color:var(--text-2);text-wrap:pretty}.picker-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;padding:0;flex:none;width:var(--close);height:var(--close);border:1px solid var(--border);border-radius:var(--r);background:transparent;color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer}.picker-close:active{background:var(--ink);color:#fff}.picker-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--grid-gap)}.picker-tile{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-height:var(--picker-tile-h);padding:var(--prog-card-pad);border:1px solid var(--border);border-radius:var(--r);background:var(--surface);color:var(--ink);font:inherit;text-align:left;cursor:pointer;transition:transform .08s ease,background .08s ease}.picker-tile:active{transform:scale(.98);background:var(--raised)}.picker-tile.is-current{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);background:var(--accent-tint)}.picker-icon{width:var(--badge);height:var(--badge);border-radius:var(--r);background:var(--page);color:var(--ink);display:flex;align-items:center;justify-content:center}.picker-tile.is-current .picker-icon{background:var(--accent);color:#fff}.picker-name{margin-top:auto;font:700 var(--card-title-fs) / 1.1 var(--sans);letter-spacing:var(--card-title-ls)}.picker-meta{font:500 var(--mono-fs) var(--mono);color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.picker-tile.is-current .picker-meta{color:var(--accent-text)}.picker-check{position:absolute;top:14px;right:14px;display:flex;color:var(--accent)}.hdr-sync{display:flex;align-items:center;gap:6px;height:var(--seg-h);padding:0 var(--seg-pad-x);border-radius:var(--r);background:var(--raised);color:var(--muted);font:600 var(--seg-fs) var(--sans);white-space:nowrap}.hdr-sync.is-offline{background:var(--soon-tint);color:var(--soon-text)}.picker-pair{text-decoration:none;border-style:dashed}.picker-pair .picker-icon{background:var(--accent-tint);color:var(--accent)}.picker-pair .picker-meta{text-transform:none;letter-spacing:0;font-family:var(--sans);font-weight:400;font-size:var(--guide-fs)}.picker-foot{display:flex;align-items:center;gap:8px;margin-top:20px;font:500 var(--mono-fs) var(--mono);color:var(--ok);letter-spacing:.08em;text-transform:uppercase}.toast{position:absolute;left:50%;bottom:var(--toast-bottom);transform:translate(-50%);height:var(--toast-h);display:flex;align-items:center;gap:var(--toast-gap);padding:var(--toast-pad);border-radius:var(--r);background:var(--ink);color:#fff;font:500 var(--toast-fs) var(--sans);white-space:nowrap;box-shadow:var(--shadow-toast);z-index:20}.toast-rule{width:1px;height:24px;background:#fff3}.toast-undo{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;margin:0;height:40px;padding:0 14px;border-radius:var(--r);display:flex;align-items:center;background:#ffffff1f;color:#fff;font:700 12px var(--mono);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}.toast-undo:active{background:#ffffff4d}.progress-block{display:flex;flex-direction:column;gap:8px;width:var(--progress-w)}.progress-labels{display:flex;justify-content:space-between;font:500 var(--mono-fs) var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.progress-count{color:var(--ink)}.progress-track{height:8px;border-radius:4px;background:var(--track);overflow:hidden}.progress-fill{height:100%;background:var(--accent);transition:width .4s ease}.board-body{flex:1;min-height:0;display:grid;grid-template-columns:var(--cols);gap:0 var(--body-gap);padding:var(--body-pad)}.col{display:flex;flex-direction:column;min-height:0}.col-hdr{flex:none;display:flex;align-items:baseline;gap:10px;padding-bottom:10px;border-bottom:2px solid var(--ink)}.col-idx{font:500 var(--mono-fs) var(--mono);color:var(--faint)}.col-title{font:700 var(--colhdr-fs) var(--sans)}.col-fill{flex:1}.col-count{font:500 var(--colcount-fs) var(--mono);color:var(--muted)}.card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r);box-shadow:var(--shadow-card);animation:cardIn .5s var(--ease-out) backwards;cursor:pointer;transition:transform .08s ease,background .08s ease;outline:none}.card:active{transform:scale(.985);background:var(--raised)}.card-title{font:700 var(--card-title-fs) / 1.15 var(--sans);letter-spacing:var(--card-title-ls)}.card-guide{margin-top:4px;font:400 var(--guide-fs) / 1.4 var(--sans);color:var(--muted)}.card-tapline{display:flex;align-items:center;justify-content:space-between;margin-top:12px;font:500 var(--tapline-fs) var(--sans);color:var(--faint)}.open-grid{flex:1;min-height:0;overflow:auto;display:grid;grid-template-columns:repeat(var(--open-cols),minmax(0,1fr));grid-auto-rows:max-content;align-content:start;gap:var(--grid-gap);padding:var(--col-pad)}.open-card{padding:var(--card-pad);border-left:1px solid var(--border)}.open-card.is-late{border-left:6px solid var(--late)}.open-card.is-soon{border-left:6px solid var(--soon)}.open-card-top{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.open-card-due{flex:none;font:500 var(--due-fs) var(--mono);color:var(--ink)}.open-card.is-soon .open-card-due{color:var(--soon-text)}.open-card.is-late .open-card-due{color:var(--late)}.open-empty{grid-column:1 / -1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:48px 0;color:var(--muted)}.open-empty-title{font:700 18px var(--sans);color:var(--ink)}.open-empty-sub{font:500 var(--mono-fs) var(--mono);letter-spacing:.02em}.anytime{grid-column:1 / -1;display:flex;align-items:center;gap:10px;margin-top:6px;font:500 var(--mono-fs) var(--mono);letter-spacing:.02em;color:var(--muted)}.anytime-rule{flex:1;height:1px;background:var(--border)}.prog-list{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;gap:var(--grid-gap);padding:var(--col-pad)}.prog-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:48px 16px;border:1px dashed var(--border);border-radius:var(--r);color:var(--muted);text-align:center}.prog-empty-text{font:500 var(--mono-fs) / 1.6 var(--mono);letter-spacing:.02em}.prog-card{padding:var(--prog-card-pad);border-left:6px solid var(--accent)}.prog-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.prog-card-who{display:flex;align-items:center;gap:10px}.prog-card-name{font:700 var(--who-fs) var(--sans)}.prog-card-title{margin-top:14px}.prog-bar{margin-top:14px;height:4px;background:var(--border);overflow:hidden}.prog-bar-fill{height:100%;background:var(--accent);transition:width .3s ease}.prog-next{display:flex;align-items:baseline;gap:8px;margin-top:12px}.prog-next-label{flex:none;font:500 var(--mono-fs) var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent)}.prog-next-step{flex:1;font:600 var(--next-fs) / 1.3 var(--sans);color:var(--ink)}.prog-next-count{flex:none;font:500 var(--mono-fs) var(--mono);color:var(--faint)}.prog-nosteps{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:12px}.prog-nosteps-label{font:500 var(--mono-fs) var(--mono);letter-spacing:.02em;color:var(--muted)}.done-mini{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;height:var(--done-btn-h);padding:var(--done-btn-pad);display:flex;align-items:center;gap:6px;border:1.5px solid var(--ok);border-radius:var(--r);color:var(--ok);background:transparent;font:600 var(--done-btn-fs) var(--sans);cursor:pointer;transition:transform .08s ease,background .08s ease,color .08s ease}.done-mini:active{transform:scale(.97);background:var(--ok);color:#fff}.timer-chip{display:inline-flex;align-items:center;gap:5px;height:var(--chip-h);padding:0 var(--chip-pad-x);border-radius:var(--r);font:500 var(--chip-fs) var(--mono);white-space:nowrap;border:1px solid var(--border);background:var(--surface);color:var(--text-2)}.timer-chip.tone-warn{background:var(--soon-tint);border-color:var(--soon-tint);color:var(--soon-text)}.timer-chip.tone-over{background:var(--late-tint);border-color:var(--late-tint);color:var(--late-text)}.rail{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;padding-bottom:24px}.rail-empty{padding:32px 0;font:500 var(--mono-fs) / 1.6 var(--mono);letter-spacing:.02em;color:var(--muted)}.rail-row{display:flex;align-items:flex-start;gap:var(--rail-row-gap);padding:var(--rail-row-pad);border-bottom:1px solid var(--border);cursor:pointer;outline:none}.rail-row:active{background:#ebe9f1}.rail-title{font:500 var(--rail-title-fs) / 1.25 var(--sans);color:var(--text-2)}.rail-sub{margin-top:4px;font:500 var(--mono-fs) var(--mono);letter-spacing:.04em;color:var(--muted)}.rail-foot{margin-top:12px;font:500 var(--mono-fs) var(--mono);letter-spacing:.02em;color:var(--muted)}.drawer-mask{position:absolute;top:0;right:0;bottom:0;left:0;background:#f1f0f58c;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;pointer-events:none;transition:opacity .25s ease;z-index:10}.drawer-mask.is-open{opacity:1;pointer-events:auto}.drawer{position:absolute;top:0;right:0;bottom:0;width:var(--drawer-w);background:var(--surface);border-radius:12px 0 0 12px;box-shadow:var(--shadow-drawer);display:flex;flex-direction:column;transform:translate(102%);visibility:hidden;transition:transform .45s var(--ease-out),visibility 0s linear .45s;z-index:11}.drawer.is-open{transform:translate(0);visibility:visible;transition:transform .45s var(--ease-out),visibility 0s}.drawer-body{flex:1;min-height:0;overflow:auto;padding:var(--drawer-pad)}.drawer-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.drawer-title{margin:10px 0 0;font:700 var(--drawer-title-fs) / 1.1 var(--sans);letter-spacing:-.015em;text-wrap:pretty}.drawer-close{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;padding:0;flex:none;width:var(--close);height:var(--close);border:1px solid var(--border);border-radius:var(--r);background:transparent;color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer}.drawer-close:active{background:var(--ink);color:#fff}.drawer-claimer{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.drawer-claimer-who{display:flex;align-items:center;gap:8px}.drawer-claimer-name{font:700 15px var(--sans)}.schip{display:inline-flex;align-items:center;gap:5px;height:var(--schip-h);padding:0 var(--schip-pad-x);border-radius:var(--schip-r);font:600 var(--schip-fs) var(--mono);letter-spacing:.02em;white-space:nowrap}.schip-late{background:var(--late);color:#fff}.schip-soon{background:var(--soon-tint);color:var(--soon-text)}.schip-outline{border:1px solid var(--border);color:var(--text-2)}.schip-ok{background:var(--ok-tint);color:var(--ok)}.schip-meta{border:1px solid var(--border);color:var(--text-2);font-weight:500}.meta-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}.dsec{margin-top:14px;padding-top:14px;border-top:1px solid var(--border)}.meta-chips+.dsec{margin-top:16px}.dsec-label{display:flex;align-items:baseline;gap:10px;font:500 var(--mono-fs) var(--mono);letter-spacing:.02em;color:var(--muted)}.dsec-idx{color:var(--faint)}.dsec-text{margin:6px 0 0;font:400 var(--body-fs) / var(--body-lh) var(--sans);color:var(--ink);text-wrap:pretty}.dsec-nosteps{font:500 var(--mono-fs) var(--mono);letter-spacing:.02em;color:var(--muted)}.steps{transition:opacity .2s ease}.step{display:flex;align-items:center;gap:14px;min-height:var(--step-h);padding:var(--step-pad-y) 0;border-bottom:1px solid var(--border);font:400 var(--step-fs) / 1.3 var(--sans);color:var(--ink);outline:none}.step.is-tappable{cursor:pointer}.step.is-tappable:active{background:var(--raised)}.step.is-next,.step.is-photo{font-weight:600}.step.is-photo{color:var(--late-text)}.step.is-checked{color:var(--muted);text-decoration:line-through}.step-box{flex:none;width:var(--check);height:var(--check);display:flex;align-items:center;justify-content:center;border:2px solid var(--ink);border-radius:var(--r);transition:background .15s ease,border-color .15s ease}.step-box .tick{animation:tickIn .25s var(--ease-overshoot) backwards}.step-text{flex:1}.step-next{font:500 var(--mono-fs) var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--accent);text-decoration:none}.steps-lock{display:flex;align-items:center;gap:6px;margin-top:6px;font:500 var(--mono-fs) var(--mono);letter-spacing:.02em;color:var(--muted)}.dfoot{flex:none;background:var(--raised);border-top:1px solid var(--hairline);border-radius:0 0 0 12px}.dfoot-title{font:700 var(--foot-title-fs) var(--sans)}.dfoot-sub{font:500 var(--mono-fs) var(--mono);letter-spacing:.02em;color:var(--muted)}.dfoot-open{padding:var(--foot-pad-open)}.dfoot-open-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px}.crew-grid{display:grid;grid-template-columns:repeat(var(--crew-cols),minmax(0,1fr));gap:var(--crew-gap)}.crew-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;height:var(--crew-h);display:flex;align-items:center;gap:10px;padding:0 var(--crew-pad-x);background:var(--surface);border:1px solid var(--border);border-radius:var(--r);box-shadow:0 1px 2px #15131f0d;font:700 var(--crew-fs) var(--sans);color:var(--ink);cursor:pointer;transition:transform .08s ease}.crew-btn:active{transform:scale(.96);background:var(--ink);color:#fff}.crew-btn-init{flex:none;width:var(--crew-init);height:var(--crew-init);display:flex;align-items:center;justify-content:center;border-radius:var(--r-chip);background:var(--accent-tint);color:var(--accent);font:700 var(--crew-init-fs) var(--sans)}.dfoot-prog{padding:var(--foot-pad-prog)}.finish-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;border:0;width:100%;height:var(--finish-h);border-radius:var(--r);display:flex;align-items:center;justify-content:center;gap:8px;background:var(--disabled-bg);color:var(--disabled-fg);font:700 var(--finish-fs) var(--sans);cursor:default;transition:background .2s ease,transform .08s ease}.finish-btn.is-ready{background:var(--ok);color:#fff;cursor:pointer}.finish-btn.is-ready:active{transform:scale(.98)}.release-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:6px 0 0;border:0;background:transparent;width:100%;height:44px;display:flex;align-items:center;justify-content:center;gap:6px;font:500 var(--mono-fs) var(--mono);letter-spacing:.02em;color:var(--muted);cursor:pointer}.release-btn:active{color:var(--ink)}.dfoot-done{display:flex;align-items:center;gap:var(--foot-done-gap);padding:var(--foot-pad-done)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.step-cta{flex:none;display:inline-flex;align-items:center;gap:6px;height:var(--schip-h);padding:0 10px;border:1.5px solid var(--late);border-radius:var(--r-chip);background:var(--late-tint);color:var(--late-text);font:600 var(--schip-fs) var(--sans);letter-spacing:.01em;white-space:nowrap;text-decoration:none}.step-cta.is-busy{border-color:var(--border-soft);background:var(--raised);color:var(--muted)}.step-retake{font:500 var(--mono-fs) var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);text-decoration:none}.step-thumb{flex:none;width:var(--thumb-w);height:var(--thumb-h);object-fit:cover;border:1px solid var(--border);border-radius:var(--r-chip);background:var(--track);cursor:zoom-in;animation:tickIn .25s var(--ease-overshoot) backwards}.photo-view{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;display:flex;flex-direction:column;background:var(--ink);border-radius:12px 0 0 12px;overflow:hidden;cursor:zoom-out;animation:cardIn .2s var(--ease-out) backwards}.photo-view img{flex:1;min-height:0;width:100%;object-fit:contain}.photo-view-cap{flex:none;display:flex;align-items:center;gap:8px;padding:12px 18px;color:#fff;font:500 var(--mono-fs) var(--mono);letter-spacing:.02em}.pair{flex:1;display:flex;flex-direction:column;background:var(--page)}.pair-top{height:var(--hdr-h);flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 var(--hdr-pad-x);background:var(--surface);border-bottom:2px solid var(--ink)}.pair-body{flex:1;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:64px;align-items:center;padding:40px 72px 56px}.pair-title{margin:0;font:700 40px / 1.05 var(--sans);letter-spacing:-.02em}.pair-sub{margin:16px 0 0;max-width:520px;font:400 18px / 1.5 var(--sans);color:var(--text-2);text-wrap:pretty}.pair-code{display:flex;gap:12px;margin-top:40px}.pair-digit{width:68px;height:88px;border:2px solid var(--border);border-radius:12px;background:var(--surface);display:flex;align-items:center;justify-content:center;font:600 44px var(--mono);color:var(--ink);transition:border-color .12s ease,background .12s ease}.pair-digit.is-next{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.pair-digit.is-filled{background:var(--accent-tint);border-color:var(--accent-soft)}.pair-status{margin-top:18px;min-height:24px;font:500 16px var(--sans);color:var(--muted)}.pair-status.is-error{color:var(--late-text)}.pair-demo{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:28px 0 0;padding:0;border:0;background:none;font:500 14px var(--sans);color:var(--muted);text-decoration:underline;text-underline-offset:3px;cursor:pointer}.pair-pad{display:grid;grid-template-columns:repeat(3,120px);gap:14px;justify-content:center}.pair-key{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;height:92px;border:1px solid var(--border);border-radius:12px;background:var(--surface);color:var(--ink);font:600 34px var(--sans);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-card);transition:transform .08s ease,background .08s ease}.pair-key:active{transform:scale(.96);background:var(--raised)}.pair-key.is-back{color:var(--muted)}.pair-key.is-go{background:var(--accent);border-color:var(--accent);color:#fff}.pair-key:disabled{background:var(--disabled-bg);border-color:var(--disabled-bg);color:var(--disabled-fg);cursor:default;transform:none;box-shadow:none}.bar{border-radius:2px;background:var(--track);overflow:hidden;margin-top:6px}.bar-4{height:4px}.bar-8{height:8px;border-radius:4px}.bar-fill{height:100%}.icon-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;padding:0;flex:none;width:44px;height:44px;border:1px solid var(--border);border-radius:var(--r);background:transparent;color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer}.icon-btn:active{background:var(--ink);color:#fff}.pl-label{font:500 12px var(--mono);color:var(--accent)}.pl-title{font:700 24px / 1.15 var(--sans);letter-spacing:-.015em}.pl-text{margin:10px 0 0;font:400 17px / 1.5 var(--sans);color:var(--text-2);text-wrap:pretty}.pl-label+.pl-title{margin-top:6px}.user-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;display:flex;align-items:center;gap:10px;height:44px;padding:0 12px 0 6px;border:1px solid var(--border);border-radius:var(--r);background:transparent;color:var(--ink);font:inherit;cursor:pointer}.user-chip:active{background:var(--page)}.user-chip-name{font:700 15px / 1.1 var(--sans)}.user-chip-sub{white-space:nowrap;margin-top:2px;font:500 11px var(--mono);color:var(--muted)}.gate{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;padding:0 60px 40px}.gate-logo{display:flex;justify-content:center;margin-bottom:18px}.gate-title{margin:0;font:700 30px / 1.1 var(--sans);letter-spacing:-.015em}.gate-sub{margin-top:8px;font:500 13px var(--mono);color:var(--muted)}.gate-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;width:100%;max-width:1040px}.gate-card{display:flex;align-items:center;gap:14px;padding:16px 18px;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r);box-shadow:var(--shadow-card);cursor:pointer;transition:transform .08s ease;outline:none}.gate-card:active{transform:scale(.97);background:var(--raised)}.gate-name{font:700 19px / 1.1 var(--sans)}.gate-role{margin-top:4px;font:500 12px var(--mono);color:var(--muted)}.gate-sum{margin-top:6px;font:500 12px var(--mono);white-space:nowrap}.roster-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;display:flex;align-items:center;gap:8px;height:44px;padding:0 16px;border:1px solid var(--border);border-radius:var(--r);background:transparent;font:600 14px var(--sans);color:var(--text-2);cursor:pointer}.roster-btn:active{background:var(--surface)}.tl{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:0 28px;padding:22px 28px 0}.tl-main{min-height:0;overflow:auto;padding-bottom:28px}.tl-sec-hdr{display:flex;align-items:baseline;gap:10px;padding-bottom:10px;border-bottom:2px solid var(--ink)}.tl-sec-title{font:700 18px var(--sans)}.tl-sec-count{font:500 14px var(--mono);color:var(--muted)}.tl-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tcard{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r);padding:16px 18px 14px;box-shadow:var(--shadow-card);cursor:pointer;transition:transform .08s ease;outline:none}.tcard:active{transform:scale(.985);background:var(--raised)}.tcard-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.tcard-title{font:700 20px / 1.15 var(--sans);letter-spacing:-.01em}.status-chip{flex:none;display:inline-flex;align-items:center;gap:5px;height:28px;padding:0 9px;border-radius:var(--r);font:600 12px var(--mono);white-space:nowrap}.tcard-meta{margin-top:10px;display:flex;align-items:center;gap:8px;font:500 12px var(--mono);color:var(--muted)}.tcard-tap{display:flex;align-items:center;justify-content:space-between;font:500 13px var(--sans);color:var(--faint)}.folder{display:flex;align-items:center;gap:14px;min-height:64px;padding:0 18px;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r);box-shadow:var(--shadow-card);cursor:pointer;outline:none}.folder:active{background:var(--raised)}.folder-icon{width:40px;height:40px;border-radius:var(--r);display:flex;align-items:center;justify-content:center}.folder-icon.tone-accent{background:var(--accent-tint);color:var(--accent)}.folder-icon.tone-grey{background:var(--page);color:var(--muted)}.folder-title{font:700 18px / 1.1 var(--sans)}.folder-sum{margin-top:3px;font:500 12px var(--mono);color:var(--muted)}.folder-prog{display:flex;align-items:center;gap:10px}.folder-pct{font:500 13px var(--mono);color:var(--ink)}.tl-rail{min-height:0;overflow:auto;padding-bottom:28px}.me-card{background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r);padding:20px;box-shadow:var(--shadow-card)}.me-name{font:700 20px / 1.1 var(--sans)}.me-role{margin-top:3px;font:500 12px var(--mono);color:var(--muted)}.me-pct-row{margin-top:18px;display:flex;align-items:baseline;justify-content:space-between}.me-pct{font:700 30px / 1 var(--sans);letter-spacing:-.02em}.me-pct-sub{font:500 12px var(--mono);color:var(--muted)}.next-due{margin-top:16px;padding:12px 14px;border-radius:var(--r);display:flex;align-items:flex-start;gap:10px}.next-due-label{font:500 12px var(--mono)}.next-due-title{margin-top:3px;font:600 15px / 1.25 var(--sans)}.comp-hdr{margin-top:18px;display:flex;align-items:baseline;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--border)}.comp-title{font:700 15px var(--sans)}.comp-count{font:500 13px var(--mono);color:var(--muted)}.comp-row{display:flex;align-items:flex-start;gap:10px;padding:12px 0;border-bottom:1px solid var(--hairline)}.comp-row-title{font:500 15px / 1.25 var(--sans);color:var(--text-2)}.comp-row-sub{margin-top:3px;font:500 12px var(--mono)}.comp-empty{padding:14px 0;font:500 12px var(--mono);color:var(--muted)}.pl{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:0 28px;padding:22px 28px 24px}.pl-card{min-height:0;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r);box-shadow:var(--shadow-card);overflow:hidden}.pl-head{flex:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 22px;border-bottom:1px solid var(--hairline)}.pl-head-title{font:500 12px var(--mono);color:var(--muted)}.pl-head-step{margin-top:4px;font:700 20px / 1.1 var(--sans);letter-spacing:-.01em}.pl-content{flex:1;min-height:0;overflow:auto;padding:22px}.video-slot{aspect-ratio:16 / 9;border-radius:var(--r);background:#1b1926;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#fff;position:relative;overflow:hidden}.video-stripes{position:absolute;top:0;right:0;bottom:0;left:0;background:repeating-linear-gradient(135deg,rgba(255,255,255,.04) 0 14px,transparent 14px 28px)}.video-play{width:72px;height:72px;border-radius:50%;background:#fff;color:var(--ink);display:flex;align-items:center;justify-content:center;position:relative}.video-cap{position:relative;font:500 12px var(--mono);color:#ffffffb3}.pl-vtitle{margin-top:16px;font:700 22px / 1.2 var(--sans);letter-spacing:-.01em}.pl-vtext{margin:8px 0 0;font:400 16px / 1.5 var(--sans);color:var(--text-2);text-wrap:pretty}.step-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px;align-items:start}.photo-slot{aspect-ratio:4 / 3;border-radius:var(--r);border:1px solid var(--hairline);background:repeating-linear-gradient(135deg,#f1f0f5 0,#f1f0f5 12px,#e9e7f0 12px,#e9e7f0 24px);display:flex;align-items:center;justify-content:center;padding:16px;text-align:center;font:500 12px / 1.5 var(--mono);color:var(--muted)}.tip{margin-top:14px;padding:12px 14px;border-radius:var(--r);background:var(--accent-tint);display:flex;gap:10px;align-items:flex-start}.tip-text{font:500 14px / 1.4 var(--sans);color:var(--accent-text)}.read{max-width:640px}.read-text{margin:12px 0 0;font:400 17px / 1.55 var(--sans);color:var(--text-2);text-wrap:pretty}.bullet{display:flex;gap:12px;align-items:flex-start;margin-top:12px;font:400 16px / 1.45 var(--sans);color:var(--ink)}.bullet-sq{flex:none;width:8px;height:8px;border-radius:2px;background:var(--accent);margin-top:8px}.quiz{max-width:680px}.quiz-q{margin-top:6px;font:700 24px / 1.2 var(--sans);letter-spacing:-.015em;text-wrap:pretty}.quiz-opts{margin-top:18px;display:flex;flex-direction:column;gap:10px}.opt{min-height:56px;display:flex;align-items:center;gap:14px;padding:12px 16px;border-radius:var(--r);border:1.5px solid var(--border);background:var(--surface);color:var(--ink);font:500 17px / 1.3 var(--sans);cursor:pointer;transition:background .15s ease,border-color .15s ease;outline:none}.opt-idle:active{background:var(--page)}.opt-key{flex:none;width:30px;height:30px;border-radius:var(--r-chip);display:flex;align-items:center;justify-content:center;background:var(--page);color:var(--text-2);font:700 13px var(--mono)}.opt-right{border-color:var(--ok);background:var(--ok-tint);cursor:default}.opt-right .opt-key{background:var(--ok);color:#fff}.opt-wrong{border-color:var(--late);background:var(--late-tint);cursor:default}.opt-wrong .opt-key{background:var(--late);color:#fff}.opt-dim{border-color:var(--hairline);color:var(--faint);cursor:default}.opt-dim .opt-key{color:var(--faint)}.opt-icon{animation:tickIn .25s var(--ease-overshoot) backwards}.feedback{margin-top:16px;padding:12px 14px;border-radius:var(--r);font:500 15px / 1.4 var(--sans)}.feedback.is-right{background:var(--ok-tint);color:var(--ok)}.feedback.is-wrong{background:var(--late-tint);color:var(--late-text)}.practice{max-width:680px}.prac-card{margin-top:18px;padding:18px 20px;border-radius:var(--r);border:1px solid var(--hairline);background:var(--raised);display:flex;align-items:center;justify-content:space-between;gap:16px}.prac-label{font:500 12px var(--mono);color:var(--muted)}.prac-task{margin-top:4px;font:700 20px / 1.15 var(--sans)}.btn-start{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;border:0;height:52px;padding:0 20px;border-radius:var(--r);background:var(--accent);color:#fff;display:flex;align-items:center;gap:8px;font:700 16px var(--sans);cursor:pointer;transition:transform .08s ease}.btn-start:active{transform:scale(.97)}.btn-start.is-finish{background:var(--ok)}.prac-clock{font:500 28px var(--mono);color:var(--accent)}.prac-done{display:flex;align-items:center;gap:8px;color:var(--ok);font:700 16px var(--sans)}.complete{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:10px;padding:20px 0}.complete-icon{animation:tickIn .35s var(--ease-overshoot) backwards}.complete-title{font:700 30px / 1.1 var(--sans);letter-spacing:-.015em}.complete-sub{font:500 13px var(--mono);color:var(--muted)}.score-chip{margin-top:6px;display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 12px;border-radius:var(--r);background:var(--ok-tint);color:var(--ok);font:600 13px var(--mono)}.complete-recert{font:500 12px var(--mono);color:var(--muted)}.pl-foot{flex:none;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 22px;border-top:1px solid var(--hairline);background:var(--raised)}.btn-back{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;height:52px;padding:0 18px;border-radius:var(--r);border:1px solid var(--border);background:var(--surface);display:flex;align-items:center;gap:8px;font:600 15px var(--sans);color:var(--text-2);cursor:pointer}.btn-back:active{background:var(--page)}.btn-next{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;border:0;height:52px;min-width:200px;padding:0 22px;border-radius:var(--r);background:var(--ink);color:#fff;display:flex;align-items:center;justify-content:center;gap:8px;font:700 16px var(--sans);cursor:pointer;transition:background .2s ease,transform .08s ease}.btn-next:active:not(:disabled){transform:scale(.98)}.btn-next:disabled{background:var(--disabled-bg);color:var(--disabled-fg);cursor:default}.outline{min-height:0;overflow:auto}.outline-hdr{font:500 12px var(--mono);color:var(--muted);padding-bottom:10px;border-bottom:2px solid var(--ink);display:flex;justify-content:space-between}.outline-row{display:flex;align-items:center;gap:12px;min-height:52px;padding:8px 0;border-bottom:1px solid var(--hairline);outline:none}.outline-row.is-done,.outline-row.is-cur{cursor:pointer}.outline-row.is-upcoming{opacity:.55}.outline-n{flex:none;width:28px;height:28px;border-radius:var(--r-chip);display:flex;align-items:center;justify-content:center;border:2px solid var(--border);background:#fff;color:var(--muted);font:700 12px var(--mono)}.is-done .outline-n{background:var(--ok);border-color:var(--ok);color:#fff}.is-cur .outline-n{background:var(--accent);border-color:var(--accent);color:#fff}.outline-title{font:500 15px / 1.25 var(--sans);color:var(--ink)}.is-cur .outline-title{font-weight:700}.outline-kind{margin-top:2px;font:500 11px var(--mono);color:var(--faint)}.ro{flex:1;min-height:0;display:flex;flex-direction:column;padding:22px 28px 24px}.ro-head{flex:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:12px;border-bottom:2px solid var(--ink)}.ro-title{font:700 22px / 1.1 var(--sans);letter-spacing:-.01em}.ro-sub{margin-top:4px;font:500 12px var(--mono);color:var(--muted)}.ro-legend{display:flex;align-items:center;gap:16px;font:500 12px var(--mono);color:var(--muted)}.ro-legend>span{display:flex;align-items:center;gap:6px}.sw{display:inline-block;width:12px;height:12px;border-radius:3px}.sw-outline{border:1.5px solid var(--border-soft)}.ro-table{flex:1;min-height:0;overflow:auto;margin-top:14px;background:var(--surface);border:1px solid var(--hairline);border-radius:var(--r);box-shadow:var(--shadow-card)}.ro-row{display:grid;align-items:center;padding:0 18px;border-bottom:1px solid var(--hairline)}.ro-row-head{min-height:56px;font:500 11px / 1.3 var(--mono);color:var(--muted)}.ro-row-body{height:64px;cursor:pointer;outline:none}.ro-row-body:active{background:var(--raised)}.ro-name{font:700 15px / 1.1 var(--sans)}.ro-role{margin-top:2px;font:500 11px var(--mono);color:var(--muted)}.ro-cell{width:26px;height:26px;border-radius:6px;border:1.5px solid transparent;display:flex;align-items:center;justify-content:center;color:#fff}.ro-pct{font:500 13px var(--mono);color:var(--ink)}.canvas-viewport{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;background:var(--page)}.canvas{position:absolute;left:50%;top:50%;transform-origin:center center;overflow:hidden;overflow:clip;background:var(--page);color:var(--ink);font-family:var(--sans);display:flex;flex-direction:column}:root{--page: #f1f0f5;--surface: #ffffff;--raised: #f7f6fa;--ink: #15131f;--text-2: #4a4659;--muted: #6c6879;--faint: #9a96a8;--hairline: #e3e1ea;--border: #dcd9e6;--track: #e6e4ee;--border-soft: #cfccd9;--accent: #5b3fd6;--accent-tint: #ebe6fb;--accent-text: #3b2a8f;--accent-soft: #b1a4ee;--late: #d6362f;--late-tint: #fbe7e5;--late-text: #a8261f;--soon: #b86e10;--soon-tint: #fdefd9;--soon-text: #8a5208;--soon-dot: #e0a33a;--ok: #2b7a4b;--ok-tint: #e3f2e8;--ok-toast: #7ee2a4;--disabled-bg: #e6e4ee;--disabled-fg: #8d899c;--sans: "Space Grotesk", sans-serif;--mono: "Azeret Mono", monospace;--shadow-card: 0 1px 2px rgba(21, 19, 31, .04), 0 3px 8px rgba(21, 19, 31, .03);--shadow-drawer: -12px 0 32px rgba(21, 19, 31, .08);--shadow-toast: 0 8px 24px rgba(21, 19, 31, .18);--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-overshoot: cubic-bezier(.34, 1.56, .64, 1);--r: 8px;--r-chip: 7px}[data-size=tablet]{--canvas-w: 1280px;--canvas-h: 800px;--hdr-h: 84px;--hdr-gap: 30px;--hdr-pad-x: 28px;--badge: 44px;--badge-icon: 24px;--station-fs: 24px;--store-fs: 11px;--seg-fs: 13px;--seg-h: 40px;--seg-pad-x: 16px;--seg-icon: 18px;--progress-w: 220px;--mono-fs: 11px;--lang-pad-x: 14px;--clock-fs: 30px;--body-pad: 22px 28px 0;--body-gap: 28px;--cols: minmax(0, 2.15fr) minmax(0, 1.15fr) minmax(0, .9fr);--colhdr-fs: 17px;--colcount-fs: 14px;--open-cols: 2;--grid-gap: 12px;--col-pad: 14px 0 24px;--card-pad: 16px 18px 14px;--card-title-fs: 20px;--card-title-ls: -.01em;--due-fs: 16px;--guide-fs: 13px;--tapline-fs: 12px;--prog-card-pad: 16px 18px 16px;--avatar: 30px;--avatar-fs: 14px;--who-fs: 15px;--chip-h: 28px;--chip-pad-x: 10px;--chip-fs: 12px;--next-fs: 14px;--done-btn-h: 44px;--done-btn-pad: 0 14px 0 12px;--done-btn-fs: 14px;--rail-row-gap: 10px;--rail-row-pad: 14px 0 12px;--rail-title-fs: 15px;--drawer-w: 480px;--drawer-pad: 18px 24px 20px;--schip-h: 26px;--schip-pad-x: 8px;--schip-r: 7px;--schip-fs: 11px;--drawer-title-fs: 26px;--close: 44px;--close-icon: 22px;--body-fs: 15px;--body-lh: 1.45;--step-h: 50px;--step-pad-y: 6px;--step-fs: 15px;--check: 28px;--check-icon: 20px;--thumb-w: 64px;--thumb-h: 48px;--foot-pad-open: 14px 24px 16px;--foot-title-fs: 16px;--crew-cols: 3;--crew-gap: 8px;--crew-h: 50px;--crew-pad-x: 8px;--crew-fs: 16px;--crew-init: 28px;--crew-init-fs: 13px;--foot-pad-prog: 14px 24px 12px;--finish-h: 56px;--finish-fs: 17px;--foot-pad-done: 16px 24px 18px;--foot-done-gap: 12px;--toast-bottom: 22px;--toast-h: 52px;--toast-gap: 14px;--toast-pad: 0 6px 0 18px;--toast-fs: 15px;--picker-w: 880px;--picker-pad: 24px 28px 28px;--picker-tile-h: 150px;--picker-icon: 26px}[data-size=tv]{--canvas-w: 1920px;--canvas-h: 1080px;--hdr-h: 96px;--hdr-gap: 40px;--hdr-pad-x: 36px;--badge: 52px;--badge-icon: 28px;--station-fs: 30px;--store-fs: 13px;--seg-fs: 15px;--seg-h: 44px;--seg-pad-x: 18px;--seg-icon: 20px;--progress-w: 280px;--mono-fs: 13px;--lang-pad-x: 16px;--clock-fs: 40px;--body-pad: 28px 36px 0;--body-gap: 32px;--cols: minmax(0, 2.6fr) minmax(0, 1.1fr) minmax(0, .9fr);--colhdr-fs: 21px;--colcount-fs: 16px;--open-cols: 3;--grid-gap: 14px;--col-pad: 16px 0 28px;--card-pad: 18px 20px 16px;--card-title-fs: 24px;--card-title-ls: -.015em;--due-fs: 20px;--guide-fs: 16px;--tapline-fs: 14px;--prog-card-pad: 18px 20px 18px;--avatar: 36px;--avatar-fs: 16px;--who-fs: 17px;--chip-h: 32px;--chip-pad-x: 12px;--chip-fs: 14px;--next-fs: 17px;--done-btn-h: 48px;--done-btn-pad: 0 16px 0 14px;--done-btn-fs: 16px;--rail-row-gap: 12px;--rail-row-pad: 16px 0 14px;--rail-title-fs: 18px;--drawer-w: 600px;--drawer-pad: 24px 30px 24px;--schip-h: 32px;--schip-pad-x: 11px;--schip-r: 8px;--schip-fs: 13px;--drawer-title-fs: 34px;--close: 52px;--close-icon: 26px;--body-fs: 18px;--body-lh: 1.5;--step-h: 58px;--step-pad-y: 8px;--step-fs: 18px;--check: 32px;--check-icon: 24px;--thumb-w: 80px;--thumb-h: 60px;--foot-pad-open: 18px 30px 20px;--foot-title-fs: 18px;--crew-cols: 4;--crew-gap: 10px;--crew-h: 60px;--crew-pad-x: 10px;--crew-fs: 18px;--crew-init: 32px;--crew-init-fs: 14px;--foot-pad-prog: 18px 30px 14px;--finish-h: 64px;--finish-fs: 19px;--foot-pad-done: 20px 30px 22px;--foot-done-gap: 14px;--toast-bottom: 28px;--toast-h: 60px;--toast-gap: 16px;--toast-pad: 0 8px 0 20px;--toast-fs: 17px;--picker-w: 1180px;--picker-pad: 30px 34px 34px;--picker-tile-h: 180px;--picker-icon: 30px}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{background:var(--page);color:var(--ink);font-family:var(--sans);overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;cursor:default}p{margin:0}.ns{scrollbar-width:none}.ns::-webkit-scrollbar{display:none}.ms{font-family:Material Symbols Sharp;font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;font-feature-settings:"liga";-webkit-font-feature-settings:"liga";font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24}.ms.fill{font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}@keyframes cardIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes tickIn{0%{transform:scale(.3);opacity:0}to{transform:scale(1);opacity:1}}.tabular{font-variant-numeric:tabular-nums}.pressable{cursor:pointer}
