/* Shared compact shell: one navigation, one save toolbar, one content column. */
.header-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.header-actions [hidden],footer>[hidden]{display:none!important}.header-actions button{white-space:nowrap}.header-actions #save-live{color:#f5dda1}footer>#export-plan{font-size:11px;padding:4px 9px;margin-right:10px}@media(max-width:600px){header{height:auto;min-height:52px}.header-inner{flex-wrap:wrap;gap:6px;padding:7px 12px}.header-actions{gap:5px}.header-actions button{font-size:10px;padding:4px 7px}}
.farm-report{margin-top:12px}.farm-report .sim-metrics{grid-template-columns:repeat(var(--farm-metrics,6),minmax(0,1fr))}#sim-xp-cards{display:contents}#sim-xp-cards>div{border:1px solid #b49a50;border-radius:5px;padding:9px 5px;text-align:center;background:#ebce8e44}#sim-xp-cards span{display:flex;align-items:center;justify-content:center;gap:4px;flex-wrap:wrap}#sim-xp-cards img{width:20px;height:20px;object-fit:contain}.dps-combat-metrics{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.dps-combat-metrics>div{flex:1;min-width:130px;border:1px solid #b59449;border-radius:5px;padding:6px 10px}.dps-combat-metrics span,.dps-combat-metrics strong,.dps-combat-metrics small{display:block}.dps-combat-metrics span{font-size:11px;color:#79592c}.dps-combat-metrics strong{font-size:20px}.dps-combat-metrics small{font-size:10px}.comparison-details{margin-top:12px}.live-panel{margin:10px 0}.live-panel table{font-size:11px;min-width:650px}@media(max-width:700px){.farm-report .sim-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.dps-combat-metrics>div{min-width:0;flex:1 0 42%}}
.connection-dot{display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%;background:#b52d25;box-shadow:0 0 0 2px #37130633}#save-live[data-live=on] .connection-dot{background:#45b765;box-shadow:0 0 0 2px #3e8d4033}.dps-panel>summary{display:flex;justify-content:space-between;gap:10px;background:#4b2b13 url('/assets/leather.png');color:#f6e4ba;margin:-9px -11px;padding:7px 12px;border-radius:4px;cursor:pointer}.dps-panel[open]>summary{margin-bottom:12px}.dps-panel>summary span{font-size:10px;font-weight:400;opacity:.8}.dps-overview{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.dps-overview>div{min-width:120px;padding:6px 10px;border:1px solid #b59449;border-radius:5px}.dps-overview small,.dps-overview strong{display:block}.dps-overview small{font-size:11px;color:#79592c}.dps-overview strong{font-size:17px}.dps-panel .damage-row{grid-template-columns:150px 1fr 100px 45px}.damage-name.selected{border-color:#fff0af;background:#7e5322}.damage-share{text-align:right;font-size:10px;color:#79592c}.dps-panel table{margin-top:10px}.dps-curve{margin-top:12px}.dps-curve summary{font-size:12px}#sim-chart{height:140px;max-height:140px;width:100%;margin-top:5px}.development-dialog{max-width:420px;border:2px solid #a17b34;border-radius:7px;background:#ead098 url('/assets/paper.png');color:#38230f;padding:22px}.development-dialog::backdrop{background:#140a05aa}.development-dialog h2{font-size:20px}.development-dialog p{font-size:14px}.not-open::after{content:'开发中';font-size:9px;opacity:.7;margin-left:auto}.bottleneck-row td:first-child{color:#a32018!important;font-weight:750}.bottleneck-row{outline:2px solid #b63b28;outline-offset:-2px;background:#e5a48555!important}#sim-bottleneck[data-state=failed]{border:2px solid #b73227;background:#ecc0a06b;box-shadow:inset 5px 0 #b73227}#sim-bottleneck[data-state=failed]>strong{color:#9b2118}#sim-bottleneck[data-state=failed]>strong::before{content:'⛔ ';font-weight:700}@media(max-width:700px){.dps-panel .damage-row{grid-template-columns:100px 1fr 65px 32px;gap:5px}.dps-overview>div{min-width:0;flex:1 0 42%}.dps-sources{min-width:600px}}
#sim-panel>.section-title:first-child{display:none}.sim-setup{display:flex;align-items:flex-end;gap:12px;margin:14px 0 5px}.sim-setup .sim-task{flex:0 0 185px;margin:0;gap:8px}.sim-setup .sim-task label{width:100%}.sim-setup .sim-controls{flex:1;min-width:0}.sim-setup .sim-controls label:first-child{min-width:120px}#sim-task-help{font-size:11px;margin:6px 0;color:#79592e}
header{height:56px;min-height:56px;padding:0;border-top:0;border-bottom:1px solid #ad843b;box-shadow:0 2px 7px #160b0780}
.header-inner{width:100%;max-width:1480px;margin:auto;padding:0 16px;display:flex;align-items:center;justify-content:space-between;gap:16px}
header h1{font-size:16px;font-weight:700}header h1 span{font-size:24px;margin-right:8px}header button{font-size:12px;padding:5px 12px}
.layout,.wide-mode .layout{max-width:1480px;grid-template-columns:240px minmax(0,1fr);align-items:start;gap:24px;padding:0 16px;margin:16px auto}
.workspace{padding:18px 20px 24px;min-width:0;border-radius:7px}.inspector{display:none}
.roster{padding:15px 12px;border-top-width:8px}.roster .modes{gap:3px;margin-bottom:16px}.roster .modes button{padding:8px;font-size:13px;gap:8px}.modes img{width:24px;height:24px}.roster>h2{margin-bottom:10px;padding-bottom:9px}.roster .party-heading{margin-top:18px!important}#heroes{display:grid;grid-template-columns:1fr 1fr;gap:5px}.roster #heroes button{padding:5px 4px;margin:0;gap:4px}.roster #heroes button img{width:25px;height:25px}.roster #heroes button strong{font-size:11px}.roster #heroes button small{font-size:9px}.roster #save-meta{font-size:10px;margin-bottom:0}
.plot-head,.wide-mode .plot-head{display:flex;align-items:center;gap:12px;margin:0 0 16px}.plot-head>img{width:44px;height:44px;object-fit:contain}.plot-head h2{font-size:27px;line-height:1.25;margin:0 0 5px;font-weight:750}.plot-head p{font-size:12px;margin:0;line-height:1.5}
.save-toolbar{display:flex;align-items:center;gap:14px;padding:10px 12px;min-height:64px;border:1px solid #bb9643;border-radius:6px;background:#e0b96222;box-shadow:0 1px 0 #856022;min-width:0}
.save-identity{display:flex;gap:9px;align-items:center;flex-shrink:0}.save-identity>img{width:36px;height:36px;object-fit:contain}.save-identity strong{display:block;font-size:13px;line-height:1.5}.save-identity small{display:block;color:#79572b;font-size:11px;line-height:1.5;white-space:nowrap}
.save-toolbar #save-strip{display:flex;flex:1;flex-wrap:wrap;align-items:center;gap:7px 12px;padding:0;margin:0;border:0;box-shadow:none;background:none;min-width:0}.save-hero{gap:5px;font-size:11px;white-space:nowrap}.save-hero img{width:24px;height:24px;border-width:1px}.save-actions{display:flex;gap:6px;align-items:center;justify-content:flex-end;flex-wrap:wrap;margin-left:auto;flex-shrink:0}.save-actions button{font-size:11px;line-height:1.5;padding:5px 9px;min-height:29px}.save-actions [hidden]{display:none}#save-help{color:#72511f;background:#cda75522;box-shadow:none;border-color:#ae8a43}
.workspace .save-guide{margin:12px 0 8px;padding:10px 12px 11px;border-radius:6px;background:#e4c37d22;box-shadow:0 1px 0 #876a2c}.save-guide-intro{font-size:12px!important;margin:0 0 8px!important}.save-guide-steps{display:grid;grid-template-columns:1fr 1fr;gap:10px}.save-guide-step{display:flex;align-items:flex-start;gap:9px;min-width:0;padding:10px 12px;border:1px solid #c5a45c;border-radius:6px;box-shadow:0 1px 0 #96743b;background:#efd18c22}.save-guide-step>div,.save-guide-step>span:last-child{min-width:0;flex:1}.save-guide-step strong{display:block;font-size:12px;font-weight:700;line-height:1.6}.save-guide-step p,.save-guide-step .step-description{display:block;font-size:11px!important;line-height:1.7;margin:3px 0!important;color:#79592e}.step-number{display:inline-flex;align-items:center;justify-content:center;flex:0 0 23px;width:23px;height:23px;line-height:1;border:2px solid #bc9144;border-radius:50%;background:#53330e;color:#fce4ad;font-size:13px;font-weight:700}.save-path-row{gap:6px;align-items:center;flex-wrap:nowrap}.save-path-row input{min-width:0;width:100%;flex:1;font-size:10px;font-weight:600;line-height:1.4;padding:2px 4px;border:0;background:#b58d3a22;height:22px;border-radius:2px}.save-path-row button{font-size:10px;padding:2px 8px;line-height:1.5;flex-shrink:0}.save-guide .save-drop{width:100%;margin:0;text-align:left;color:#38230f;background:#efd18c22;border-color:#c5a45c;box-shadow:0 1px 0 #96743b}.save-guide .save-drop:hover{background:#eac47155}.save-drop small{display:block;font-size:10px;color:#806034;margin-top:5px;line-height:1.6}#save-guide-status{font-size:11px;margin:7px 0 0}#save-guide-status:empty{display:none}.file-dragging .save-drop{outline:2px dashed #98631d;outline-offset:-5px;background:#f2d58e}
.workspace #notice{padding:5px 0 0;margin:0;background:none;border:0;font-size:11px;line-height:1.5;color:#806131}.workspace #notice.error{color:#a42d22}.workspace #mode-note{display:none}
.section-title{padding:7px 12px;margin:16px 0 10px;font-size:14px}.wide-mode #sim-panel>.section-title:first-child{margin-top:14px}.sim-task{margin:10px 0;gap:12px}.sim-task label,.sim-controls label{font-size:11px}.sim-task select,.sim-controls select{font-size:12px;padding:5px 8px}.sim-controls{gap:10px}.sim-controls label:first-child{min-width:140px}.sim-actions{gap:12px;margin-top:10px}.sim-actions button{padding:6px 14px;font-size:12px}#sim-workload{font-size:11px;margin:6px 0}.simulation-random{padding:8px 10px;margin:10px 0;font-size:11px}.simulation-random p{font-size:10px;margin:5px 0 0}.simulation-random input{font-size:11px;padding:4px 7px}.simulation-random button{font-size:11px;padding:4px 9px}#sim-status{font-size:11px;min-height:0;margin:7px 0}.sim-metrics{grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;margin-top:10px}.sim-metrics>div{padding:9px 5px;min-height:88px;border-width:1px;border-radius:5px}.sim-metrics strong{font-size:23px;margin:2px 0}.sim-metrics span{font-size:10px}.sim-metrics small{font-size:9px}.damage-row{grid-template-columns:132px 1fr 90px;gap:9px;margin:6px 0}.damage-name{font-size:12px}.sim-detail{padding:9px 11px}.sim-detail summary{font-size:12px}#sim-panel>p.muted{font-size:10px;line-height:1.6;margin:7px 0}.equipment{margin:12px 0 0;padding:14px}#gear-panel>h2,#skill-panel>h2,#rules-panel>h2{display:none}
@media(max-width:1250px){.layout,.wide-mode .layout{grid-template-columns:190px minmax(0,1fr);gap:16px;padding:0 12px}.workspace{padding:16px}.save-toolbar{gap:10px;flex-wrap:wrap}.save-actions{margin-left:auto}.save-toolbar #save-strip{flex:1 1 210px}.save-identity>img{width:30px;height:30px}.save-hero{font-size:10px;gap:4px}.save-hero img{width:22px;height:22px}.save-guide-step{padding:9px}.sim-metrics strong{font-size:20px}}
@media(max-width:980px){.layout,.wide-mode .layout{grid-template-columns:158px minmax(0,1fr);gap:12px}.workspace{padding:13px}.roster{padding:12px 8px}.roster .modes button{font-size:12px;padding:7px 4px;gap:6px}#heroes{grid-template-columns:1fr}.plot-head h2{font-size:24px}.save-guide-steps{gap:8px}.save-guide-step{padding:8px;gap:6px}.save-guide-step strong{font-size:11px}.save-guide-step p,.save-guide-step .step-description{font-size:10px!important}.step-number{flex-basis:20px;width:20px;height:20px;font-size:11px}.save-path-row input{font-size:9px}.sim-metrics strong{font-size:17px}.sim-metrics>div{padding:7px 3px;min-height:79px}.sim-metrics span{font-size:9px}}
@media(max-width:700px){header{min-height:52px;height:52px;padding:0}.header-inner{padding:0 12px}header h1{font-size:12px}header h1 span{font-size:20px}.layout,.wide-mode .layout{display:block;padding:0 8px;margin:8px auto}.workspace{padding:12px}.roster{padding:6px;margin-bottom:8px}.roster .modes{margin:0;gap:3px}.roster .modes button{padding:6px 3px;font-size:11px;flex:1 0 23%;gap:4px}.modes img{width:20px;height:20px}.plot-head,.wide-mode .plot-head{margin-bottom:12px;gap:8px}.plot-head>img{width:34px;height:34px}.plot-head h2{font-size:22px}.plot-head p{font-size:10px}.save-toolbar{padding:8px;gap:8px}.save-toolbar #save-strip{flex:1 1 160px}.save-actions{width:100%;justify-content:flex-end}.save-guide-steps{grid-template-columns:1fr}.save-guide-step{padding:9px}.save-path-row input{font-size:10px}.sim-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.sim-metrics strong{font-size:22px}.damage-row{grid-template-columns:108px 1fr 76px}.damage-name{font-size:11px}}
@media(max-width:1100px){.sim-setup{align-items:flex-start;flex-wrap:wrap;gap:8px}.sim-setup .sim-task{flex:1 1 100%;flex-direction:row}.sim-setup .sim-task label{width:auto;flex:1}.sim-setup .sim-controls{flex-basis:100%}}@media(max-width:700px){.sim-setup .sim-controls label:first-child{min-width:100%}}
.wide-mode .roster #heroes{display:grid;grid-template-columns:1fr 1fr;gap:5px;overflow:hidden;margin-top:0}.wide-mode .roster #heroes button{display:flex;min-width:0;gap:4px}.wide-mode .roster #heroes button>span{min-width:0}.wide-mode .roster #heroes button strong{font-size:11px}.wide-mode .roster #heroes button small{font-size:9px}@media(max-width:980px){.wide-mode .roster #heroes{grid-template-columns:1fr}}@media(max-width:700px){.wide-mode .roster #heroes{display:none}}

/* One framed report: observed rewards above, simulated damage inside the fold. */
.farm-report{position:relative;padding:0 13px 13px;border:2px solid #9c7633;border-radius:6px;background:#d4aa4b12;box-shadow:0 2px 0 #5a351d55,inset 0 0 0 1px #f5da92}
.farm-report>.section-title{margin:0 -13px 11px;padding:9px 14px;text-align:center;font-size:13px;border-bottom:1px solid #a67c34;background:#4b2b13 url('/assets/leather.png');color:#f4dfad}
.farm-report>.section-title::before{content:'';display:inline-block;width:20px;height:20px;background:url('/assets/nav-battle.png') center/contain no-repeat;vertical-align:middle;margin-right:6px}
.live-status-line{display:flex;align-items:center;gap:7px;font-size:11px;color:#80602c;margin:2px 0 12px}.live-status-line .connection-dot{background:#49aa60;flex-shrink:0;margin:0}.live-duration{margin-left:auto;white-space:nowrap}.live-map-line{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.live-map-line strong{font-size:21px;color:#3c260f}.live-map-line>span{font-size:11px;color:#846434;white-space:nowrap}.live-running-line{height:5px;margin:11px 0 5px;border-radius:3px;background:linear-gradient(90deg,#e8b448,#d08e2d 70%,#c4a164 70%);opacity:.8}
.farm-report .mode-note{font-size:11px;padding:5px 0;border:0;background:none;margin:5px 0}.farm-report .sim-metrics{gap:7px;margin:8px 0 15px}.farm-report .sim-metrics>div,.farm-report #sim-xp-cards>div{min-height:82px;padding:8px 4px;border-color:#b99a4f;background:#ead09566;box-shadow:0 1px 0 #8b6b2e44}.farm-report .sim-metrics strong{font-size:21px}.farm-report .sim-metrics span{line-height:1.5}.farm-report .sim-metrics small{color:#876530}
.dps-panel{border:1px solid #a6813e;border-radius:5px;margin:0;padding:9px 11px}.dps-panel>summary{margin:-9px -11px;padding:7px 11px;font-size:12px}.dps-panel>summary::after{content:'▸';color:#dcb35a;order:2;margin-left:5px}.dps-panel[open]>summary::after{content:'▾'}.dps-panel>summary span{margin-left:auto}.dps-panel[open]>summary{margin-bottom:10px}.dps-combat-metrics{gap:14px;margin:7px 0;font-size:11px}.dps-combat-metrics>div{flex:0 1 auto;min-width:0;border:0;padding:0}.dps-combat-metrics>div:has(#sim-raw){display:none}.dps-combat-metrics span,.dps-combat-metrics strong,.dps-combat-metrics small{display:inline;font-size:11px;margin-right:6px}.dps-combat-metrics small{font-size:10px}.dps-overview{gap:7px;margin:9px 0 12px}.dps-overview>div{min-width:110px;background:#e2c17b55;padding:6px 10px;box-shadow:0 1px 0 #99753844}.dps-overview strong{font-size:16px}.dps-overview small{font-size:10px}.damage-kind{font-size:10px;display:flex;align-items:center;gap:7px;margin:5px 0 9px}.damage-kind select{font-size:10px;padding:3px 6px}.dps-panel .damage-row{grid-template-columns:125px minmax(0,1fr) 82px 36px;gap:8px;margin:5px 0}.dps-panel .damage-name{font-size:11px;min-height:29px;padding:4px 6px}.dps-panel .damage-name img{width:22px;height:22px}.damage-row>strong{font-size:12px}.damage-track{height:8px;border-radius:8px;overflow:hidden;background:#aa85434d}.damage-track i{background:linear-gradient(90deg,#e0a144,#b86a26);border-radius:8px}.dps-panel table{font-size:11px;border:1px solid #b4934a;border-radius:4px;overflow:hidden}.dps-panel th{padding:8px 7px;white-space:nowrap}.dps-panel td{padding:8px 7px}.damage-source-icon{width:23px;height:23px;object-fit:contain;vertical-align:middle;margin-right:7px}.dps-panel .live-panel{border:0;background:none;box-shadow:none;padding:0;margin:14px 0 0}.live-panel h3{font-size:13px;margin:0 0 5px}.live-panel p{font-size:10px;line-height:1.6}.live-history-table{font-size:10px!important;min-width:620px!important}.live-history-table th,.live-history-table td{padding:7px 6px}.live-history-table .current td:first-child{font-weight:700;color:#633c14}.live-history-table .current{background:#e5bf6833}
.announcements-open .workspace>*:not(.plot-head):not(#announcements-panel){display:none!important}.announcements-open .inspector{display:none!important}#announcements-panel{max-width:900px}.announcement-intro{font-size:13px;color:#795829}.announcement-preview,.announcement-release{border:1px solid #bc9948;border-radius:5px;margin:14px 0;padding:14px 17px;background:#e7c57f22}.announcement-preview{border-left:4px solid #9b6a25}.announcement-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px dashed #b3904d;padding-bottom:9px}.announcement-heading h3,.announcement-preview h3{font-size:17px;margin:0}.announcement-heading span{font-size:11px;color:#876437}.announcement-release ul,.announcement-preview ul{padding-left:20px;margin-bottom:2px}.announcement-release li,.announcement-preview li{font-size:13px;line-height:1.9;margin:4px 0}
@media(max-width:980px){.farm-report .sim-metrics strong{font-size:17px}.farm-report .sim-metrics{gap:5px}.dps-panel .damage-row{grid-template-columns:105px minmax(0,1fr) 65px 32px}.dps-overview>div{min-width:90px}}
@media(max-width:700px){.farm-report{padding:0 9px 10px}.farm-report>.section-title{margin:0 -9px 10px}.live-map-line strong{font-size:17px}.live-status-line{font-size:10px;flex-wrap:wrap}.live-duration{margin-left:0}.farm-report .sim-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.farm-report .sim-metrics strong{font-size:21px}.farm-report .sim-metrics>div,.farm-report #sim-xp-cards>div{min-height:80px}.dps-panel{padding:9px}.dps-panel>summary{margin:-9px;padding:7px 9px}.dps-panel>summary span{font-size:9px}.dps-panel .damage-row{grid-template-columns:88px minmax(0,1fr) 58px 27px;gap:5px}.dps-panel .damage-name{font-size:10px}.dps-panel .damage-name img{width:18px;height:18px}.damage-row>strong{font-size:10px}.dps-overview>div{min-width:0;flex:1 0 42%;padding:5px 7px}.live-history-table{min-width:620px!important}.announcement-preview,.announcement-release{padding:12px}.announcement-release li,.announcement-preview li{font-size:12px}}

@media(max-width:700px){.roster .modes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.roster .modes button{min-width:0;white-space:nowrap;padding:7px 8px;font-size:12px}.roster .modes .not-open::after{white-space:nowrap;font-size:9px}.roster .modes img{width:21px;height:21px;flex-shrink:0}}

.simulation-random[hidden]{display:none!important}.farm-report>.section-title{justify-content:center;padding-left:85px;padding-right:85px}.number-display-toggle{position:absolute;right:9px;top:5px;z-index:1;padding:3px 8px;font-size:10px;line-height:1.5;color:#f5dda1;min-height:0}@media(max-width:700px){.number-display-toggle{right:6px;top:5px;font-size:9px;padding:3px 6px}}
