.crystal-wallet{display:flex;align-items:center;gap:6px;color:#427f87;font-size:11px}
.camp-management-head span{white-space:normal;text-align:right}.camp-growth-content{min-width:0}#camp-management .camp-upgrade{grid-template-columns:43px minmax(0,1fr) 86px}#camp-upgrade{height:46px;flex-direction:column;gap:4px}#camp-upgrade .camp-upgrade-label{display:flex;align-items:center;gap:3px;font-size:10px}#camp-upgrade small{font-size:9px;font-weight:400}
.canvas-wrap .battle-feedback{position:absolute;top:48px;right:12px;z-index:2;display:block;max-width:min(280px,calc(100% - 24px));padding:4px 7px;pointer-events:none;opacity:0;transform:translateY(4px);transition:opacity .22s,transform .22s;font-size:11px;line-height:1.5;white-space:normal;overflow-wrap:anywhere;border-radius:3px;box-shadow:0 1px 3px #233b3218}.canvas-wrap .battle-feedback.show{opacity:1;transform:translateY(0)}
@media(max-width:600px){.canvas-wrap .battle-feedback{top:38px;right:8px;max-width:calc(100% - 16px);font-size:10px}}
.crystal-wallet svg{width:19px;height:19px}.crystal-wallet strong{font-size:20px}
.squad-tabs{display:flex;background:#eff3ed;padding:3px;gap:3px;border-radius:5px;margin-bottom:16px}
.bulk-growth{padding:0 0 10px;margin-bottom:12px;border-bottom:1px solid var(--line)}.growth-summary{font-size:10px;color:#71816d;line-height:1.6;margin-bottom:8px}.bulk-upgrade-button{width:100%;display:flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:8px;border:1px solid #d2dec9;border-radius:5px;background:#eef3e7;color:#315d48;font-size:11px}.bulk-upgrade-button svg{width:16px;height:16px}.bulk-upgrade-preview{margin:6px 0 0;font-size:10px;color:#71816d;line-height:1.5}.bulk-upgrade-button:disabled{opacity:.55}
.wall-type-heading{display:flex;justify-content:space-between;align-items:baseline;font-size:11px;margin-bottom:8px}.wall-type-heading span{font-size:10px;color:#899487}
.wall-type-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.wall-type-slot{display:grid;grid-template-columns:26px 1fr;grid-template-rows:1fr 1fr;align-items:center;gap:0 6px;width:118px;min-height:55px;padding:7px;border:1px solid #dce5d8;border-radius:5px;background:#f2f5ef;color:#60765c;text-align:left}.wall-type-slot .wall-glyph{grid-row:1 / span 2;width:25px;height:25px;color:#52745b}.wall-type-slot strong{font-size:10px}.wall-type-slot small{font-size:9px;color:#899487}.wall-type-slot.active{border-color:#c79846;background:#fcf3df;box-shadow:0 0 0 1px #c7984633}.wall-type-slot.locked{opacity:.55}.wall-specialization{border-top:1px solid #e3e8e1;margin-top:15px;padding-top:12px}.wall-specialization>div:first-child{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.wall-specialization>div:first-child strong{font-size:11px}.wall-specialization>div:first-child span{font-size:9px;color:#899487}.wall-specialization-list{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:9px}.wall-specialization-list button{display:grid;grid-template-columns:18px 1fr;gap:5px;align-items:center;padding:7px;border:1px solid #e2e8dd;border-radius:5px;background:#f7f8f3;color:#6b7b66;text-align:left}.wall-specialization-list button svg{width:16px;height:16px}.wall-specialization-list button span{display:grid;gap:2px}.wall-specialization-list button span strong{font-size:10px}.wall-specialization-list button small{font-size:9px;color:#899487}.wall-specialization-list button em{grid-column:2;font-style:normal;font-size:8px;color:#a58a5b}
.squad-tabs button{flex:1;height:32px;background:transparent;border-radius:3px;color:#7a8a78;font-size:12px}
.squad-tabs button[aria-selected=true]{background:#fff;color:#315d48;box-shadow:0 1px 3px #243c2810}
.deployment-group{margin-bottom:15px}.deployment-heading{display:flex;justify-content:space-between;font-size:11px;margin-bottom:8px}.deployment-heading span{color:#879480;font-size:10px}
.deployment-group .member-list{margin:0;flex-wrap:wrap;gap:7px}.deployment-group .member-button{width:42px;height:42px}.deployment-group .member-button canvas{width:39px;height:39px}
.outpost-button{width:100%;display:flex;align-items:center;gap:8px;padding:10px;border:1px solid #dedfc7;border-radius:5px;background:#faf6e9;color:#927341;font-size:12px}.outpost-button svg{width:18px;height:18px}.outpost-button strong{margin-left:auto;font-size:11px}.outpost-button.active{outline:2px solid #c79846}
.growth-specs{border-top:1px solid #e3e8e1;margin-top:16px;padding-top:14px}.growth-specs h4{margin:0 0 12px;font-size:12px}.specialty-row{margin-bottom:14px}.specialty-title{font-size:11px;margin-bottom:7px;display:flex;justify-content:space-between}.specialty-title span{font-size:10px;color:#427f87}.specialty-choices{display:grid;grid-template-columns:1fr 1fr;gap:6px}.specialty-choices button{padding:8px 4px;background:#f3f6ef;border:1px solid #dfe7d7;border-radius:5px;font-size:11px}.specialty-choices small{display:block;color:#86947b;font-size:9px;margin-top:5px;white-space:normal}.specialty-choices .chosen{border-color:#c69c4b;background:#faf1da}.specialty-choices button:disabled.chosen{opacity:1}
.compact-specs{display:grid;gap:0;border-top:1px solid #e3e8e1;margin-top:12px;padding-top:5px}.compact-specs button{display:flex;align-items:center;gap:8px;min-height:34px;background:transparent;text-align:left;font-size:11px;color:#6f7f68}.compact-specs strong{margin-left:auto;font-size:10px;font-weight:500;color:#927341}.compact-specs svg{width:13px;height:13px}.dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}.dialog-head h2{font-size:20px;margin:0}#spec-dialog{width:360px;text-align:left}#spec-dialog .specialty-choices button{padding:16px 10px;font-size:13px}#spec-dialog .specialty-choices small{font-size:11px;line-height:1.6}#spec-dialog .specialty-choices{gap:10px}.device-heading{display:flex;justify-content:space-between;gap:8px;font-size:12px;margin:16px 0 10px;padding-top:14px;border-top:1px solid #e3e8e1}.device-heading span{font-size:10px;color:#84927a}.device-list{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-bottom:14px}.device-slot{display:grid;grid-template-columns:30px minmax(0,1fr);gap:3px 5px;text-align:left;background:#f2f5ef;border:1px solid #dce5d8;border-radius:5px;padding:7px;color:#64775b;min-height:54px}.device-slot canvas{width:30px;height:30px;grid-row:1/3;align-self:center}.device-slot span{font-size:10px;align-self:end}.device-slot strong{font-size:10px;font-weight:500;color:#8b967e}.device-slot.active{border-color:#c79846;background:#fcf3df}.device-slot:disabled{opacity:.6}
.category-intro{display:flex;align-items:baseline;gap:8px;padding:1px 0 10px;color:#72816e;font-size:10px;line-height:1.5}.category-intro strong{font-size:13px;color:#315d48;white-space:nowrap}.category-intro span{color:#899487}.category-tabs{gap:2px;margin-bottom:12px}.category-tabs button{font-size:11px}.inner-tabs{display:flex;gap:4px;border-bottom:1px solid #e3e8e1;margin-bottom:12px}.inner-tabs button{background:transparent;color:#899487;font-size:10px;padding:6px 9px;border-bottom:2px solid transparent}.inner-tabs button[aria-selected=true]{color:#315d48;border-bottom-color:#c79846}.subsection-note,.panel-explain{font-size:10px;color:#899487;line-height:1.6;margin:8px 0}.role-note{font-size:9px;color:#9aa496;margin:-4px 0 4px}.selected-detail{margin:8px 0 12px;padding:9px 10px;background:#f5f7ef;border-radius:5px;border-left:3px solid #74a4a1}.selected-detail strong{font-size:12px;color:#315d48}.selected-detail strong span{font-size:9px;color:#a47a35;font-weight:500;margin-left:4px}.selected-detail p{margin:5px 0 2px;color:#61755f;font-size:10px}.selected-detail>span{font-size:9px;color:#919d8d}.selected-detail [data-selected-device-status]{color:#427f87}
.recruit-row{display:grid;grid-template-columns:42px minmax(0,1fr) 58px;gap:8px;align-items:center;padding:12px 0;border-bottom:1px solid #edf0e8}.recruit-row strong{font-size:12px}.recruit-row small{display:block;font-size:10px;color:#879480;margin-top:5px}.recruit-row button{display:flex;align-items:center;justify-content:center;gap:4px;height:35px;border-radius:5px;background:#eff4e8;color:#657a52;font-size:11px}.recruit-row button svg{width:16px;height:16px}.recruit-limit{font-size:11px;color:#84927a;padding-bottom:8px;line-height:1.7}.recruit-limit strong{color:#315d48}.recruit-limit small{display:block;color:#a1a991}.roster-summary{gap:6px}.mini-action{display:inline-flex;align-items:center;gap:4px}.mini-action svg{width:13px;height:13px}.upgrade-detail{white-space:normal;line-height:1.5}.upgrade-name{flex-wrap:wrap}.map-foot{flex-wrap:wrap}.elite-preview{font-size:10px;color:#b48732;display:block;margin-top:8px}
@media(max-width:950px){.sidebar{display:grid;grid-template-columns:1fr 1fr}.camp-status{grid-column:1/-1}.squad{min-width:0}.enemy-preview{min-width:0}.small-stats{margin-bottom:0}}
@media(max-width:600px){.sidebar{grid-template-columns:1fr}.squad,.enemy-preview{grid-column:1/-1}.enemy-list{flex-wrap:nowrap}.header-right{gap:6px}.wallet strong,.crystal-wallet strong{font-size:16px}.crystal-wallet span{display:none}.wallet{gap:4px}.crystal-wallet{gap:3px}.brand h1{font-size:18px}.brand{gap:7px}.squad-tabs{margin-bottom:14px}.deployment-group .member-list{gap:8px}.battle-badge{font-size:10px;white-space:nowrap}.map-foot .route-stat{font-size:8px}.tool-group{flex-wrap:wrap}.sidebar .battle-controls{grid-column:1/-1}.recruit-row{grid-template-columns:43px minmax(0,1fr) 70px}}
.sidebar{border:0;border-radius:0;background:transparent;padding:0 0 0 16px;border-left:1px solid var(--line)}
.squad{padding-top:12px}.squad .section-title{margin-bottom:10px}.category-intro strong{display:none}
.device-list{display:flex;gap:10px;margin-bottom:10px}.device-slot{position:relative;display:grid;place-items:center;flex:none;width:54px;height:54px;min-height:0;padding:0;border-radius:5px}.device-slot canvas{width:48px;height:48px;grid-row:auto}.device-slot strong{position:absolute;left:0;top:0;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.device-slot:not(.mounted){opacity:.65}.device-slot.active{opacity:1;outline:1px solid #c79846}.device-slot.firing{box-shadow:0 0 0 3px #dfbd6c55}.device-heading{margin:0 0 10px;border:0;padding:0}
.selected-detail{background:transparent;padding:8px 0;border:0;border-top:1px solid var(--line);border-radius:0}.category-intro,.panel-explain,.subsection-note{font-size:11px;line-height:1.6;color:#71816d}.category-intro span{color:#71816d}.role-note{font-size:10px;color:#819079}.inner-tabs button{font-size:11px;min-height:32px}.inner-tabs{margin-bottom:12px}
#enemy-panel .enemy-preview{border:0;padding:0;margin:0}#enemy-panel .enemy-list{display:grid;gap:10px}#enemy-panel .enemy-item{display:grid;grid-template-columns:42px minmax(0,1fr);gap:9px;text-align:left}#enemy-panel .enemy-item div{align-self:center}#enemy-panel .enemy-item strong{font-size:11px;color:#51664f}#enemy-panel .enemy-item small{display:block;font-size:10px;line-height:1.5;margin-top:3px;color:#819079}
.tool-group .role-tool span,.tool-group .tool:not([data-tool=wall])>span{display:none}.tool-group .role-tool{width:40px;height:40px;padding:0}.tool-group .tool-divider{margin:0 3px}.tool-group .tool{height:40px;min-width:36px}.build-toolbar{min-height:54px}.deploy-tools{display:flex;align-items:center;gap:4px;min-width:0}.deploy-tool{position:relative;display:grid;place-items:center;width:44px;height:44px;padding:3px;border:1px solid transparent;overflow:hidden}.deploy-tool canvas{width:34px;height:34px}.deploy-tool svg{width:20px;height:20px}.deploy-tool .deploy-tool-count{position:absolute;right:-2px;bottom:-3px;min-width:22px;padding:1px 3px;border-radius:8px;background:#315d48;color:#fff;font-size:8px;line-height:12px;text-align:center}.deploy-tool .deploy-tool-status{position:absolute;left:50%;bottom:-14px;transform:translateX(-50%);width:38px;max-width:38px;overflow:hidden;color:#879480;font-size:8px;line-height:11px;font-style:normal;white-space:nowrap;text-overflow:ellipsis}.deploy-tool.locked{opacity:.45}.deploy-tool.full{border-color:#d9c781;background:#fbf4df}.deploy-tool.full .deploy-tool-count{background:#9b8061}.deploy-tool:disabled{cursor:not-allowed}.squad>[role=tabpanel]{min-height:280px;max-height:390px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#c7d1bf transparent;padding-right:3px}
@media(max-width:950px){.sidebar{display:flex;gap:12px;border-left:0;border-top:1px solid var(--line);padding:16px 0 0}.camp-status{width:100%}.squad{width:100%}.squad>[role=tabpanel]{min-height:240px;max-height:350px}.sidebar .battle-controls{width:100%;gap:10px}.category-tabs{margin-bottom:10px}.small-stats{margin-bottom:0}.sidebar .squad{padding-top:0}}
@media(max-width:600px){.chapterbar{gap:12px;padding:14px 0}.sidebar{gap:12px}.squad>[role=tabpanel]{min-height:230px;max-height:320px}.tool-group{flex-wrap:nowrap}.tool-group .tool{flex-direction:row}.tool-group .role-tool canvas{width:32px;height:32px}.category-intro{padding-bottom:8px}.deployment-group{margin-bottom:10px}.battle-controls{padding-top:10px;margin-top:0}.inner-tabs{margin-bottom:10px}.compact-specs .subsection-note{font-size:10px}}
.deploy-tool.available .deploy-tool-status{color:#47795c}.deploy-tool.mounted .deploy-tool-status{color:#9b7534;font-weight:700}.deploy-tool.full .deploy-tool-status{color:#a56b48;font-weight:700}.deploy-tool.mounted{border-color:#d9c781;background:#fbf4df}.deploy-tool.mounted .deploy-tool-count{background:#9b8061}.star-rules{display:grid;grid-template-columns:auto 1fr 1fr 1fr;align-items:center;gap:8px;margin-top:16px;padding:9px 10px;border:1px solid #e3e8e1;border-radius:6px;background:#f7f9f2;color:#7a8874;font-size:10px;line-height:1.4}.star-rules strong{color:#315d48;font-size:11px;white-space:nowrap}.star-rules span{white-space:nowrap}.battle-feedback{display:none;min-width:0;max-width:48%;padding:2px 7px;border-radius:4px;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.battle-feedback.show{display:inline-block}.battle-feedback[data-kind=warning],.battle-feedback[data-kind=rescue]{background:#fbf0d5;color:#996f2d}.battle-feedback[data-kind=danger]{background:#f8e4df;color:#a65345}.battle-feedback[data-kind=cooldown]{background:#e5f1ed;color:#42776a}.battle-feedback[data-kind=heat]{background:#f9e6d8;color:#a15b3d}.battle-feedback[data-kind=boss]{background:#eee6d8;color:#725b3d}.onboarding{position:fixed;inset:0;z-index:8;pointer-events:none}.onboarding-card{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);width:min(360px,calc(100% - 28px));padding:16px 18px;border:1px solid #d8e1d2;border-radius:8px;background:#fbfcf6;box-shadow:0 10px 30px #263d2d2b;pointer-events:auto}.onboarding-step{font-size:10px;color:#9b7b3b;margin-bottom:5px}.onboarding-card strong{display:block;color:#315d48;font-size:14px}.onboarding-card p{margin:6px 0 13px;color:#748270;font-size:11px;line-height:1.6}.onboarding-actions{display:flex;justify-content:flex-end;gap:8px}.onboarding-actions .secondary-button,.onboarding-actions .start-button{width:auto;height:34px;padding:7px 11px;font-size:10px;box-shadow:none}.tutorial-focus{position:relative;z-index:7;box-shadow:0 0 0 3px #e7b84d,0 0 18px #f4ca5c!important;border-radius:6px!important}
.build-toolbar{flex-wrap:wrap;align-items:flex-start}.tool-group{flex:1 1 100%;min-width:0;align-items:flex-start}.deploy-tools{flex:1;display:flex;flex-wrap:wrap;gap:6px}.tool-group .tool.deploy-tool{flex:none;display:grid;grid-template-rows:34px 13px 14px;width:72px;height:72px;min-width:0;gap:2px;padding:5px 3px;overflow:visible;border-radius:6px}.deploy-tool .deploy-tool-count,.deploy-tool .deploy-tool-status{position:static;transform:none;display:block!important;width:auto;max-width:none;background:transparent;min-width:0;padding:0;border-radius:0;font-size:9px;line-height:13px;color:#667c56;overflow:visible}.deploy-tool .deploy-tool-status{font-size:10px}.deploy-tool.mounted .deploy-tool-count,.deploy-tool.full .deploy-tool-count{background:transparent}.deployment-summary{padding:9px 12px;border-top:1px solid var(--line);font-size:10px;line-height:1.6;color:#71816d}.build-toolbar .utility-tools{margin-left:auto}.star-rules{grid-template-columns:1fr;margin-top:12px;width:100%}.star-rules span{white-space:normal}.onboarding{position:static;inset:auto;pointer-events:auto;padding:10px 12px;border-top:1px solid #e3e8e1;border-bottom:1px solid #e3e8e1;background:#fbfcf6}.onboarding-card{position:static;transform:none;width:100%;padding:0;border:0;border-radius:0;box-shadow:none;background:transparent}.onboarding-actions .start-button{flex:none}.onboarding-card p{margin:5px 0 8px}.battle-feedback{flex-basis:100%;max-width:100%;white-space:normal}.device-slot.cooling{border-color:#74a4a1}.device-slot.cooling canvas{opacity:.7}
@media(max-width:600px){.star-rules{gap:5px;margin-top:10px;font-size:10px}.onboarding{padding:10px}.deployment-summary{padding:8px 10px}}
.chapter-switch{align-self:center;border:1px solid #c7d1bf;background:#f4f1df;color:#66745f;border-radius:999px;padding:8px 12px;font-size:11px;white-space:nowrap}.chapter-switch:disabled{opacity:.6}
.chapter-map-button{display:inline-flex;align-items:center;gap:5px;border:1px solid #c7d1bf;background:#eef3e8;color:#52705a;border-radius:6px;padding:8px 10px;font-size:11px;white-space:nowrap}.chapter-map-button svg{width:15px;height:15px}
#map-name{font-size:inherit;font-weight:inherit;margin:0;padding:0;background:transparent;color:inherit;vertical-align:baseline}.chapter-switch{border-radius:6px}.placement-chip small{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.4}
@media(max-width:600px){.level-list{flex:1;gap:8px}.level-button:not(:last-child):after{width:8px}.chapter-switch{padding:8px;font-size:10px}.chapterbar{column-gap:8px}.placement-guidance-head{flex-direction:column;gap:4px}.placement-guidance-head span{text-align:left}.placement-chip{min-width:0;flex:1 1 90px}}
.placement-guidance{margin-top:12px;padding:10px 0;border-top:1px dashed #cbd5c4}.placement-guidance-head{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.placement-guidance-head strong{font-size:11px;color:#53654f}.placement-guidance-head span{font-size:10px;color:#82907d;line-height:1.4;text-align:right}.placement-suggestions{display:flex;gap:6px;margin-top:8px;flex-wrap:wrap}.placement-chip{display:grid;grid-template-columns:15px 1fr;text-align:left;gap:0 4px;min-width:104px;padding:6px 7px;border:1px solid #d1d9ca;background:#f7f5e8;border-radius:7px;color:#61725b}.placement-chip i{grid-row:1 / span 2;width:14px;height:14px}.placement-chip span{font-size:10px}.placement-chip small{grid-column:2;font-size:9px;color:#8a9784;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:130px}.placement-empty{font-size:10px;color:#9b826e}
.placement-guidance:empty{display:none}#panel-deploy>.placement-guidance{margin-top:0;margin-bottom:12px;border-top:0;border-bottom:1px dashed #cbd5c4;padding-top:0}.placement-guidance-head{display:block}.placement-guidance-head span{display:block;text-align:left;margin-top:4px}.placement-chip{min-width:0;flex:1 1 105px}.placement-chip small{white-space:normal;overflow:visible;text-overflow:clip;line-height:1.4}
.placement-banner{pointer-events:none;position:absolute;top:12px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:14px;max-width:calc(100% - 24px);padding:8px 12px;background:#315d48ed;color:#fff4ce;border:1px solid #d9c781;border-radius:6px;font-size:12px;z-index:3;box-shadow:0 3px 10px #233c3422}.placement-banner[hidden]{display:none}.placement-banner span{white-space:nowrap}.placement-banner button{pointer-events:auto;background:transparent;color:#fff4ce;border-left:1px solid #a6ba9a;padding:2px 0 2px 10px;font-size:11px;white-space:nowrap}.placement-chip{display:block;flex:0 1 auto;min-width:65px;padding:6px 10px;text-align:center;border-radius:5px}.pet-trial{display:flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:8px 12px;border:1px solid #8fae94;background:#edf4e9;color:#426b54;border-radius:5px;width:100%;font-size:12px}.pet-trial svg{width:16px;height:16px}.pet-fatigue-track{height:5px;background:#dce5d7;border-radius:3px;overflow:hidden;margin:7px 0}.pet-fatigue-track>div{height:100%;width:100%;background:#82a86d}.pet-fatigue-track>div.resting{background:#6ca8b0}.category-tabs button{padding-left:5px;padding-right:5px}
@media(max-width:600px){.placement-banner{top:6px;padding:5px 8px;gap:8px;font-size:10px}.placement-banner button{font-size:10px;padding-left:7px}}
.map-navigation{display:flex;flex-wrap:wrap;align-items:center;gap:8px;max-width:100%}
.map-navigation select{font:inherit;font-size:12px;min-height:36px;max-width:100%;border:1px solid #dce5d8;border-radius:5px;padding:7px 26px 7px 10px;background:#fff;color:#315d48}
.map-note{margin:0;padding:8px 16px;background:#f1f5e8;border-top:1px solid #e4eadc;color:#667c56;font-size:11px;line-height:1.6}
.chapterbar{flex-wrap:wrap}
@media(max-width:600px){.map-navigation{width:100%;justify-content:space-between}.map-navigation select{flex:1;min-width:0}.map-note{font-size:10px;padding:7px 10px}}
.camp-upgrade{display:grid;grid-template-columns:43px minmax(0,1fr) 52px;gap:8px;align-items:center;margin:14px 0;padding-top:14px;border-top:1px solid #e3e8e1}.camp-upgrade-shortcut{display:flex;align-items:center;gap:6px;width:100%;margin-top:12px;padding:8px 10px;border:1px solid #c7d6c1;border-radius:5px;background:#eef4e9;color:#4e7057;text-align:left;font-size:11px}.camp-upgrade-shortcut svg{width:16px;height:16px}.camp-upgrade-shortcut span{flex:1}.camp-upgrade-shortcut strong{font-size:10px;color:#98733e}.camp-upgrade-shortcut:disabled{opacity:.55}.camp-management{margin-top:10px;padding-top:9px;border-top:1px solid #e3e8e1}.camp-management-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.camp-management-head strong{font-size:11px;color:#536b57}.camp-management-head span{font-size:9px;color:#899487}.portrait.camp{color:#69805f}.camp-specializations{border-top:1px solid #e3e8e1;padding-top:12px}.camp-specialization-list{display:grid;gap:6px}.camp-specialization{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:7px;padding:8px;border:1px solid #e2e8dd;border-radius:5px;background:#f7f8f3;text-align:left;color:#6b7b66}.camp-specialization svg{width:17px;height:17px}.camp-specialization span{display:grid;gap:2px}.camp-specialization strong{font-size:10px}.camp-specialization small{font-size:9px;color:#899487;line-height:1.4}.camp-specialization em{font-size:8px;color:#a58a5b;font-style:normal}.camp-specialization.chosen{border-color:#c79846;background:#fcf3df}.result-feedback{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:14px 0 8px;padding:10px 0;border-top:1px solid #e3e8e1;border-bottom:1px solid #e3e8e1}.result-feedback div{display:grid;gap:3px;text-align:center}.result-feedback span{font-size:9px;color:#899487}.result-feedback strong{font-size:12px;color:#315d48}.result-feedback p{grid-column:1/-1;margin:2px 0 0;font-size:9px;color:#899487;line-height:1.5}.chapter-map-intro{font-size:11px;color:#7c8977;line-height:1.6;margin:0 0 16px}.chapter-map-section{padding:12px 0 14px;border-top:1px solid #e3e8e1}.chapter-map-section:first-of-type{padding-top:0;border-top:0}.chapter-map-section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;margin-bottom:9px}.chapter-map-section-title div{display:grid;gap:3px}.chapter-map-section-title strong{font-size:12px;color:#315d48}.chapter-map-section-title small,.chapter-map-section-title>span{font-size:10px;color:#899487}.chapter-map-section-title>span{white-space:nowrap}.chapter-map-route{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;align-items:stretch}.chapter-node{position:relative;display:grid;gap:5px;min-height:112px;padding:10px 7px;border:1px solid #dce5d8;border-radius:6px;background:#f4f7ef;text-align:left;color:#5f725d}.chapter-node:not(:last-child)::after{content:'';position:absolute;right:-9px;top:51px;width:9px;height:1px;background:#cbd7c6}.chapter-node.current{border-color:#c79846;background:#fcf3df;box-shadow:0 0 0 2px #c7984633}.chapter-node.locked{opacity:.48}.chapter-node-number{font-size:10px;color:#9b8061}.chapter-node strong{font-size:11px;line-height:1.35}.chapter-node-stars{display:flex;gap:2px;color:#c6cdbd}.chapter-node-stars svg{width:13px;height:13px}.chapter-node-stars svg.filled,.chapter-map-section-legend svg.filled{fill:#e6bd5a;stroke:#cf9e3d;color:#d3a346}.chapter-node small{font-size:9px;color:#8c9885}.chapter-map-section-legend{display:flex;justify-content:space-between;gap:10px;margin-top:9px;color:#899487;font-size:10px}.chapter-map-section-legend span{display:flex;align-items:center;gap:4px}.chapter-map-section-legend svg{width:13px;height:13px}.chapter-map-empty{font-size:11px;color:#7d8979;line-height:1.6;margin:0 0 10px}.chapter-node:disabled{cursor:default}#chapter-map-dialog{width:620px}
@media(max-width:600px){.chapter-map-route{grid-template-columns:repeat(2,1fr)}.chapter-node:nth-child(2n)::after{display:none}.chapter-node:not(:last-child)::after{top:54px}.chapter-map-section-legend{display:grid;gap:6px}.chapter-map-button span{display:none}#chapter-map-dialog{width:calc(100% - 24px)}}
#camp-dialog{text-align:left;width:410px}#camp-dialog .camp-upgrade{border-top:0;padding-top:0}.camp-status{padding-bottom:14px}.result-feedback p{font-size:10px}.wall-type-slot{flex:1;min-width:0;width:auto}
.camp-status #camp-management{margin-top:12px;padding-top:10px;border-top:1px solid #e3e8e1}.camp-status #camp-management .camp-management-head{margin-bottom:4px}.camp-status #camp-management .camp-specialization-list{grid-template-columns:1fr}.camp-status #camp-management .camp-specialization{padding:7px}.camp-status #camp-management .camp-specialization small{font-size:8px}
.resource-income{display:flex;align-items:center;gap:7px;padding:8px 0;border-bottom:1px solid #e3e8e1;font-size:11px;color:#427f74}.resource-income[hidden]{display:none}.resource-income svg{width:16px;height:16px;color:#a7853c}.resource-income strong{margin-left:auto;font-size:11px}.category-tabs button{min-width:0;padding:0 3px;font-size:11px}.camp-status{padding-bottom:10px;border-bottom:1px solid #e3e8e1;margin-bottom:12px}#camp-growth-content .camp-upgrade{border-top:0;padding-top:0}.upgrade-detail{overflow-wrap:anywhere}.deploy-tool span{white-space:normal;line-height:1.25}.device-heading span{text-align:right;max-width:62%;line-height:1.5}
.rebuild-trial-actions{display:flex;gap:8px;margin-top:8px}
/* Compact deployment tray: owned types only, one fixed cell per type. */
.build-toolbar{gap:5px;padding:8px;align-items:center;flex-wrap:wrap}
.build-toolbar .tool-group{flex:1 1 100%;min-width:0;flex-wrap:nowrap;gap:3px;align-items:center}
.build-toolbar .tool-group>.tool{flex:none;min-width:36px;padding:0 5px}
.build-toolbar .tool-divider{flex:none;margin:0 3px}
.deploy-tools{flex:1 1 0;min-width:0;flex-wrap:nowrap;gap:3px;overflow-x:auto;overflow-y:hidden;padding:3px 1px 7px;scrollbar-width:thin;scrollbar-color:#a8ba9e #eef3e8;overscroll-behavior-x:contain;scroll-snap-type:x proximity}
.tool-group .tool.deploy-tool{flex:0 0 64px;width:64px;height:76px;padding:4px 2px;gap:2px;grid-template-rows:38px 12px 14px;border:1px solid #dce5d6;background:#f7f9f2;border-radius:5px;overflow:hidden;scroll-snap-align:start}
.deploy-tool canvas{width:38px;height:38px}
.deploy-tool .deploy-tool-count{font-size:9px;line-height:12px;color:#667c56}
.level-list{min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;padding:3px 0 7px;flex:1 1 320px;gap:8px}
.level-list .level-button{flex:0 0 34px;width:34px;height:34px}
.level-list .level-button:not(:last-child):after{left:34px;top:16px;width:8px}
.chapter-node:nth-child(5n)::after{display:none}
@media(max-width:600px){.chapterbar .level-list{flex:1 1 100%;width:100%;gap:8px}.chapter-node:nth-child(5n)::after{display:block}.chapter-node:nth-child(2n)::after{display:none}}
.deploy-tool .deploy-tool-status{font-size:10px;line-height:14px;white-space:nowrap}
.upgrade-row{grid-template-columns:43px minmax(0,1fr) 78px}
.upgrade-detail{white-space:normal;line-height:1.5}
.growth-current,.growth-next{display:block}
.growth-next{color:#427f74;margin-top:3px}
.growth-details{margin-top:5px;color:#71816d}
.growth-details summary{cursor:pointer;font-size:10px;min-height:24px;display:list-item;list-style-position:inside}
.growth-details summary:focus-visible{outline:2px solid #74a4a1;outline-offset:2px}
.growth-details dl{margin:4px 0;font-variant-numeric:tabular-nums}
.growth-details dl>div{display:flex;justify-content:space-between;gap:6px;flex-wrap:wrap}
.growth-details dt,.growth-details dd{margin:0;font-size:10px}
.growth-details p{font-size:10px;line-height:1.6;margin:5px 0}
.upgrade-name{flex-wrap:wrap}
.upgrade-button{min-width:0;font-variant-numeric:tabular-nums}
.role-replacement{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}
.role-replacement summary{cursor:pointer;font-size:12px;font-weight:600;color:var(--green);min-height:30px;line-height:30px}
.role-replacement summary small{font-size:10px;font-weight:400;color:#71816d;margin-left:5px}
.role-replacement .panel-explain{margin:4px 0 10px}
.role-replacement-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.role-replacement-fields label{display:grid;gap:5px;font-size:10px;color:#71816d;min-width:0}
.role-replacement-fields select{width:100%;min-width:0;min-height:36px;border:1px solid #dce5d8;border-radius:5px;padding:5px;background:#fff;color:var(--green);font:inherit;font-size:11px}
.role-replacement-status{font-size:10px;color:#71816d;line-height:1.6;margin:9px 0}
.role-replacement-button{width:100%;min-height:36px;border-radius:5px;background:#eff4e8;color:var(--green);font-size:11px;padding:7px}
.result-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:14px 5px}
.result-stats strong{font-size:16px;overflow-wrap:anywhere}
.wallet strong{font-variant-numeric:tabular-nums}
.logistics-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:0 0 16px;padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:11px}
.stamina-summary{display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:#6a806c}
.stamina-summary svg{width:18px;height:18px;color:#548577}
.stamina-summary strong{font-variant-numeric:tabular-nums;color:#315d48}
.stamina-summary small{color:#8a9684;font-size:10px}
.logistics-actions{display:flex;gap:6px;flex:none}
.supply-button{display:flex;align-items:center;gap:5px;min-height:32px;padding:6px 9px;border:1px solid #d7dfcf;background:#eef3e8;border-radius:5px;font-size:11px;color:#52715a}
.supply-button svg{width:15px;height:15px}
.practice-mode{display:flex;align-items:center;gap:6px;margin-top:12px;font-size:10px;color:#7b8873}
.practice-mode input{accent-color:#315d48}
.chapter-node-cell{min-width:0;display:grid;gap:5px}
.chapter-node-cell .chapter-node{width:100%}
.chapter-node::after{display:none!important}
.chapter-trial-branch{display:flex;align-items:center;gap:9px;padding:12px 0 3px;color:#447a80}
.chapter-trial-branch>svg{width:22px;height:22px;flex:none}
.chapter-trial-branch>div{flex:1;min-width:0;display:grid;gap:3px}
.chapter-trial-branch strong{font-size:12px}.chapter-trial-branch small{font-size:10px;line-height:1.6;color:#7b8974}
.chapter-trial-branch button{flex:none;min-height:32px;padding:6px 10px;border:1px solid #abc9c5;border-radius:5px;background:#e5f0eb;color:#3c746e;font-size:11px}
.reward-preview strong{overflow-wrap:anywhere;text-align:right}
.result-rewards{margin:0 0 10px;font-size:10px;color:#71816d;line-height:1.6;overflow-wrap:anywhere}
.result-growth{border-bottom:1px solid var(--line);padding:3px 0 10px}
.result-growth p{margin:4px 0;font-size:11px;line-height:1.6;color:#42796b;overflow-wrap:anywhere}
.result-supply{border-top:1px solid var(--line);padding:12px 0 16px;text-align:left}
.result-supply p{margin:0 0 10px;font-size:11px;line-height:1.6;color:var(--green);overflow-wrap:anywhere}
.result-supply button{width:100%;padding:10px;font-size:12px}
.chapter-sweep{display:flex;align-items:center;justify-content:center;gap:4px;min-height:28px;padding:5px 3px;background:#e8f1ed;color:#4b7a70;border:1px solid #cfddd3;border-radius:5px;font-size:10px}
.chapter-sweep svg{width:13px;height:13px}
#sweep-dialog{text-align:left;width:410px}
#sweep-dialog h2{font-size:18px}
#sweep-level{margin:8px 0 12px;font-size:11px}
.sweep-counts{display:flex;gap:6px;margin-bottom:14px}
.sweep-counts button{flex:1;height:36px;background:#f0f3e9;border:1px solid #d9e1d1;border-radius:5px;color:#71826a;font-size:12px}
.sweep-counts button.active{background:#e3efe5;border-color:#779b7e;color:#315d48}
.sweep-preview{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:8px 0}
.sweep-preview div{display:flex;justify-content:space-between;gap:12px;padding:5px 0;font-size:11px;color:#7b8974}
.sweep-preview strong{color:#456652;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;text-align:right}
#sweep-hint,#sweep-result{font-size:10px;line-height:1.6;margin:10px 0}
#sweep-result:empty{display:none}
#sweep-result{color:#47786b}
.camp-logistics-note{font-size:10px;color:#6a806c;margin-top:8px}
.camp-specialization:disabled{opacity:.8}.camp-specialization.chosen:disabled{opacity:1}
@media(max-width:600px){.logistics-bar{flex-wrap:wrap;gap:8px;margin-bottom:12px}.stamina-summary{flex-basis:100%}.logistics-actions{width:100%}.supply-button{flex:1;justify-content:center}.practice-mode{grid-column:1/-1}}
.tool-group .tool.deploy-tool.active{border-color:#789966;background:#e8f1e0;box-shadow:inset 0 0 0 1px #789966}
.layout-row{display:flex;align-items:center;gap:6px;padding:9px 0;border-top:1px solid var(--line);color:#71826a;font-size:11px;flex-wrap:wrap}
.layout-row button{min-width:32px;min-height:30px;padding:5px 9px;border:1px solid #d9e1d1;border-radius:5px;background:#f7f9f2;color:#61775c;font:inherit}
.layout-row button.active{background:#e3efe5;border-color:#779b7e;color:#315d48}
.layout-row button:disabled{opacity:.45;cursor:default}
.layout-row small{font-size:10px;color:#84907b}.layout-actions{display:flex;gap:6px;margin-left:auto}
@media(max-width:600px){.layout-row{gap:4px}.layout-row small{flex:1}.layout-actions{width:100%;justify-content:flex-end}.layout-actions button{min-height:32px}}
.tool-group .tool.deploy-tool.mounted,.tool-group .tool.deploy-tool.full{background:#fbf4df;border-color:#d9c781}
@media(max-width:600px){.build-toolbar .tool-group{flex-wrap:nowrap;gap:2px}.build-toolbar .tool-divider{display:none}.deploy-tools{flex-basis:0}.tool-group .tool.deploy-tool{flex-basis:60px;width:60px}.deploy-tool .deploy-tool-status{font-size:9px}}
