@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+0460-052F,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+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,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+1F00-1FFF}@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+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@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+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,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+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--gray-0: oklch(99.6% .003 150);--gray-25: oklch(98.4% .005 150);--gray-50: oklch(97.3% .006 150);--gray-100: oklch(95.6% .008 150);--gray-200: oklch(92% .009 150);--gray-300: oklch(90% .01 150);--gray-400: oklch(82% .014 150);--gray-500: oklch(52% .017 150);--gray-600: oklch(46% .018 150);--gray-700: oklch(34% .018 150);--gray-900: oklch(24% .016 150);--gray-d-canvas: oklch(20% .018 150);--gray-d-sunken: oklch(17% .016 150);--gray-d-surface: oklch(24% .02 150);--gray-d-elev: oklch(28% .024 150);--gray-d-overlay: oklch(31% .028 150);--gray-d-border: oklch(33% .022 150);--gray-d-border-strong: oklch(42% .028 150);--gray-d-text: oklch(96% .008 150);--gray-d-muted: oklch(73% .018 150);--gray-d-faint: oklch(62% .018 150);--green-bright: oklch(74.8% .2 146);--green-50: oklch(96% .03 148);--green-200: oklch(87% .08 148);--green-500: oklch(72% .17 148);--green-600: oklch(78% .16 148);--green-700: oklch(48% .14 148);--green-800: oklch(43% .13 148);--green-900: oklch(38% .12 148);--green-d: oklch(70% .16 148);--green-d-bg: oklch(32% .06 148);--green-d-border: oklch(45% .09 148);--amber-50: oklch(96% .05 80);--amber-700: oklch(56% .12 70);--amber-900: oklch(42% .1 70);--amber-d: oklch(78% .13 78);--amber-d-bg: oklch(33% .06 78);--red-50: oklch(95% .04 27);--red-700: oklch(53% .2 27);--red-900: oklch(40% .16 27);--red-d: oklch(70% .16 26);--red-d-bg: oklch(32% .08 26);--signal-500: #ff9d1c;--color-bg: var(--gray-25);--color-surface: var(--gray-0);--color-surface-2: var(--gray-50);--color-surface-sunken: var(--gray-100);--color-overlay: var(--gray-0);--color-text: var(--gray-900);--color-text-muted: var(--gray-600);--color-text-faint: var(--gray-500);--color-border: var(--gray-300);--color-border-strong: var(--gray-700);--color-hairline: var(--gray-200);--color-inner-highlight: rgba(255, 255, 255, .6);--color-action: var(--green-700);--color-action-hover: var(--green-800);--color-action-pressed: var(--green-900);--color-action-bg: var(--green-50);--color-action-border: var(--green-200);--color-on-action: var(--gray-0);--color-highlight: var(--green-bright);--color-on-highlight: var(--gray-900);--color-success: var(--green-700);--color-success-hover: var(--green-800);--color-success-pressed: var(--green-900);--color-success-bg: var(--green-50);--color-success-text: var(--green-900);--color-on-success: var(--gray-0);--color-warning: var(--amber-700);--color-warning-border: var(--amber-700);--color-warning-bg: var(--amber-50);--color-warning-text: var(--amber-900);--color-danger: var(--red-700);--color-danger-bg: var(--red-50);--color-danger-text: var(--red-900);--color-on-danger: var(--gray-0);--weight-very-light-bg: oklch(78% .155 160);--weight-very-light-text: oklch(36% .078 160);--weight-light-bg: oklch(75% .14 240);--weight-light-text: oklch(35% .09 248);--weight-medium-bg: oklch(85% .165 96);--weight-medium-text: oklch(38% .077 84);--weight-heavy-bg: oklch(76% .155 61);--weight-heavy-text: oklch(34% .093 47);--weight-very-heavy-bg: oklch(72% .16 27);--weight-very-heavy-text: oklch(32% .125 25);--color-focus: var(--green-700);--focus-ring-width: 3px;--focus-ring-offset: 2px;--focus-ring-halo: transparent;--scene-bg-center: oklch(98% .005 150);--scene-bg-mid: oklch(93% .008 150);--scene-bg-edge: oklch(87% .012 150);--scene-vignette: oklch(35% .04 150 / .1);--scene-frame: var(--gray-700);--scene-bg-top: var(--scene-bg-center);--scene-bg-bottom: var(--scene-bg-edge);--scene-gradient: radial-gradient( 120% 120% at 50% 35%, var(--scene-bg-center) 0%, var(--scene-bg-mid) 55%, var(--scene-bg-edge) 100% );--color-glass: rgba(255, 255, 255, .78);--color-glass-solid: var(--gray-0);--glass-blur: blur(12px) saturate(140%);--font-sans: "Inter Variable", system-ui, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, "Cascadia Code", "Consolas", monospace;--font-size-xs: 14px;--font-size-sm: 15px;--font-size-md: 15px;--font-size-lg: clamp(16px, .2vw + 14px, 17px);--font-size-xl: clamp(16px, .24vw + 14px, 17px);--font-size-instruction: clamp(17px, .33vw + 15px, 18px);--font-size-title: clamp(19px, .3vw + 17px, 20px);--font-size-ref: clamp(15px, .28vw + 13px, 16px);--font-size-details: 15px;--font-size-validate: clamp(17px, .28vw + 15px, 18px);--font-weight-regular: 450;--font-weight-medium: 510;--font-weight-semibold: 590;--font-weight-bold: 680;--font-weight-heavy: 750;--line-height-body: 1.4;--line-height-display: 1.15;--letter-spacing-tight: -.01em;--letter-spacing-tighter: -.02em;--letter-spacing-caps: .02em;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--radius-frame: 16px;--radius-pill: 999px;--shadow-1: 0 1px 2px rgba(28, 38, 66, .05), 0 1px 3px rgba(28, 38, 66, .07);--shadow-2: 0 4px 12px -2px rgba(28, 38, 66, .1), 0 2px 4px rgba(28, 38, 66, .06);--shadow-overlay: 0 12px 32px -8px rgba(28, 38, 66, .16);--shadow-card: var(--shadow-1);--duration-micro: .14s;--duration-fast: .12s;--duration-base: .2s;--duration-panel: .28s;--duration-camera: .4s;--duration-pulse: 1.2s;--ease-out: cubic-bezier(.2, 0, 0, 1);--target-min: 40px;--target-frequent: 44px;--target-validate: 52px;--target-camera: 44px;--target-gap: 8px}[data-theme=dark]{color-scheme:dark;--color-bg: var(--gray-d-canvas);--color-surface: var(--gray-d-surface);--color-surface-2: var(--gray-d-elev);--color-surface-sunken: var(--gray-d-sunken);--color-overlay: var(--gray-d-overlay);--color-text: var(--gray-d-text);--color-text-muted: var(--gray-d-muted);--color-text-faint: var(--gray-d-faint);--color-border: var(--gray-d-border);--color-border-strong: var(--gray-d-border-strong);--color-hairline: var(--gray-d-border);--color-inner-highlight: rgba(255, 255, 255, .05);--color-action: var(--green-500);--color-action-hover: var(--green-600);--color-action-pressed: oklch(66% .16 148);--color-action-bg: var(--green-d-bg);--color-action-border: var(--green-d-border);--color-on-action: oklch(18% .02 150);--color-success: var(--green-d);--color-success-hover: oklch(74% .16 148);--color-success-pressed: oklch(64% .15 148);--color-success-bg: var(--green-d-bg);--color-success-text: oklch(85% .1 148);--color-on-success: oklch(18% .02 148);--color-warning: var(--amber-d);--color-warning-border: var(--amber-d);--color-warning-bg: var(--amber-d-bg);--color-warning-text: oklch(90% .07 78);--color-danger: var(--red-d);--color-danger-bg: var(--red-d-bg);--color-danger-text: oklch(86% .09 26);--color-on-danger: oklch(18% .02 26);--weight-very-light-bg: oklch(35% .078 160);--weight-very-light-text: oklch(86% .128 160);--weight-light-bg: oklch(36% .089 245);--weight-light-text: oklch(85% .079 245);--weight-medium-bg: oklch(40% .081 96);--weight-medium-text: oklch(89% .118 100);--weight-heavy-bg: oklch(40% .092 60);--weight-heavy-text: oklch(86% .1 66);--weight-very-heavy-bg: oklch(37% .128 27);--weight-very-heavy-text: oklch(84% .087 25);--color-focus: var(--green-500);--focus-ring-halo: rgba(255, 255, 255, .85);--scene-bg-center: oklch(26% .024 150);--scene-bg-mid: oklch(21% .02 150);--scene-bg-edge: oklch(17% .016 150);--scene-vignette: oklch(8% .03 150 / .55);--color-glass: oklch(28% .024 150 / .62);--color-glass-solid: var(--gray-d-overlay);--shadow-1: 0 1px 2px rgba(8, 12, 22, .4), 0 1px 3px rgba(8, 12, 22, .5);--shadow-2: 0 8px 24px -8px rgba(6, 10, 20, .6);--shadow-overlay: 0 16px 40px -12px rgba(4, 8, 18, .7);--shadow-card: var(--shadow-1)}@media(pointer:coarse),(max-width:1023px){:root{--target-min: 48px;--target-frequent: 56px;--target-validate: 64px;--target-camera: 54px;--target-gap: 12px}}:root{color-scheme:light;font-family:var(--font-sans);font-size:var(--font-size-md);font-weight:var(--font-weight-regular);line-height:var(--line-height-body);letter-spacing:normal;color:var(--color-text);background:var(--color-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*,*:before,*:after{box-sizing:border-box}body{margin:0;min-height:100svh;background:var(--color-bg);color:var(--color-text)}#root{width:100%;min-height:100svh;display:flex;flex-direction:column}h1,h2,h3,h4,p{margin:0}code,kbd,button,input,select,textarea{font-family:inherit}:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:var(--focus-ring-offset)}*{scrollbar-width:thin;scrollbar-color:var(--color-border) transparent}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-pill)}*::-webkit-scrollbar-thumb:hover{background:var(--color-border-strong)}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;transition-duration:1ms!important;transition-delay:0ms!important;scroll-behavior:auto!important}}.op-shell{font-family:var(--font-sans);text-align:left;color:var(--color-text);font-size:var(--font-size-md);line-height:var(--line-height-body);display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-4)}.op-shell :where(h1,h2,h3),.op-confirm :where(h1,h2,h3){color:var(--color-text);letter-spacing:normal;font-weight:var(--font-weight-bold);margin:0 0 var(--space-2)}.op-header h1{font-size:var(--font-size-title);font-weight:var(--font-weight-bold);margin:0 0 var(--space-1)}.op-header p{color:var(--color-text-muted);font-size:var(--font-size-md);margin:0}.op-button{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--target-min);min-width:44px;padding:10px 22px;font-family:inherit;font-size:var(--font-size-md);font-weight:var(--font-weight-bold);line-height:var(--line-height-display);letter-spacing:var(--letter-spacing-tight);border-radius:var(--radius-md);border:1px solid transparent;cursor:pointer;transition:background-color var(--duration-micro) var(--ease-out),border-color var(--duration-micro) var(--ease-out),color var(--duration-micro) var(--ease-out),box-shadow var(--duration-micro) var(--ease-out),filter var(--duration-fast) var(--ease-out)}.op-button--primary{min-height:var(--target-frequent);background:var(--color-action);border-color:var(--color-action);color:var(--color-on-action);box-shadow:var(--shadow-1),inset 0 1px #ffffff2e}.op-button--primary:hover{background:var(--color-action-hover);border-color:var(--color-action-hover);box-shadow:var(--shadow-2),inset 0 1px #ffffff2e}.op-button--primary:active{background:var(--color-action-pressed);border-color:var(--color-action-pressed);box-shadow:inset 0 1px 2px #0000002e}.op-button--validate{min-height:var(--target-validate);width:100%;background:var(--color-success);border-color:var(--color-success);color:var(--color-on-success);font-size:var(--font-size-validate);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight);box-shadow:var(--shadow-1),inset 0 1px #fff3}.op-button--validate:hover{background:var(--color-success-hover);border-color:var(--color-success-hover);box-shadow:var(--shadow-2),inset 0 0 0 2px #ffffff47}.op-button--validate:active{background:var(--color-success-pressed);border-color:var(--color-success-pressed);box-shadow:inset 0 1px 3px #00000038}.op-button--flash{transition:none;box-shadow:inset 0 0 0 3px #ffffffd9,inset 0 0 24px #ffffff73;filter:brightness(1.12)}.op-button--secondary{min-height:var(--target-frequent);background:var(--color-surface);border-width:2px;border-color:var(--color-border-strong);color:var(--color-text);box-shadow:var(--shadow-1),inset 0 1px 0 var(--color-inner-highlight)}.op-button--secondary:hover{background:var(--color-surface-2);box-shadow:var(--shadow-2),inset 0 1px 0 var(--color-inner-highlight)}.op-button--secondary:active{background:var(--color-surface-sunken);border-color:var(--color-text);box-shadow:inset 0 1px 2px #00000014}.op-button--danger{background:var(--color-surface);border-width:2px;border-color:var(--color-danger);color:var(--color-danger)}.op-button--danger:hover{background:var(--color-danger-bg)}.op-button--danger:active{background:var(--color-danger-bg);border-color:var(--color-danger-text);color:var(--color-danger-text)}.op-button--danger-filled{min-height:var(--target-frequent);background:var(--color-danger);border-color:var(--color-danger);color:var(--color-on-danger);box-shadow:var(--shadow-1),inset 0 1px #ffffff2e}.op-button--danger-filled:hover,.op-button--danger-filled:active{background:var(--color-danger-text);border-color:var(--color-danger-text)}.op-button:disabled{background:var(--color-surface-sunken);border-color:var(--color-border);color:var(--color-text-muted);cursor:not-allowed;box-shadow:none;filter:none}.op-button__icon,.op-badge__lucide{flex:none;width:20px;height:20px}.op-badge__lucide{width:16px;height:16px}.op-button__spinner{flex:none;width:16px;height:16px;border-radius:var(--radius-pill);border:2px solid color-mix(in srgb,currentColor 30%,transparent);border-top-color:currentColor;animation:op-spin 1s linear infinite}.op-kbd{display:inline-flex;align-items:center;padding:2px 8px;border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,currentColor 40%,transparent);background:#0000002e;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);line-height:var(--line-height-body)}.op-button:focus-visible,.op-tab:focus-visible,.op-launcher__input:focus-visible,.op-plans__why-summary:focus-visible,.op-steps__upcoming summary:focus-visible,.op-steps__completed summary:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:var(--focus-ring-offset)}.op-chip{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:var(--radius-pill);background:var(--color-surface-sunken);color:var(--gray-700);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;white-space:nowrap}.op-chip--ok{background:var(--color-success-bg);color:var(--color-success-text)}.op-chip--danger{background:var(--color-danger-bg);color:var(--color-danger-text);font-weight:600}.op-summary__hint{font-weight:400;opacity:.85}.op-chip--info{background:var(--color-action-bg);color:var(--color-action-pressed)}.op-chip__icon{font-weight:var(--font-weight-bold)}.op-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:var(--radius-pill);background:var(--color-surface-sunken);color:var(--gray-700);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums}.op-badge--type{background:var(--color-surface-sunken);color:var(--gray-700)}.op-badge--reco{background:var(--color-highlight);color:var(--color-on-highlight);font-weight:var(--font-weight-bold)}.op-badge__icon{line-height:1}.op-badge--ok,.op-badge--done{background:var(--color-success-bg);color:var(--color-success-text)}.op-badge--off{background:var(--color-surface-sunken);color:var(--color-text-muted)}.op-status{display:flex;align-items:center;gap:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);color:var(--color-text);margin:0}.op-status__spinner{flex:none;width:20px;height:20px;border-radius:var(--radius-pill);border:3px solid var(--color-action-border);border-top-color:var(--color-action);animation:op-spin 1s linear infinite}@keyframes op-spin{to{transform:rotate(360deg)}}.op-loadbar{flex:none;width:100%;height:8px;border-radius:var(--radius-pill);background:var(--color-surface-sunken);overflow:hidden}.op-loadbar__fill{height:100%;border-radius:var(--radius-pill);background:var(--color-action);transition:width .6s var(--ease-out)}.op-status--loading{flex-direction:column;align-items:stretch;gap:var(--space-2)}.op-status--loading span{text-align:center}.op-error{display:flex;align-items:flex-start;gap:var(--space-3);background:var(--color-danger-bg);border:3px solid var(--color-danger);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--color-danger-text);margin:0}.op-error__icon{flex:none;display:inline-flex;align-items:center;color:var(--color-danger);line-height:var(--line-height-body)}.op-launcher{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-4);box-shadow:var(--shadow-2),inset 0 1px 0 var(--color-inner-highlight)}.op-launcher h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin:0}.op-launcher__form{display:flex;flex-direction:column;gap:var(--space-3)}.op-launcher__label{font-size:var(--font-size-md);font-weight:var(--font-weight-bold)}.op-launcher__input{box-sizing:border-box;width:100%;min-height:64px;font-family:inherit;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;letter-spacing:var(--letter-spacing-tight);padding:var(--space-2) var(--space-4);border:2px solid var(--color-border-strong);border-radius:var(--radius-sm);color:var(--color-text);background:var(--color-surface-2);box-shadow:inset 0 1px 2px #1222180f;transition:border-color var(--duration-micro) var(--ease-out),background-color var(--duration-micro) var(--ease-out)}.op-launcher__input:hover{border-color:var(--color-text)}.op-launcher__input:focus{background:var(--color-surface);border-color:var(--color-action)}.op-launcher__input::placeholder{color:var(--gray-500);font-weight:var(--font-weight-regular)}.op-launcher__input:disabled{background:var(--color-surface-sunken);color:var(--color-text-muted)}.op-launcher__actions{display:flex;flex-direction:column;gap:var(--target-gap);margin-top:var(--space-2)}.op-launcher__submit{width:100%;min-height:64px;font-size:var(--font-size-lg)}.op-launcher__demo{width:100%}.op-resume-last{align-self:flex-start}.op-launcher--split{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-5);align-items:start}.op-launcher__column{display:flex;flex-direction:column;gap:var(--space-4);min-height:0;min-width:0}.op-launcher__heading{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin:0}.op-tasklist{display:flex;flex-direction:column;gap:var(--space-3);min-height:0}.op-tasklist__header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2)}.op-tasklist__heading{font-size:var(--font-size-lg);font-weight:var(--font-weight-bold);margin:0}.op-tasklist__count{font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;color:var(--color-text-muted)}.op-tasklist__search{position:relative;display:flex;align-items:center}.op-tasklist__search-icon{position:absolute;left:var(--space-3);color:var(--color-text-faint);pointer-events:none}.op-tasklist__search-input{min-height:var(--target-frequent);padding-left:var(--space-7);font-size:var(--font-size-md)}.op-tasklist__filter{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--font-size-sm);color:var(--color-text)}.op-tasklist__filter-head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2)}.op-tasklist__filter-head label{font-weight:var(--font-weight-medium);cursor:pointer}.op-tasklist__filter-value{font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;color:var(--color-action)}.op-tasklist__slider{width:100%;min-height:var(--target-min);accent-color:var(--color-action);cursor:pointer}.op-tasklist__slider:disabled{accent-color:var(--color-border);cursor:not-allowed}.op-tasklist__slider:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:var(--focus-ring-offset)}.op-tasklist__sort{display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--font-size-sm);color:var(--color-text)}.op-tasklist__sort-buttons{display:flex;gap:var(--space-2)}.op-tasklist__sort-button{display:inline-flex;flex:1 1 0;align-items:center;justify-content:center;gap:6px;min-height:var(--target-min);padding:4px 10px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);font-family:inherit;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);cursor:pointer}.op-tasklist__sort-button:hover:not(:disabled){border-color:var(--color-action)}.op-tasklist__sort-button--active{border-color:var(--color-action);background:var(--color-action-bg);color:var(--color-action);font-weight:var(--font-weight-semibold)}.op-tasklist__sort-button:disabled{color:var(--color-text-muted);cursor:not-allowed}.op-tasklist__sort-button:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:var(--focus-ring-offset)}.op-tasklist__rows{display:flex;flex-direction:column;max-height:52vh;overflow-y:auto;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-sunken)}.op-tasklist__rows:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:var(--focus-ring-offset)}.op-tasklist__empty{padding:var(--space-5);border:1px dashed var(--color-border);border-radius:var(--radius-md);text-align:center}.op-tasklist__empty-title{margin:0 0 var(--space-1);font-weight:var(--font-weight-semibold);color:var(--color-text)}.op-tasklist__empty-hint,.op-launcher__empty-hint{margin:0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.op-task-row{flex:none;display:flex;align-items:center;gap:var(--space-3);min-height:var(--target-frequent);padding:var(--space-2) var(--space-3);border-left:3px solid transparent;border-bottom:1px solid var(--color-hairline);background:var(--color-surface);cursor:pointer;transition:background-color var(--duration-micro) var(--ease-out),border-color var(--duration-micro) var(--ease-out)}.op-task-row:last-child{border-bottom:none}.op-task-row:hover{background:var(--color-surface-2)}.op-task-row--selected{background:var(--color-action-bg);border-left-color:var(--color-action)}.op-task-row--selected .op-task-row__id{font-weight:var(--font-weight-bold)}.op-task-row__id{flex:none;font-family:var(--font-mono);font-size:var(--font-size-ref);font-weight:var(--font-weight-medium);white-space:nowrap;color:var(--color-text)}.op-task-row__figures{flex:1 1 auto;display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);min-width:0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.op-task-row__items,.op-task-row__distinct{font-variant-numeric:tabular-nums;white-space:nowrap}.op-task-row__pallet{flex:none;padding:2px var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-muted)}.op-launcher__selected{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-2)}.op-launcher__selected--empty{border-style:dashed;background:transparent}.op-launcher__selected-id{margin:0 0 var(--space-3);font-family:var(--font-mono);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight);color:var(--color-text)}.op-launcher__selected--empty .op-launcher__selected-id{font-family:var(--font-sans);color:var(--color-text-muted);margin-bottom:var(--space-1)}.op-launcher__facts{display:flex;flex-wrap:wrap;gap:var(--space-5);margin:0}.op-launcher__facts-hint{margin:var(--space-3) 0 0;font-size:var(--font-size-sm);color:var(--color-text-muted)}.op-launcher__fact dt{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-muted)}.op-launcher__fact dd{display:flex;align-items:center;gap:var(--space-1);margin:0;font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;color:var(--color-text)}.op-launcher__pallet{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-4)}.op-launcher__pallet-label{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-muted)}.op-launcher__pallet-chips{display:flex;gap:var(--space-2);flex-wrap:wrap}.op-launcher__pallet-catalog{margin-left:var(--space-1);font-weight:var(--font-weight-regular);color:var(--color-text-faint)}.op-launcher__pallet-note{margin:0;font-size:var(--font-size-sm);color:var(--color-warning-text)}@media(max-width:1023px){.op-launcher--split{grid-template-columns:1fr}.op-tasklist__rows{max-height:38vh}}.op-resume{background:var(--color-warning-bg);border:2px solid var(--color-warning-border);border-radius:var(--radius-lg);padding:var(--space-5);color:var(--color-warning-text);box-shadow:var(--shadow-2),inset 0 1px 0 var(--color-inner-highlight)}.op-resume__title{display:flex;align-items:center;gap:var(--space-3);color:var(--color-warning-text);font-size:var(--font-size-ref);font-weight:var(--font-weight-bold);margin:0 0 var(--space-2)}.op-resume__icon{display:inline-flex;align-items:center;font-size:var(--font-size-xl);line-height:1}.op-resume__message{font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);margin:0 0 var(--space-4)}.op-resume__actions{display:flex;gap:var(--target-gap);flex-wrap:wrap;align-items:center;justify-content:space-between}.op-plans{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:var(--space-2) var(--space-3);position:relative}.op-plans__tabs{display:flex;gap:var(--target-gap);flex:1 1 auto;min-width:0}.op-tab{flex:1;min-height:var(--target-frequent);padding:var(--space-2) var(--space-4);font-family:inherit;font-size:var(--font-size-md);font-weight:var(--font-weight-semibold);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text);cursor:pointer;display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--space-2);align-items:center;justify-content:center;text-align:center;box-shadow:var(--shadow-1),inset 0 1px 0 var(--color-inner-highlight);transition:background-color var(--duration-micro) var(--ease-out),border-color var(--duration-micro) var(--ease-out),box-shadow var(--duration-micro) var(--ease-out),color var(--duration-micro) var(--ease-out)}.op-tab:hover{background:var(--color-surface-2);box-shadow:var(--shadow-2),inset 0 1px 0 var(--color-inner-highlight)}.op-tab[aria-selected=true]{background:var(--color-text);border-color:var(--color-text);color:var(--color-surface);box-shadow:var(--shadow-2)}.op-tab[aria-selected=true]:hover{background:var(--color-text);box-shadow:var(--shadow-2)}.op-tab__title{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap;font-size:var(--font-size-lg)}.op-tab[aria-selected=true] .op-badge--reco{background:var(--color-highlight);color:var(--color-on-highlight)}.op-plans__why{flex:0 0 auto;margin-left:auto}.op-plans__why-summary{display:inline-flex;align-items:center;gap:var(--space-2);min-height:var(--target-min);padding:0 var(--space-2);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-action);cursor:pointer;list-style:none;white-space:nowrap}.op-plans__why-summary::-webkit-details-marker{display:none}.op-plans__why-summary:after{content:"▸";color:var(--color-text-muted);font-size:var(--font-size-sm)}.op-plans__why[open] .op-plans__why-summary:after{content:"▾"}.op-plans__why-icon{display:inline-flex;align-items:center;color:var(--color-action)}.op-plans__why-panel{position:absolute;top:calc(100% + var(--space-2));right:0;z-index:20;width:min(460px,calc(100vw - 2 * var(--space-5)));display:flex;flex-direction:column;gap:var(--space-3);margin:0;padding:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-overlay),inset 0 1px 0 var(--color-inner-highlight);color:var(--color-text)}.op-plans__order-note{flex-basis:100%;display:flex;align-items:flex-start;gap:var(--space-2);margin-top:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);line-height:1.4;color:var(--color-warning-text);background:var(--color-warning-bg);border:1px solid var(--color-warning-border);border-radius:var(--radius-md)}.op-plans__order-note svg{flex:none;margin-top:1px;color:var(--color-warning)}.op-plans__why-headline{margin:0;font-size:var(--font-size-md);font-weight:var(--font-weight-bold);color:var(--color-action-pressed)}.op-plans__why-reason{margin:0;padding:var(--space-3) var(--space-4);background:var(--color-action-bg);border:1px solid var(--color-action-border);border-left:3px solid var(--color-action);border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:var(--font-weight-medium);line-height:var(--line-height-body);color:var(--color-text)}.op-plans__why-compare{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.op-plans__why-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2);padding:var(--space-2);border-radius:var(--radius-md)}.op-plans__why-row[aria-current=true]{background:var(--color-action-bg)}.op-plans__why-plan{flex:1 1 auto;min-width:0;font-weight:var(--font-weight-semibold)}.op-plans__why-reco{color:var(--color-action-pressed);font-weight:var(--font-weight-bold)}.op-summary{display:flex;gap:var(--space-3);flex-wrap:wrap;align-items:center;background:var(--color-surface);border-bottom:1px solid var(--color-border);min-height:var(--target-frequent);padding:var(--space-2) var(--space-4);box-sizing:border-box;font-size:var(--font-size-sm);color:var(--color-text)}.op-summary__task{font-size:var(--font-size-md);font-weight:var(--font-weight-heavy);font-variant-numeric:tabular-nums;white-space:nowrap}.op-summary__restart{margin-left:auto}.op-steps{display:flex;flex-direction:column;gap:var(--space-3);min-height:0}.op-step-current{flex:0 0 auto;background:var(--color-surface);border:1px solid var(--color-border);border-left:3px solid var(--color-action);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-1),inset 0 1px 0 var(--color-inner-highlight)}.op-step-current--done{border-left-color:var(--color-success)}.op-step-current--complete{background:var(--color-success-bg);border-color:var(--color-success)}.op-step-current--complete .op-step-current__instruction{color:var(--color-success-text)}.op-step-current__kicker{display:flex;gap:var(--space-2);align-items:center;flex-wrap:wrap;margin:0 0 var(--space-2)}.op-step-current__ref{font-family:var(--font-mono);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;letter-spacing:var(--letter-spacing-caps);padding:3px 10px;background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text)}.op-step-current__instruction{font-size:var(--font-size-instruction);font-weight:var(--font-weight-bold);line-height:var(--line-height-display);letter-spacing:var(--letter-spacing-tight);color:var(--color-text);margin:0}.op-preview-figures{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:var(--space-3) 0 0;padding:0;list-style:none;font-size:var(--font-size-details);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.op-preview-figures li{padding:3px 10px;background:var(--color-surface-sunken);border-radius:var(--radius-sm)}.op-step-facts{margin:var(--space-2) 0 0}.op-step-facts__title{margin:0;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;color:var(--color-text-faint)}.op-step-facts__list{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-1) var(--space-4);margin:0}.op-step-facts__row{display:flex;align-items:baseline;gap:var(--space-2);justify-content:space-between}.op-step-facts__row dt{font-size:var(--font-size-xs);color:var(--color-text-muted)}.op-step-facts__row dd{margin:0;text-align:right;font-size:var(--font-size-details);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;color:var(--color-text)}.op-step-fact-value{display:inline-block}.op-step-reason{display:block;margin:var(--space-2) 0 0;padding:var(--space-1) var(--space-3);border-left:3px solid var(--color-border);font-size:var(--font-size-sm);line-height:var(--line-height-body);color:var(--color-text-muted)}.op-step-reason__label{display:block;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;color:var(--color-text-faint)}.op-step-detail--very_light,.op-step-detail--light,.op-step-detail--medium,.op-step-detail--heavy,.op-step-detail--very_heavy{padding:3px 10px;border-radius:var(--radius-sm);font-weight:var(--font-weight-bold);box-shadow:inset 0 0 0 1px color-mix(in oklab,currentColor 30%,transparent)}.op-step-detail--very_light{background:var(--weight-very-light-bg);color:var(--weight-very-light-text)}.op-step-detail--light{background:var(--weight-light-bg);color:var(--weight-light-text)}.op-step-detail--medium{background:var(--weight-medium-bg);color:var(--weight-medium-text)}.op-step-detail--heavy{background:var(--weight-heavy-bg);color:var(--weight-heavy-text)}.op-step-detail--very_heavy{background:var(--weight-very-heavy-bg);color:var(--weight-very-heavy-text)}.op-step-heavy{display:flex;align-items:center;gap:var(--space-2);margin:var(--space-3) 0 0;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);background:var(--color-danger-bg);border-left:3px solid var(--color-danger);color:var(--color-danger-text)}.op-steps__secondary{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-3)}.op-steps__upcoming,.op-steps__completed{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:0 var(--space-4);color:var(--color-text)}.op-steps__upcoming summary,.op-steps__completed summary{display:flex;align-items:center;gap:var(--space-2);min-height:48px;font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);cursor:pointer;list-style:none}.op-steps__upcoming summary::-webkit-details-marker,.op-steps__completed summary::-webkit-details-marker{display:none}.op-steps__upcoming summary:before,.op-steps__completed summary:before{content:"▸";color:var(--color-text-muted);font-size:var(--font-size-sm)}.op-steps__upcoming[open] summary:before,.op-steps__completed[open] summary:before{content:"▾"}.op-steps__list{margin:0;padding:0 0 var(--space-3) var(--space-6);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-muted)}.op-steps__item{padding:4px 0}.op-steps__item--done{text-decoration:line-through}.op-steps__upcoming>.op-status{margin:0 0 var(--space-3);border:none;padding:0}.op-controls{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4);box-shadow:var(--shadow-1),inset 0 1px 0 var(--color-inner-highlight)}.op-progress-track{height:20px;background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-pill);overflow:hidden}.op-progress-fill{height:100%;background:var(--color-success);border-radius:var(--radius-pill);transition:width var(--duration-base) var(--ease-out)}.op-controls__buttons{display:flex;flex-direction:column;gap:var(--target-gap)}.op-controls__footer{display:flex;justify-content:space-between;gap:var(--space-3);flex-wrap:wrap;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text-muted);margin:0}@media(max-width:1023px){.op-controls{position:sticky;bottom:0;z-index:3;border-radius:var(--radius-lg) var(--radius-lg) 0 0;box-shadow:var(--shadow-overlay)}}.op-new-task{align-self:center;min-width:280px}.op-confirm-scrim{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:var(--space-4);background:#0a140e73}.op-confirm{box-sizing:border-box;width:100%;max-width:560px;background:var(--color-overlay);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-overlay),inset 0 1px 0 var(--color-inner-highlight);font-family:var(--font-sans)}.op-confirm__title{font-size:var(--font-size-ref);font-weight:var(--font-weight-heavy);color:var(--color-text);margin:0 0 var(--space-3)}.op-confirm__body{font-size:var(--font-size-md);line-height:var(--line-height-body);color:var(--color-text);margin:0 0 var(--space-5)}.op-confirm__actions{display:flex;gap:var(--space-5)}.op-confirm__actions .op-button{flex:1;min-height:var(--target-frequent)}.op-view-toolbar.op-view-toolbar{position:absolute;top:auto;bottom:calc(var(--space-3) + var(--playbar-h, 0px));right:var(--space-3);left:auto;transform:none;z-index:4;display:flex;flex-wrap:nowrap;align-items:stretch;justify-content:flex-end;gap:2px;padding:var(--space-1);width:max-content;max-width:calc(100% - 2 * var(--space-3));background:var(--color-glass-solid);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-overlay),inset 0 1px 0 var(--color-inner-highlight);overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;transition:opacity var(--duration-base) var(--ease-out)}@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)){.op-view-toolbar.op-view-toolbar{background:var(--color-glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}}.op-view-toolbar.op-view-toolbar .op-view-toolbar__button{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--target-camera);min-width:var(--target-min);padding:0 var(--space-3);border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--color-text);font-family:var(--font-sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);line-height:var(--line-height-display);white-space:nowrap;cursor:pointer;transition:background-color var(--duration-micro) var(--ease-out),color var(--duration-micro) var(--ease-out),border-color var(--duration-micro) var(--ease-out)}.op-view-toolbar.op-view-toolbar .op-view-toolbar__icon{flex:none;width:20px;height:20px}.op-view-toolbar.op-view-toolbar .op-view-toolbar__label{font-variant-numeric:tabular-nums}.op-view-toolbar.op-view-toolbar .op-view-toolbar__kbd{display:inline-flex;align-items:center;justify-content:center;min-width:18px;padding:1px 5px;border-radius:var(--radius-sm);background:var(--color-surface-sunken);border:1px solid color-mix(in srgb,currentColor 18%,transparent);color:var(--color-text-muted);font-family:var(--font-mono);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);font-variant-numeric:tabular-nums;line-height:1.2}.op-view-toolbar.op-view-toolbar .op-view-toolbar__button:hover{background:var(--color-surface-2)}.op-view-toolbar.op-view-toolbar .op-view-toolbar__button:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:var(--focus-ring-offset);box-shadow:0 0 0 calc(var(--focus-ring-width) + 1px) var(--focus-ring-halo)}.op-view-toolbar.op-view-toolbar .op-view-toolbar__button[aria-checked=true]{background:var(--color-text);border-color:var(--color-text);color:var(--color-surface)}.op-view-toolbar.op-view-toolbar .op-view-toolbar__button[aria-checked=true] .op-view-toolbar__kbd{background:color-mix(in srgb,var(--color-surface) 22%,transparent);border-color:color-mix(in srgb,var(--color-surface) 30%,transparent);color:var(--color-surface)}@media(max-width:1024px){.op-view-toolbar.op-view-toolbar{position:static;inset:auto;transform:none;width:100%;max-width:none;justify-content:stretch;gap:var(--space-1);border-radius:var(--radius-md)}.op-view-toolbar.op-view-toolbar .op-view-toolbar__button{flex:1 1 0;min-height:var(--target-camera)}}@media(max-width:639px){.op-view-toolbar.op-view-toolbar{justify-content:flex-start;overflow-x:auto}.op-view-toolbar.op-view-toolbar .op-view-toolbar__button{flex:0 0 auto}}.op-viewer__panel{position:relative}@media(max-width:1024px){.op-viewer__panel>.op-view-toolbar.op-view-toolbar{margin-top:var(--space-2)}}@media(min-width:1024px){.op-step-current{padding:var(--space-3)}.op-controls{padding:var(--space-3);gap:var(--space-3)}.op-launcher{padding:var(--space-5)}}@media(min-width:1024px)and (max-height:859px){.op-step-current{padding:var(--space-3)}.op-controls{padding:var(--space-3);gap:var(--space-2)}}@media(max-width:639px){.op-summary{flex-wrap:nowrap;overflow-x:auto}.op-plans__tabs{flex-direction:column}}@media(prefers-reduced-motion:reduce){.op-status__spinner,.op-button__spinner{animation:none}.op-button,.op-tab,.op-progress-fill,.op-launcher__input,.op-view-toolbar.op-view-toolbar,.op-view-toolbar.op-view-toolbar .op-view-toolbar__button{transition-duration:1ms}}.op-scrubber{width:100%;height:48px;margin:var(--space-2) 0 0;appearance:none;background:transparent;cursor:pointer}.op-scrubber--zoned{--scrub-track: linear-gradient( to right, transparent calc(var(--scrub-front, 0%) - 1.5px), var(--color-text) calc(var(--scrub-front, 0%) - 1.5px), var(--color-text) calc(var(--scrub-front, 0%) + 1.5px), transparent calc(var(--scrub-front, 0%) + 1.5px) ), linear-gradient( to right, color-mix(in srgb, var(--color-action) 30%, transparent) var(--scrub-view, 0%), transparent var(--scrub-view, 0%) ), linear-gradient( to right, var(--color-success) var(--scrub-done, 0%), var(--color-surface-sunken) var(--scrub-done, 0%) )}.op-scrubber::-webkit-slider-runnable-track{height:20px;border-radius:var(--radius-pill);background:var(--scrub-track, var(--color-surface-sunken))}.op-scrubber::-webkit-slider-thumb{appearance:none;width:28px;height:28px;margin-top:-4px;border-radius:var(--radius-pill);background:var(--color-action);border:3px solid var(--color-surface);box-shadow:var(--shadow-1)}.op-scrubber::-moz-range-track{height:20px;border-radius:var(--radius-pill);background:var(--scrub-track, var(--color-surface-sunken))}.op-scrubber::-moz-range-thumb{width:28px;height:28px;border-radius:var(--radius-pill);background:var(--color-action);border:3px solid var(--color-surface);box-shadow:var(--shadow-1)}@media(pointer:coarse){.op-scrubber::-webkit-slider-thumb{width:36px;height:36px;margin-top:-8px}.op-scrubber::-moz-range-thumb{width:36px;height:36px}}.op-chip--view{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-pill);background:var(--color-surface-sunken);color:var(--color-text);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums}.op-back-to-live{min-height:var(--target-min);flex:0 0 auto;white-space:nowrap}.op-step-banner{display:block;padding:var(--space-1) var(--space-2);margin-bottom:var(--space-2);border-radius:var(--radius-sm);background:var(--color-surface-sunken);color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:600}.op-preview-start{width:100%;margin-top:var(--space-3)}.op-hazard__actions{flex-direction:column}.op-hazard__actions .op-button{width:100%}.op-hazard__warning{color:var(--color-warning);font-weight:600}.op-deferred-badge,.op-excluded-badge,.op-shortfall-badge,.op-recalc-status,.op-recalc-error{margin:0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:600;text-align:center}.op-deferred-badge,.op-shortfall-badge{background:var(--color-warning-bg);color:var(--color-warning-text)}.op-deferred{display:flex;flex-direction:column;gap:var(--space-2)}.op-deferred__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.op-deferred__title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text)}.op-deferred__list{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:var(--space-1)}.op-deferred__item{padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);background:var(--color-warning-bg);color:var(--color-warning-text);font-size:var(--font-size-sm)}.op-excluded-badge{background:var(--color-surface-sunken);color:var(--color-text-muted)}.op-subpack__field{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-4)}.op-subpack__label{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text)}.op-subpack__input{min-height:var(--target-frequent);padding:var(--space-2) var(--space-3);border:2px solid var(--color-border, var(--gray-300));border-radius:var(--radius-sm);font-size:var(--font-size-lg);font-weight:600;text-align:center}.op-subpack__helper{margin:var(--space-2) 0 0;font-size:var(--font-size-xs);color:var(--color-text-muted)}.op-recalc-status{background:var(--color-surface-2);color:var(--color-text-muted)}.op-recalc-error{background:var(--color-danger-bg);color:var(--color-danger-text)}.op-budget{border:1px solid var(--op-border, #dbe1ea);border-radius:10px;padding:.6rem .8rem .8rem;margin:.75rem 0;display:flex;flex-direction:column;gap:.55rem}.op-budget__label{font-weight:600;padding:0 .3rem}.op-budget__chips{display:flex;gap:.4rem;flex-wrap:wrap}.op-budget__chip{cursor:pointer}.op-budget__row{display:flex;align-items:center;gap:.6rem}.op-budget__slider{flex:1}.op-budget__field{width:5.5rem;padding:.3rem .4rem;border:1px solid var(--op-border, #cfd6e0);border-radius:6px}.op-budget__unit{color:var(--op-muted, #5b6472)}.op-budget__hint{margin:0;font-size:.85rem;color:var(--op-muted, #5b6472);font-style:italic}.op-budget__toggle{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:600;min-height:44px}.op-budget__toggle input{width:1.15rem;height:1.15rem;cursor:pointer}.op-budget__body{border:0;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}.op-budget__body:disabled{opacity:.45}.op-budget__row--cpsat{justify-content:space-between;gap:.5rem}.op-effort{border:1px solid var(--op-border, #dbe1ea);border-radius:10px;margin:.75rem 0}.op-effort__summary{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.7rem .8rem;cursor:pointer;font-weight:600;min-height:44px;list-style-position:inside}.op-effort__badge{font-size:.8rem}.op-effort__body{border:0;margin:0;padding:0 .8rem .8rem;display:flex;flex-direction:column;gap:.75rem}.op-effort__intro{margin:0;font-size:.85rem;color:var(--op-muted, #5b6472)}.op-effort__scope{border-left:3px solid var(--op-border, #dbe1ea);padding-left:.6rem;font-style:italic}.op-effort__plan{margin:.4rem 0 0;font-size:.9rem;font-weight:700;padding-bottom:.3rem;border-bottom:1px solid var(--op-border, #dbe1ea)}.op-effort__field{display:flex;flex-direction:column;gap:.2rem}.op-effort__field-label{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.op-effort__field-name{font-weight:600}.op-effort__field--wide{width:10rem}.op-effort__field-hint{margin:0;font-size:.82rem;color:var(--op-muted, #5b6472)}.op-effort__field-default{margin:0;font-size:.78rem;color:var(--op-muted, #5b6472);font-style:italic}.op-effort__field-error{margin:0;font-size:.82rem;color:var(--op-danger, #b3261e)}.op-effort__reset{align-self:flex-start;display:flex;align-items:center;gap:.4rem;cursor:pointer}.op-effort__reset:disabled{opacity:.45;cursor:default}.op-refine-banner{margin:.4rem 0 0;padding:.45rem .75rem;border-radius:8px;background:#eef4fb;color:#23507c;font-size:.9rem}.op-refine-banner--done{background:#e6f6ec;color:#12703a;font-weight:600}.sv{display:flex;flex-direction:column;gap:1.25rem;padding:1.25rem;max-width:1100px;margin:0 auto}.sv-form{display:flex;flex-direction:column;gap:.6rem}.sv-intro{margin:0;color:var(--op-muted, #5b6472);font-size:.95rem}.sv-label{font-weight:600}.sv-tasks{width:100%;box-sizing:border-box;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.95rem;padding:.6rem .75rem;border:1px solid var(--op-border, #cfd6e0);border-radius:8px;resize:vertical}.sv-error{margin:0}.sv-empty{color:var(--op-muted, #5b6472);font-style:italic}.sv-heading{margin:0 0 .6rem;font-size:1.05rem}.sv-pallet-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.sv-pallet{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;padding:.5rem .6rem;border:1px solid var(--op-border, #e3e8ef);border-radius:8px;background:var(--op-surface, #fafbfc)}.sv-pallet-id{font-weight:700;min-width:12ch}.sv-matrix-scroll{overflow-x:auto}.sv-matrix{border-collapse:collapse;font-size:.9rem}.sv-matrix th,.sv-matrix td{border:1px solid var(--op-border, #dbe1ea);padding:.4rem .6rem;text-align:center;white-space:nowrap}.sv-corner{text-align:left;color:var(--op-muted, #5b6472);font-weight:600}.sv-col-head,.sv-row-head{background:var(--op-surface, #f2f5f9);font-weight:700}.sv-row-head{text-align:right}.sv-cell--self{color:var(--op-muted, #9aa4b2);background:repeating-linear-gradient(45deg,transparent,transparent 5px,rgba(0,0,0,.04) 5px,rgba(0,0,0,.04) 10px)}.sv-cell--ok{background:#e6f6ec;color:#12703a;font-weight:700}.sv-cell--no{background:#fdecec;color:#a12020;font-size:.8rem}:root{--app-nav-h: 52px}.app-nav{display:flex;gap:.4rem;padding:.5rem 1rem;box-sizing:border-box;height:var(--app-nav-h);border-bottom:1px solid var(--op-border, #e3e8ef)}.app-nav__tab{border:none;background:transparent;padding:.45rem .9rem;border-radius:8px;font:inherit;cursor:pointer;color:var(--op-muted, #5b6472)}.app-nav__tab--active{background:var(--op-accent, #14213d);color:#fff;font-weight:700}@media(prefers-color-scheme:dark){.sv-cell--ok{background:#123a24;color:#7fe0a4}.sv-cell--no{background:#3a1414;color:#f2a1a1}}.sv-pallet__open{margin-left:auto;padding:.25rem .7rem;font-size:.85rem}.sv-build{margin:0 0 .75rem;font-size:.75rem;color:#6b7280;font-variant-numeric:tabular-nums}.op-shell:not(.op-shell--running){width:100%;max-width:720px;margin:0 auto;padding:var(--space-7) var(--space-5) var(--space-8);gap:var(--space-5)}.op-shell--launcher:not(.op-shell--running){max-width:1180px}.op-header{display:grid;gap:var(--space-2);text-align:center}.op-header h1{margin:0;font-size:var(--font-size-title);font-weight:var(--font-weight-bold);line-height:var(--line-height-display);color:var(--color-text)}.op-header p{margin:0;font-size:var(--font-size-md);color:var(--color-text-muted)}.op-resume-last{align-self:stretch}.op-shell--running{--playbar-h: 64px;display:grid;grid-template-columns:minmax(0,1fr) clamp(340px,30vw,460px);grid-template-rows:auto auto minmax(0,1fr) auto auto;grid-template-areas:"summary summary" "tabs    tabs" "viewer  steps" "viewer  controls" "viewer  newtask";align-items:stretch;gap:var(--space-4) var(--space-5);height:calc(100svh - var(--app-nav-h, 52px));overflow:hidden;padding:0 var(--space-5) var(--space-5)}@media(min-width:1024px){.op-shell--running{gap:var(--space-3) var(--space-4);padding:0 var(--space-4) var(--space-4)}.op-shell--running>.op-summary{margin-inline:calc(-1 * var(--space-4));padding-inline:var(--space-4)}}.op-shell--running>.op-summary{grid-area:summary;margin-inline:calc(-1 * var(--space-5));padding-inline:var(--space-5)}.op-shell--running>.op-plans{grid-area:tabs}.op-shell--running>.op-viewer{grid-area:viewer;min-height:0;display:flex;flex-direction:column}.op-shell--running>.op-steps{grid-area:steps;overflow-y:auto;min-height:0}.op-shell--running>.op-controls{grid-area:controls;align-self:end}.op-shell--running>.op-new-task{grid-area:newtask;justify-self:center}.op-viewer__stage{position:relative;display:flex;flex-direction:column;flex:1;min-height:0}.op-viewer__panel{display:flex;flex-direction:column;gap:var(--space-3);flex:1;min-height:0}.op-viewer__toggle{display:flex;gap:var(--target-gap)}.op-viewer__mode{flex:1}.op-viewer__mode[aria-pressed=true]{background:var(--gray-900);border-color:var(--gray-900);color:var(--color-surface)}.op-viewer__canvas{flex:1;min-height:320px;position:relative;overflow:hidden;border:1px solid var(--color-border);border-radius:var(--radius-frame);background:var(--scene-gradient);box-shadow:var(--shadow-2),inset 0 1px 0 var(--color-inner-highlight)}.op-viewer__canvas:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 120px 40px var(--scene-vignette)}.op-viewer__fallback{margin:auto;max-width:480px;text-align:center}.op-scene-rail{position:absolute;top:var(--space-3);left:var(--space-3);bottom:calc(var(--space-3) + var(--playbar-h, 0px) + var(--target-camera) + 2 * var(--space-1) + 2px + var(--space-2));z-index:3;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:var(--space-2);max-width:min(280px,45%);pointer-events:none}.op-scene-legend{position:static;flex:none;pointer-events:none;display:grid;gap:var(--space-1);padding:var(--space-2) var(--space-3);background:var(--color-glass-solid);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-overlay),inset 0 1px 0 var(--color-inner-highlight);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);color:var(--color-text);transition:opacity var(--duration-base) var(--ease-out)}@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)){.op-scene-legend{background:var(--color-glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}}.op-scene-legend__item{display:flex;align-items:center;gap:var(--space-2)}.op-scene-legend__swatch{width:12px;height:12px;flex:none;border-radius:2px;border:1px solid var(--color-border-strong)}.op-color-toggle{position:absolute;top:var(--space-3);right:var(--space-3);z-index:2;display:flex;gap:2px;padding:3px;background:var(--color-glass-solid);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-overlay),inset 0 1px 0 var(--color-inner-highlight)}@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)){.op-color-toggle{background:var(--color-glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}}.op-color-toggle__button{appearance:none;border:none;background:transparent;color:var(--color-text-muted);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);padding:var(--space-1) var(--space-3);min-height:var(--target-min);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.op-color-toggle__button:hover{color:var(--color-text)}.op-color-toggle__button[aria-pressed=true]{background:var(--color-text);color:var(--color-surface)}.op-color-toggle__button:focus-visible{outline:var(--focus-ring-width) solid var(--color-focus);outline-offset:var(--focus-ring-offset)}.op-playbar{position:absolute;left:0;right:0;bottom:0;z-index:5;box-sizing:border-box;min-height:var(--playbar-h);display:flex;align-items:center;gap:var(--space-4);padding:var(--space-1) var(--space-4);border-top:1px solid var(--color-border);border-radius:0 0 var(--radius-frame) var(--radius-frame);background:var(--color-glass-solid);box-shadow:inset 0 1px 0 var(--color-inner-highlight)}@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)){.op-playbar{background:var(--color-glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}}.op-playbar__counter{flex:none;font-size:var(--font-size-lg);font-weight:var(--font-weight-heavy);font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--color-text)}.op-playbar__track{flex:1 1 auto;min-width:0;display:flex;align-items:center}.op-playbar .op-scrubber{margin:0}.op-playbar__validated{flex:none;display:flex;align-items:baseline;gap:var(--space-2);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums;color:var(--color-text-muted);white-space:nowrap}.op-playbar__pct{font-weight:var(--font-weight-bold)}.op-playbar__pct:before{content:"·";margin-right:var(--space-2);color:var(--color-border)}.op-playbar__view{flex:none;display:flex;align-items:center;gap:var(--space-2)}@media(min-width:1024px)and (max-height:859px){.op-shell--running{gap:var(--space-3) var(--space-4);padding-bottom:var(--space-3)}.op-shell--running>.op-summary{flex-wrap:wrap;overflow-x:visible}}@media(max-width:1024px){.op-shell--running .op-viewer__canvas .op-view-toolbar{left:var(--space-3);right:var(--space-3);bottom:var(--space-3);top:auto;transform:none;width:auto;max-width:none;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;border-radius:var(--radius-md)}.op-shell--running .op-viewer__canvas .op-view-toolbar__button{flex:1 0 auto}}@media(max-width:1023px){.op-shell--running{display:flex;flex-direction:column;gap:var(--space-4);padding:0 var(--space-4);height:auto;min-height:100svh;overflow:visible}.op-shell--running>.op-summary{margin-inline:calc(-1 * var(--space-4));padding-inline:var(--space-4)}.op-shell--running .op-viewer__canvas{flex:none;height:clamp(320px,42vh,460px);min-height:0}.op-shell--running>.op-controls{position:sticky;bottom:0;z-index:10;margin-inline:calc(-1 * var(--space-4));background:var(--color-surface);border:0;border-top:1px solid var(--color-border);border-radius:0}.op-shell--running>.op-new-task{align-self:center;margin-bottom:var(--space-4)}.op-shell--running{--playbar-h: 0px}.op-playbar{position:static;margin-top:var(--space-2);flex-wrap:wrap;gap:var(--space-2) var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md)}.op-playbar__track{flex:1 1 240px}}@media(max-width:639px){.op-shell:not(.op-shell--running){padding:var(--space-5) var(--space-3) var(--space-6)}.op-shell--running{gap:var(--space-3);padding:0 var(--space-3)}.op-shell--running>.op-summary{margin-inline:calc(-1 * var(--space-3));padding-inline:var(--space-3);flex-wrap:nowrap;overflow-x:auto}.op-shell--running>.op-summary>*{flex:none}.op-shell--running .op-viewer__canvas{height:clamp(240px,38vh,340px)}.op-shell--running>.op-controls{margin-inline:calc(-1 * var(--space-3))}.op-plans__tabs{flex-direction:column}}.op-inspector{position:static;flex:0 1 auto;min-height:0;pointer-events:auto;width:max-content;max-width:100%;display:flex;flex-direction:column;overflow:hidden;background:var(--color-glass-solid);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-overlay),inset 0 1px 0 var(--color-inner-highlight)}@supports (backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px)){.op-inspector{background:var(--color-glass);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur)}}.op-inspector__head{flex:none;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:var(--target-min);padding-left:var(--space-3);background:var(--color-action);color:var(--color-on-action)}.op-inspector__title{margin:0;font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);letter-spacing:var(--letter-spacing-caps);text-transform:uppercase;color:inherit}.op-inspector__close{flex:none;display:inline-flex;align-items:center;justify-content:center;width:var(--target-min);height:var(--target-min);appearance:none;border:none;border-radius:0;background:transparent;color:inherit;cursor:pointer}.op-inspector__close:hover{background:#0000002e;color:var(--color-on-action)}.op-inspector__close:focus-visible{outline:var(--focus-ring-width) solid var(--color-on-action);outline-offset:calc(-1 * var(--focus-ring-width))}.op-inspector__body{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-3);overflow-y:auto}.op-inspector__ref{margin:0;font-family:var(--font-mono);font-size:var(--font-size-md);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-tight);color:var(--color-text);overflow-wrap:anywhere}.op-inspector__rows{display:flex;flex-direction:column;gap:var(--space-1);margin:0}.op-inspector__row{display:grid;grid-template-columns:auto 1fr;gap:var(--space-3);align-items:baseline}.op-inspector__row dt{font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);color:var(--color-text-muted)}.op-inspector__row dd{margin:0;text-align:right;font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);font-variant-numeric:tabular-nums;color:var(--color-text)}.op-inspector-leader{position:absolute;inset:0;z-index:3;width:100%;height:100%;pointer-events:none;overflow:visible}.op-inspector-leader__halo{stroke:var(--color-surface);stroke-width:5;stroke-linecap:round;opacity:.75}.op-inspector-leader__line{stroke:var(--color-action);stroke-width:2;stroke-linecap:round}.op-inspector-leader__dot{fill:var(--color-action);stroke:var(--color-surface);stroke-width:2}@media(max-width:1023px){.op-scene-rail{right:var(--space-3);max-width:none;align-items:stretch}.op-scene-legend{justify-self:start;width:max-content}.op-inspector{width:auto;max-height:60%}.op-inspector-leader{display:none}}
