:root{font-family:Inter,"Noto Sans JP",system-ui,sans-serif;color:#172033;background:#f5f7fb;line-height:1.55}*{box-sizing:border-box}body{margin:0}.app-shell{max-width:1280px;margin:auto;padding:32px 24px 80px}.topbar,.hero-card{display:flex;justify-content:space-between;gap:32px;align-items:flex-start}.topbar{padding:22px 4px 34px}.topbar h1{font-size:clamp(32px,5vw,58px);line-height:1.08;letter-spacing:-.04em;margin:6px 0 14px;max-width:850px}.topbar p{max-width:760px;color:#667085;margin:0}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.14em;font-weight:800;color:#6d5dfc}.session-pill,.revision{white-space:nowrap;border:1px solid #d8deea;border-radius:999px;padding:8px 13px;background:#fff;font-size:12px;color:#667085}.panel,.hero-card{background:#fff;border:1px solid #e3e8f1;border-radius:20px;padding:24px;box-shadow:0 10px 30px rgba(29,41,57,.05);margin-bottom:20px}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.section-heading>div{display:flex;align-items:center;gap:10px}.section-heading h2{margin:0;font-size:22px}.step{font-size:11px;font-weight:800;color:#6d5dfc;background:#f1efff;border-radius:8px;padding:5px 7px}.grid.two,.compare-grid,.history-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.input-panel label{font-size:13px;font-weight:700;color:#475467}.input-panel input,.input-panel textarea,.input-panel select{width:100%;display:block;margin-top:7px;border:1px solid #d8deea;border-radius:12px;padding:12px 13px;background:#fbfcfe;font:inherit;color:#172033}.input-panel textarea{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;resize:vertical}.toolbar{display:flex;gap:12px;align-items:end;margin-top:16px;flex-wrap:wrap}.compact{min-width:190px}.button{border:0;border-radius:11px;padding:12px 16px;font-weight:800;cursor:pointer}.button:disabled{opacity:.45;cursor:not-allowed}.primary{background:#6d5dfc;color:white}.secondary{background:#f0f2f7;color:#344054}.danger{background:#fff1f0;color:#c4320a}.quiet{background:transparent;color:#667085;border:1px solid #e3e8f1}.hidden{display:none!important}.error-box{margin-top:14px;border-radius:12px;padding:12px;background:#fff1f0;color:#b42318}.hero-card h2{font-size:30px;margin:4px 0 8px}.hero-card p{margin:0;color:#667085}.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0}.kpi{background:#fff;border:1px solid #e3e8f1;border-radius:16px;padding:18px}.kpi span{font-size:12px;color:#667085;font-weight:700}.kpi strong{font-size:26px;display:block;margin-top:3px}.kpi.positive strong{color:#039855}.team-grid{display:grid;gap:12px}.team-card{border:1px solid #e3e8f1;border-radius:15px;padding:16px;background:#fbfcfe}.team-card header{display:flex;justify-content:space-between;font-weight:800;margin-bottom:10px}.members{display:flex;flex-wrap:wrap;gap:7px}.member{border-radius:999px;background:#eef1f6;padding:5px 9px;font-size:12px}.recommendation{border:1px solid #d9d5ff;border-radius:18px;padding:20px;background:linear-gradient(180deg,#fbfaff,#fff);margin-bottom:14px}.rec-head{display:flex;justify-content:space-between;gap:15px}.rec-head h3{margin:0 0 4px;font-size:21px}.impact{font-weight:900;color:#039855;font-size:20px}.badge{display:inline-block;font-size:11px;font-weight:800;border-radius:999px;padding:4px 8px;background:#f0f2f7;color:#475467}.detail-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin:16px 0}.detail-grid h4{font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:#667085;margin:0 0 6px}.detail-grid ul{margin:0;padding-left:18px;font-size:13px}.actions{display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid #eceff4;padding-top:14px}.actions .button{padding:9px 12px;font-size:12px}.empty{border:1px dashed #ccd3df;border-radius:16px;padding:28px;text-align:center;color:#667085}.hidden-area{margin-top:16px}.history-item{border-bottom:1px solid #eceff4;padding:10px 0;font-size:13px}.history-item:last-child{border-bottom:0}.muted{color:#667085}.plan-step{display:flex;gap:12px;padding:9px 0}.plan-step b{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#f1efff;color:#6d5dfc;font-size:12px;flex:none}@media(max-width:800px){.grid.two,.compare-grid,.history-grid,.detail-grid{grid-template-columns:1fr}.kpi-grid{grid-template-columns:1fr 1fr}.topbar,.hero-card{display:block}.session-pill,.revision{display:inline-block;margin-top:14px}}@media(max-width:480px){.app-shell{padding:18px 12px 50px}.kpi-grid{grid-template-columns:1fr}.panel,.hero-card{padding:18px}}
.heading-actions{display:flex;gap:8px}.inventory-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:20px}.inventory-summary>div{background:#f8f9fc;border:1px solid #e4e7ec;border-radius:14px;padding:13px 15px}.inventory-summary strong{font-size:22px;display:block}.inventory-summary span{font-size:11px;color:#667085;font-weight:700}.inventory-tabs{display:flex;gap:6px;border-bottom:1px solid #e4e7ec;margin-bottom:18px;overflow:auto}.inventory-tab{border:0;background:transparent;padding:10px 14px;font-weight:800;color:#667085;cursor:pointer;border-bottom:3px solid transparent;white-space:nowrap}.inventory-tab.active{color:#6d5dfc;border-bottom-color:#6d5dfc}.inventory-toolbar{display:flex;gap:10px;align-items:center;margin-bottom:14px}.search-input{flex:1;min-width:220px}.inventory-list{display:grid;gap:10px}.inventory-card{border:1px solid #e4e7ec;border-radius:15px;padding:15px;background:#fcfcfd}.inventory-card-title{display:flex;justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:12px}.inventory-card-title>div{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.inventory-card-title h3{font-size:16px;margin:0}.inventory-card-title small{color:#98a2b3}.element,.slot-badge{font-size:10px;font-weight:900;border-radius:999px;padding:4px 7px;background:#eef2f6;color:#475467}.element.electro{background:#f4ebff;color:#6941c6}.element.hydro{background:#eff8ff;color:#175cd3}.element.pyro{background:#fff4ed;color:#b93815}.element.dendro{background:#ecfdf3;color:#027a48}.element.anemo{background:#ecfdf3;color:#087a68}.field-grid{display:grid;grid-template-columns:repeat(4,minmax(100px,1fr));gap:10px}.field-grid label{font-size:11px}.field-grid input,.field-grid select,.team-slots select{margin-top:4px;padding:9px 10px!important;border-radius:9px!important;background:#fff!important}.weapon-fields,.artifact-fields{grid-template-columns:repeat(5,minmax(100px,1fr))}.check-field{display:flex!important;align-items:center;gap:8px;padding-top:20px}.check-field input{width:auto!important;margin:0!important}.icon-button{border:0;background:transparent;cursor:pointer;font-weight:800}.danger-text{color:#b42318}.artifact-list{max-height:720px;overflow:auto;padding-right:4px}.team-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.team-slots{display:grid;grid-template-columns:1fr 1fr;gap:10px}.team-slots label{font-size:11px;font-weight:700;color:#475467}.helper{font-size:13px;color:#667085}.json-editor{margin-top:18px;border-top:1px solid #e4e7ec;padding-top:18px}.json-editor-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:8px}.json-editor-head span{font-size:12px;color:#667085}.optimization-toolbar{border-top:1px solid #e4e7ec;padding-top:18px;margin-top:20px}.compact-empty{padding:18px}.danger{background:#fff1f0;color:#b42318}@media(max-width:900px){.inventory-summary{grid-template-columns:1fr 1fr}.field-grid,.weapon-fields,.artifact-fields{grid-template-columns:1fr 1fr}.team-editor-grid{grid-template-columns:1fr}}@media(max-width:520px){.field-grid,.weapon-fields,.artifact-fields,.team-slots{grid-template-columns:1fr}.inventory-toolbar{align-items:stretch;flex-direction:column}.heading-actions{flex-wrap:wrap}}
.persistence-status{display:flex;align-items:center;gap:8px;font-size:12px;color:#667085;margin:-4px 0 14px}.status-dot{width:8px;height:8px;border-radius:50%;background:#98a2b3;box-shadow:0 0 0 3px #f2f4f7}.persistence-status[data-tone="saved"] .status-dot{background:#12b76a;box-shadow:0 0 0 3px #ecfdf3}.persistence-status[data-tone="restored"] .status-dot{background:#7f56d9;box-shadow:0 0 0 3px #f4f3ff}.persistence-status[data-tone="saving"] .status-dot{background:#f79009;box-shadow:0 0 0 3px #fffaeb}.persistence-status[data-tone="error"]{color:#b42318}.persistence-status[data-tone="error"] .status-dot{background:#f04438;box-shadow:0 0 0 3px #fef3f2}
.validation-panel{border:1px solid #d0d5dd;border-radius:14px;padding:13px 15px;margin:0 0 16px;background:#fcfcfd}.validation-panel[data-tone="ok"]{border-color:#abefc6;background:#ecfdf3}.validation-panel[data-tone="warning"]{border-color:#fedf89;background:#fffaeb}.validation-panel[data-tone="error"]{border-color:#fecdca;background:#fef3f2}.validation-head{display:flex;justify-content:space-between;gap:12px;align-items:center}.validation-head>div{display:flex;gap:9px;align-items:baseline;flex-wrap:wrap}.validation-head strong{font-size:13px}.validation-head span{font-size:12px;color:#667085}.validation-badge{font-size:10px!important;font-weight:900;letter-spacing:.06em;border-radius:999px;padding:4px 8px;background:#f2f4f7;color:#475467!important}.validation-panel[data-tone="ok"] .validation-badge{background:#d1fadf;color:#027a48!important}.validation-panel[data-tone="warning"] .validation-badge{background:#fef0c7;color:#b54708!important}.validation-panel[data-tone="error"] .validation-badge{background:#fee4e2;color:#b42318!important}.validation-issues{display:grid;gap:7px;margin-top:10px}.validation-issue{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;border-top:1px solid rgba(152,162,179,.22);padding-top:8px}.validation-issue:first-child{border-top:0}.validation-issue-body{font-size:12px}.validation-issue-body b{display:block;margin-bottom:2px}.validation-issue-body small{display:block;color:#667085}.validation-jump{white-space:nowrap;border:1px solid #d0d5dd;background:#fff;border-radius:8px;padding:6px 8px;font-size:11px;font-weight:800;cursor:pointer;color:#475467}.validation-ok{font-size:12px;color:#027a48}.inventory-card.validation-target{outline:2px solid #f79009;outline-offset:2px}.team-editor-grid.validation-target{outline:2px solid #f79009;outline-offset:5px;border-radius:10px}
.build-detail-layout{display:grid;grid-template-columns:240px 1fr;gap:18px}.build-character-list{display:grid;gap:8px;align-content:start}.build-char-button{width:100%;text-align:left;border:1px solid #e4e7ec;background:#fff;border-radius:12px;padding:11px 12px;cursor:pointer}.build-char-button.active{border-color:#7f56d9;background:#f4f3ff}.build-char-button b{display:block}.build-char-button small{color:#667085}.build-detail{min-width:0}.build-detail-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:14px}.build-diff-badges{display:flex;gap:6px;flex-wrap:wrap}.diff-badge{font-size:10px;font-weight:900;border-radius:999px;padding:4px 7px;background:#f2f4f7;color:#475467}.diff-badge.changed{background:#fff4ed;color:#b93815}.build-compare-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.build-column{border:1px solid #e4e7ec;border-radius:14px;padding:14px;background:#fcfcfd}.build-column h4{margin:0 0 10px}.equipment-line{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid #f2f4f7;font-size:12px}.artifact-pills{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}.artifact-pill{font-size:10px;padding:4px 6px;border-radius:999px;background:#eef2f6;color:#475467}.stat-table{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:0;margin-top:14px;border:1px solid #e4e7ec;border-radius:12px;overflow:hidden}.stat-table>div{padding:8px 10px;border-bottom:1px solid #e4e7ec;background:#fff;font-size:12px}.stat-table>div:nth-last-child(-n+3){border-bottom:0}.stat-head{font-weight:900;background:#f9fafb!important}@media(max-width:800px){.build-detail-layout{grid-template-columns:1fr}.build-character-list{grid-template-columns:1fr 1fr}.build-compare-grid{grid-template-columns:1fr}}@media(max-width:520px){.build-character-list{grid-template-columns:1fr}}
.stage-card{margin-top:14px;padding:16px;border:1px solid var(--line,#d7dbe5);border-radius:14px;background:var(--surface,#fff)}
.stage-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:12px}.stage-head h3{margin:0 0 4px}.stage-operations{display:grid;gap:8px;margin:12px 0}.stage-operation{display:flex;gap:10px;align-items:flex-start;padding:10px;border:1px solid var(--line,#d7dbe5);border-radius:10px}.stage-operation.done{opacity:.58}.stage-operation span{display:grid;gap:2px}.stage-operation small{color:var(--muted,#6b7280)}.stage-team{margin-top:14px;padding-top:14px;border-top:1px solid var(--line,#d7dbe5);display:grid;gap:6px}.stage-team .button{justify-self:start;margin-top:6px}

.applied-history{display:grid;gap:12px}.applied-history-entry{border:1px solid var(--line,#d8dee9);border-radius:12px;padding:14px;background:var(--panel,#fff)}.applied-history-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.applied-history-head h3{margin:0 0 4px}.snapshot-compare{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;margin:12px 0}.snapshot-box{padding:10px;border-radius:10px;background:rgba(127,127,127,.08);font-size:.9rem}.snapshot-arrow{font-weight:700;opacity:.6}.history-metrics{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}.history-metrics span{font-size:.82rem;padding:4px 8px;border-radius:999px;background:rgba(127,127,127,.1)}
.history-compare-controls{display:grid;grid-template-columns:1fr auto 1fr auto;gap:10px;align-items:end;margin-bottom:16px}.history-compare-controls label{font-size:12px;font-weight:800;color:#475467}.history-compare-controls select{display:block;width:100%;margin-top:5px;border:1px solid #d8deea;border-radius:10px;padding:9px 10px;background:#fff;color:#172033}.history-comparison{display:grid;gap:14px}.comparison-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}.comparison-kpi{border:1px solid #e4e7ec;border-radius:12px;padding:12px;background:#fcfcfd}.comparison-kpi span{display:block;font-size:11px;color:#667085}.comparison-kpi strong{display:block;font-size:20px;margin-top:2px}.comparison-kpi.positive strong{color:#039855}.comparison-kpi.negative strong{color:#d92d20}.history-character-table{display:grid;gap:8px}.history-character-row{display:grid;grid-template-columns:150px 1fr 1fr 1.4fr;gap:8px;align-items:start;border:1px solid #e4e7ec;border-radius:12px;padding:10px 12px;font-size:12px}.history-character-row.changed{border-color:#d9d5ff;background:#fbfaff}.history-character-row b{font-size:13px}.history-stat-deltas{display:flex;gap:5px;flex-wrap:wrap}.history-stat-delta{font-size:10px;border-radius:999px;padding:3px 6px;background:#f2f4f7;color:#475467}.history-stat-delta.up{background:#ecfdf3;color:#027a48}.history-stat-delta.down{background:#fef3f2;color:#b42318}@media(max-width:800px){.history-compare-controls{grid-template-columns:1fr}.history-compare-controls .snapshot-arrow{display:none}.comparison-kpis{grid-template-columns:1fr 1fr}.history-character-row{grid-template-columns:1fr 1fr}}@media(max-width:520px){.comparison-kpis,.history-character-row{grid-template-columns:1fr}}
.history-attribution-actions{margin-top:12px}.history-attribution{margin-top:12px}.attribution-summary{display:flex;gap:14px;align-items:baseline;flex-wrap:wrap;margin-bottom:14px}.attribution-summary small{color:var(--muted,#6b7280)}.attribution-row{display:grid;grid-template-columns:minmax(120px,180px) 1fr minmax(140px,190px);gap:10px;align-items:center;margin:10px 0}.attribution-label{display:flex;justify-content:space-between;gap:8px}.attribution-bar-track{height:10px;background:#e5e7eb;border-radius:999px;overflow:hidden}.attribution-bar{height:100%;border-radius:999px;background:#374151}.attribution-bar.negative{opacity:.55}.attribution-value{text-align:right;font-variant-numeric:tabular-nums}.attribution-value span{font-size:.85em;color:#6b7280}.stat-driver-section{margin-top:18px}.stat-driver{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid #e5e7eb}.stat-driver div{display:flex;gap:8px;flex-wrap:wrap}.stat-driver span{font-size:.9em;padding:2px 7px;border-radius:999px;background:#f3f4f6}@media(max-width:720px){.attribution-row{grid-template-columns:1fr}.attribution-value{text-align:left}}
.opportunity-controls{display:flex;gap:12px;align-items:end;margin-bottom:12px}.opportunity-ranking{display:grid;gap:12px;margin-top:14px}.opportunity-card{display:grid;grid-template-columns:52px 1fr;gap:14px;padding:16px;border:1px solid var(--border,#d7dde6);border-radius:14px;background:var(--surface,#fff)}.opportunity-card.top{border-width:2px}.opportunity-rank{font-size:1.35rem;font-weight:800;opacity:.7}.opportunity-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.opportunity-head h3{margin:.35rem 0 0}.opportunity-main p{margin:.6rem 0}.opportunity-card .impact{white-space:nowrap}

.scenario-controls{flex-wrap:wrap}.scenario-controls label{display:grid;gap:4px;font-size:.82rem}.scenario-controls input,.scenario-controls select{min-width:92px}.scenario-controls .scenario-check{display:flex;align-items:center;gap:6px;padding-bottom:7px}.scenario-controls .scenario-check input{min-width:auto}
.what-if-panel{margin-top:14px;border-top:1px solid var(--line);padding-top:10px}.what-if-panel summary{cursor:pointer;font-weight:700;margin-bottom:10px}

.planning-history-timeline{margin-top:14px}.timeline-card{border:1px solid #e4e7ec;border-radius:14px;padding:14px;background:#fcfcfd}.timeline-summary{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:10px}.timeline-summary span{font-size:12px;padding:4px 8px;border-radius:999px;background:#f2f4f7}.timeline-chart-wrap{overflow-x:auto}.timeline-chart{width:100%;min-width:620px;height:auto}.timeline-axis{stroke:#d0d5dd;stroke-width:1;stroke-dasharray:4 4}.timeline-line{fill:none;stroke:currentColor;stroke-width:2}.timeline-point circle{fill:#fff;stroke:currentColor;stroke-width:3}.timeline-point.decision_change circle{stroke-width:5}.timeline-point.route_change circle{stroke-width:4}.timeline-point.dps_jump circle{stroke-dasharray:2 1}.timeline-point text{font-size:10px;fill:#667085}.timeline-events{display:grid;gap:7px;margin-top:10px}.timeline-event{display:grid;grid-template-columns:1.3fr 1fr 1.6fr;gap:8px;padding:8px 0;border-top:1px solid #eaecf0;font-size:12px}.timeline-event small{color:#667085}@media(max-width:800px){.timeline-event{grid-template-columns:1fr}}

/* M10.00 Optimization Readiness */
.readiness-panel{margin:16px 0;padding:16px;border:1px solid var(--border,#d8dde6);border-radius:14px;background:var(--panel,#fff)}
.readiness-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.readiness-head strong{display:block;margin-top:4px;font-size:1.05rem}.readiness-score{font-size:1.35rem;font-weight:800;white-space:nowrap}
.readiness-metrics{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.readiness-metrics span{padding:6px 9px;border-radius:999px;background:rgba(127,127,127,.09);font-size:.88rem}.readiness-actions{margin-top:10px}.readiness-actions p{margin:0}.readiness-actions ul{margin:8px 0 0 20px;padding:0}
.readiness-panel[data-status="READY"]{border-color:#75b798}.readiness-panel[data-status="PARTIAL"]{border-color:#e0a800}.readiness-panel[data-status="BLOCKED"]{border-color:#dc6b78}.readiness-panel[data-status="CHECKING"]{opacity:.78}


.readiness-guide{display:grid;gap:8px;margin-top:12px}.readiness-guide-row{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:10px 12px;border:1px solid var(--border,#d8dde6);border-radius:10px;background:rgba(127,127,127,.035)}.readiness-guide-row>div{display:grid;gap:3px}.readiness-guide-row small{display:block;opacity:.78}.readiness-guide-row[data-severity="BLOCKER"]{border-left:4px solid #dc6b78}.readiness-guide-row[data-severity="IMPROVEMENT"]{border-left:4px solid #e0a800}.readiness-projection{font-size:.82rem;font-weight:700}.readiness-projection-note{margin-top:10px!important;font-size:.78rem;opacity:.7}
.m11-final-result{border:1px solid var(--border,#d8dee9)}
.m11-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.m11-result-grid>div,.m11-result-grid>article{min-width:0}
@media(max-width:900px){.m11-result-grid{grid-template-columns:1fr}}

/* M11.35 Final Result information hierarchy */
.execution-drilldown{margin-top:14px;border:1px solid var(--border,#d8dee9);border-radius:12px;background:rgba(127,127,127,.025);overflow:hidden}
.execution-drilldown>summary{cursor:pointer;padding:12px 14px;font-weight:800;list-style-position:inside}
.execution-drilldown[open]>summary{border-bottom:1px solid var(--border,#d8dee9)}
.execution-drilldown-body{display:grid;gap:16px;padding:14px}
.execution-drilldown-body>section+section{padding-top:14px;border-top:1px solid var(--border,#d8dee9)}
.execution-drilldown-body h4{margin-top:0}

/* M12.11 primary screen state model */
.primary-state{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid #e3e8f1;border-radius:16px;padding:14px 16px;margin:0 0 20px;box-shadow:0 6px 20px rgba(29,41,57,.04)}
.primary-state-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;flex:none;font-weight:900;background:#f2f4f7;color:#475467}
.primary-state-copy{display:grid;gap:2px;min-width:0;flex:1}.primary-state-copy strong{font-size:14px}.primary-state-copy span,.primary-state-copy small{font-size:12px;color:#667085}.primary-state[data-kind="SUCCESS"]{border-color:#abefc6;background:#f6fef9}.primary-state[data-kind="SUCCESS"] .primary-state-icon{background:#dcfae6;color:#067647}.primary-state[data-kind="ATTENTION"],.primary-state[data-kind="DEGRADED"]{border-color:#fedf89;background:#fffaeb}.primary-state[data-kind="ATTENTION"] .primary-state-icon,.primary-state[data-kind="DEGRADED"] .primary-state-icon{background:#fef0c7;color:#b54708}.primary-state[data-kind="FAILURE"]{border-color:#fecdca;background:#fffbfa}.primary-state[data-kind="FAILURE"] .primary-state-icon{background:#fee4e2;color:#b42318}.primary-state[data-kind="LOADING"] .primary-state-icon{animation:teyforge-state-pulse 1.2s ease-in-out infinite}.primary-state[data-kind="EMPTY"]{border-style:dashed}.primary-state .button{padding:8px 12px;font-size:12px}@keyframes teyforge-state-pulse{0%,100%{opacity:.45}50%{opacity:1}}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid rgba(109,93,252,.35);outline-offset:2px}
@media(max-width:620px){.primary-state{align-items:flex-start;flex-wrap:wrap}.primary-state .button{margin-left:48px}.heading-actions{width:100%}.heading-actions .button{flex:1 1 auto}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}


/* M12.12 responsive + accessibility baseline */
.skip-link{position:fixed;left:12px;top:12px;z-index:9999;transform:translateY(-160%);padding:10px 14px;border-radius:10px;background:#172033;color:#fff;font-weight:800;text-decoration:none;box-shadow:0 8px 20px rgba(0,0,0,.2)}
.skip-link:focus{transform:translateY(0)}
main:focus{outline:none}
main,.panel,.results,.inventory-pane,.build-detail,.m11-result-grid>*{min-width:0}
.button,.inventory-tab,input,select,textarea,summary{min-height:44px}
input[type="checkbox"]{min-height:auto}
.inventory-tab{display:inline-flex;align-items:center}
.inventory-pane:focus-visible{outline:3px solid rgba(109,93,252,.25);outline-offset:4px;border-radius:12px}
.error-box[role="alert"]:not(.hidden){border:1px solid #fecdca}
@media(max-width:760px){
  .app-shell{padding-left:16px;padding-right:16px}
  .section-heading{align-items:flex-start;gap:12px;flex-wrap:wrap}
  .section-heading>div{min-width:0}
  .heading-actions{width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .heading-actions .button{width:100%;white-space:normal}
  .toolbar,.opportunity-controls,.preset-actions{align-items:stretch}
  .toolbar>.button,.opportunity-controls>.button{flex:1 1 160px}
  .search-input{min-width:0}
  .readiness-head,.validation-head,.inventory-card-title,.opportunity-head{flex-wrap:wrap}
}
@media(max-width:480px){
  .app-shell{padding-left:10px;padding-right:10px}
  .panel,.hero-card{border-radius:14px;padding:16px}
  .topbar{padding-top:14px}
  .topbar h1{font-size:clamp(28px,11vw,40px)}
  .heading-actions{grid-template-columns:1fr}
  .inventory-summary{grid-template-columns:1fr 1fr}
  .inventory-tabs{margin-left:-6px;margin-right:-6px;padding:0 6px}
  .inventory-tab{padding-left:12px;padding-right:12px}
  .primary-state .button{margin-left:0;width:100%}
  .session-pill,.revision{max-width:100%;white-space:normal}
  .json-editor-head{display:grid}
  .history-compare-controls,.comparison-kpis,.history-character-row{grid-template-columns:1fr}
  .timeline-chart{min-width:520px}
}
@media(forced-colors:active){
  .button,.inventory-tab,.panel,.primary-state{border:1px solid CanvasText}
  button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,.inventory-pane:focus-visible{outline:3px solid Highlight}
}

/* M13.25 — Production product UI cleanup */
html{scroll-behavior:smooth}
body[data-ui-mode="product"]{background:linear-gradient(180deg,#f6f8fc 0,#f4f6fa 100%)}
body[data-ui-mode="product"] .app-shell{max-width:1180px;padding-top:24px}
body[data-ui-mode="product"] .topbar{padding-bottom:22px;align-items:center}
body[data-ui-mode="product"] .topbar h1{font-size:clamp(34px,4.7vw,54px);max-width:760px}
body[data-ui-mode="product"] .panel,body[data-ui-mode="product"] .hero-card{box-shadow:0 8px 28px rgba(29,41,57,.045)}
body[data-ui-mode="product"] .input-panel{padding:22px}
body[data-ui-mode="product"] .readiness-panel{margin-bottom:18px}
body[data-ui-mode="product"] .readiness-actions>p{margin:8px 0 0;color:#667085;font-size:13px}
body[data-ui-mode="product"] .readiness-loadouts{display:none}
body[data-ui-mode="product"] .readiness-projection-note{display:none}
body[data-ui-mode="product"] .inventory-list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
body[data-ui-mode="product"] .artifact-list{grid-template-columns:1fr;max-height:640px}
body[data-ui-mode="product"] .inventory-card{padding:14px}
body[data-ui-mode="product"] .field-grid{grid-template-columns:repeat(2,minmax(110px,1fr))}
body[data-ui-mode="product"] .weapon-fields,body[data-ui-mode="product"] .artifact-fields{grid-template-columns:repeat(2,minmax(110px,1fr))}
body[data-ui-mode="product"] .heading-actions{align-items:center;flex-wrap:wrap;justify-content:flex-end}
.utility-menu{position:relative}
.utility-menu>summary{list-style:none;display:inline-flex;align-items:center;user-select:none}
.utility-menu>summary::-webkit-details-marker{display:none}
.utility-menu[open]>summary{background:#f4f3ff;color:#5d4fe5}
.utility-menu-popover{position:absolute;right:0;top:calc(100% + 8px);z-index:30;width:210px;padding:8px;background:#fff;border:1px solid #e3e8f1;border-radius:14px;box-shadow:0 14px 36px rgba(29,41,57,.14);display:grid;gap:6px}
.utility-menu-popover .button{text-align:left;width:100%}
.results-nav{position:sticky;top:10px;z-index:20;display:flex;gap:5px;margin:0 0 14px;padding:6px;background:rgba(255,255,255,.9);backdrop-filter:blur(12px);border:1px solid #e3e8f1;border-radius:14px;box-shadow:0 6px 20px rgba(29,41,57,.06);overflow:auto}
.results-nav a{color:#475467;text-decoration:none;font-size:12px;font-weight:800;white-space:nowrap;padding:8px 12px;border-radius:9px}
.results-nav a:hover,.results-nav a:focus{background:#f1efff;color:#5d4fe5;outline:none}
.m11-final-result{border-color:#d9d5ff;background:linear-gradient(135deg,#fbfaff 0,#fff 60%)}
.advanced-section{padding:0!important;overflow:hidden}
.advanced-section>summary{list-style:none;cursor:pointer}
.advanced-section>summary::-webkit-details-marker{display:none}
.advanced-summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 22px;color:#344054}
.advanced-summary>span:first-child{display:flex;align-items:center;gap:10px}
.advanced-summary>span:last-child{color:#98a2b3;font-size:12px;font-weight:700}
.advanced-summary::after{content:'＋';font-size:20px;color:#98a2b3;margin-left:auto}
.advanced-section[open] .advanced-summary::after{content:'−'}
.advanced-section[open] .advanced-summary{border-bottom:1px solid #eaecf0;background:#fcfcfd}
.advanced-section-body{padding:20px 22px 22px}
.planning-lab .decision-workspace-panel{display:none}
body[data-ui-mode="product"] [id^="planning-audit-"],
body[data-ui-mode="product"] [id*="audit-"][class*="opportunity"],
body[data-ui-mode="product"] .execution-audit-controls{display:none!important}
body[data-ui-mode="product"] .opportunity-controls:has(button[id*="audit"]),
body[data-ui-mode="product"] .opportunity-controls:has(button[id*="ledger"]),
body[data-ui-mode="product"] .opportunity-controls:has(button[id*="registry"]){display:none}
body[data-ui-mode="product"] .optimization-toolbar{position:sticky;bottom:10px;z-index:15;background:rgba(255,255,255,.94);backdrop-filter:blur(12px);border:1px solid #e3e8f1;border-radius:15px;padding:10px 12px;margin:20px -2px 0;box-shadow:0 10px 28px rgba(29,41,57,.1)}
body[data-ui-mode="product"] .optimization-toolbar .primary{min-width:190px}
@media(max-width:900px){body[data-ui-mode="product"] .inventory-list{grid-template-columns:1fr}.results-nav{top:6px}.utility-menu-popover{right:auto;left:0}}
@media(max-width:620px){body[data-ui-mode="product"] .app-shell{padding:14px 10px 48px}body[data-ui-mode="product"] .topbar h1{font-size:34px}.topbar p{font-size:13px}.section-heading{align-items:flex-start;gap:12px}.heading-actions{width:100%;justify-content:flex-start}.input-panel .section-heading{display:block}.input-panel .heading-actions{margin-top:14px}.inventory-summary{grid-template-columns:repeat(2,1fr)}.optimization-toolbar{align-items:stretch}.optimization-toolbar .compact{width:100%}.optimization-toolbar .button{flex:1}.advanced-summary{padding:16px}.advanced-summary>span:last-child{display:none}.advanced-section-body{padding:16px}.results-nav a{padding:7px 10px}.panel,.hero-card{border-radius:16px}}

/* M13.26 — Result-first recommendation summary */
.recommendation-summary{display:grid;gap:18px}
.recommendation-summary-main{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:start;padding:22px;border:1px solid #ddd9ff;border-radius:18px;background:linear-gradient(135deg,#f7f5ff 0,#fff 68%)}
.recommendation-eyebrow{display:inline-block;margin-bottom:8px;color:#6958ff;font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
.recommendation-summary-main h3{margin:0;font-size:24px;line-height:1.35;color:#182230}
.recommendation-lead{margin:8px 0 0;color:#667085;max-width:680px}
.recommendation-gain{min-width:190px;padding:14px 16px;border-radius:15px;background:#fff;border:1px solid #e4e7ec;text-align:right;box-shadow:0 6px 18px rgba(29,41,57,.05)}
.recommendation-gain span{display:block;color:#667085;font-size:11px;font-weight:800}
.recommendation-gain strong{display:block;margin:3px 0;font-size:27px;color:#182230}
.recommendation-gain em{font-style:normal;color:#079455;font-weight:900}
.recommendation-teams{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.recommendation-team{padding:17px;border:1px solid #e4e7ec;border-radius:16px;background:#fff}
.recommendation-team-head{display:flex;justify-content:space-between;align-items:center;gap:10px;color:#667085;font-size:12px;font-weight:800}
.recommendation-team-head strong{color:#079455;font-size:14px}
.recommendation-team-members{margin:11px 0 14px;color:#182230;font-size:15px;font-weight:800;line-height:1.5}
.recommendation-team-dps{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.recommendation-team-dps span{font-size:20px;font-weight:900;color:#182230}
.recommendation-team-dps small{color:#98a2b3}
.recommendation-quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.recommendation-quick{padding:16px 18px;border:1px solid #e4e7ec;border-radius:15px;background:#fcfcfd}
.recommendation-quick h4{margin:0 0 10px;color:#344054;font-size:13px}
.recommendation-quick ul{margin:0;padding-left:18px;display:grid;gap:7px;color:#475467;font-size:13px;line-height:1.55}
.recommendation-quick p{margin:0;color:#475467;font-size:13px;line-height:1.6}
.recommendation-next{background:#f0fdf4;border-color:#b7ebc9}
.recommendation-next h4{color:#067647}
.recommendation-analysis{border-top:1px solid #eaecf0;padding-top:4px}
.recommendation-analysis>summary{cursor:pointer;list-style:none;padding:12px 4px;color:#667085;font-size:13px;font-weight:800}
.recommendation-analysis>summary::-webkit-details-marker{display:none}
.recommendation-analysis>summary::after{content:'＋';float:right;color:#98a2b3;font-size:18px}
.recommendation-analysis[open]>summary::after{content:'−'}
.recommendation-analysis-body{padding-top:8px}
.recommendation-analysis-body .m11-result-grid{display:grid;gap:18px}
@media(max-width:760px){.recommendation-summary-main{grid-template-columns:1fr}.recommendation-gain{text-align:left}.recommendation-teams,.recommendation-quick-grid{grid-template-columns:1fr}.recommendation-team-dps{align-items:flex-start;flex-direction:column;gap:3px}}

/* M13.27 — Readability pass + Teyvat-inspired TeyForge visual foundation */
:root{
  --tf-ink:#283447;
  --tf-ink-soft:#536176;
  --tf-navy:#30445f;
  --tf-teal:#36766f;
  --tf-teal-soft:#eaf4ef;
  --tf-gold:#b99a55;
  --tf-gold-soft:#e6dcc2;
  --tf-parchment:#f4f0e6;
  --tf-paper:#fffdf8;
  --tf-paper-soft:#f9f6ee;
  --tf-line:#ded5bf;
  --tf-shadow:0 12px 34px rgba(46,55,68,.075);
  --tf-radius:16px;
  color:var(--tf-ink);
  background:var(--tf-parchment);
}
body{
  color:var(--tf-ink);
  background:
    radial-gradient(circle at 12% -4%,rgba(196,174,116,.16),transparent 28rem),
    radial-gradient(circle at 88% 3%,rgba(70,125,119,.10),transparent 24rem),
    linear-gradient(180deg,#f8f6ef 0,#f2efe5 100%);
}
.app-shell{position:relative}
.app-shell::before{
  content:"";position:fixed;inset:0;pointer-events:none;opacity:.2;
  background-image:linear-gradient(rgba(255,255,255,.34) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.24) 1px,transparent 1px);
  background-size:42px 42px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.35),transparent 32rem)
}
.topbar{position:relative;border-bottom:1px solid var(--tf-gold-soft);margin-bottom:18px}
.topbar::after{content:"✦";position:absolute;left:50%;bottom:-11px;transform:translateX(-50%);padding:0 12px;background:#f6f3ea;color:var(--tf-gold);font-size:16px}
.topbar h1{color:#26354a;letter-spacing:-.035em}
.eyebrow{color:var(--tf-teal);letter-spacing:.18em}
.session-pill,.revision{border-color:var(--tf-gold-soft);background:rgba(255,253,248,.88);color:var(--tf-ink-soft)}
.panel,.hero-card{
  border-color:var(--tf-line);border-radius:var(--tf-radius);background:rgba(255,253,248,.96);box-shadow:var(--tf-shadow)
}
.panel{position:relative;overflow:clip}
.panel::before{
  content:"";position:absolute;left:18px;right:18px;top:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--tf-gold),transparent);opacity:.52
}
.section-heading h2,.section-heading h3{color:var(--tf-navy)}
.step{color:#fff;background:linear-gradient(145deg,var(--tf-teal),#4d8f86);box-shadow:inset 0 0 0 1px rgba(255,255,255,.28)}
.button{border-radius:10px}
.button.primary,.primary{background:linear-gradient(135deg,#426f86,#356f70);box-shadow:0 5px 14px rgba(54,111,112,.18)}
.button.secondary,.secondary{background:#edf1ef;color:#354c5d;border:1px solid #d9e0dc}
.button.quiet,.quiet{border-color:var(--tf-line);color:var(--tf-ink-soft);background:rgba(255,253,248,.65)}
.badge{background:#edf1ef;color:#49606e;border:1px solid #dce3df}
.input-panel input,.input-panel textarea,.input-panel select{border-color:#d9d2c1;background:#fffefb;color:var(--tf-ink)}
.inventory-card,.team-card,.recommendation,.recommendation-team,.recommendation-quick,.kpi{border-color:var(--tf-line);background:var(--tf-paper)}
.member{background:#edf1ef;color:#44566a}
.results-nav{background:rgba(250,248,241,.92);border-color:var(--tf-line);backdrop-filter:blur(10px)}
.results-nav a{color:#526171}.results-nav a:hover{color:var(--tf-teal)}

/* M13.27 readability fix: cards without a rank column must not inherit the 52px rank grid. */
.m11-result-grid .opportunity-card.top,
.recommendation-analysis .opportunity-card.top,
.execution-drilldown .opportunity-card.top{
  grid-template-columns:minmax(0,1fr);
}
.m11-result-grid .opportunity-card.top>.opportunity-main,
.recommendation-analysis .opportunity-card.top>.opportunity-main,
.execution-drilldown .opportunity-card.top>.opportunity-main{
  grid-column:1;min-width:0;width:100%;
}
.recommendation-analysis-body .m11-result-grid{
  grid-template-columns:repeat(2,minmax(320px,1fr));align-items:start;gap:18px;
}
.recommendation-analysis-body .m11-result-grid>div,
.recommendation-analysis-body .m11-result-grid>article{
  padding:18px;border:1px solid var(--tf-line);border-radius:14px;background:var(--tf-paper-soft);
}
.recommendation-analysis-body .m11-result-grid>div>h3,
.recommendation-analysis-body .m11-result-grid>article h3{
  margin-top:0;color:var(--tf-navy);line-height:1.45;overflow-wrap:anywhere;
}
.recommendation-analysis-body p,
.recommendation-analysis-body li{overflow-wrap:anywhere;word-break:normal}
.recommendation-analysis-body .history-metrics span{background:#eceee9;border:1px solid #dfe2dc;color:#4c5968}
.execution-drilldown-body{grid-template-columns:1fr}

/* Result-first card: less dashboard-like, more guidebook-like. */
.m11-final-result{border-color:#cfbea0;background:linear-gradient(145deg,#fffdf8 0,#f8f3e8 100%)}
.recommendation-summary{gap:16px}
.recommendation-summary-main{
  border-color:#d8c9aa;border-radius:15px;
  background:
    radial-gradient(circle at 100% 0,rgba(57,119,112,.10),transparent 18rem),
    linear-gradient(135deg,#fffdf7,#f7f3e8);
}
.recommendation-eyebrow{color:var(--tf-teal);letter-spacing:.15em}
.recommendation-summary-main h3{color:#273a50}
.recommendation-gain{border-color:#d9cfb9;background:#fffefa;box-shadow:none}
.recommendation-gain em,.recommendation-team-head strong{color:#27796f}
.recommendation-team{position:relative;overflow:hidden;padding-top:20px}
.recommendation-team::before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:linear-gradient(var(--tf-gold),var(--tf-teal));opacity:.72}
.recommendation-team-members{color:#29394c}
.recommendation-quick{background:#fbf8f0}.recommendation-next{background:#edf6f0;border-color:#c6dfd1}.recommendation-next h4{color:#2f6f64}
.recommendation-analysis{border-top-color:#ded4bd}.recommendation-analysis>summary{color:#4f6271}

/* Section identity ornaments without copying game assets. */
.results>.panel>.section-heading:first-child h2::after,
.results>details.panel>summary b::after{
  content:"";display:inline-block;width:34px;height:1px;margin-left:10px;vertical-align:middle;background:linear-gradient(90deg,var(--tf-gold),transparent)
}

@media(max-width:980px){
  .recommendation-analysis-body .m11-result-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .panel::before{left:12px;right:12px}
  .recommendation-analysis-body .m11-result-grid>div,.recommendation-analysis-body .m11-result-grid>article{padding:14px}
}
