:root{--font-sans: "Inter", "Noto Sans JP", system-ui, -apple-system, "Segoe UI", sans-serif;--bg: #f8fafc;--panel: #ffffff;--border: #e2e8f0;--text: #0f172a;--muted: #64748b;--accent: #ff6600;--link: #3498db;--good: #1f8f4e;--bad: #c0392b;--warn: #b45309;--stat-gain: #2563eb;--stat-loss: #c0392b;--pot-color: #e91e8c;--bonus-color: #00a8e8;--pair-left: #f8fafc;--pair-right: #fffaf5}*{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);background:var(--bg);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"palt" 1}.wrap{max-width:1560px;margin:0 auto;padding:20px 16px 64px}h1{text-align:center;font-size:1.55rem;margin:0 0 4px}.card{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:14px 16px;margin-bottom:14px}.card h2{margin:0 0 10px;font-size:1rem}.layout{display:grid;grid-template-columns:1fr 250px;gap:14px;align-items:start}@media (max-width: 1100px){.layout{grid-template-columns:1fr}}label.field{display:flex;flex-direction:column;gap:4px;font-size:.82rem}input,select,button{font:inherit}input[type=text],select{padding:8px 10px;border:1px solid var(--border);border-radius:8px;width:100%;background:#fff}.btn{padding:7px 12px;border:none;border-radius:8px;background:var(--accent);color:#fff;cursor:pointer;font-weight:600;font-size:.85rem}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-secondary{background:#e8eaed;color:var(--text)}.btn-secondary:disabled{background:#e8eaed;color:var(--text)}.btn-sm{padding:4px 10px;font-size:.78rem;font-weight:500}.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.hidden{display:none!important}.error{color:var(--bad);font-size:.84rem;margin-top:6px}.app-loading-banner{margin-top:8px;padding:8px 12px;background:#eff6ff;border:1px solid #93c5fd;border-radius:8px;font-size:.84rem;color:#1d4ed8;font-weight:600}.app-loading-banner.hidden{display:none}.btn.is-loading{opacity:.72;cursor:wait}.warn-banner{background:#fff7ed;border:1px solid #fed7aa;color:var(--warn);padding:9px 12px;border-radius:8px;font-size:.84rem;margin-bottom:10px}.global-proposal-layout{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}@media (max-width: 900px){.global-proposal-layout{grid-template-columns:1fr}}.global-equip-stack{display:flex;flex-direction:column;gap:10px}.proposal-view-toolbar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:8px}.proposal-view-toolbar label{font-size:.78rem;color:var(--muted);font-weight:600}.candidate-toolbar{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin-bottom:8px}.candidate-toolbar-row{display:grid;grid-template-columns:minmax(240px,1fr) minmax(320px,1.6fr);gap:12px;align-items:start;margin-bottom:10px}@media (max-width: 980px){.candidate-toolbar-row{grid-template-columns:1fr}}.candidate-toolbar-footer{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-bottom:10px}.candidate-toolbar-footer .candidate-toolbar-hint{flex:1;min-width:min(100%,280px);margin:0}@media (max-width: 640px){.candidate-toolbar-footer{flex-direction:column;align-items:stretch}.btn-update-candidates{width:100%}}.settings-panel{border:1px solid var(--border);border-radius:14px;background:var(--panel);box-shadow:0 1px 2px #0f172a0a,0 4px 16px #0f172a0a;overflow:hidden;min-width:0}.settings-panel-head{width:100%;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;border:none;background:linear-gradient(180deg,#fff,#f8fafc);cursor:pointer;text-align:left;transition:background .15s ease}.settings-panel-head:hover{background:#f1f5f9}.settings-panel-head-main{display:flex;align-items:center;gap:10px;min-width:0}.settings-panel-icon{width:32px;height:32px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0;line-height:1}.settings-panel-icon svg{display:block}.settings-panel-icon--rules{background:#eff6ff;color:#2563eb}.settings-panel-icon--display{background:#fff7ed;color:#ea580c}.settings-panel-titles{display:flex;flex-direction:column;gap:1px;min-width:0}.settings-panel-title{font-size:.84rem;font-weight:700;color:var(--text);letter-spacing:-.01em}.settings-panel-sub{font-size:.68rem;font-weight:500;color:var(--muted)}.filter-collapse-chevron{width:24px;height:24px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.62rem;color:var(--muted);background:#f1f5f9;transition:transform .2s ease,background .15s ease;flex-shrink:0}.settings-panel-head:hover .filter-collapse-chevron{background:#e2e8f0}.settings-panel-body{padding:0 14px 14px}.settings-section{padding-top:12px;border-top:1px solid #f1f5f9}.settings-section:first-child{padding-top:4px;border-top:none}.settings-section-label{display:block;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#94a3b8;margin-bottom:8px}.settings-row-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media (max-width: 520px){.settings-row-2{grid-template-columns:1fr}}.settings-chip-matrix{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 22px}.settings-chip-col{display:flex;flex-direction:column;align-items:center;gap:6px}.settings-chip-col--type{margin-left:6px}.settings-chip-matrix .settings-section-label{margin-bottom:0;text-align:center;width:100%;white-space:nowrap}.settings-chip-col .opt-chip-group{display:flex;flex-wrap:nowrap;gap:6px;align-items:center;justify-content:center}.settings-chip-col--type .opt-chip-group{gap:9px}.settings-chip-matrix .opt-chip{padding:6px 10px;font-size:.72rem;flex-shrink:0}@media (max-width: 640px){.settings-chip-matrix{gap:12px 16px}.settings-chip-col--type{margin-left:0}}.settings-section-hint{margin:6px 0 0;font-size:.68rem;color:var(--muted);line-height:1.45}.opt-chip-group{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.opt-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;border:1.5px solid #e2e8f0;background:#fff;font-size:.76rem;font-weight:600;color:#64748b;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease,box-shadow .15s ease,opacity .15s ease;-webkit-user-select:none;user-select:none;font-family:inherit;line-height:1.2}button.opt-chip{-moz-appearance:none;appearance:none;-webkit-appearance:none}.opt-chip:hover{border-color:#cbd5e1;background:#f8fafc}.opt-chip input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.opt-chip-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;opacity:.35;transition:opacity .15s ease}button.opt-chip.active,.opt-chip:has(input:checked){box-shadow:0 1px 3px #0f172a0f;opacity:1}button.opt-chip:not(.active),.opt-chip:not(:has(input:checked)){opacity:.72}button.opt-chip.active,.opt-chip--neutral.active{border-color:#94a3b8;background:#f1f5f9;color:#0f172a}.opt-chip--rule .opt-chip-dot{background:#2563eb}.opt-chip--rule:has(input:checked){border-color:#93c5fd;background:#eff6ff;color:#1d4ed8}.opt-chip--rule:has(input:checked) .opt-chip-dot{opacity:1}.opt-chip--sf .opt-chip-dot{background:#eab308}.opt-chip--sf:has(input:checked){border-color:#fde047;background:#fefce8;color:#a16207}.opt-chip--sf:has(input:checked) .opt-chip-dot{opacity:1}.opt-chip--pot .opt-chip-dot{background:var(--pot-color)}.opt-chip--pot:has(input:checked){border-color:#f9a8d4;background:#fdf2f8;color:#be185d}.opt-chip--pot:has(input:checked) .opt-chip-dot{opacity:1}.opt-chip--bonus .opt-chip-dot{background:var(--bonus-color)}.opt-chip--bonus:has(input:checked){border-color:#7dd3fc;background:#f0f9ff;color:#0369a1}.opt-chip--bonus:has(input:checked) .opt-chip-dot{opacity:1}.opt-chip:focus-visible,button.opt-chip:focus-visible{outline:2px solid #93c5fd;outline-offset:2px}.settings-field .field-label{font-size:.72rem;font-weight:600;color:#475569;margin-bottom:5px;display:block}.settings-field input[type=number]{width:100%;padding:8px 10px;border:1px solid #e2e8f0;border-radius:10px;background:#fff;font-size:.82rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text);transition:border-color .15s ease,box-shadow .15s ease}.settings-field input[type=number]:focus{outline:none;border-color:#fdba74;box-shadow:0 0 0 3px #fdba7440}.settings-field input[type=number]::placeholder{color:#cbd5e1;font-weight:500}.settings-field--inline{width:auto;flex:0 0 auto}.settings-threshold-row,.settings-compact-grid{display:flex;flex-wrap:wrap;gap:10px 14px;align-items:flex-end}.compact-inline-input{display:inline-flex;align-items:center;width:11rem;box-sizing:border-box;border:1px solid #e2e8f0;border-radius:10px;background:#fff;overflow:hidden}.compact-inline-input:focus-within{border-color:#fdba74;box-shadow:0 0 0 3px #fdba7440}.compact-inline-input input{flex:1 1 0;width:0;min-width:0;border:none;padding:7px 4px 7px 10px;font-size:.82rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--text);background:transparent}.compact-inline-input input:focus{outline:none}.compact-inline-input input::placeholder{color:#cbd5e1;font-weight:500}.compact-inline-input .unit{padding:0 9px 0 3px;font-size:.72rem;font-weight:700;color:#64748b;white-space:nowrap;flex-shrink:0}.filter-unit-input input{border-radius:10px 0 0 10px!important}.filter-unit-suffix{display:flex;align-items:center;padding:0 10px;font-size:.72rem;font-weight:700;color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-left:none;border-radius:0 10px 10px 0;flex-shrink:0}.settings-cost-grid{display:contents}.settings-callout{display:flex;gap:8px;align-items:flex-start;margin-top:12px;padding:10px 12px;border-radius:10px;font-size:.68rem;line-height:1.5;color:#64748b}.settings-callout-icon{flex-shrink:0;line-height:1;opacity:.85;display:flex;align-items:flex-start;padding-top:1px}.settings-callout-icon svg{display:block}.settings-callout--rules{background:#eff6ff;border:1px solid #bfdbfe;color:#1e40af}.settings-callout--display{background:#f8fafc;border:1px solid #e2e8f0}.btn-update-candidates{flex-shrink:0;padding:8px 16px;border-radius:10px;font-size:.84rem;font-weight:700;box-shadow:0 1px 2px #ff66002e;transition:transform .12s ease,box-shadow .12s ease}.btn-update-candidates:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 2px 6px #ff660038}.btn-update-candidates:not(:disabled):active{transform:translateY(0)}.candidate-toolbar-hint{display:flex;gap:8px;align-items:flex-start;padding:10px 12px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;font-size:.72rem;color:#64748b;line-height:1.55;box-shadow:0 1px 2px #0f172a08}.candidate-toolbar-hint-icon{flex-shrink:0;color:#94a3b8;display:flex;padding-top:1px}.candidate-toolbar-hint-icon svg{display:block}.filter-collapse.collapsed .filter-collapse-body,.settings-panel.collapsed .settings-panel-body{display:none}.filter-collapse:not(.collapsed) .filter-collapse-chevron,.settings-panel:not(.collapsed) .filter-collapse-chevron{transform:rotate(90deg);background:#e2e8f0}.filter-fields{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end}.proposal-type-filter{display:flex;flex-wrap:nowrap;gap:6px;align-items:center}.proposal-type-filter-label{display:none}.candidate-toolbar .field-hint,.field-hint{font-size:.72rem;color:var(--muted);margin:0 0 8px;line-height:1.4}.good{color:var(--good)}.bad{color:var(--bad)}.slot-pair-header{display:grid;grid-template-columns:1fr 1fr;gap:12px;font-size:.78rem;font-weight:700;color:var(--muted);padding:0 4px 6px;border-bottom:2px solid var(--border);margin-bottom:8px}.slot-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:10px;align-items:start}@media (max-width: 900px){.slot-pair,.slot-pair-header{grid-template-columns:1fr}}.equip-card{background:var(--pair-left);border:1px solid var(--border);border-radius:10px;overflow:hidden}.equip-head{display:flex;align-items:center;gap:8px;padding:8px 10px;cursor:pointer;-webkit-user-select:none;user-select:none}.equip-head:hover{background:#eef4ff}.equip-head .chev{margin-left:auto;color:var(--muted);font-size:.75rem}.slot-icon{width:36px;height:36px;object-fit:contain;flex-shrink:0}.slot-icon.ph{display:inline-block;background:#e8eaed;border-radius:6px}.equip-title{font-weight:700;font-size:.82rem;line-height:1.3}.equip-sub{font-size:.7rem;color:var(--muted)}.equip-summary{padding:0 10px 8px;font-size:.7rem;color:var(--muted);line-height:1.4}.pot-line-pot{color:var(--pot-color)}.pot-line-bonus{color:var(--bonus-color)}.equip-body{border-top:1px solid var(--border);padding:8px 10px;background:#fff;font-size:.8rem}.sf-row{display:flex;align-items:center;gap:6px;margin-bottom:8px;font-size:.76rem;flex-wrap:wrap}.sf-row .star-val{font-size:.95rem;font-weight:700;min-width:32px;text-align:center}.sf-row .grade-val{font-size:.82rem;font-weight:700;min-width:42px;text-align:center}.sf-row .grade-select{font-size:.72rem;padding:2px 6px;min-width:88px;max-width:120px}.pot-columns{display:grid;grid-template-columns:1fr 1fr;gap:8px}@media (max-width: 500px){.pot-columns{grid-template-columns:1fr}}.pot-col h4{margin:0 0 4px;font-size:.66rem;letter-spacing:.04em}.pot-col.pot h4{color:var(--pot-color)}.pot-col.bonus h4{color:var(--bonus-color)}.pot-col h4{margin:0 0 6px;font-size:.72rem}.pot-current-score{font-size:.7rem;color:var(--muted);font-weight:600;margin:0 0 6px}.pot-grade-row{display:flex;align-items:center;gap:6px;margin:0 0 6px;font-size:.68rem}.pot-grade-row label{color:var(--muted);font-weight:600;flex-shrink:0}.pot-grade-row select{flex:1;min-width:0;font-size:.68rem;padding:2px 4px}.pot-edit-row{display:grid;grid-template-columns:22px 1fr;gap:4px;align-items:start;margin-bottom:4px;font-size:.7rem}.pot-edit-row.custom-active{background:#f0fdf4;border-radius:6px;padding:4px 6px;margin-bottom:6px}.pot-edit-row .tag{color:var(--muted);font-weight:600;padding-top:5px;font-size:.66rem}.pot-edit-body{min-width:0}.pot-edit-row .cur{font-size:.64rem;margin-bottom:2px;word-break:break-word;line-height:1.3}.pot-edit-controls{display:flex;align-items:center;gap:4px}.pot-edit-controls select{flex:1;min-width:0;font-size:.68rem;padding:3px 4px}.pot-edit-row.custom-active select{border:2px solid var(--good);border-radius:6px}.custom-pct-input{width:40px;flex-shrink:0;padding:3px;border:2px solid var(--good);border-radius:6px;font-size:.74rem;font-weight:700;text-align:center}.custom-pct-input.hidden{display:none}.custom-pct-badge{flex-shrink:0;font-size:.64rem;font-weight:700;color:var(--good);background:#dcfce7;padding:2px 6px;border-radius:999px}.custom-pct-badge.hidden{display:none}.pot-edit-row .cur.pot-line-pot{color:var(--good);font-weight:600}.pot-edit-row .cur.pot-line-bonus{color:#b45309;font-weight:600}.slot-actions{display:flex;gap:5px;margin:8px 0 4px;flex-wrap:wrap}.slot-actions .btn-sm{font-size:.68rem;padding:3px 8px}.slot-done-wrap{display:inline-flex;cursor:not-allowed}.slot-done-wrap .btn:disabled{pointer-events:none}.equip-stats{margin:4px 0 6px;padding:5px 7px;background:#f8fafc;border:1px solid var(--border);border-radius:6px;font-size:.66rem;line-height:1.35}.equip-stats-label{font-weight:700;color:var(--text);margin-right:4px}.equip-stats-row{word-break:break-word}.equip-stats-sf{margin-top:2px}.equip-stats-summary{margin-top:3px;font-size:.66rem;line-height:1.35;color:var(--muted)}.equip-stats-loading{color:var(--muted);font-size:.68rem}.applied-preview-banner{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px;padding:8px 10px;background:#fffbeb;border:1px solid #fcd34d;border-radius:8px;font-size:.76rem}.applied-preview-banner .label{flex:1;min-width:0;color:#92400e;font-weight:600}.preview-badge{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:4px;font-size:.65rem;font-weight:600;background:#fef3c7;color:#b45309;vertical-align:middle}.slot-cost-box{margin-top:4px;padding:6px 8px;background:#f8fafc;border:1px solid var(--border);border-radius:6px;font-size:.72rem}.slot-cost-line{font-size:.7rem;color:var(--muted);margin-top:4px;line-height:1.35}.slot-cost-line.slot-cost-total{color:var(--text);margin-top:0;font-size:.72rem}.slot-cost-line.slot-cost-kind{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 6px}.slot-cost-kind-label{font-weight:700;color:var(--text);flex-shrink:0}.slot-cost-cp{font-weight:700;font-size:.75rem;font-variant-numeric:tabular-nums}.slot-cost-metrics{margin-top:3px}.slot-cost-metrics .proposal-efficiency{font-size:.68rem;margin-bottom:2px;font-weight:600}.slot-cost-metrics .budget-range-head{margin-bottom:2px;gap:2px 6px}.slot-cost-metrics .budget-label{font-size:.6rem;margin-bottom:0}.slot-cost-metrics .budget-range-text{font-size:.74rem;margin-bottom:0;font-weight:600}.slot-cost-metrics .budget-range-label-row--top{height:1.35em;margin-bottom:2px}.slot-cost-metrics .budget-range-label-row--below{min-height:.85em;margin-top:3px}.slot-cost-metrics .budget-range-mark-start,.slot-cost-metrics .budget-range-mark-end,.slot-cost-metrics .budget-range-mark-plan,.slot-cost-metrics .budget-range-mark-avg{font-size:.56rem}.slot-cost-metrics .budget-range-mark-prefix{font-size:.52rem}.slot-cost-metrics .budget-range-track{height:5px}.slot-cost-metrics-inline{display:inline;font-size:.66rem;line-height:1.3;color:var(--muted)}.slot-cost-metrics-inline .slot-cost-cp{font-size:.68rem}.slot-cost-note-details{margin-top:4px}.slot-cost-note-details summary{cursor:pointer;font-size:.6rem;color:var(--link);-webkit-user-select:none;user-select:none;list-style:none}.slot-cost-note-details summary::-webkit-details-marker{display:none}.slot-cost-note{margin-top:4px;color:var(--muted);font-size:.6rem;line-height:1.35}.slot-cost-breakdown-details{flex-basis:100%;margin-top:2px}.slot-cost-breakdown-details summary{cursor:pointer;font-size:.62rem;color:var(--link);-webkit-user-select:none;user-select:none;list-style:none}.slot-cost-breakdown-details summary::-webkit-details-marker{display:none}.slot-cost-breakdown-rows{margin-top:3px;padding:4px 6px;background:#fff;border:1px solid var(--border);border-radius:4px}.slot-cost-breakdown-row{display:flex;justify-content:space-between;gap:8px;font-size:.68rem;line-height:1.4}.slot-cost-breakdown-label{color:var(--muted)}.slot-cost-breakdown-value{font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}.proposals-pane{background:var(--pair-right);border:1px solid var(--border);border-radius:10px;padding:0;min-height:80px;overflow:hidden;display:flex;flex-direction:column}.proposals-pane-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-bottom:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.78rem;font-weight:700;color:var(--muted);background:#f8fafc;border-radius:10px 10px 0 0;flex-shrink:0}.proposals-pane-head:hover{background:#f1f5f9}.proposals-pane-head .proposal-count{font-weight:600;color:var(--text)}.proposals-pane-head-main{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.proposals-pane-subcount{font-size:.66rem;font-weight:500;color:var(--muted)}.proposals-pane-chevron{font-size:.7rem;color:var(--muted);transition:transform .15s ease}.proposals-pane.collapsed .proposals-pane-chevron{transform:rotate(-90deg)}.proposals-pane-body{padding:8px;overflow-y:auto;flex:1;min-height:0;max-height:964px}#globalProposalBody{max-height:1786px}.proposals-pane.collapsed .proposals-pane-body,.proposals-pane.collapsed .proposals-pane-controls{display:none}#globalProposalPane.collapsed .proposals-pane-head{border-bottom:1px solid var(--border);border-radius:10px 10px 0 0}.proposals-pane.collapsed .proposals-pane-head{border-bottom:none;border-radius:10px}.proposals-pane-controls{flex-shrink:0;border-bottom:1px solid var(--border);background:#fff}.proposals-pane-controls .proposal-metric-filter-collapse{border-bottom:none}.proposals-pane-toolbar-block{padding:8px 10px 0}.proposals-pane-toolbar-block+.proposals-pane-toolbar-block{padding-top:6px}.proposals-pane-controls>.proposal-metric-filter-collapse{padding-top:4px}.proposals-pane-toolbar-block .proposal-view-toolbar,.proposals-pane-toolbar-block .proposal-sort-toolbar{margin-bottom:0}.slot-pair-header-proposals{display:flex;align-items:center;justify-content:flex-end;gap:8px;flex-wrap:wrap}.slot-pair-header-proposals .proposal-view-toolbar{margin-bottom:0}.slot-pair-header-proposals label{font-size:.72rem}.proposal-metric-filter-collapse{border-bottom:1px solid var(--border);background:#fafafa;flex-shrink:0}.proposal-metric-filter-toggle{width:100%;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;border:none;background:transparent;cursor:pointer;font-size:.74rem;font-weight:600;color:var(--muted);text-align:left}.proposal-metric-filter-toggle:hover{background:#f1f5f9}.proposal-metric-filter-toggle .active-count{font-weight:500;color:var(--accent)}.proposal-metric-filter-chevron{font-size:.68rem;color:var(--muted);transition:transform .15s ease;flex-shrink:0}.proposal-metric-filter-collapse:not(.collapsed) .proposal-metric-filter-chevron{transform:rotate(90deg)}.proposal-metric-filter-body{padding:8px 10px 10px}.proposal-metric-filter-collapse.collapsed .proposal-metric-filter-body{display:none}.proposal-metric-filter-grid{display:grid;gap:8px}.filter-unit-input{display:flex;align-items:stretch;width:100%}.filter-unit-input input{flex:1;min-width:0;border-right:none}.proposal-metric-filter-hint{margin:6px 0 0;font-size:.68rem;color:var(--muted);line-height:1.45}.proposal-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:8px 12px;margin-bottom:6px;font-size:.75rem;min-height:0;box-sizing:border-box;box-shadow:0 1px 2px #0f172a0a;transition:border-color .15s ease,box-shadow .15s ease}.proposal-card:hover{border-color:#cbd5e1;box-shadow:0 2px 8px #0f172a0f}.proposal-card:last-child{margin-bottom:0}.proposal-apply-done{opacity:.55;cursor:not-allowed}.proposal-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.proposal-card-head-main{display:flex;flex-wrap:wrap;align-items:center;gap:5px;flex:1;min-width:0;line-height:1.25}.proposal-slot-tag{font-size:.625rem;font-weight:600;color:#94a3b8;letter-spacing:.02em;flex-shrink:0}.proposal-card-head-main .type-badge{margin:0;flex-shrink:0;font-size:.625rem;padding:1px 6px;border-radius:5px}.proposal-card .btn-sm{font-size:.6875rem;padding:3px 8px;border-radius:6px;flex-shrink:0;line-height:1.3}.proposal-card-detail{font-size:.6875rem;color:#64748b;min-width:0;word-break:break-word}.proposal-card-detail .proposal-line-gain,.proposal-card-detail .proposal-line-loss{display:inline;font-size:inherit;line-height:inherit;margin:0}.proposal-card-detail .proposal-line-gain+.proposal-line-loss:before{content:" "}.proposal-line-gain{color:var(--stat-gain);font-weight:500}.proposal-line-loss{color:var(--stat-loss);font-weight:500}.proposal-summary{color:var(--muted);font-size:.75rem;line-height:1.5;margin-bottom:4px;word-break:break-word}.proposal-sf-stars{color:#334155;font-weight:600}.proposal-sf-stats{color:#94a3b8;font-weight:500;margin-left:.35em}.proposal-sf-stats .stat-gain,.proposal-sf-stats .stat-loss{color:#94a3b8;font-weight:500}.proposal-stats-compact{font-size:.75rem;line-height:1.5;margin-bottom:4px}.proposal-metrics-inline{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:.75rem;color:var(--muted)}.proposal-metrics-inline .metric-bold{font-weight:700;color:var(--text)}.proposal-metrics-inline .metric-expected{font-weight:400;color:var(--muted)}.cost-breakdown{margin-top:4px;font-size:.75rem;line-height:1.5}.proposal-metrics{display:flex;flex-direction:column;gap:0;padding-top:0;border-top:1px solid #f1f5f9}.metric-cp{display:flex;align-items:baseline;gap:4px;margin:4px 0 1px;font-variant-numeric:tabular-nums;letter-spacing:-.03em}.metric-cp-value{font-size:1.25rem;font-weight:600;line-height:1.1;color:#0f172a}.metric-cp.good .metric-cp-value{color:var(--good)}.metric-cp.bad .metric-cp-value{color:var(--bad)}.metric-cp--empty .metric-cp-value{color:#94a3b8}.metric-cp-unit{font-size:.5625rem;font-weight:600;color:#94a3b8;letter-spacing:.05em;text-transform:uppercase}.metric-efficiency{margin-bottom:1px;font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1.2}.metric-efficiency-label{font-size:.8125rem;font-weight:600;color:#334155}.metric-efficiency-value{font-size:.9375rem;font-weight:600;color:#334155}.metric-budget{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 6px;margin-bottom:4px}.metric-budget-label{font-size:.8125rem;font-weight:600;color:#1e293b;letter-spacing:-.02em;line-height:1.2;font-variant-numeric:tabular-nums;flex-shrink:0}.metric-budget-value{font-size:.8125rem;font-weight:600;color:#1e293b;font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1.2}.proposal-metrics--compact{border-top:none;padding-top:0;margin-top:2px}.proposal-metrics--compact .metric-cp{margin:0 0 2px}.proposal-metrics--compact .metric-cp-value{font-size:1rem}.proposal-metrics--compact .metric-efficiency-label{font-size:.75rem}.proposal-metrics--compact .metric-efficiency-value{font-size:.8125rem}.proposal-metrics--compact .metric-budget{margin-bottom:3px}.proposal-metrics--compact .metric-budget-label,.proposal-metrics--compact .metric-budget-value{font-size:.75rem}.proposal-budget-summary{margin-top:4px}.proposal-efficiency{font-weight:600;color:var(--text);font-size:.875rem;margin-bottom:6px}.budget-label{font-size:.6875rem;font-weight:600;color:var(--muted);letter-spacing:.04em;margin-bottom:2px}.budget-range-text{font-weight:600;font-size:.9375rem;color:var(--text);margin-bottom:5px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.budget-range-head{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 8px;margin-bottom:5px}.budget-range-head .budget-label{margin-bottom:0;flex-shrink:0}.budget-range-head .budget-range-text{margin-bottom:0;min-width:0}.budget-range-bar{margin-top:0}.budget-range-label-row--top{position:relative;height:1em;margin-bottom:2px}.budget-range-mark-start,.budget-range-mark-end,.budget-range-mark-plan{position:absolute;bottom:0;white-space:nowrap;line-height:1.1}.budget-range-mark-start,.budget-range-mark-end,.budget-range-mark-plan,.budget-range-mark-avg{font-size:.5625rem;font-weight:500;color:#94a3b8;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.budget-range-mark-start{left:0}.budget-range-mark-end{right:0;text-align:right}.budget-range-mark-plan{transform:translate(-50%)}.budget-range-mark-plan--start{left:0;transform:none}.budget-range-mark-prefix{font-weight:500;color:#cbd5e1;letter-spacing:.01em}.budget-range-label-row--below{position:relative;min-height:.85em;margin-top:3px}.budget-range-mark-avg{position:absolute;top:0;transform:translate(-50%);white-space:nowrap;line-height:1.1;padding:0 2px;background:#fff;z-index:1}.budget-range-mark-avg--start{left:0;transform:none}.budget-range-mark-avg--end{right:0;left:auto;transform:none}.budget-range-track{position:relative;height:4px;border-radius:999px;box-shadow:inset 0 0 0 1px #0f172a0f;overflow:hidden}.budget-range-tick-avg{position:absolute;top:0;bottom:0;width:1px;background:#64748b8c;transform:translate(-50%);border-radius:0;z-index:1;pointer-events:none}.proposal-metrics .budget-range-label-row--top{height:.95em;margin-bottom:2px}.proposal-metrics .budget-range-label-row--below{min-height:.8em;margin-top:3px}.cost-details-grid{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;font-size:.68rem;color:var(--muted)}.cost-details-grid .dv{text-align:right;font-weight:600;color:var(--text)}.slot-cost-metrics{margin-top:4px}.session-cost-metrics{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;font-size:.71rem}.session-cost-compact{color:var(--muted);font-weight:600}.proposal-details{margin-top:2px}.proposal-details summary{cursor:pointer;font-size:.7rem;color:var(--link);-webkit-user-select:none;user-select:none;list-style:none}.proposal-details summary::-webkit-details-marker{display:none}.proposal-details summary:before{content:"▸ "}.proposal-details[open] summary:before{content:"▾ "}.proposal-details-body{margin-top:6px;padding-top:6px;border-top:1px dashed var(--border);font-size:.72rem}.type-badge{display:inline-block;padding:2px 6px;border-radius:4px;font-size:.68rem;font-weight:600}.type-badge.sf{background:#dbeafe;color:#1e40af}.type-badge.pot,.type-badge.pot-red{background:#fee2e2;color:#dc2626}.type-badge.pot-black{background:#374151;color:#facc15}.type-badge.bonus{background:#dcfce7;color:#15803d}.upgrade-lines{margin:6px 0}.upgrade-line{margin:2px 0;word-break:break-word}.upgrade-line .tag{display:inline-block;min-width:1.6em;color:var(--muted);font-weight:600}.stat-delta-block{margin:4px 0}.stat-delta-label{font-size:.68rem;color:var(--muted);font-weight:600}.metrics-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px 10px;margin:8px 0;font-size:.74rem}.metrics-grid .mk{color:var(--muted)}.metrics-grid .mv{text-align:right;font-weight:600}.cp-sidebar{position:sticky;top:16px}.cp-big{font-size:2rem;font-weight:700;text-align:center;margin:8px 0;font-variant-numeric:tabular-nums;letter-spacing:-.03em}.cp-sidebar .sub{text-align:center;font-size:.82rem;color:var(--muted)}.cp-timetravel-note{color:var(--accent);font-weight:600}.cp-detail-block{margin-top:10px;padding-top:8px;border-top:1px dashed var(--border)}.cp-detail-block summary{cursor:pointer;font-size:.82rem;font-weight:700;color:var(--text)}.cp-detail-block .metrics-grid{margin-top:6px;margin-bottom:0}.session-cost-card{margin-top:10px}.session-cost-card h2{font-size:.92rem;margin:0 0 8px}.session-cost-entry{background:#f8fafc;border:1px solid var(--border);border-radius:8px;padding:8px 10px;margin-bottom:6px;font-size:.74rem;position:relative}.session-cost-entry:last-child{margin-bottom:0}.session-cost-entry-head{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:2px}.session-cost-remove{flex-shrink:0;width:22px;height:22px;padding:0;border:1px solid var(--border);border-radius:6px;background:#fff;color:var(--muted);font-size:.82rem;line-height:1;cursor:pointer}.session-cost-remove:hover{background:#fee2e2;border-color:#fca5a5;color:var(--bad)}.session-cost-detail{color:var(--text);font-size:.72rem;line-height:1.45;margin:4px 0 6px;word-break:break-word}.session-cost-kind{display:inline-block;font-size:.65rem;font-weight:700;color:var(--muted);margin-right:6px}.session-cost-entry--error{background:#fef2f2;border-color:#fecaca}.session-cost-error{margin-top:4px;font-size:.68rem;line-height:1.4;color:var(--bad);font-weight:600}.session-cost-total-note{margin-top:4px;font-size:.66rem;color:var(--warn);text-align:center;line-height:1.35}.proposal-skip-reasons{font-size:.76rem;color:var(--muted);line-height:1.45}.proposal-skip-reason{margin-bottom:4px;padding-left:.6em;text-indent:-.6em}.proposal-skip-reason:before{content:"・"}.proposal-l1-summary{margin-top:6px;font-size:.76rem;line-height:1.5}.proposal-l1-gain{font-weight:600}.proposal-l1-cost{color:var(--muted)}.proposal-l1-why{color:var(--muted);font-size:.72rem}.proposal-alternative{margin-top:4px;font-size:.72rem;color:var(--warn);line-height:1.4}.proposal-dominated-note{margin-top:4px}.proposal-type-groups{display:flex;flex-direction:column;gap:6px}.proposal-type-section{border:1px solid var(--border);border-radius:8px;overflow:hidden;background:#fff}.proposal-type-section.empty{background:#fafafa}.proposal-type-head{width:100%;display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;border:none;background:transparent;cursor:pointer;font-size:.74rem;font-weight:700;color:var(--muted);text-align:left}.proposal-type-section.has-items .proposal-type-head{color:var(--text)}.proposal-type-head:hover{background:#f8fafc}.proposal-type-count{font-weight:600}.proposal-type-section.empty .proposal-type-count{color:var(--muted);font-weight:500}.proposal-type-chevron{font-size:.65rem;color:var(--muted);transition:transform .15s ease;flex-shrink:0}.proposal-type-section:not(.collapsed) .proposal-type-chevron{transform:rotate(90deg)}.proposal-type-section.collapsed .proposal-type-body{display:none}.proposal-type-body{padding:4px 5px 5px;border-top:1px solid var(--border)}.proposal-type-body .proposal-card+.proposal-card{margin-top:0}.proposal-type-empty{font-size:.72rem;color:var(--muted);line-height:1.45}.session-cost-total{margin-top:8px;font-weight:700;font-size:.82rem;text-align:center}.metrics-guide-card{margin-top:10px}.metrics-guide-card h2{font-size:.92rem;margin:0 0 8px}.metrics-guide-list{margin:0;font-size:.74rem;line-height:1.5}.metrics-guide-list dt{font-weight:700;color:var(--text);margin-top:8px}.metrics-guide-list dt:first-child{margin-top:0}.metrics-guide-list dd{margin:2px 0 0;color:var(--muted);font-size:.78rem;line-height:1.45}.potential-weights-block{margin-top:12px;padding-top:10px;border-top:1px solid var(--border)}.potential-weights-block.hidden{display:none}.potential-weights-title{margin:0 0 4px;font-size:.82rem;font-weight:700;color:var(--text)}.potential-weights-hint{margin:0 0 6px;font-size:.72rem;color:var(--muted)}.potential-weights-text{margin:0;font-size:.74rem;line-height:1.5;color:var(--text);word-break:break-word}.slot-cost-box.proposal-card{padding:6px 8px}.replacement-panel{margin-top:10px;padding:10px;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;font-size:.8rem}select.boss-hidden{display:none}.cp-mode{display:flex;gap:4px;margin-top:8px}.cp-mode button{flex:1;padding:3px 5px;font-size:.68rem;border:1px solid var(--border);border-radius:5px;background:#fff;cursor:pointer}.cp-mode button.active{background:var(--accent);color:#fff;border-color:var(--accent)}.char-load-header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.char-load-header h2{margin:0}.char-load-summary{font-size:.84rem;color:var(--muted)}.mode-tabs{display:flex;gap:6px;margin-bottom:10px}.mode-tab{padding:7px 16px;border:1px solid var(--border);border-radius:8px;background:#fff;color:var(--text);cursor:pointer;font-weight:600;font-size:.85rem}.mode-tab.active{background:var(--accent);color:#fff;border-color:var(--accent)}.roadmap-budget-field{max-width:220px;margin-bottom:8px}.roadmap-freshness{margin-bottom:4px}.roadmap-stop-guideline{color:var(--text)}.roadmap-disclosure{margin-top:10px}.roadmap-rows{margin-top:6px}.roadmap-row{border:1px solid var(--border);border-radius:8px;padding:6px 10px;margin-bottom:6px;cursor:pointer;font-size:.8rem}.roadmap-row:hover{background:#f1f5f9}.roadmap-row.roadmap-row-origin-planner-base{background:#f8fafc}.roadmap-row.roadmap-row-origin-user-card{background:#fffbeb}.roadmap-row.roadmap-row-origin-preset-swap{background:#f5f3ff}.roadmap-row.roadmap-row-origin-url-purchase{background:#eff6ff}.roadmap-row.roadmap-row-origin-planner-preset-swap{background:#eef2ff}.roadmap-row.roadmap-row-group-head{border-left:4px solid var(--muted)}.roadmap-row.roadmap-row-group-member{border-left:4px dashed var(--muted);margin-left:10px}.roadmap-row.roadmap-row-good{background:#ecfdf3}.roadmap-row.roadmap-row-selected{background:#dbeafe}.roadmap-row.roadmap-row-selected.roadmap-row-good{background:#c7f2da}.roadmap-row-line1{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px}.roadmap-row-line2{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;margin-top:4px;padding-top:4px;border-top:1px dashed var(--border)}.roadmap-cell{display:inline-flex;align-items:baseline;gap:4px}.roadmap-cell-no{font-weight:700;color:var(--muted)}.roadmap-cell-done{font-size:.72rem;color:var(--muted);align-items:center;gap:3px}.roadmap-cell-slot{font-weight:600}.roadmap-cell-axis{font-size:.72rem;color:var(--muted);background:#f1f5f9;border-radius:4px;padding:0 5px}.roadmap-cell-origin{font-size:.68rem;font-weight:600;border-radius:4px;padding:0 6px}.roadmap-cell-origin.roadmap-row-origin-planner-base{color:#475569;background:#e2e8f0}.roadmap-cell-origin.roadmap-row-origin-user-card{color:#92400e;background:#fde68a}.roadmap-cell-origin.roadmap-row-origin-preset-swap{color:#5b21b6;background:#ddd6fe}.roadmap-cell-origin.roadmap-row-origin-url-purchase{color:#1d4ed8;background:#bfdbfe}.roadmap-cell-origin.roadmap-row-origin-planner-preset-swap{color:#3730a3;background:#e0e7ff}.roadmap-cell-target{flex:1 1 160px;min-width:0;word-break:break-word}.roadmap-cell.num{font-variant-numeric:tabular-nums}.roadmap-cell-k{font-size:.68rem;color:var(--muted)}.roadmap-cell .good{color:var(--good)}.roadmap-cell .bad{color:var(--bad)}.roadmap-budget-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.roadmap-reset-btn{flex-shrink:0}.roadmap-dirty-note{margin:0}.roadmap-ied-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:8px}.roadmap-row.roadmap-row-done{opacity:.55}.roadmap-row.roadmap-row-done .roadmap-cell-slot,.roadmap-row.roadmap-row-done .roadmap-cell-axis,.roadmap-row.roadmap-row-done .roadmap-cell-target,.roadmap-row.roadmap-row-done .roadmap-row-line2 .roadmap-cell.num{text-decoration:line-through}.roadmap-move-cell{display:flex;gap:4px}.roadmap-cost-badge{color:var(--muted);font-size:.76rem;margin-left:4px}.roadmap-replan-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;background:#fefce8;border:1px solid #fde047;color:var(--text);padding:9px 12px;border-radius:8px;font-size:.82rem;margin-bottom:10px}.equip-grid-pane{display:flex;flex-direction:column;gap:8px}.roadmap-timetravel-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#eff6ff;border:1px solid #bfdbfe;color:var(--text);padding:9px 12px;border-radius:8px;font-size:.82rem}.roadmap-timetravel-back{flex-shrink:0}.equip-grid-card{padding-bottom:8px;overflow-x:auto}.equip-grid{display:grid;grid-template-columns:repeat(5,minmax(58px,1fr));grid-template-rows:repeat(6,auto);gap:5px;margin-top:6px;min-width:320px}.equip-tile{position:relative;display:flex;flex-direction:column;align-items:center;gap:1px;background:var(--pair-left);border:1px solid var(--border);border-radius:7px;padding:4px 3px;min-height:64px;cursor:pointer}.equip-tile.equip-tile-empty{opacity:.55}.equip-tile.equip-tile-highlight{border-color:var(--accent);box-shadow:0 0 0 2px #3b82f659}.equip-tile.equip-tile-active{border-color:var(--accent);box-shadow:0 0 0 2px #ff660059}.equip-tile-icon{width:30px;height:30px;object-fit:contain}.equip-tile-icon.ph{display:flex;align-items:center;justify-content:center;width:30px;height:30px;background:#e8eaed;border-radius:6px;font-size:.72rem;color:var(--muted)}.equip-tile-star{position:absolute;top:3px;right:4px;font-size:.62rem;font-weight:700;color:var(--accent);background:#fff;border-radius:4px;padding:0 3px;line-height:1.3}.equip-tile-label{font-size:.64rem;color:var(--muted);text-align:center;line-height:1.15}.equip-tile-set-label{font-size:.56rem;color:var(--accent);text-align:center;line-height:1.1}.equip-tile-menu{position:absolute;top:0;right:0;bottom:0;left:0;display:none;flex-direction:column;gap:2px;padding:4px;background:#0f172ae0;border-radius:8px;z-index:2}.equip-tile.equip-tile-active .equip-tile-menu{display:flex}.equip-tile-menu button{font-size:.6rem;padding:3px 4px;border:none;border-radius:4px;background:#334155;color:#cbd5e1;cursor:not-allowed}.equip-tile-menu button:disabled{opacity:.85}.equip-tile-menu button:not(:disabled){background:var(--accent);color:#fff;cursor:pointer}.equip-tile-menu button:not(:disabled):hover{background:#2563eb}.equip-tile-tooltip{display:none;position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%);min-width:190px;max-width:240px;background:#0f172a;color:#e2e8f0;border-radius:8px;padding:8px 10px;font-size:.7rem;line-height:1.5;box-shadow:0 8px 20px #0f172a59;z-index:6;pointer-events:none;text-align:left}.equip-tile:hover .equip-tile-tooltip{display:block}.equip-tile-tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#0f172a}.equip-tile-tooltip.equip-tile-tooltip-portal{display:block;position:fixed;bottom:auto;transform:none;z-index:1000}.equip-tile-tooltip.equip-tile-tooltip-portal.equip-tile-tooltip-flipped:after{top:auto;bottom:100%;border-top-color:transparent;border-bottom-color:#0f172a}.equip-tile-tooltip-header{display:flex;gap:8px;align-items:flex-start;margin-bottom:4px}.equip-tile-tooltip-icon{width:36px;height:36px;object-fit:contain;flex-shrink:0}.equip-tile-tooltip-name{font-weight:700;margin-bottom:2px;word-break:break-word}.equip-tile-tooltip-stars{color:var(--accent);font-weight:600;margin-bottom:4px}.equip-tile-tooltip-row{display:flex;gap:6px;align-items:baseline}.equip-tile-tooltip-label{flex-shrink:0;font-weight:700;font-size:.64rem}.equip-tile-tooltip-label.pot{color:var(--pot-color)}.equip-tile-tooltip-label.bonus{color:var(--bonus-color)}.equip-tile-tooltip-stats{margin-top:4px;padding-top:4px;border-top:1px solid rgba(226,232,240,.25);color:#cbd5e1;word-break:break-word}.equip-tile-tooltip-note{margin-top:4px;color:#fbbf24;font-size:.66rem}.equip-tile-tooltip-breakdown{margin-bottom:4px;padding-bottom:4px;border-bottom:1px solid rgba(226,232,240,.25)}.equip-tile-tooltip-breakdown-row{display:flex;flex-wrap:wrap;gap:2px;align-items:baseline}.equip-tile-tooltip-breakdown-label{flex-shrink:0;font-weight:700;color:#94a3b8;font-size:.64rem;min-width:34px}.equip-tile-tooltip-breakdown-total{color:#f8fafc;font-weight:600}.equip-tile-tooltip-breakdown-parts{color:#cbd5e1;font-size:.66rem}.stat-part-base{color:#f8fafc}.stat-part-sf{color:#facc15}.stat-part-flame{color:#4ade80}.equip-tile-tooltip-set{margin-top:4px;color:var(--accent);font-size:.68rem;font-weight:600}.roadmap-insert-gap{opacity:.25;transition:opacity .12s ease;cursor:default;margin:2px 0}.roadmap-insert-gap:hover{opacity:1;background:transparent}.roadmap-insert-btn{width:100%;padding:2px 8px;font-size:.68rem;border:1px dashed var(--border);border-radius:4px;background:#fff;color:var(--muted);cursor:pointer}.roadmap-insert-btn:hover{border-color:var(--accent);color:var(--accent)}.roadmap-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0f172a8c;display:flex;align-items:flex-start;justify-content:center;padding:28px 16px;overflow-y:auto;z-index:100}.roadmap-modal{position:relative;width:100%;max-width:1180px;max-height:calc(100vh - 56px);overflow-y:auto;background:#fff;border-radius:10px;padding:20px;box-shadow:0 20px 50px #0f172a66}.roadmap-modal-close{position:absolute;top:10px;right:10px;width:30px;height:30px;border:none;border-radius:6px;background:#f1f5f9;color:var(--text);font-size:1.1rem;line-height:1;cursor:pointer}.roadmap-modal-close:hover{background:#e2e8f0}.roadmap-add-card-btn{flex-shrink:0}.roadmap-modal .roadmap-card-panel{margin-top:0}.roadmap-card-panel{margin-top:14px}.roadmap-card-panel-controls{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:8px}.roadmap-card-panel-field{max-width:220px;margin:0}.roadmap-card-panel-basis{margin:0 0 6px}.roadmap-card-panel-error{margin:8px 0 0}.roadmap-card-panel-note{margin:8px 0 0;color:var(--good)}.roadmap-card-panel-candidates{margin-top:10px;display:flex;flex-direction:column;gap:6px}.proposal-card-add{flex-shrink:0}.roadmap-card-confirm{margin-top:10px;padding:10px;background:#f8fafc;border:1px solid var(--border);border-radius:8px;font-size:.82rem}.roadmap-card-confirm-row{display:flex;justify-content:space-between;gap:10px;padding:2px 0}.roadmap-card-confirm-warn{color:var(--bad);font-weight:600;margin:6px 0}.roadmap-card-confirm-actions{display:flex;gap:8px;margin-top:8px}.roadmap-card-confirm-hint{margin:0 0 6px}.roadmap-card-panel-header{align-items:baseline}.roadmap-card-panel-item-name{text-align:right;font-weight:600;color:var(--text)}.roadmap-card-panel-market-btn{margin-left:auto;align-self:flex-end}.roadmap-card-panel-body{display:grid;grid-template-columns:1.3fr 1fr;gap:16px;align-items:stretch}.roadmap-card-panel-edit-col{min-width:0}.roadmap-card-panel-candidates-col{min-width:0;max-height:calc(100vh - 160px);overflow-y:auto;padding-right:2px}@media (max-width: 900px){.roadmap-card-panel-body{grid-template-columns:1fr}}.roadmap-badge-changed{display:inline-block;margin-left:6px;padding:0 6px;font-size:.7rem;font-weight:600;color:#92400e;background:#fef3c7;border:1px solid #fde68a;border-radius:4px}.roadmap-row.roadmap-row-superseded{opacity:.6}.roadmap-badge-superseded{display:inline-block;margin-left:6px;padding:0 6px;font-size:.7rem;font-weight:600;color:#7c2d12;background:#ffedd5;border:1px solid #fed7aa;border-radius:4px}.roadmap-combo-toggle{min-width:auto;white-space:nowrap}.roadmap-buy-section{margin-top:16px;padding-top:12px;border-top:1px solid var(--border)}.roadmap-buy-confirm{margin-top:10px;padding:10px;background:#f8fafc;border:1px solid var(--border);border-radius:8px}.roadmap-buy-grow-toggle{display:flex;align-items:center;gap:6px;margin:8px 0;cursor:pointer}.roadmap-buy-item-card{margin-bottom:10px;padding:8px 10px;background:var(--pair-left);border:1px solid var(--border);border-radius:8px}.roadmap-buy-item-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.roadmap-buy-item-name{font-weight:700;font-size:.82rem;line-height:1.3}.roadmap-buy-item-stars{font-size:.7rem;color:var(--muted)}.roadmap-buy-item-pot-row{font-size:.7rem;line-height:1.4}.roadmap-buy-item-breakdown{margin-top:6px;padding-top:6px;border-top:1px solid var(--border)}.roadmap-buy-item-breakdown-row{display:flex;flex-wrap:wrap;gap:2px;align-items:baseline;font-size:.68rem}.roadmap-buy-item-breakdown-label{flex-shrink:0;font-weight:700;color:var(--muted);min-width:34px}.roadmap-buy-item-breakdown-total{color:var(--text);font-weight:600}.roadmap-buy-item-breakdown-parts{color:var(--muted);font-size:.66rem}.roadmap-buy-item-part-base{color:var(--text)}.roadmap-buy-item-part-sf{color:var(--warn)}.roadmap-buy-item-part-flame{color:var(--good)}.roadmap-buy-grow-editor{margin:8px 0;padding:10px;border:2px solid var(--accent);border-radius:8px;background:#fff7f0}.roadmap-card-panel-body--buying{grid-template-columns:1fr}.roadmap-evidence-details{margin:-4px 0 6px;padding:4px 10px 6px;font-size:.76rem;background:#f8fafc;border:1px solid var(--border);border-top:none;border-radius:0 0 8px 8px;cursor:default}.roadmap-evidence-caveat{margin:4px 0 2px}.roadmap-evidence-list{margin:2px 0 0;padding-left:1.1rem;color:var(--text)}.roadmap-evidence-list li{margin-bottom:2px}.roadmap-evidence-toggle{min-width:28px;padding-left:6px;padding-right:6px;font-variant-numeric:normal}.set-status-item{padding:8px 0;border-top:1px solid var(--border)}.set-status-item:first-child{border-top:none;padding-top:0}.set-status-name{font-weight:700;font-size:.84rem;color:var(--text)}.set-status-count{font-weight:500;color:var(--muted)}.set-status-active{margin-top:2px;font-size:.76rem;color:var(--text);line-height:1.4}:root{--flame-color: #ea580c}.flame-editor{margin-top:10px;padding-top:8px;border-top:1px dashed var(--border)}.flame-editor h4{margin:0 0 6px;font-size:.72rem;letter-spacing:.04em;color:var(--flame-color);display:flex;align-items:center;gap:6px}.flame-assumption-badge{font-size:.62rem;font-weight:600;color:var(--flame-color);background:#fff7ed;border:1px solid var(--flame-color);border-radius:10px;padding:1px 6px;letter-spacing:0}.flame-line-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:4px;font-size:.7rem}.flame-line-row .tag{color:var(--muted);font-weight:600;font-size:.66rem;min-width:20px}.flame-line-row select{font-size:.68rem;padding:2px 4px}.flame-tier-select{min-width:64px}.flame-series-select{min-width:120px}.flame-line-value{color:var(--flame-color);font-weight:600;font-size:.68rem}.flame-tier-table{display:flex;flex-wrap:wrap;gap:6px;width:100%;margin:2px 0 0 26px;font-size:.62rem;color:var(--muted)}.flame-tier-table-cell{white-space:nowrap}.flame-note{margin:4px 0 0;font-size:.62rem;color:var(--muted);line-height:1.4}.flame-note-warn{color:var(--warn)}.flame-current-block{margin:0 0 6px;padding:4px 6px;border:1px solid var(--border);border-radius:6px;background:#16a34a0f}.flame-current-block h5{margin:0 0 3px;font-size:.66rem;letter-spacing:.02em;color:var(--good)}.flame-current-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 10px}.flame-current-row{font-size:.68rem;color:var(--text)}.flame-current-label{color:var(--muted)}.flame-current-value{font-weight:600;color:var(--good)}.flame-current-tier{margin-left:3px;font-size:.62rem;color:var(--muted)}.set-status-next{margin-top:2px;font-size:.72rem;color:var(--muted);line-height:1.4}.preset-comparison-panel{max-width:100%}.preset-part-group{margin-top:14px;padding-top:10px;border-top:1px solid var(--border)}.preset-part-group:first-of-type{margin-top:10px}.preset-part-header{font-weight:700;font-size:.86rem;color:var(--text);margin-bottom:6px}.preset-row{padding:6px 0;border-bottom:1px dashed var(--border)}.preset-row:last-child{border-bottom:none}.preset-row-main{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.preset-row-label{font-weight:600;font-size:.82rem;min-width:70px}.preset-badge{font-size:.66rem;font-weight:600;border-radius:10px;padding:2px 8px;letter-spacing:0}.preset-badge-active{color:var(--good);background:#1f8f4e1f;border:1px solid var(--good)}.preset-badge-dormant{color:var(--muted);background:#64748b1f;border:1px solid var(--muted)}.preset-badge-unsupported{color:var(--bad);background:#c0392b1a;border:1px solid var(--bad)}.preset-unsupported-reason{margin:2px 0 0;color:var(--bad)}.preset-dormant-note{margin:2px 0 0;color:var(--muted)}.preset-default-price-note{margin:2px 0 0;color:var(--warn)}.preset-snapshot-unavailable-note{margin:2px 0 0;color:var(--muted)}.preset-compare-detail{margin:6px 0 4px;padding:8px 10px;background:#f8fafc;border:1px solid var(--border);border-radius:8px;display:flex;flex-direction:column;gap:6px}.preset-compare-item{display:flex;flex-direction:column;gap:2px}.preset-compare-item-name{font-weight:600;font-size:.8rem}.preset-compare-metrics{display:flex;flex-wrap:wrap;gap:12px;font-size:.78rem}.preset-compare-metric.good{color:var(--good)}.preset-compare-metric.bad{color:var(--bad)}.preset-price-row,.preset-add-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px}.preset-form-error{color:var(--bad)}.preset-custom-form{margin:6px 0 4px;padding:8px 10px;background:#fffaf5;border:1px solid var(--border);border-radius:8px;display:flex;flex-direction:column;gap:8px}.preset-custom-form-group{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.preset-custom-form-op-row{display:flex;align-items:center;gap:4px}.preset-custom-form-op-row input[type=number]{width:70px}.preset-custom-form-actions{display:flex;gap:8px}.roadmap-preset-btn,.preset-leg-breakdown-toggle{flex-shrink:0}.preset-leg-breakdown{margin:2px 0 4px;padding:6px 8px;background:#fff;border:1px dashed var(--border);border-radius:6px;display:flex;flex-direction:column;gap:4px}.preset-leg-breakdown-list,.roadmap-swap-leg-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}.preset-leg-breakdown-row,.roadmap-swap-leg-row{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;font-size:.74rem}.preset-leg-breakdown-kind,.roadmap-swap-leg-kind{flex-shrink:0;font-weight:700;min-width:64px;color:var(--text)}.preset-leg-breakdown-amount,.roadmap-swap-leg-amount{flex-shrink:0;font-weight:600;min-width:70px}.preset-leg-breakdown-detail,.roadmap-swap-leg-detail{color:var(--muted)}.preset-leg-breakdown-sum,.roadmap-swap-leg-sum{margin:2px 0 0;font-size:.78rem}.preset-leg-breakdown-note{margin:0;color:var(--muted)}.preset-price-shared-note{margin:2px 0 0;color:var(--muted)}.roadmap-swap-evidence .roadmap-swap-leg-list{margin-top:4px}
