:root{--ink-rgb: 55, 53, 47;--ink: #37352F;--white: #FFFFFF;--grey-25: #FBFBFA;--grey-50: #F7F7F5;--grey-100: #F1F1EF;--grey-150: #EAEAE8;--accent-50: #EFF8F6;--accent-100: #DBEFEB;--accent-200: #BADFD8;--accent-300: #8ACCC1;--accent-400: #55B3A5;--accent-500: #2F9E8F;--accent-600: #1E7C70;--accent-700: #196A60;--accent-800: #145349;--accent-900: #0F3C35;--red-surface: #FBE9E7;--red-text: #A22B23;--red-solid: #9F2F2D;--orange-surface: #FBEFDD;--orange-text: #8A5200;--yellow-surface: #FBF3DB;--yellow-text: #7A5A00;--green-surface: #EAF3E9;--green-text: #2F6B33;--blue-surface: #E7F1F8;--blue-text: #1F5E86;--purple-surface: #F0EAF7;--purple-text: #5C3C87;--pink-surface: #FAE9F1;--pink-text: #8C3563;--bg-page: var(--white);--bg-secondary: var(--grey-50);--bg-panel: var(--grey-25);--bg-sunken: var(--grey-100);--bg-float: var(--white);--bg-scrim: rgba(15, 15, 15, .28);--fill-hover: rgba(var(--ink-rgb), .06);--fill-selected: rgba(var(--ink-rgb), .08);--fill-active: rgba(var(--ink-rgb), .12);--fill-track: var(--grey-100);--fill-bar: rgba(var(--ink-rgb), .75);--skeleton-base: var(--grey-100);--skeleton-shimmer: rgba(255, 255, 255, .7);--skeleton-shimmer-edge: rgba(255, 255, 255, 0);--text-primary: var(--ink);--text-secondary: rgba(var(--ink-rgb), .7);--text-placeholder: rgba(var(--ink-rgb), .6);--text-tertiary: rgba(var(--ink-rgb), .45);--text-disabled: rgba(var(--ink-rgb), .35);--text-on-accent: var(--white);--text-on-dark: var(--white);--text-accent: var(--accent-700);--text-danger: var(--red-text);--border-subtle: rgba(var(--ink-rgb), .09);--border-strong: rgba(var(--ink-rgb), .16);--border-control: rgba(var(--ink-rgb), .55);--border-control-hover: rgba(var(--ink-rgb), .7);--border-accent: var(--accent-500);--border-danger: var(--red-solid);--border-width: 1px;--focus-ring: rgba(var(--ink-rgb), .6);--focus-ring-width: 2px;--focus-ring-offset: 1px;--focus-ring-inner: var(--white);--font-sans: ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, "Apple Color Emoji", Arial, sans-serif;--font-mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--text-display: 40px;--text-h1: 30px;--text-h2: 24px;--text-h3: 20px;--text-h4: 17px;--text-body: 16px;--text-ui: 14px;--text-meta: 12px;--text-micro: 11px;--leading-tight: 1.2;--leading-snug: 1.3;--leading-normal: 1.5;--leading-relaxed: 1.6;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--tracking-display: -.022em;--tracking-heading: -.012em;--tracking-normal: 0;--tracking-ui: .005em;--tracking-meta: .01em;--tracking-caps: .08em;--measure: 68ch;--space-0: 0px;--space-05: 2px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 24px;--space-6: 32px;--space-7: 48px;--space-8: 64px;--space-9: 96px;--radius-xs: 3px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-pill: 9999px;--shadow-none: none;--shadow-raised: 0 1px 2px rgba(15, 15, 15, .05);--shadow-popover: 0 0 0 1px rgba(15, 15, 15, .04), 0 3px 6px rgba(15, 15, 15, .04), 0 9px 24px rgba(15, 15, 15, .07);--shadow-modal: 0 0 0 1px rgba(15, 15, 15, .05), 0 8px 16px rgba(15, 15, 15, .06), 0 24px 48px rgba(15, 15, 15, .12);--duration-instant: 90ms;--duration-fast: .12s;--duration-base: .16s;--duration-slow: .18s;--ease-standard: cubic-bezier(.2, 0, 0, 1);--ease-out: cubic-bezier(.16, 1, .3, 1);--transition-control: background-color var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);--control-h-sm: 32px;--control-h-md: 38px;--control-pad-x-sm: var(--space-3);--control-pad-x-md: var(--space-4);--icon-sm: 16px;--icon-md: 20px;--icon-stroke: 1.5;--mark-size: 18px;--z-base: 0;--z-raised: 10;--z-sticky: 100;--z-dropdown: 200;--z-overlay: 300;--z-modal: 400;--z-toast: 500}@media(pointer:coarse){:root{--control-h-sm: 44px;--control-h-md: 48px;--mark-size: 22px}}@media(prefers-reduced-motion:reduce){:root{--duration-instant: 1ms;--duration-fast: 1ms;--duration-base: 1ms;--duration-slow: 1ms}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg-page);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{margin:0;font-weight:var(--weight-semibold)}h1{font-size:var(--text-h1);line-height:var(--leading-tight);letter-spacing:var(--tracking-heading)}h2{font-size:var(--text-h2);line-height:var(--leading-snug);letter-spacing:var(--tracking-heading)}h3{font-size:var(--text-h3);line-height:var(--leading-snug);letter-spacing:var(--tracking-heading)}h4{font-size:var(--text-h4);line-height:var(--leading-snug)}p{margin:0}svg{display:block;flex:none}.link{color:var(--text-primary);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px;text-decoration-color:var(--border-strong);transition:text-decoration-color var(--duration-fast) var(--ease-standard)}.link:hover,.link.is-hover{text-decoration-color:var(--text-primary)}.focus-ring:focus-visible,.focus-ring.is-focus{outline:none;box-shadow:0 0 0 var(--focus-ring-offset) var(--bg-page),0 0 0 calc(var(--focus-ring-offset) + var(--focus-ring-width)) var(--focus-ring)}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.u-num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.u-meta{font-size:var(--text-meta);color:var(--text-secondary);letter-spacing:var(--tracking-meta)}.u-caps{font-size:var(--text-micro);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--text-secondary)}.u-measure{max-width:var(--measure)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);height:var(--control-h-md);min-width:var(--control-h-md);padding:0 var(--control-pad-x-md);border:var(--border-width) solid transparent;border-radius:var(--radius-sm);background:transparent;color:var(--text-primary);font-family:inherit;font-size:var(--text-ui);font-weight:var(--weight-medium);letter-spacing:var(--tracking-ui);line-height:1;white-space:nowrap;cursor:pointer;position:relative;transition:var(--transition-control),transform var(--duration-instant) var(--ease-standard)}.btn:focus-visible,.btn.is-focus{outline:none;box-shadow:0 0 0 var(--focus-ring-offset) var(--bg-page),0 0 0 calc(var(--focus-ring-offset) + var(--focus-ring-width)) var(--focus-ring)}.btn:active:not(:disabled),.btn.is-active{transform:translateY(1px)}.btn:disabled,.btn.is-disabled{cursor:not-allowed;transform:none;background:var(--bg-sunken);border-color:transparent;color:var(--text-disabled);box-shadow:none}.btn--sm{height:var(--control-h-sm);min-width:var(--control-h-sm);padding:0 var(--control-pad-x-sm);font-size:var(--text-ui)}.btn__icon{width:var(--icon-sm);height:var(--icon-sm)}.btn--primary{background:var(--accent-600);color:var(--text-on-accent);border-color:var(--accent-600)}.btn--primary:hover:not(:disabled),.btn--primary.is-hover{background:var(--accent-700);border-color:var(--accent-700)}.btn--primary:active:not(:disabled),.btn--primary.is-active{background:var(--accent-800);border-color:var(--accent-800)}.btn--secondary{background:var(--bg-page);border-color:var(--border-control);color:var(--text-primary)}.btn--secondary:hover:not(:disabled),.btn--secondary.is-hover{background:var(--fill-hover);border-color:var(--border-control-hover)}.btn--secondary:active:not(:disabled),.btn--secondary.is-active{background:var(--fill-active)}.btn--ghost{background:transparent;color:var(--text-primary)}.btn--ghost:hover:not(:disabled),.btn--ghost.is-hover{background:var(--fill-hover)}.btn--ghost:active:not(:disabled),.btn--ghost.is-active{background:var(--fill-active)}.btn--danger{background:var(--bg-page);border-color:var(--border-control);color:var(--text-danger)}.btn--danger:hover:not(:disabled),.btn--danger.is-hover{background:var(--red-surface);border-color:var(--border-danger)}.btn--danger:active:not(:disabled),.btn--danger.is-active{background:var(--red-surface);border-color:var(--border-danger)}.btn--danger-solid{background:var(--red-solid);border-color:var(--red-solid);color:var(--text-on-dark)}.btn--danger-solid:hover:not(:disabled),.btn--danger-solid.is-hover{background:var(--red-text);border-color:var(--red-text)}.btn--icon{padding:0;width:var(--control-h-md)}.btn--icon.btn--sm{width:var(--control-h-sm)}.btn.is-loading{pointer-events:none}.btn.is-loading .btn__label,.btn.is-loading .btn__icon{visibility:hidden}.btn__spinner{position:absolute;width:var(--icon-sm);height:var(--icon-sm);animation:spin .72s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.btn__spinner{animation-duration:2.4s}}.field{display:grid;gap:var(--space-2)}.field__label{font-size:var(--text-ui);font-weight:var(--weight-medium);color:var(--text-primary);letter-spacing:var(--tracking-ui)}.field__label .req{color:var(--text-secondary);font-weight:var(--weight-regular)}.field__hint{font-size:var(--text-meta);color:var(--text-secondary);letter-spacing:var(--tracking-meta)}.field__error{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-meta);color:var(--text-danger);letter-spacing:var(--tracking-meta)}.field__error svg{width:14px;height:14px}.input,.textarea,.select{width:100%;min-height:var(--control-h-md);padding:0 var(--space-3);background:var(--bg-page);border:var(--border-width) solid var(--border-control);border-radius:var(--radius-sm);color:var(--text-primary);font-family:inherit;font-size:var(--text-ui);line-height:var(--leading-normal);transition:var(--transition-control)}.textarea{padding:var(--space-2) var(--space-3);min-height:84px;resize:vertical;overflow:hidden;line-height:var(--leading-relaxed)}.input::placeholder,.textarea::placeholder{color:var(--text-placeholder)}.input:hover:not(:disabled),.textarea:hover:not(:disabled),.select:hover:not(:disabled),.input.is-hover{border-color:var(--border-control-hover)}.input:focus-visible,.textarea:focus-visible,.select:focus-visible,.input.is-focus,.textarea.is-focus,.select.is-focus{outline:none;border-color:var(--border-control-hover);box-shadow:0 0 0 var(--focus-ring-offset) var(--bg-page),0 0 0 calc(var(--focus-ring-offset) + var(--focus-ring-width)) var(--focus-ring)}.input:disabled,.textarea:disabled,.select:disabled,.input.is-disabled{background:var(--bg-secondary);border-color:var(--border-strong);color:var(--text-disabled);cursor:not-allowed}.input.is-error,.textarea.is-error,.select.is-error{border-color:var(--border-danger)}.input[type=number]{font-variant-numeric:tabular-nums}@media(pointer:coarse){.input,.textarea,.select{font-size:var(--text-body)}}.select-wrap,.search-wrap{position:relative;display:block}.select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:var(--space-6);cursor:pointer}.select-wrap__chevron{position:absolute;right:var(--space-3);top:50%;transform:translateY(-50%);width:var(--icon-sm);height:var(--icon-sm);color:var(--text-secondary);pointer-events:none}.search-wrap__icon{position:absolute;left:var(--space-3);top:50%;transform:translateY(-50%);width:var(--icon-sm);height:var(--icon-sm);color:var(--text-secondary);pointer-events:none}.search-wrap .input{padding-left:calc(var(--space-3) * 2 + var(--icon-sm))}.input-affix{display:flex;align-items:center;gap:var(--space-2)}.input-affix__unit{font-size:var(--text-ui);color:var(--text-secondary);white-space:nowrap}.choice-group{display:grid;gap:var(--space-2)}.choice{position:relative;display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);min-height:var(--control-h-md);background:var(--bg-page);border:var(--border-width) solid var(--border-subtle);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-control)}.choice:hover,.choice.is-hover{background:var(--fill-hover);border-color:var(--border-strong)}.choice__body{display:grid;gap:var(--space-05)}.choice__label{font-size:var(--text-ui);color:var(--text-primary)}.choice__desc{font-size:var(--text-meta);color:var(--text-secondary)}.choice input{position:absolute;opacity:0;width:0;height:0}.mark{flex:none;width:var(--mark-size);height:var(--mark-size);margin-top:1px;display:grid;place-items:center;border:var(--border-width) solid var(--border-control);background:var(--bg-page);color:var(--text-on-accent);transition:var(--transition-control)}.mark--check{border-radius:var(--radius-xs)}.mark--radio{border-radius:var(--radius-pill)}.mark svg{width:12px;height:12px;opacity:0;transition:opacity var(--duration-fast) var(--ease-standard)}.mark--radio:after{content:"";width:8px;height:8px;border-radius:var(--radius-pill);background:var(--text-on-accent);opacity:0;transition:opacity var(--duration-fast) var(--ease-standard)}.choice input:checked+.mark,.choice.is-checked .mark{background:var(--accent-600);border-color:var(--accent-600)}.choice input:checked+.mark svg,.choice.is-checked .mark svg,.choice input:checked+.mark--radio:after,.choice.is-checked .mark--radio:after{opacity:1}.choice:has(input:checked),.choice.is-checked{background:var(--accent-50);border-color:var(--accent-300)}.choice:has(input:checked):hover,.choice.is-checked.is-hover{background:var(--accent-100)}.choice input:focus-visible+.mark,.choice.is-focus .mark{box-shadow:0 0 0 var(--focus-ring-offset) var(--bg-page),0 0 0 calc(var(--focus-ring-offset) + var(--focus-ring-width)) var(--focus-ring)}.choice:has(input:disabled),.choice.is-disabled{background:var(--bg-secondary);border-color:var(--border-subtle);cursor:not-allowed}.choice:has(input:disabled) .choice__label,.choice.is-disabled .choice__label,.choice:has(input:disabled) .choice__desc,.choice.is-disabled .choice__desc{color:var(--text-disabled)}.choice:has(input:disabled) .mark,.choice.is-disabled .mark{border-color:var(--border-strong);background:var(--bg-sunken)}.check-inline{position:relative;display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-ui);cursor:pointer;min-height:var(--control-h-sm)}.check-inline input{position:absolute;opacity:0;width:0;height:0}.check-inline input:checked+.mark{background:var(--accent-600);border-color:var(--accent-600)}.check-inline input:checked+.mark svg,.check-inline input:checked+.mark--radio:after{opacity:1}.check-inline input:focus-visible+.mark{box-shadow:0 0 0 var(--focus-ring-offset) var(--bg-page),0 0 0 calc(var(--focus-ring-offset) + var(--focus-ring-width)) var(--focus-ring)}.scale{display:grid;gap:var(--space-2)}.scale__options{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;border:var(--border-width) solid var(--border-control);border-radius:var(--radius-sm);overflow:hidden}.scale__opt{position:relative;display:grid;place-items:center;min-height:var(--control-h-md);padding:0 var(--space-2);border-left:var(--border-width) solid var(--border-subtle);font-size:var(--text-ui);font-variant-numeric:tabular-nums;color:var(--text-primary);cursor:pointer;transition:var(--transition-control)}.scale__opt:first-child{border-left:0}.scale__opt input{position:absolute;opacity:0;width:0;height:0}.scale__opt:hover,.scale__opt.is-hover{background:var(--fill-hover)}.scale__opt:has(input:checked),.scale__opt.is-checked{background:var(--accent-600);color:var(--text-on-accent);font-weight:var(--weight-medium)}.scale__opt:has(input:focus-visible),.scale__opt.is-focus{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:calc(var(--focus-ring-offset) * -1 - var(--focus-ring-width))}.scale__ends{display:flex;justify-content:space-between;gap:var(--space-4);font-size:var(--text-meta);color:var(--text-secondary)}.switch{position:relative;display:inline-flex;align-items:center;gap:var(--space-3);cursor:pointer;min-height:var(--control-h-sm);font-size:var(--text-ui)}.switch input{position:absolute;opacity:0;width:0;height:0}.switch__track{position:relative;flex:none;width:36px;height:20px;border-radius:var(--radius-pill);background:var(--bg-sunken);border:var(--border-width) solid var(--border-control);transition:var(--transition-control)}.switch__thumb{position:absolute;top:1px;left:1px;width:16px;height:16px;border-radius:var(--radius-pill);background:var(--bg-page);box-shadow:var(--shadow-raised);transition:transform var(--duration-fast) var(--ease-standard)}.switch:hover .switch__track,.switch.is-hover .switch__track{border-color:var(--border-control-hover)}.switch input:checked+.switch__track,.switch.is-checked .switch__track{background:var(--accent-600);border-color:var(--accent-600)}.switch input:checked+.switch__track .switch__thumb,.switch.is-checked .switch__thumb{transform:translate(16px)}.switch input:focus-visible+.switch__track,.switch.is-focus .switch__track{box-shadow:0 0 0 var(--focus-ring-offset) var(--bg-page),0 0 0 calc(var(--focus-ring-offset) + var(--focus-ring-width)) var(--focus-ring)}.switch input:disabled+.switch__track,.switch.is-disabled .switch__track{background:var(--bg-sunken);border-color:var(--border-strong);opacity:.6}.rank-list{display:grid;gap:var(--space-2);list-style:none;margin:0;padding:0}.rank-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);min-height:var(--control-h-md);background:var(--bg-page);border:var(--border-width) solid var(--border-subtle);border-radius:var(--radius-md);transition:var(--transition-control)}.rank-row:hover,.rank-row.is-hover{background:var(--fill-hover);border-color:var(--border-strong)}.rank-row.is-dragging{background:var(--bg-float);border-color:var(--border-strong);box-shadow:var(--shadow-popover)}.rank-row__handle{display:grid;place-items:center;width:var(--control-h-sm);height:var(--control-h-sm);margin-left:calc(var(--space-2) * -1);border:0;background:transparent;border-radius:var(--radius-sm);color:var(--text-tertiary);cursor:grab;transition:var(--transition-control)}.rank-row__handle svg{width:var(--icon-md);height:var(--icon-md)}.rank-row__handle:hover,.rank-row__handle.is-hover{background:var(--fill-hover);color:var(--text-secondary)}.rank-row__badge{flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:var(--radius-xs);background:var(--bg-sunken);color:var(--text-secondary);font-size:var(--text-meta);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums}.rank-row__label{font-size:var(--text-ui);flex:1 1 auto}.progress{display:grid;gap:var(--space-2)}.progress__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-4);font-size:var(--text-meta);color:var(--text-secondary)}.progress__value{font-variant-numeric:tabular-nums;color:var(--text-primary);font-weight:var(--weight-medium)}.progress__track{height:6px;border-radius:var(--radius-pill);background:var(--fill-track);overflow:hidden}.progress__fill{height:100%;border-radius:var(--radius-pill);background:var(--accent-600);transition:width var(--duration-slow) var(--ease-standard)}.progress--thin .progress__track{height:4px}.stepper{display:flex;list-style:none;margin:0;padding:0}.step{display:flex;align-items:center;gap:var(--space-2);flex:1 1 0;min-width:0}.step:last-child{flex:0 0 auto}.step__marker{flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:var(--radius-pill);border:var(--border-width) solid var(--border-control);background:var(--bg-page);color:var(--text-secondary);font-size:var(--text-meta);font-weight:var(--weight-medium);font-variant-numeric:tabular-nums}.step__label{font-size:var(--text-meta);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.step__line{flex:1 1 auto;height:1px;min-width:var(--space-4);margin:0 var(--space-2);background:var(--border-strong)}.step.is-done .step__marker{background:var(--accent-600);border-color:var(--accent-600);color:var(--text-on-accent)}.step.is-done .step__marker svg{width:12px;height:12px}.step.is-done .step__line{background:var(--accent-500)}.step.is-current .step__marker{border-color:var(--accent-600);box-shadow:inset 0 0 0 1px var(--accent-600);background:var(--accent-50);color:var(--accent-900)}.step.is-current .step__label{color:var(--text-primary);font-weight:var(--weight-medium)}.step a.step__label{text-decoration:none}.step a.step__label:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:var(--focus-ring-offset);border-radius:var(--radius-xs)}.ring{position:relative;display:inline-grid;place-items:center}.ring svg{transform:rotate(-90deg)}.ring__track{stroke:var(--fill-track);fill:none}.ring__fill{stroke:var(--accent-600);fill:none;stroke-linecap:round;transition:stroke-dashoffset var(--duration-slow) var(--ease-standard)}.ring__center{position:absolute;display:grid;place-items:center;text-align:center}.ring__value{font-size:var(--text-h2);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;letter-spacing:var(--tracking-heading)}.ring__caption{font-size:var(--text-micro);color:var(--text-secondary);letter-spacing:var(--tracking-caps);text-transform:uppercase}.card{background:var(--bg-page);border:var(--border-width) solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-5)}.card--flush{padding:0;overflow:hidden}.card--sunken{background:var(--bg-secondary)}.card--interactive{cursor:pointer;transition:var(--transition-control)}.card--interactive:hover,.card--interactive.is-hover{border-color:var(--border-strong);box-shadow:var(--shadow-raised)}.card--interactive:focus-visible{outline:none;box-shadow:0 0 0 var(--focus-ring-offset) var(--bg-page),0 0 0 calc(var(--focus-ring-offset) + var(--focus-ring-width)) var(--focus-ring)}.card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-3)}.card__title{font-size:var(--text-h4);font-weight:var(--weight-semibold)}.card__body{color:var(--text-secondary);font-size:var(--text-ui)}.card__footer{margin-top:var(--space-4);padding-top:var(--space-4);border-top:var(--border-width) solid var(--border-subtle)}.divider{height:1px;background:var(--border-subtle);border:0;margin:0}.callout{display:flex;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--bg-secondary);border:var(--border-width) solid var(--border-subtle);font-size:var(--text-ui);color:var(--text-primary)}.callout__icon{flex:none;width:var(--icon-md);height:var(--icon-md);margin-top:1px;color:var(--text-secondary)}.callout__body{display:grid;gap:var(--space-1)}.callout__title{font-weight:var(--weight-medium)}.callout__text{color:var(--text-secondary)}.callout--info{background:var(--blue-surface);border-color:transparent}.callout--info .callout__icon{color:var(--blue-text)}.callout--success{background:var(--green-surface);border-color:transparent}.callout--success .callout__icon{color:var(--green-text)}.callout--warn{background:var(--yellow-surface);border-color:transparent}.callout--warn .callout__icon{color:var(--yellow-text)}.callout--danger{background:var(--red-surface);border-color:transparent}.callout--danger .callout__icon{color:var(--red-text)}.empty{display:grid;justify-items:center;gap:var(--space-3);padding:var(--space-7) var(--space-5);text-align:center;border:var(--border-width) dashed var(--border-strong);border-radius:var(--radius-md);background:var(--bg-panel)}.empty__icon{width:var(--icon-md);height:var(--icon-md);color:var(--text-tertiary)}.empty__title{font-size:var(--text-h4);font-weight:var(--weight-semibold)}.empty__text{font-size:var(--text-ui);color:var(--text-secondary);max-width:44ch}.skel{position:relative;overflow:hidden;background:var(--skeleton-base);border-radius:var(--radius-sm)}.skel:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;transform:translate(-100%);background:linear-gradient(90deg,var(--skeleton-shimmer-edge),var(--skeleton-shimmer),var(--skeleton-shimmer-edge));animation:skel-shimmer 1.4s var(--ease-standard) infinite}@keyframes skel-shimmer{to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){.skel:after{animation:none;opacity:.4;transform:none}}.skel--line{height:12px}.skel--line-lg{height:16px}.skel--title{height:22px;border-radius:var(--radius-xs)}.skel--block{height:72px;border-radius:var(--radius-md)}.skel--circle{border-radius:var(--radius-pill)}.chip{display:inline-flex;align-items:center;gap:var(--space-1);height:24px;padding:0 var(--space-2);border-radius:var(--radius-sm);background:var(--bg-sunken);color:var(--text-secondary);font-size:var(--text-meta);letter-spacing:var(--tracking-meta);white-space:nowrap}.chip--outline{background:transparent;border:var(--border-width) solid var(--border-strong)}.chip__remove{position:relative;display:grid;place-items:center;width:16px;height:16px;margin-right:calc(var(--space-1) * -1);border:0;background:transparent;border-radius:var(--radius-xs);color:var(--text-secondary);cursor:pointer;transition:var(--transition-control)}.chip__remove:after{content:"";position:absolute;top:-6px;right:-6px;bottom:-6px;left:-6px}.chip__remove:hover{background:var(--fill-active);color:var(--text-primary)}.chip__remove:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:var(--focus-ring-offset)}.chip--selectable{cursor:pointer;transition:var(--transition-control)}.chip--selectable:hover,.chip--selectable.is-hover{background:var(--fill-active);color:var(--text-primary)}.chip--selectable.is-selected{background:var(--fill-selected);color:var(--text-primary);box-shadow:inset 0 0 0 1px var(--border-control)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);height:20px;padding:0 var(--space-2);border-radius:var(--radius-pill);font-size:var(--text-micro);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-caps);white-space:nowrap}.badge--gray{background:var(--bg-sunken);color:var(--text-secondary)}.badge--red{background:var(--red-surface);color:var(--red-text)}.badge--orange{background:var(--orange-surface);color:var(--orange-text)}.badge--yellow{background:var(--yellow-surface);color:var(--yellow-text)}.badge--green{background:var(--green-surface);color:var(--green-text)}.badge--blue{background:var(--blue-surface);color:var(--blue-text)}.badge--purple{background:var(--purple-surface);color:var(--purple-text)}.badge--pink{background:var(--pink-surface);color:var(--pink-text)}.status{display:inline-flex;align-items:center;gap:var(--space-2);height:22px;padding:0 var(--space-2) 0 var(--space-2);border-radius:var(--radius-pill);font-size:var(--text-meta);font-weight:var(--weight-medium);letter-spacing:var(--tracking-meta);white-space:nowrap}.status:before{content:"";width:6px;height:6px;border-radius:var(--radius-pill);background:currentColor;flex:none}.status--draft{background:var(--bg-sunken);color:var(--text-secondary)}.status--generating{background:var(--blue-surface);color:var(--blue-text)}.status--ready{background:var(--green-surface);color:var(--green-text)}.status--submitted{background:var(--purple-surface);color:var(--purple-text)}.status--analyzing{background:var(--orange-surface);color:var(--orange-text)}.status--analyzed{background:var(--green-surface);color:var(--green-text)}.status--failed{background:var(--red-surface);color:var(--red-text)}.priority{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-meta);color:var(--text-secondary)}.priority__dots{display:inline-flex;gap:3px}.priority__dot{width:6px;height:6px;border-radius:var(--radius-pill);background:var(--border-strong)}.priority__dot.is-on{background:var(--accent-600)}.score{display:flex;align-items:baseline;gap:var(--space-2)}.score__value{font-size:var(--text-display);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-display);line-height:var(--leading-tight);font-variant-numeric:tabular-nums}.score__max{font-size:var(--text-h4);color:var(--text-secondary);font-variant-numeric:tabular-nums}.dim-row{display:grid;grid-template-columns:minmax(140px,200px) 1fr 44px;align-items:center;gap:var(--space-4);padding:var(--space-2) 0}.dim-row__label{font-size:var(--text-ui);color:var(--text-primary)}.dim-row__track{height:6px;border-radius:var(--radius-pill);background:var(--fill-track);overflow:hidden}.dim-row__fill{height:100%;border-radius:var(--radius-pill);background:var(--fill-bar);transition:width var(--duration-slow) var(--ease-standard)}.dim-row__value{font-size:var(--text-ui);font-variant-numeric:tabular-nums;text-align:right;color:var(--text-primary);font-weight:var(--weight-medium)}.table{width:100%;border-collapse:collapse;font-size:var(--text-ui)}.table th{text-align:left;font-weight:var(--weight-medium);color:var(--text-secondary);padding:var(--space-2) var(--space-3);border-bottom:var(--border-width) solid var(--border-strong);white-space:nowrap}.table td{padding:var(--space-3);border-bottom:var(--border-width) solid var(--border-subtle);vertical-align:top}.table tbody tr:hover,.table tbody tr.is-hover{background:var(--fill-hover)}.table .num{text-align:right;font-variant-numeric:tabular-nums}.dl{display:grid;grid-template-columns:max-content 1fr;gap:var(--space-2) var(--space-5);margin:0}.dl dt{font-size:var(--text-ui);color:var(--text-secondary)}.dl dd{margin:0;font-size:var(--text-ui);color:var(--text-primary)}.toast{display:flex;align-items:flex-start;gap:var(--space-3);width:min(380px,100%);padding:var(--space-3) var(--space-4);background:var(--bg-float);border:var(--border-width) solid var(--border-subtle);border-radius:var(--radius-md);box-shadow:var(--shadow-popover);font-size:var(--text-ui)}.toast__icon{flex:none;width:var(--icon-md);height:var(--icon-md);margin-top:1px}.toast--success .toast__icon{color:var(--green-text)}.toast--error .toast__icon{color:var(--red-text)}.toast--info .toast__icon{color:var(--blue-text)}.toast__body{display:grid;gap:var(--space-1);flex:1 1 auto}.toast__title{font-weight:var(--weight-medium)}.toast__text{color:var(--text-secondary);font-size:var(--text-meta)}.banner{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--bg-secondary);border:var(--border-width) solid var(--border-subtle);font-size:var(--text-ui)}.banner__icon{flex:none;width:var(--icon-md);height:var(--icon-md);color:var(--text-secondary)}.banner__body{flex:1 1 auto}.banner--warn{background:var(--yellow-surface);border-color:transparent}.banner--warn .banner__icon{color:var(--yellow-text)}.banner--danger{background:var(--red-surface);border-color:transparent}.banner--danger .banner__icon{color:var(--red-text)}.banner--info{background:var(--blue-surface);border-color:transparent}.banner--info .banner__icon{color:var(--blue-text)}.modal-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--bg-scrim);z-index:var(--z-overlay)}.modal{width:min(520px,100%);background:var(--bg-float);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal);z-index:var(--z-modal);overflow:hidden}.modal__head{padding:var(--space-5) var(--space-5) var(--space-3)}.modal__title{font-size:var(--text-h3);font-weight:var(--weight-semibold)}.modal__body{padding:0 var(--space-5) var(--space-5);color:var(--text-secondary);font-size:var(--text-ui)}.modal__foot{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-top:var(--border-width) solid var(--border-subtle);background:var(--bg-panel)}.topbar{display:flex;align-items:center;gap:var(--space-4);height:48px;padding:0 var(--space-4);background:var(--bg-page);border-bottom:var(--border-width) solid var(--border-subtle)}.wordmark{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-h4);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-heading);color:var(--text-primary);text-decoration:none}.wordmark__mark{width:var(--icon-md);height:var(--icon-md);color:var(--text-primary)}.topbar__spacer{flex:1 1 auto}.breadcrumb{display:flex;align-items:center;gap:var(--space-2);list-style:none;margin:0;padding:0;font-size:var(--text-ui)}.breadcrumb li{display:flex;align-items:center;gap:var(--space-2)}.breadcrumb a{color:var(--text-secondary);text-decoration:none;padding:2px var(--space-1);border-radius:var(--radius-xs);transition:var(--transition-control)}.breadcrumb a:hover{background:var(--fill-hover);color:var(--text-primary)}.breadcrumb a:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:var(--focus-ring-offset)}.breadcrumb__sep{width:14px;height:14px;color:var(--text-tertiary)}.breadcrumb [aria-current=page]{color:var(--text-primary);font-weight:var(--weight-medium)}.sidenav{background:var(--bg-panel);border-right:var(--border-width) solid var(--border-subtle);padding:var(--space-3) var(--space-2);display:grid;gap:var(--space-1);align-content:start}.sidenav__group{padding:var(--space-3) var(--space-2) var(--space-1);font-size:var(--text-micro);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-caps);color:var(--text-tertiary)}.sidenav__item{display:flex;align-items:center;gap:var(--space-2);min-height:var(--control-h-sm);padding:0 var(--space-2);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--text-ui);text-decoration:none;transition:var(--transition-control)}.sidenav__item:hover,.sidenav__item.is-hover{background:var(--fill-hover);color:var(--text-primary)}.sidenav__item:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:calc(var(--focus-ring-offset) * -1)}.sidenav__item.is-active{background:var(--fill-selected);color:var(--text-primary);font-weight:var(--weight-medium)}.sidenav__item svg{width:var(--icon-sm);height:var(--icon-sm);color:var(--text-tertiary)}.sidenav__item.is-active svg{color:var(--text-secondary)}.sidenav__count{margin-left:auto;font-size:var(--text-meta);color:var(--text-tertiary);font-variant-numeric:tabular-nums}html,body,#root{min-height:100%}body{background:var(--bg-page)}.skip-link{position:absolute;top:var(--space-2);left:var(--space-2);z-index:var(--z-toast);padding:var(--space-2) var(--space-3);background:var(--bg-float);border:var(--border-width) solid var(--border-control);border-radius:var(--radius-sm);font-size:var(--text-ui);color:var(--text-primary);text-decoration:none;transform:translateY(-200%)}.skip-link:focus-visible{transform:none;outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:var(--focus-ring-offset)}a.btn,a.card,a.choice{text-decoration:none}#root{display:flex;flex-direction:column}button.step__label{border:0;background:none;padding:0;font:inherit;cursor:pointer;text-align:left}button.step__label:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:var(--focus-ring-offset);border-radius:var(--radius-xs)}@page{margin:18mm 16mm}@media print{html,body{background:var(--bg-page)}body{font-size:10.5pt;line-height:1.45}h1,h2,h3{break-after:avoid}*{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.center-screen{flex:1 1 auto;display:grid;align-content:center;justify-items:center;gap:var(--space-4);padding:var(--space-8) var(--space-5);text-align:center}.center-screen__actions{display:flex;gap:var(--space-3);flex-wrap:wrap;justify-content:center}.pending-screen{width:100%;max-width:720px;margin:0 auto;padding:var(--space-7) var(--space-5);display:grid;gap:var(--space-4)}
