.part-trail{display:flex;align-items:center;gap:2px;flex:none}.prm-btn{width:32px;height:32px;margin:-8px 0;display:grid;place-items:center;border-radius:8px;color:var(--text-muted);transition:background-color .15s var(--ease-out),color .15s var(--ease-out),transform var(--t-press) var(--ease-out)}.parts-list .part-row:has(.part-trail .prm-btn){padding-right:6px}.prm-btn[data-held]{visibility:hidden}.prm-btn:hover{background:color-mix(in srgb,var(--text) 9%,transparent);color:var(--text)}.prm-btn:active{transform:scale(.9)}.prm-btn[aria-expanded=true]{background:color-mix(in srgb,var(--text) 13%,transparent);color:var(--text)}.prm-btn:focus-visible{outline:2px solid var(--accent);outline-offset:0;border-radius:8px}.part-row:has(.pe-wrap):active,.part-row:has(.prm-btn:active):active{transform:none}.prm-pop:focus,.subject-menu-pop:focus{outline:none}.prm-pop{position:fixed;z-index:45;width:max-content;min-width:196px;max-width:min(280px,calc(100vw - 16px));padding:6px;border-radius:12px;background:var(--bg-card);border:1px solid var(--border-strong);box-shadow:0 2px 4px color-mix(in srgb,#000 10%,transparent),0 8px 8px -2px color-mix(in srgb,#000 14%,transparent);font-family:var(--font-body,inherit);animation:subjMenuIn var(--motion-pop) ease both}.prm-item{width:100%;min-height:40px;display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;text-align:left;font-family:inherit;font-size:var(--fs-13);font-weight:600;line-height:1.25;color:var(--text);transition:background-color .12s var(--ease-out),color .12s var(--ease-out)}.prm-item svg{flex:none;color:var(--text-muted);transition:color .12s var(--ease-out)}.prm-item:focus-visible,.prm-item:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 13%,var(--bg-card))}.prm-item:focus-visible svg,.prm-item:hover:not(:disabled) svg{color:var(--accent-text)}.prm-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:8px}.prm-item:active:not(:disabled){background:color-mix(in srgb,var(--accent) 20%,var(--bg-card))}.prm-item:disabled{cursor:not-allowed;opacity:.5}.prm-note{margin:4px 4px 2px;padding:8px 8px 2px;border-top:1px solid var(--border);max-width:240px;font-size:var(--fs-12);line-height:1.45;color:var(--text-muted)}.pe-wrap{container-type:inline-size;margin-top:10px}.pe-line{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"label input" ". actions" ". msg";align-items:center;gap:8px 10px}.pe-label{grid-area:label;font-size:var(--fs-12);font-weight:600;color:var(--text-muted)}.pe-input{grid-area:input;width:100%;min-width:0;height:40px;padding:0 12px;border-radius:10px;border:1.5px solid var(--border-strong);background:var(--bg);color:var(--text);font-family:inherit;font-size:16px;font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;transition:border-color .15s var(--ease-out),box-shadow .15s var(--ease-out)}.pe-input:hover{border-color:color-mix(in srgb,var(--accent) 55%,var(--border-strong))}.pe-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 24%,transparent)}.pe-input[aria-invalid=true]{border-color:color-mix(in srgb,var(--danger) 80%,var(--text))}.pe-input[readonly]{opacity:.7;cursor:progress}.pe-actions{grid-area:actions;display:flex;gap:8px}.pe-btn{padding:8px 16px;min-height:36px}.pe-line[aria-busy] .pe-btn[type=submit]{cursor:progress}.pe-msg{grid-area:msg;margin:0;font-size:var(--fs-12);line-height:1.45;color:var(--text-muted)}.pe-msg--err{font-weight:600;color:color-mix(in srgb,var(--danger) 72%,var(--text))}@container (min-width: 330px){.pe-line--time{grid-template-columns:auto minmax(0,136px) auto;grid-template-areas:"label input actions" ". msg msg"}}@container (min-width: 460px){.pe-line--name{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"label input actions" ". msg msg"}}@media (min-width:641px){.pe-input{height:36px;font-size:var(--fs-14)}}.part-row:has(.pe-wrap){align-items:flex-start}.part-row:has(.pe-wrap) .part-checkbox{margin-top:1px}.le-row--found{animation:le-row-found 1.6s var(--ease-out) both}@keyframes le-row-found{0%,35%{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 55%,transparent)}to{box-shadow:0 0 0 3px transparent}}.subject-menu-item{min-height:40px;color:var(--text);transition:background-color .12s var(--ease-out)}.subject-menu-item:not(.danger) svg{color:var(--text-muted)}.subject-menu-item:not(.danger):hover{background:rgba(120,120,140,.12)}.subject-menu-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:8px}.subject-menu-item.danger:focus-visible{background:rgba(239,68,68,.1)}.subject-menu-item.danger{color:color-mix(in srgb,#EF4444 75%,var(--text,#1E1B4B))}[data-mode=dark] .subject-menu-item:not(.danger):hover{background:rgba(255,255,255,.07)}.subject-menu-btn[aria-expanded=true]{background:rgba(120,120,140,.14);color:var(--text,#1E1B4B)}.subject-menu-btn:focus-visible{outline:2px solid var(--accent);outline-offset:0}.lxmodal.sed-panel{width:min(600px,100%);max-height:min(92vh,760px);overflow:hidden;border-radius:16px;background:var(--bg-card);color:var(--text);box-shadow:0 8px 8px -4px color-mix(in srgb,#000 18%,transparent)}.lxmodal.sed-panel,.sed-form{display:flex;flex-direction:column}.sed-body,.sed-form{flex:1 1;min-height:0}.sed-body{overflow-y:auto;overscroll-behavior:contain;padding:22px 22px 4px}.sed-title{margin:0 0 14px}.sed-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}.sed-label{font-size:var(--fs-12);font-weight:600;color:var(--text-muted)}.sed-panel .ns-input{width:100%;min-height:40px;background:var(--bg);border-color:var(--border-strong);transition:border-color .15s var(--ease-out),box-shadow .15s var(--ease-out)}.sed-panel .ns-input::placeholder{color:var(--text-muted);opacity:.8}.sed-panel .ns-input:hover:not([readonly]){border-color:color-mix(in srgb,var(--accent) 55%,var(--border-strong))}.sed-panel .ns-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.sed-panel .ns-input[readonly]{opacity:.7;cursor:progress}.sed-panel .ns-field--error .ns-input{border-color:color-mix(in srgb,var(--danger,#EF4444) 80%,var(--text))}.sed-panel .dp-wrap{display:block}.sed-panel .dp-trigger{width:100%;min-width:0;min-height:40px;padding:8px 12px;border-radius:10px;border:1.5px solid var(--border-strong);background:var(--bg);font-size:var(--fs-13);font-weight:500}.sed-panel .dp-trigger.has-value{border-color:var(--border-strong)}.sed-panel .dp-trigger.open,.sed-panel .dp-trigger:hover:not(:disabled){border-color:var(--accent)}.sed-panel .dp-trigger:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}.sed-panel .dp-trigger:disabled{opacity:.7;cursor:progress}.sed-panel .ns-field--error .dp-trigger{border-color:color-mix(in srgb,var(--danger,#EF4444) 80%,var(--text))}.dp-wrap--svg .dp-cal-icon,.dp-wrap--svg .dp-chevron{display:grid;place-items:center;color:var(--text-muted)}.dp-wrap--svg .dp-chevron svg{transition:transform .16s var(--ease-out)}.dp-wrap--svg .dp-chevron--open svg{transform:rotate(180deg)}.dp-nav-icon--prev{transform:rotate(90deg)}.dp-nav-icon--next{transform:rotate(-90deg)}.sed-panel .ns-priority-pill{color:var(--text-muted);background:var(--bg);border-color:var(--border-strong)}.sed-panel .ns-priority-pill:hover:not(:disabled){border-color:var(--accent);color:var(--text)}.sed-panel .ns-priority-pill.active{color:var(--accent-ink,#fff);background:var(--accent);border-color:var(--accent)}.sed-panel .ns-priority-pill:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.sed-panel .ns-priority-pill:disabled{opacity:.6;cursor:progress}.sed-note{margin:16px 0 0;font-size:var(--fs-13);line-height:1.5;color:var(--text-muted);max-width:62ch}.sed-fail,.sed-offline{margin:12px 0 0;font-size:var(--fs-13);line-height:1.45}.sed-offline{color:var(--text-muted)}.sed-fail{font-weight:600;color:color-mix(in srgb,var(--danger,#EF4444) 72%,var(--text))}.sed-actions{display:flex;justify-content:flex-end;gap:10px;padding:16px 22px 20px}.sed-actions .rv-btn-ghost,.sed-actions .rv-btn-primary{min-height:42px;padding:10px 18px}.sed-actions .rv-btn-ghost{background:var(--bg-card);border-color:var(--border-strong)}.sed-actions .rv-btn-ghost:hover:not(:disabled){background:var(--bg-soft)}.sed-actions .rv-btn-ghost:disabled{opacity:.55;cursor:not-allowed}.sed-save[disabled]{cursor:not-allowed}.sed-form[aria-busy] .sed-save{cursor:progress}@media (max-width:640px){.lxmodal-scrim.sed-scrim{align-items:flex-end;padding:0}.lxmodal-scrim.sed-scrim .lxmodal.sed-panel{width:100%;max-height:calc(100dvh - 24px);border-radius:18px 18px 0 0;transform:translateY(100%);opacity:1;transition:transform .3s var(--ease-out),opacity .2s var(--ease-out)}.lxmodal-scrim.sed-scrim[data-open] .lxmodal.sed-panel{transform:none}.sed-body{padding:18px 16px 4px}.sed-grid{grid-template-columns:minmax(0,1fr);gap:12px}.sed-actions{padding:12px 16px calc(16px + env(safe-area-inset-bottom))}.sed-actions>*{flex:1 1}.sed-panel .dp-trigger,.sed-panel .ns-input{font-size:16px}}.subject-menu-pop--confirm{animation:lxStepIn var(--motion-pop) ease both;transform-origin:top right}.pe-wrap,.rv-confirm{animation:lxStepIn var(--motion-pop) ease both;transform-origin:top left}.prm-pop.is-leaving,.subject-menu-pop.is-leaving{animation:lxPopOut var(--motion-pop-out) var(--ease-exit) both;pointer-events:none}@keyframes lxPopOut{to{opacity:0;transform:translateY(-4px)}}.rtn[open]>:not(summary){animation:lxStepIn var(--motion-pop) ease both;transform-origin:top left}.rtn.is-closing>:not(summary){animation:lxPopOut var(--motion-pop-out) var(--ease-exit) both}@supports (interpolate-size:allow-keywords){.rtn{interpolate-size:allow-keywords}.rtn::details-content{block-size:0;overflow:clip;transition:block-size var(--motion-pop) ease,content-visibility var(--motion-pop) allow-discrete}.rtn[open]::details-content{block-size:auto}.rtn.is-closing::details-content{block-size:0;transition-duration:var(--motion-pop-out);transition-timing-function:var(--ease-exit)}}@keyframes lxStepIn{0%{opacity:0;transform:translateY(-4px) scale(.97)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.pe-wrap,.prm-pop,.prm-pop.is-leaving,.rtn.is-closing>:not(summary),.rtn[open]>:not(summary),.rv-confirm,.subject-menu-pop--confirm,.subject-menu-pop.is-leaving{animation:none}.rtn::details-content{transition:none}.pe-input,.prm-btn,.prm-item{transition:none}.le-row--found{animation:le-row-found-still 1.6s step-end both}.lxmodal-scrim.sed-scrim .lxmodal.sed-panel,.lxmodal-scrim.sed-scrim[data-open] .lxmodal.sed-panel{transform:none;transition:opacity 1ms linear}.dp-wrap--svg .dp-chevron svg{transition:none}}@keyframes le-row-found-still{0%{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 55%,transparent)}to{box-shadow:none}}.tab-view.is-out-fwd{animation:lbVtOutLeft var(--motion-view-out) var(--ease-exit) both;pointer-events:none}.tab-view.is-out-back{animation:lbVtOutRight var(--motion-view-out) var(--ease-exit) both;pointer-events:none}.tab-view.is-in-fwd{animation:lbVtInRight var(--motion-view-in) var(--ease-enter) backwards}.tab-view.is-in-back{animation:lbVtInLeft var(--motion-view-in) var(--ease-enter) backwards}@media (prefers-reduced-motion:reduce){.tab-view[class*=is-]{animation:none}}.dp-dropdown{animation:subjMenuIn var(--motion-pop) ease both}.dp-dropdown.is-leaving{animation:lxPopOut var(--motion-pop-out) var(--ease-exit) both;pointer-events:none}@media (prefers-reduced-motion:reduce){.dp-dropdown,.dp-dropdown.is-leaving{animation:none}}.undo-toast.is-leaving{animation:undoToastOut var(--motion-pop-out) var(--ease-exit) both;pointer-events:none}@keyframes undoToastOut{to{opacity:0;transform:translateY(12px)}}@media (min-width:560px){.undo-toast.is-leaving{animation-name:undoToastOutCentred}@keyframes undoToastOutCentred{to{opacity:0;transform:translate(-50%,12px)}}}@media (prefers-reduced-motion:reduce){.undo-toast.is-leaving{animation:none}}.off-cached-bar{animation:lxBarIn var(--motion-pop) ease both}@keyframes lxBarIn{0%{opacity:0;transform:translateY(-8px)}}@media (prefers-reduced-motion:reduce){.off-cached-bar{animation:none}}.rv-tab-panel{animation:nsPanelIn var(--motion-view-in) var(--ease-enter) both}@media (prefers-reduced-motion:reduce){.rv-tab-panel{animation:none}}.subject-card-wrap.is-removing{animation:lxCardOut var(--motion-view-out) var(--ease-exit) both;pointer-events:none}@keyframes lxCardOut{to{opacity:0;transform:scale(.96)}}@media (prefers-reduced-motion:reduce){.subject-card-wrap.is-removing{animation:none}}.lx-glyph,.lx-inline-ico{display:inline-block;vertical-align:-.15em;flex:none}.lx-art{vertical-align:-.22em;flex:none}.lx-art,.sp-dot{display:inline-block}.sp-dot{width:10px;height:10px;border-radius:50%;background:var(--sp-dot,#9ca3af);vertical-align:middle}.sp-dot--bad{--sp-dot:#dc2626}.sp-dot--warn{--sp-dot:#d97706}.sp-dot--good{--sp-dot:#059669}.sp-dot--none{--sp-dot:#9ca3af}.sp-dot-check{color:#059669;vertical-align:middle}.mission-empty-ico{color:var(--accent-text,currentColor);display:flex;justify-content:center}.sp-dot--info{--sp-dot:#4f46e5}.view-swap.is-out-fwd{animation:lbVtOutLeft var(--motion-view-out) var(--ease-exit) both;pointer-events:none}.view-swap.is-out-back{animation:lbVtOutRight var(--motion-view-out) var(--ease-exit) both;pointer-events:none}.view-swap.is-in-fwd{animation:lbVtInRight var(--motion-view-in) var(--ease-enter) backwards}.view-swap.is-in-back{animation:lbVtInLeft var(--motion-view-in) var(--ease-enter) backwards}.view-fade.is-out-back,.view-fade.is-out-fwd{animation:lxFadeOut var(--motion-view-out) var(--ease-exit) both;pointer-events:none}.view-fade.is-in-back,.view-fade.is-in-fwd{animation:lxFadeIn var(--motion-view-in) var(--ease-enter) backwards}@keyframes lxFadeOut{to{opacity:0}}@keyframes lxFadeIn{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.view-fade[class*=is-],.view-swap[class*=is-]{animation:none}}.off-cached-bar.is-leaving{animation:lxBarOut var(--motion-pop-out) var(--ease-exit) both;pointer-events:none}@keyframes lxBarOut{to{opacity:0;transform:translateY(-8px)}}@media (prefers-reduced-motion:reduce){.off-cached-bar.is-leaving{animation:none}}.le-row.is-exiting{animation:leRowOut var(--motion-view-out) var(--ease-exit) both;pointer-events:none}.le-row.is-entering{animation:leRowIn var(--motion-view-in) var(--ease-enter) backwards}@keyframes leRowOut{to{opacity:0;transform:translateX(12px)}}@keyframes leRowIn{0%{opacity:0;transform:translateY(-6px)}}@media (prefers-reduced-motion:reduce){.le-row.is-entering,.le-row.is-exiting{animation:none}}