:root{--surface-base: #0f1419;--surface-raised: #161b22;--surface-overlay: #1c2330;--surface-sunken: #0a0e12;--surface-glass: rgba(255, 255, 255, .04);--surface-glass-border: rgba(255, 255, 255, .08);--surface-glass-hover: rgba(255, 255, 255, .07);--text-primary: #e6edf3;--text-secondary: #8b949e;--text-tertiary: #484f58;--text-inverse: #0f1419;--accent-gold: #d4a853;--accent-gold-hover: #c49a47;--accent-gold-muted: rgba(212, 168, 83, .15);--accent-gold-text: #e8c47a;--interactive: #2bae9a;--interactive-hover: #33c4ad;--interactive-muted: rgba(43, 174, 154, .12);--status-success: #2ea043;--status-success-bg: rgba(46, 160, 67, .1);--status-warning: #d4a853;--status-warning-bg: rgba(212, 168, 83, .12);--status-error: #f85149;--status-error-bg: rgba(248, 81, 73, .12);--status-info: #58a6ff;--status-info-bg: rgba(88, 166, 255, .1);--stage-1: #58a6ff;--stage-2: #3fb950;--stage-3: #d29922;--stage-4: #bc8cff;--border-subtle: rgba(255, 255, 255, .06);--border-default: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .16);--border-focus: rgba(212, 168, 83, .5);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--font-heading: "Inter", system-ui, -apple-system, sans-serif;--font-body: "Inter", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono", "SFMono-Regular", Consolas, monospace;--text-xs: .75rem;--text-sm: .8125rem;--text-base: .9375rem;--text-lg: 1.125rem;--text-xl: 1.375rem;--text-2xl: 1.75rem;--text-3xl: 2.25rem;--radius-sm: 6px;--radius-md: 10px;--radius-lg: 16px;--radius-full: 999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 12px 28px rgba(0, 0, 0, .5);--shadow-glow-gold: 0 0 20px rgba(212, 168, 83, .15);--shadow-glow-teal: 0 0 20px rgba(43, 174, 154, .12);--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--duration-fast: .12s;--duration-normal: .2s;--duration-slow: .35s;--duration-reveal: .6s}*{box-sizing:border-box}body{margin:0;font-family:var(--font-body);font-size:var(--text-base);line-height:1.55;color:var(--text-primary);background:var(--surface-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4{font-family:var(--font-heading);color:var(--text-primary);line-height:1.25}h2{font-size:var(--text-xl);font-weight:600;margin:0 0 var(--space-4)}h3{font-size:var(--text-lg);font-weight:600;margin:var(--space-4) 0 var(--space-3)}label{display:block;font-size:var(--text-sm);font-weight:500;color:var(--text-secondary);margin-bottom:var(--space-1)}small{font-size:var(--text-xs);color:var(--text-secondary)}.mono{font-family:var(--font-mono)}.review p{margin:var(--space-1) 0}.app{max-width:1140px;margin:0 auto;padding:var(--space-8) var(--space-5) var(--space-16)}.header{display:flex;justify-content:space-between;align-items:center;gap:var(--space-6);margin-bottom:var(--space-6);padding-bottom:var(--space-6);border-bottom:1px solid var(--border-subtle)}.header h1{margin:0 0 var(--space-1);font-size:var(--text-2xl);font-weight:700;color:var(--accent-gold-text);letter-spacing:-.02em}.subtitle{margin:0;color:var(--text-secondary);font-size:var(--text-sm)}.mode-toggle button{border:1px solid var(--border-default);background:transparent;color:var(--text-secondary);padding:var(--space-2) var(--space-4);margin-left:var(--space-2);border-radius:var(--radius-full);cursor:pointer;font-size:var(--text-sm);transition:all var(--duration-normal) var(--ease-out)}.mode-toggle .active{background:var(--accent-gold);color:var(--text-inverse);border-color:var(--accent-gold)}.mode-toggle button:hover:not(.active){background:var(--surface-glass-hover);border-color:var(--border-strong)}.wizard{display:grid;gap:var(--space-4)}.wizard-grid{display:grid;grid-template-columns:2.4fr 1.2fr;gap:var(--space-5);align-items:start}.stepper{display:flex;align-items:center;gap:0;padding:var(--space-3) var(--space-4);background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}.stepper__step{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);background:transparent;border:none;cursor:pointer;flex-shrink:0;min-width:80px;transition:opacity var(--duration-normal) var(--ease-out);font-family:var(--font-body)}.stepper__step--upcoming{opacity:.35;cursor:not-allowed}.stepper__number{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;font-family:var(--font-mono);font-weight:600;font-size:var(--text-sm);background:var(--surface-glass);border:1px solid var(--border-default);color:var(--text-secondary);transition:all var(--duration-normal) var(--ease-out)}.stepper__step--active .stepper__number{background:var(--accent-gold);border-color:var(--accent-gold);color:var(--text-inverse);box-shadow:var(--shadow-glow-gold)}.stepper__step--completed .stepper__number{background:var(--interactive-muted);border-color:var(--interactive);color:var(--interactive)}.stepper__label{font-size:var(--text-xs);color:var(--text-secondary);font-weight:500;text-align:center;white-space:nowrap}.stepper__step--active .stepper__label{color:var(--text-primary);font-weight:600}.stepper__connector{flex:1;height:2px;background:var(--border-subtle);position:relative;min-width:12px}.stepper__connector--filled:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:var(--interactive);transform-origin:left;animation:fillConnector .4s var(--ease-out)}.step{background:var(--surface-raised);border:1px solid var(--border-subtle);padding:var(--space-3);border-radius:var(--radius-md);text-align:center;font-size:var(--text-sm);color:var(--text-secondary)}.step.active{color:var(--text-primary);border-color:var(--accent-gold);box-shadow:var(--shadow-glow-gold)}.step span{display:inline-block;width:26px;height:26px;border-radius:50%;background:var(--surface-glass);line-height:26px;margin-bottom:var(--space-1);font-family:var(--font-mono);font-weight:600;font-size:var(--text-sm)}.step.active span{background:var(--accent-gold);color:var(--text-inverse)}.card{background:var(--surface-glass);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-radius:var(--radius-lg);padding:var(--space-6);border:1px solid var(--surface-glass-border);box-shadow:var(--shadow-md);animation:slideInRight var(--duration-slow) var(--ease-out)}@supports not (backdrop-filter: blur(1px)){.card{background:var(--surface-raised)}}.stage-card{border:1px solid var(--border-subtle);padding:var(--space-4);border-radius:var(--radius-md);margin:var(--space-3) 0;background:var(--surface-raised)}.stage-card h3{margin-top:0}.chip{display:inline-block;width:12px;height:12px;border-radius:var(--radius-full);margin-right:var(--space-2);vertical-align:middle}.chip.small{width:8px;height:8px;margin-right:var(--space-1)}input,select,textarea{width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);border:1px solid var(--border-default);font-size:var(--text-base);font-family:var(--font-body);color:var(--text-primary);background:var(--surface-sunken);transition:border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease}input:hover,select:hover,textarea:hover{border-color:var(--border-strong)}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none;border-color:var(--accent-gold);box-shadow:0 0 0 3px var(--border-focus)}input::placeholder,textarea::placeholder{color:var(--text-tertiary)}select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1.5l5 5 5-5' stroke='%238b949e' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;padding-right:var(--space-8)}textarea{font-family:var(--font-mono);font-size:var(--text-sm);resize:vertical}.row{display:flex;gap:var(--space-3);align-items:flex-start;margin:var(--space-2) 0;flex-wrap:wrap}.field{display:flex;flex-direction:column;gap:var(--space-1);flex:1;min-width:0}.field label{font-size:var(--text-sm);color:var(--text-secondary)}.choice-row{display:flex;gap:var(--space-4);margin:var(--space-3) 0 var(--space-4)}.choice-row label{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;color:var(--text-primary);font-weight:400}.choice-row input[type=radio]{width:auto;accent-color:var(--accent-gold)}.inline{display:flex;gap:var(--space-2);align-items:center}.checkbox-row{gap:var(--space-1)}.checkbox-row input{width:auto;accent-color:var(--accent-gold)}.checkbox-row span{color:var(--text-primary)}.weight-row{display:flex;align-items:center;gap:var(--space-2)}.badge{background:var(--surface-overlay);color:var(--accent-gold-text);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-family:var(--font-mono);border:1px solid var(--border-subtle);white-space:nowrap}button{border:1px solid var(--border-default);background:var(--surface-raised);color:var(--text-primary);padding:var(--space-2) var(--space-5);border-radius:var(--radius-md);cursor:pointer;font-family:var(--font-body);font-size:var(--text-sm);font-weight:500;transition:background-color var(--duration-fast) ease,border-color var(--duration-fast) ease,box-shadow var(--duration-fast) ease,color var(--duration-fast) ease}button:hover{background:var(--surface-glass-hover);border-color:var(--border-strong)}button:focus-visible,.stage-chip:focus-visible,.link-button:focus-visible{outline:none;box-shadow:0 0 0 3px var(--border-focus)}button:disabled{cursor:not-allowed;opacity:.4}button.primary{background:var(--accent-gold);color:var(--text-inverse);border-color:var(--accent-gold);font-weight:600}button.primary:hover{background:var(--accent-gold-hover);border-color:var(--accent-gold-hover);box-shadow:var(--shadow-glow-gold)}.link-button{background:transparent;border:none;color:var(--interactive);padding:0;font-size:var(--text-sm)}.link-button:hover{color:var(--interactive-hover)}.nav{display:flex;justify-content:space-between;margin-top:var(--space-5)}.nav-cta{display:flex;align-items:center;gap:var(--space-3)}.stage-rail{display:flex;flex-wrap:wrap;gap:var(--space-3);margin:var(--space-3) 0 var(--space-4)}.stage-chip{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);border:1px solid var(--border-default);background:var(--surface-raised);cursor:pointer;transition:all var(--duration-fast) ease;font-family:var(--font-body);font-size:var(--text-sm)}.stage-chip:hover{background:var(--surface-glass-hover);border-color:var(--border-strong)}.stage-chip .label{font-weight:600;color:var(--text-primary)}.stage-chip .meta{color:var(--text-tertiary);font-size:var(--text-xs)}.stage-chip .dot{width:8px;height:8px;border-radius:var(--radius-full);background:var(--status-warning)}.stage-chip.ok .dot{background:var(--status-success)}.stage-chip.missing{border-color:var(--status-warning);background:var(--status-warning-bg)}.stage-chip.active{border-color:var(--accent-gold);box-shadow:var(--shadow-glow-gold);background:var(--accent-gold-muted)}.stage-cta{border:1px dashed var(--border-default);background:transparent;padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);color:var(--text-secondary);font-size:var(--text-sm)}.criteria-layout{display:grid;gap:var(--space-4);align-items:start}.criteria-main{display:grid;gap:var(--space-3)}.criteria-mini-summary{background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--space-4)}.criteria-mini-summary h3{margin-top:0;margin-bottom:var(--space-3);color:var(--text-primary)}.criteria-list{list-style:none;padding-left:0;margin:var(--space-2) 0 0}.criteria-item{display:flex;align-items:center;gap:var(--space-2);margin:var(--space-1) 0}.criteria-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-2) var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--surface-raised);margin:var(--space-2) 0}.criteria-row.card{display:grid;gap:var(--space-3);align-items:initial;padding:var(--space-3) var(--space-4);animation:none;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}.criteria-row-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3)}.criteria-bar-track{width:100%;height:6px;border-radius:var(--radius-full);background:var(--surface-overlay);overflow:hidden}.criteria-bar-fill{height:100%;border-radius:var(--radius-full);background:linear-gradient(90deg,var(--interactive),#4ac2b1);animation:growWidth .4s var(--ease-out)}.criteria-bar-fill.dominant{background:linear-gradient(90deg,var(--status-error),#f39b83)}.criteria-name{font-weight:600;color:var(--text-primary)}.criteria-meta{color:var(--text-secondary);font-size:var(--text-sm);font-family:var(--font-mono)}.table{border:1px solid var(--border-subtle);border-radius:var(--radius-md);margin-top:var(--space-3);overflow:hidden}.scroll-x{overflow-x:auto}.data-table-wrap{border:1px solid var(--border-subtle);border-radius:var(--radius-md);margin-top:var(--space-3);overflow-x:auto}.data-table{width:100%;border-collapse:collapse;font-size:var(--text-sm)}.data-table th,.data-table td{padding:var(--space-2) var(--space-3);text-align:left;border-bottom:1px solid var(--border-subtle);white-space:nowrap}.data-table thead th{font-weight:600;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);background:var(--surface-sunken);position:sticky;top:0}.data-table tbody tr{transition:background-color var(--duration-fast) ease;animation:fadeInUp .2s var(--ease-out) backwards}.data-table tbody tr:hover{background:#ffffff08}.data-table tbody tr:nth-child(1){animation-delay:0ms}.data-table tbody tr:nth-child(2){animation-delay:30ms}.data-table tbody tr:nth-child(3){animation-delay:60ms}.data-table tbody tr:nth-child(4){animation-delay:90ms}.data-table tbody tr:nth-child(5){animation-delay:.12s}.data-table tbody tr:nth-child(6){animation-delay:.15s}.data-table tbody tr:nth-child(7){animation-delay:.18s}.data-table tbody tr:nth-child(8){animation-delay:.21s}.data-table tbody tr:nth-child(9){animation-delay:.24s}.data-table tbody tr:nth-child(10){animation-delay:.27s}.data-table tbody tr:nth-child(n+11){animation-delay:.3s}.data-table__row--winner{background:var(--accent-gold-muted)!important;position:relative}.data-table__row--winner td{color:var(--accent-gold-text);font-weight:600}.data-table__row--winner td:first-child{box-shadow:inset 3px 0 0 var(--accent-gold)}.table-header,.table-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(140px,1fr)}.table-row{transition:background-color var(--duration-fast) ease}.table-row:hover{background:#ffffff08}.table-row.winner{background:var(--accent-gold-muted)}.table-row.winner .cell{font-weight:600;color:var(--accent-gold-text)}.cell{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border-subtle);border-right:1px solid var(--border-subtle);font-size:var(--text-sm)}.cell.header{font-weight:600;font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);background:var(--surface-sunken)}.preview-table{margin-top:var(--space-3)}.results-hero{text-align:center;padding:var(--space-10) var(--space-6);margin-bottom:var(--space-6);background:linear-gradient(180deg,rgba(212,168,83,.08) 0%,transparent 100%);border-radius:var(--radius-lg);border:1px solid var(--accent-gold-muted)}.results-hero__label{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.12em;color:var(--text-secondary);margin:0 0 var(--space-4);font-weight:500}.results-hero__winner{animation:revealWinner var(--duration-reveal) var(--ease-spring)}.results-hero__trophy{display:inline-block;font-size:2.5rem;color:var(--accent-gold);margin-bottom:var(--space-2);animation:glowPulse 2s ease-in-out .6s 2}.results-hero__name{font-size:var(--text-3xl);font-weight:700;color:var(--accent-gold-text);margin:0 0 var(--space-2);letter-spacing:-.02em}.results-hero__score{font-size:var(--text-lg);color:var(--text-secondary);margin:0}.results-hero__score .mono{font-family:var(--font-mono);font-weight:600;color:var(--text-primary)}.summary{margin-top:var(--space-5)}.tabs{display:grid;gap:var(--space-3)}.tab-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.tab-row button{border-radius:var(--radius-full);font-size:var(--text-sm);padding:var(--space-2) var(--space-4)}.tab-row button.active{background:var(--accent-gold);color:var(--text-inverse);border-color:var(--accent-gold)}.tab-row .download{margin-left:auto;color:var(--interactive);border:none;background:transparent}.tab-row .download:hover{color:var(--interactive-hover)}.tab-panel{padding-top:var(--space-2)}.summary-panel{background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:var(--space-4);position:sticky;top:var(--space-5)}.summary-panel h3{margin-top:0;color:var(--accent-gold-text);font-size:var(--text-base)}.summary-panel p{font-size:var(--text-sm);color:var(--text-secondary);margin:var(--space-1) 0}.summary-stage{border-top:1px solid var(--border-subtle);padding-top:var(--space-3);margin-top:var(--space-3)}.summary-stage.missing{border-left:3px solid var(--status-warning);padding-left:var(--space-3);background:var(--status-warning-bg);border-radius:var(--radius-sm)}.summary-title{font-weight:600;color:var(--text-primary)}.summary-criteria{list-style:none;padding-left:0;margin:var(--space-2) 0 0}.summary-criteria li{display:flex;justify-content:space-between;gap:var(--space-3);font-size:var(--text-sm);color:var(--text-secondary);padding:var(--space-1) 0}.summary-criteria .criteria-name{font-weight:500;color:var(--text-primary);font-size:var(--text-sm)}.summary-criteria .criteria-meta{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-secondary)}.manual-workspace{margin-bottom:var(--space-6)}.manual-workspace__header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.manual-workspace__badge{display:inline-flex;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);background:var(--surface-overlay);border:1px solid var(--border-default);color:var(--accent-gold-text);font-family:var(--font-mono);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.06em}.manual-section{border-top:1px solid var(--border-subtle);padding-top:var(--space-4);margin-top:var(--space-4)}.manual-section:first-of-type{border-top:none;padding-top:0;margin-top:0}.manual-section h3{margin:0 0 var(--space-3);color:var(--text-primary);font-size:var(--text-base)}.alert{background:var(--status-warning-bg);border:1px solid rgba(212,168,83,.25);color:var(--accent-gold-text);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin:var(--space-3) 0;font-size:var(--text-sm)}.alert.error{background:var(--status-error-bg);border-color:#f8514940;color:#ffa198}.notice{background:var(--status-info-bg);border:1px solid rgba(88,166,255,.2);color:var(--status-info);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-3);font-size:var(--text-sm)}.notice.warning{background:var(--status-warning-bg);border-color:#d4a85333;color:var(--accent-gold-text)}.empty-state{background:var(--surface-raised);border:1px dashed var(--border-default);border-radius:var(--radius-md);padding:var(--space-4);margin-top:var(--space-3)}.empty-state p{margin:0 0 var(--space-1);color:var(--text-secondary)}.preview{background:var(--surface-raised);padding:var(--space-3);border-radius:var(--radius-md);border:1px solid var(--border-subtle);margin-top:var(--space-4)}.preview p{font-size:var(--text-sm);color:var(--text-secondary);margin:var(--space-1) 0}.hint{color:var(--text-secondary);font-size:var(--text-sm)}.loading-overlay{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-8) 0}.loading-spinner{width:36px;height:36px;border:3px solid var(--border-subtle);border-top-color:var(--accent-gold);border-radius:50%;animation:spin 1s linear infinite}.loading-text{font-size:var(--text-sm);color:var(--text-secondary);margin:0}.stage-selector{margin-bottom:var(--space-3)}.pulse{animation:pulse .5s ease}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes fillConnector{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes revealWinner{0%{opacity:0;transform:scale(.92)}60%{opacity:1;transform:scale(1.02)}to{opacity:1;transform:scale(1)}}@keyframes glowPulse{0%,to{text-shadow:0 0 0 rgba(212,168,83,0)}50%{text-shadow:0 0 24px rgba(212,168,83,.4)}}@keyframes growWidth{0%{max-width:0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%{box-shadow:0 0 #d4a85366}70%{box-shadow:0 0 0 10px #d4a85300}to{box-shadow:0 0 #d4a85300}}@media (max-width: 900px){.header{flex-direction:column;align-items:flex-start}.stepper{overflow-x:auto;-webkit-overflow-scrolling:touch}.wizard-grid,.criteria-layout{grid-template-columns:1fr}.criteria-mini-summary,.summary-panel{position:static}}@media (max-width: 640px){.app{padding:var(--space-4) var(--space-3) var(--space-12)}.card{padding:var(--space-4);border-radius:var(--radius-md)}.results-hero{padding:var(--space-6) var(--space-4)}.results-hero__name{font-size:var(--text-2xl)}.choice-row{flex-direction:column;gap:var(--space-2)}.row{flex-direction:column}.nav{flex-direction:column-reverse;gap:var(--space-3)}.nav-cta{flex-direction:column;width:100%}.nav-cta button{width:100%}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
