@import url('./comic-shared.css');
:root{font:14px/1.4 system-ui,-apple-system,'Microsoft YaHei',sans-serif;color:var(--cream);background:#182625;color-scheme:light;--chrome:40px;--nav:40px}
*{box-sizing:border-box}body{margin:0;overflow:hidden}button,select{font:inherit}button{touch-action:manipulation}button svg{pointer-events:none}h1,h2,h3,h4,p{margin-top:0}select{min-height:36px;max-width:100%;border:1px solid var(--ink);background:var(--paper-light);color:var(--ink);padding:5px}.comic-button{min-height:40px;padding:7px 12px;font-size:14px;box-shadow:2px 3px #121c1b99}.comic-button.primary{font-size:18px}.comic-button.quiet{background:transparent;box-shadow:none;border-color:#726a5466;font-size:13px}.paper{padding:14px;border-width:1.5px;border-radius:2px 5px 2px 3px;box-shadow:3px 4px #17211d99}.paper:before{width:40px;height:10px;top:-5px}.paper h3{font-size:22px}.paper h4{font-size:15px}.paper p{margin:.35em 0 .65em}.ink-stamp{font-size:13px;margin:6px 3px;padding:2px 8px;transform:none}.paper-stat{padding:4px 0}.paper-stat strong{font-size:22px}.paper-stat small{font-size:12px}.paper-stat>.ink-icon{width:25px;height:25px}.ink-round{min-width:42px;min-height:42px;width:42px;height:42px;padding:8px;border-width:1.5px;box-shadow:none}.ink-icon{width:22px;height:22px}.photo-card{padding:7px;gap:3px;font-size:14px;box-shadow:2px 3px #10191799;border-width:1.5px}.photo-card:before{width:5px;height:5px;right:7px;top:4px;border-width:1px}.photo-card .card-art{aspect-ratio:2.3;max-height:100px;object-fit:contain;background:#d5c5a147}.photo-card strong{font-size:15px;padding:0 2px}.photo-card small{font-size:12px;padding:0 2px}.comic-art{object-fit:contain}.bottom-nav{min-height:var(--nav);height:var(--nav);padding:2px max(8px,env(safe-area-inset-right)) max(2px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left));border-width:1px}.bottom-nav button{min-height:0;height:100%;font-size:15px;gap:7px}.bottom-nav .ink-icon{width:23px;height:23px}.portrait-art{display:block;width:100%;height:100%;overflow:visible}
.cover,.camp{position:relative;width:100%;height:100dvh;min-height:300px;overflow:hidden;background:#283e3c;isolation:isolate}.cover-scene,.camp:before{content:'';position:absolute;inset:0;background:url('./assets/ui-r14/harbor-clean.webp') center/cover;pointer-events:none}.cover-scene{background-image:url('./assets/ui-r14/cover-clean.webp')}.cover:after,.camp:after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 73% 34%,#ffd99860,transparent 47%),linear-gradient(0deg,#08181770,transparent 37%);opacity:.5;pointer-events:none;z-index:0}.cover-family{position:absolute;z-index:1;left:1%;bottom:-1%;width:55%;height:97%;}.cover-copy{position:absolute;z-index:2;right:7%;top:23%;width:39%;color:#141d1a;text-align:center}.cover-logo{margin-bottom:15px}.cover-mark{width:100%;height:auto;aspect-ratio:565/220;mix-blend-mode:multiply}.cover-logo h1{font:900 clamp(20px,2.3vw,36px)/1.35 var(--ui-serif);letter-spacing:.12em;margin:7px 0 0}.cover-actions{display:flex;align-items:stretch;justify-content:center;gap:12px}.cover-actions #enter-game{flex:1;min-height:50px;font-size:clamp(21px,2.1vw,30px)}.cover-save{margin-top:12px;min-height:40px;padding:6px 16px}.cover-profile{display:block;margin:8px auto 0;background:#efdfbdad;width:max-content;max-width:100%;padding:3px 10px;font-size:12px}.cover-tools{position:absolute;z-index:3;right:max(12px,env(safe-area-inset-right));top:max(10px,env(safe-area-inset-top));display:flex;gap:6px}.portrait-note{display:none}
/* Fullscreen remains one tap away, with the same footprint as the other tools. */
.cover-actions [data-game-fullscreen],.header-actions [data-game-fullscreen],.panel-header>[data-game-fullscreen]{min-width:42px;width:42px;min-height:42px;padding:8px;border:1.5px solid #c3aa76;border-radius:50%;background:#182b29dd;color:var(--cream);box-shadow:none;font-size:0}.cover-actions [data-game-fullscreen]:after,.header-actions [data-game-fullscreen]:after,.panel-header>[data-game-fullscreen]:after{display:none}.cover-actions [data-fullscreen-label],.header-actions [data-fullscreen-label],.panel-header>[data-game-fullscreen] [data-fullscreen-label]{display:none}.cover-actions [data-game-fullscreen]{align-self:center}.comic-button[data-game-fullscreen][aria-pressed=true]{outline:none}
.camp{display:grid;grid-template-rows:var(--chrome) minmax(0,1fr) var(--nav)}.camp>*{position:relative;z-index:1}.topbar{display:flex;align-items:center;gap:10px;padding:4px max(12px,env(safe-area-inset-right)) 4px max(12px,env(safe-area-inset-left));background:linear-gradient(#10201df2,#10201d8a);text-shadow:0 1px #111}.brand{border:0;background:none;color:var(--cream);font-family:Georgia,serif;padding:2px 7px;min-height:40px}.brand b{display:block;font-size:23px;line-height:1}.brand span{font-size:8px;letter-spacing:.12em}.save-badge{display:flex;align-items:center;gap:7px;min-height:40px;border:0;background:#12201e88;color:var(--cream);text-align:left;padding:0 7px 0 0}.save-badge #avatar{width:37px;height:40px;border:1px solid var(--paper);overflow:hidden}.save-badge .comic-art{height:100%}.save-badge strong{display:block;font:700 16px/1.2 var(--ui-serif);white-space:nowrap}.save-badge small{font-size:11px}#experience{height:4px;margin-top:3px}.resources{margin-left:auto;display:flex;align-items:center;gap:15px}.resources>span{display:flex;align-items:center;gap:5px;font:700 20px/1 var(--ui-serif)}.resources .ink-icon{width:26px;height:26px;color:#e4c38b}.resources i{display:inline-flex}.header-actions{display:flex;gap:5px;align-items:center}
.camp-body{display:grid;grid-template-columns:62px minmax(0,1fr) minmax(285px,36%);gap:14px;padding:8px max(15px,env(safe-area-inset-right)) 6px max(12px,env(safe-area-inset-left));min-height:0}.camp-shortcuts{display:flex;flex-direction:column;justify-content:center;gap:15px}.shortcut{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:64px;padding:8px 4px;background:#11221dcc;border:1px solid #c4a66b;border-radius:24px 24px 3px 3px;color:var(--cream);cursor:pointer}.shortcut .ink-icon{width:27px;height:27px}.shortcut strong{font:700 14px/1.2 var(--ui-serif)}.stage{position:relative;min-height:0;min-width:0;perspective:900px}.stage-content{position:absolute;inset:0}.camp-portrait{position:absolute;inset:1% 0 0;width:100%;height:99%;}.stage-heading{position:absolute;z-index:2;left:0;top:4px;max-width:47%;padding:5px 8px;background:#12241dba;border-left:2px solid #c6a568;text-shadow:0 1px #111;pointer-events:none}.stage-heading small{display:block;font-size:11px;letter-spacing:.08em;color:#e9d59d}.display-name{pointer-events:auto;min-height:32px;border:0;background:none;color:var(--cream);font:700 24px/1.2 var(--ui-serif);padding:0;cursor:pointer}.stage-heading p{margin:3px 0;font-size:12px}.stage-heading #mech-level{font-size:13px;display:block}.equipment-shortcut{position:absolute;left:50%;transform:translateX(-50%);bottom:2%;z-index:3;background:#e8decbdf;font-size:13px;max-width:90%;white-space:nowrap}.health{position:absolute;z-index:3;right:3%;top:6px;padding:5px 9px;min-width:102px;font-size:12px}.health:before{display:none}.health progress{margin-top:4px;height:5px}.stage canvas{position:absolute;inset:0;width:100%;height:100%}.view-controls{position:absolute;z-index:3;left:0;right:0;bottom:2px;display:flex;justify-content:center;gap:5px}.view-controls button{min-height:38px;min-width:40px;padding:5px 10px;background:#e7d9bfe8;color:var(--ink);border:1px solid #484d3e;cursor:pointer;font-size:13px}.view-controls button:not(#fullscreen-view){display:none}.preview-loading{position:absolute;z-index:2;top:48%;left:15%;right:15%;background:var(--paper);color:var(--ink);text-align:center;padding:10px}
.control-deck{display:flex;flex-direction:column;gap:8px;min-height:0;min-width:0;padding:3px 2px}.chapter-switch{flex-shrink:0;padding:7px}.chapter-switch #chapter-picture .comic-art{height:clamp(60px,16dvh,135px);aspect-ratio:3.2}.chapter-caption{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.chapter-caption>b{background:var(--red);color:var(--paper);padding:2px 5px;font:700 19px/1 var(--ui-serif)}.chapter-caption strong{font-size:20px;flex:1}.chapter-caption small{font-size:11px}.next-goal{padding:8px 10px;min-height:0;flex:1;text-align:left;overflow:auto;cursor:pointer;border:0;box-shadow:none;background:#13251ecc;color:var(--cream)}.next-goal:before{display:none}.next-goal strong{display:block;font-size:13px;font-weight:500;line-height:1.45}.next-goal small{display:block;font-size:11px;color:#dacb9f;margin-top:4px}.departure-dock{flex-shrink:0;display:flex;flex-direction:column;gap:3px;padding-top:3px}.departure-dock>small{font-size:11px;color:#ffedc8;background:#14261bb0;width:max-content;max-width:100%;padding:1px 5px}.depart{width:100%;min-height:44px;flex-shrink:0;font-size:19px!important;white-space:nowrap}.return-summary{border:0;background:#e8d8bccc;color:var(--ink);min-height:27px;padding:4px 8px;font-size:11px;cursor:pointer}
.hangar-loadout{min-height:0;flex:1;overflow:auto;padding:10px}.hangar-loadout h2{font:700 19px/1.2 var(--ui-serif);margin-bottom:8px}.hangar-weapons{display:grid;grid-template-columns:1fr 1fr;gap:7px}.weapon-slot{display:grid;grid-template-columns:58px minmax(0,1fr);grid-template-rows:1fr 1fr;gap:1px 5px;min-height:52px;padding:5px;text-align:left}.weapon-slot .card-art{grid-row:span 2;width:100%;height:43px;max-height:none;aspect-ratio:auto;background:transparent;border:0}.weapon-slot strong{font-size:13px;align-self:end}.weapon-slot small{font-size:11px;align-self:start}.hangar-loadout .action-strip{margin-top:9px}.hangar-loadout .action-strip .comic-button{min-height:36px;font-size:12px;padding:5px}.mech-mode .camp-body{grid-template-columns:48px minmax(0,1fr) minmax(305px,39%)}.mech-mode .camp-shortcuts{gap:10px}.mech-mode .shortcut{min-height:54px;font-size:12px}.mech-mode #chapter-picture{display:none}.mech-mode .chapter-switch{padding:5px 8px}.mech-mode .chapter-caption strong{font-size:15px}.mech-mode .chapter-caption>b{font-size:16px}.mech-mode .chapter-caption small{font-size:10px}.mech-mode .next-goal{display:none}.mech-mode .stage-heading{max-width:50%}.observe .stage{position:fixed;inset:var(--chrome) 3% var(--nav);z-index:10;background:radial-gradient(ellipse at 50% 40%,#466658,#132720 70%);box-shadow:0 0 0 50vmax #13231fea}.observe .view-controls{flex-wrap:wrap;padding:7px;background:#152820e8}.observe .view-controls button{display:block}.observe .view-controls button[aria-pressed=true]{background:#294a40;color:var(--cream)}.observe .control-deck,.observe .camp-shortcuts{visibility:hidden}
.panel{position:fixed;inset:0;width:100%;height:100dvh;max-width:none;max-height:none;margin:0;padding:0;border:0;background:linear-gradient(#10231dc7,#10231dad),url('./assets/ui-r14/harbor-clean.webp') center/cover;color:var(--cream);overflow:hidden}.panel[open]{display:grid;grid-template-rows:var(--chrome) minmax(0,1fr) var(--nav)}.panel::backdrop{background:#14211f}.panel-header{display:flex;align-items:center;gap:8px;padding:4px max(12px,env(safe-area-inset-right)) 4px max(12px,env(safe-area-inset-left));background:#12241ff2}.panel-header h2{font:700 22px/1.2 var(--ui-serif);margin:0}.panel-header small{display:none}.panel-header #panel-wallet{margin-left:auto;font:700 14px/1 var(--ui-serif);white-space:nowrap}.panel-content{padding:14px max(16px,env(safe-area-inset-right)) 14px max(16px,env(safe-area-inset-left));overflow:auto;overscroll-behavior:contain;min-height:0}.panel-content>*{max-width:1400px;margin-inline:auto}.ui-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);align-items:start;gap:18px;min-height:100%}.ui-layout>*{min-width:0}.detail-sheet{display:flex;flex-direction:column;gap:5px;align-self:center}.detail-sheet p{font-size:14px}.detail-sheet>.comic-button{margin-top:4px}.object-sheet{display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:8px;align-self:center}.large-object{width:100%;height:clamp(100px,30dvh,240px);max-height:42dvh;object-fit:contain}.paper-tabs{display:flex;gap:6px;margin-bottom:10px}.paper-tabs .comic-button{flex:1;min-width:0;min-height:36px;padding:5px 8px;font-size:13px}.paper-tabs [aria-pressed=true]{background:#cbb888;border-bottom:3px solid var(--red);outline:0}.condition{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600}.condition .ink-icon{width:17px;height:17px}.caption{font-size:12px;line-height:1.45}.paper-note{background:var(--paper);color:var(--ink);padding:6px 12px;width:max-content;max-width:100%;margin:10px auto 0!important;font-size:12px}.action-strip{display:flex;gap:6px;flex-wrap:wrap}.action-strip>*{flex:1;min-width:44px}.action-strip.paper{padding:8px}
.equipment-layout{grid-template-columns:minmax(230px,1.1fr) minmax(130px,.75fr) minmax(225px,1fr);gap:14px}.equipment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.equipment-grid .card-art{height:60px;max-height:16dvh}.equipment-grid .photo-card strong{font-size:13px}.equipment-grid .photo-card small{font-size:11px}.equipment-grid .photo-card{padding:5px}.ui-picker{display:flex;flex-direction:column;gap:4px}.equipment-context{display:flex;gap:6px;margin-top:8px}.equipment-context>*{flex:1;min-width:0;font-size:12px}.equipment-layout .detail-sheet{align-self:start}.equipment-layout .large-object{height:170px;max-height:34dvh}.outfit-layout{grid-template-columns:.65fr 1.6fr}.ui-detail{display:flex;flex-direction:column;gap:10px}.outfit-grid,.upgrade-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.item-paper{padding:10px;display:flex;flex-direction:column;justify-content:space-between}.item-paper .part-art{height:110px;max-height:22dvh}.item-paper h4{font-size:15px;margin-block:5px}.item-paper .comic-button{font-size:13px;width:100%;padding:6px}.outfit-layout .paper-tabs .comic-button{font-size:12px}
.growth-layout{grid-template-columns:minmax(100px,.45fr) minmax(0,1.8fr)}.ui-portrait{position:relative;display:flex;justify-content:center;align-items:flex-end;height:100%;min-height:180px}.ui-portrait .dad-layer{width:100%;height:100%;max-height:68dvh;object-fit:contain}.growth-sheet{padding:16px;align-self:center}.upgrade-grid{margin:12px 0}.upgrade-card{padding:11px}.upgrade-card>.ink-icon{width:35px;height:35px;margin-bottom:4px}.upgrade-card h3{font-size:17px}.upgrade-card p{font-size:13px;min-height:36px}.upgrade-card .comic-button{font-size:13px;width:100%;padding:6px}.rank-dots{color:var(--red);letter-spacing:.15em;font-size:12px}.growth-history{margin-top:10px}.growth-history>summary,.scrap-record>summary{cursor:pointer;min-height:32px;padding:6px 0;font-size:12px}.growth-nodes{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-top:8px}.growth-node{padding:6px 2px;text-align:center}.growth-node:before{display:none}.growth-node>*{display:block;margin:auto}.growth-node strong{font-size:13px}.growth-node small{font-size:10px}.growth-node[data-reached=false]{background:#d2c7ac;color:#575b50}
.skills-layout{grid-template-columns:.6fr 1.5fr}.skill-poster{align-self:center}.skill-poster h3{font-size:25px}.skill-slots,.skill-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px}.skills-sheet{align-self:center}.skills-sheet .photo-card{padding:5px}.skills-sheet .photo-card .card-art{height:52px;max-height:12dvh}.skills-sheet .photo-card strong{font-size:13px}.skills-sheet .photo-card small{font-size:11px}.skill-grid .card-art{display:none}
.warehouse-layout{grid-template-columns:1.3fr 1fr}.treasure-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;align-content:start}.treasure-grid .card-art{height:100px;aspect-ratio:1.4}.treasure-large{height:100px;max-height:25dvh}.inventory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.inventory-card{padding:10px}.inventory-card>.comic-art{height:65px}.inventory-card>.ink-icon{width:45px;height:45px}.inventory-card h3{font-size:16px}.inventory-card label{font-size:12px}.inventory-card select{width:65px;margin-left:5px}.inventory-card .comic-button{width:100%;font-size:14px;margin-top:8px}.inventory-card>.paper-stat strong{font-size:18px}
.family-layout{grid-template-columns:.8fr .7fr 1fr}.family-picker{display:grid;gap:7px;align-content:center}.family-picker .photo-card{display:grid;grid-template-columns:45px minmax(0,1fr);gap:1px 6px;min-height:46px;padding:4px}.family-picker .card-art{grid-row:span 2;height:39px;aspect-ratio:1.2;max-height:none}.family-picker .photo-card strong{font-size:14px}.family-picker .photo-card small{font-size:11px}.family-portrait{max-height:45dvh;align-self:center;border:5px solid var(--paper);background:var(--paper);object-fit:contain}.family-layout .ui-portrait{align-self:center;min-height:0;height:auto}
.chapters-layout{grid-template-columns:1.15fr 1fr;align-items:center}.chapter-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.chapter-grid .card-art{height:110px;max-height:22dvh;aspect-ratio:2.5}.chapter-grid .photo-card strong{font-size:15px}.chapter-detail{align-self:stretch;justify-content:center}.chapter-detail h3{font-size:24px}.chapter-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:7px}.chapter-actions .primary{flex:1 1 100%;min-height:44px}.chapter-actions>.comic-button:not(.primary){font-size:13px}.goal-paper{padding:8px 10px;margin-top:3px;background:#dfcdab;box-shadow:none}.goal-paper:before{display:none}.goal-paper strong,.goal-paper small{display:block}.goal-paper strong{font-size:14px;margin-top:2px}.goal-paper p{font-size:12px;margin-bottom:0}
.fleet-layout{grid-template-columns:minmax(210px,.8fr) minmax(0,1.6fr);align-items:stretch}.fleet-picker{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-content:start}.fleet-picker .card-art{height:125px;max-height:25dvh;aspect-ratio:1}.fleet-picker .photo-card strong{font-size:16px}.fleet-detail{display:grid;grid-template-columns:minmax(100px,.8fr) minmax(0,1.25fr);gap:14px;align-items:center;min-height:0}.fleet-art{width:100%;height:100%;max-height:62dvh;object-fit:contain}.fleet-copy{display:flex;flex-direction:column;gap:6px;min-width:0}.fleet-copy h3{margin-bottom:0;font-size:25px}.fleet-copy>.comic-button{font-size:13px;text-align:center}.fleet-actions{display:flex;flex-direction:column;gap:7px}.fleet-actions .comic-button{font-size:14px}.scrap-record{color:var(--cream);margin-top:8px!important}.scrap-record p{font-size:12px}.upgrade-layout,.weapon-layout{grid-template-columns:minmax(160px,.8fr) minmax(0,1.2fr)}.upgrade-mech{align-self:center;height:54dvh;width:100%;object-fit:contain}.upgrade-sheet{align-self:center}.level-arrow{font:700 30px/1.35 var(--ui-serif);color:var(--red)}.slot-checks{display:flex;gap:8px;margin:10px 0}.slot-checks>*{flex:1;padding:7px;display:flex;align-items:center;flex-direction:column;gap:2px}.slot-checks .paper:before{display:none}.slot-checks small{text-align:center;font-size:11px}.slot-checks .ink-icon{width:22px;height:22px}.weapon-layout .object-sheet{padding:20px}.weapon-layout .large-object{height:160px;max-height:37dvh}.loadout-layout{grid-template-columns:.7fr 1.4fr;align-items:center}.loadout-preview{height:100%;min-height:160px;max-height:63dvh;background:#e4d1a877}.loadout-mech{width:100%;height:100%;max-height:58dvh;object-fit:contain}.loadout-sheet .action-strip{margin:12px 0 5px}.loadout-sheet .action-strip .comic-button{font-size:12px}.loadout-sheet .weapon-slot{min-height:62px}
.settings-layout{grid-template-columns:1.15fr 1fr;max-width:1050px;align-items:center}.save-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.save-grid .card-art{height:95px;max-height:19dvh;aspect-ratio:1.8}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.settings-grid .comic-button{min-height:68px;font-size:16px;gap:8px}.settings-grid .ink-icon{width:25px;height:25px}.profile-book>.caption{margin:8px 0 0;text-align:center}.story-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.story-photo{padding:10px}.story-photo>img{width:100%;height:25dvh;object-fit:cover}.story-photo h3{font-size:18px}.story-photo .comic-button{width:100%;font-size:13px;margin-block:6px}.result-layout{grid-template-columns:.8fr 1.2fr;align-items:center}.result-photo .comic-art{height:36dvh}.result-photo h3{font-size:28px}.result-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.result-grid .paper-stat{display:flex;flex-direction:column;border:1px solid #6d715c;padding:6px 3px}.result-grid .paper-stat strong{font-size:23px}.result-ledger>.comic-button{margin:10px 6px 0 0}.empty-paper{max-width:500px;text-align:center;margin:3dvh auto;padding:24px}.empty-paper>.ink-icon{width:50px;height:50px}.comic-confirm{border:0;padding:0;width:min(500px,calc(100vw - 28px));overflow:visible;background:transparent;color:var(--ink)}.comic-confirm::backdrop{background:#081716ba}.comic-confirm .action-strip{margin-top:16px}.notice,.fullscreen-notice{bottom:calc(var(--nav) + 9px);font-size:13px;padding:8px 12px;max-width:min(550px,calc(100% - 30px))}
@media(max-width:1050px){.brand{display:none}.camp-body{gap:9px;grid-template-columns:48px minmax(0,1fr) minmax(265px,36%)}.panel-content{padding:11px 13px}.ui-layout{gap:12px}.paper{padding:11px}.equipment-layout{grid-template-columns:minmax(205px,1fr) minmax(120px,.6fr) minmax(220px,1fr);gap:10px}.equipment-grid{gap:7px}.paper h3{font-size:20px}.panel-header h2{font-size:20px}.mech-mode .camp-body{grid-template-columns:44px minmax(0,1fr) minmax(285px,40%)}.fleet-detail{gap:8px}.fleet-layout{grid-template-columns:minmax(200px,.85fr) minmax(0,1.7fr)}.fleet-copy h3{font-size:22px}.fleet-copy .caption{font-size:11px}}
@media(max-height:540px) and (orientation:landscape){:root{--chrome:34px;--nav:36px}.topbar,.panel-header{padding-block:2px;gap:6px}.ink-round,.header-actions [data-game-fullscreen],.panel-header>[data-game-fullscreen]{min-width:40px;width:40px;min-height:40px;height:40px}.save-badge #avatar{width:32px;height:35px}.save-badge strong{font-size:14px}.save-badge small{font-size:10px}.save-badge{min-height:36px}.resources>span{font-size:18px}.resources .ink-icon{width:22px;height:22px}.bottom-nav button{font-size:14px;gap:6px}.bottom-nav .ink-icon{width:21px;height:21px}.panel-header h2{font-size:18px}.panel-header #panel-wallet{font-size:12px}.panel-content{padding:9px 12px}.camp-body{padding-top:4px;padding-bottom:3px}.control-deck{gap:6px;padding:0}.shortcut{min-height:55px;gap:2px}.shortcut strong{font-size:12px}.shortcut .ink-icon{width:24px;height:24px}.camp-shortcuts{gap:12px}.stage-heading{padding:4px 6px;top:2px}.stage-heading .display-name{font-size:21px;min-height:28px}.stage-heading p{font-size:11px}.stage-heading small{font-size:10px}.health{padding:4px 7px;min-width:91px;font-size:11px}.chapter-caption strong{font-size:17px}.chapter-switch #chapter-picture .comic-art{height:65px;max-height:18dvh}.chapter-caption small{font-size:10px}.chapter-switch{padding:5px}.next-goal{padding:5px 7px}.next-goal strong{font-size:12px}.next-goal small{font-size:10px}.departure-dock>small{font-size:10px}.depart{font-size:17px!important;min-height:44px}.hangar-loadout{padding:7px}.hangar-loadout h2{font-size:16px;margin-bottom:5px}.weapon-slot{grid-template-columns:45px minmax(0,1fr);min-height:44px;padding:4px;gap:0 4px}.weapon-slot .card-art{height:33px}.weapon-slot strong{font-size:12px}.weapon-slot small{font-size:10px}.hangar-weapons{gap:5px}.hangar-loadout .action-strip{margin-top:6px;gap:4px}.hangar-loadout .action-strip .comic-button{min-height:32px;font-size:11px;padding:4px}.mech-mode .chapter-caption small{display:none}.view-controls button{min-height:34px;font-size:12px}.equipment-shortcut{min-height:35px;font-size:12px}.cover-copy{top:15%;right:7%;width:40%}.cover-mark{max-height:31dvh}.cover-logo{margin-bottom:10px}.cover-logo h1{font-size:23px;margin-top:2px}.cover-actions #enter-game{min-height:44px;font-size:23px}.cover-save{margin-top:8px;min-height:36px;font-size:13px}.cover-profile{margin-top:5px;font-size:10px}.cover-tools{top:4px;right:8px}.paper{padding:10px}.paper h3{font-size:19px}.paper p{margin:.25em 0 .5em}.detail-sheet p{font-size:12px}.detail-sheet{gap:4px}.condition{font-size:12px;margin:3px 0}.comic-button{font-size:13px;min-height:38px;padding:6px 9px}.comic-button.primary{font-size:16px}.paper-stat{padding:3px 0}.paper-stat strong{font-size:20px}.paper-stat small{font-size:11px}.ink-stamp{font-size:12px;padding:2px 7px;margin:4px 3px}.large-object{max-height:40dvh}.equipment-grid .card-art{height:45px}.equipment-grid .photo-card strong{font-size:12px}.equipment-grid .photo-card small{font-size:10px}.equipment-grid .photo-card{gap:1px;padding:4px}.equipment-context{margin-top:5px}.equipment-context>*{min-height:32px;font-size:11px}.paper-tabs{margin-bottom:7px;gap:5px}.paper-tabs .comic-button{font-size:12px;min-height:33px;padding:4px}.equipment-layout .large-object{height:125px}.equipment-layout .detail-sheet>.comic-button{min-height:36px;font-size:12px}.ui-portrait{height:calc(100dvh - 112px);min-height:130px}.ui-portrait .dad-layer{max-height:100%}.growth-sheet{align-self:start;padding:10px}.growth-sheet>.comic-button{min-height:36px;font-size:13px}.upgrade-grid{margin:7px 0;gap:7px}.upgrade-card{padding:8px}.upgrade-card h3{font-size:15px;margin-bottom:4px}.upgrade-card>.ink-icon{width:26px;height:26px;float:right;margin:0}.upgrade-card p{font-size:12px;min-height:30px}.upgrade-card .comic-button{font-size:12px;min-height:40px;padding:4px}.growth-history{margin-top:4px}.growth-history>summary{min-height:25px;padding:4px 0}.item-paper .part-art{height:70px;max-height:20dvh}.item-paper h4{font-size:13px}.item-paper .comic-button{min-height:36px;font-size:12px}.family-picker{gap:5px}.family-picker .photo-card{min-height:43px;height:43px}.family-picker .card-art{height:34px}.family-picker .photo-card strong{font-size:13px}.family-picker .photo-card small{font-size:10px}.chapter-grid{gap:9px}.chapter-grid .card-art{height:63px;max-height:18dvh}.chapter-grid .photo-card strong{font-size:13px}.chapter-grid .photo-card small{font-size:11px}.chapter-detail h3{font-size:20px}.chapter-detail .caption{font-size:11px}.chapter-actions{gap:5px;margin-top:3px}.goal-paper{padding:6px 8px}.goal-paper strong{font-size:12px}.goal-paper small{font-size:10px}.chapter-detail>.quiet{min-height:28px;font-size:11px;margin-top:0}.fleet-picker{gap:8px}.fleet-picker .card-art{height:75px;max-height:21dvh}.fleet-picker .photo-card strong{font-size:14px}.fleet-picker .photo-card small{font-size:10px}.fleet-picker .photo-card{padding:5px;gap:1px}.fleet-detail{padding:9px;gap:9px}.fleet-art{max-height:calc(100dvh - 125px)}.fleet-copy{gap:4px}.fleet-copy h3{font-size:20px}.fleet-copy>.comic-button,.fleet-actions>.comic-button{font-size:12px;min-height:36px;padding:5px}.fleet-copy>p{font-size:11px}.fleet-actions{gap:5px}.fleet-copy>.quiet{min-height:28px}.upgrade-mech{height:calc(100dvh - 120px)}.level-arrow{font-size:25px}.slot-checks{margin:6px 0;gap:6px}.slot-checks>*{padding:5px}.slot-checks .ink-icon{width:19px;height:19px}.slot-checks small{font-size:10px}.weapon-layout .object-sheet{padding:12px}.weapon-layout .large-object{height:120px}.loadout-layout{align-items:start}.loadout-sheet .weapon-slot{min-height:49px}.loadout-sheet .action-strip{margin:8px 0 3px;gap:5px}.loadout-sheet .action-strip .comic-button{min-height:36px;font-size:11px}.loadout-sheet>.quiet{min-height:29px;font-size:11px}.loadout-preview{max-height:calc(100dvh - 110px)}.loadout-mech{max-height:calc(100dvh - 133px)}.save-grid .card-art{height:53px;max-height:15dvh}.save-grid .photo-card strong{font-size:13px}.save-grid .photo-card small{font-size:11px}.save-grid .photo-card{padding:5px}.settings-grid{gap:8px}.settings-grid .comic-button{min-height:52px;font-size:14px}.settings-grid .ink-icon{width:23px;height:23px}.skills-sheet{padding:9px}.skills-sheet h3{font-size:18px}.skills-sheet .photo-card strong{font-size:11px}.skills-sheet .photo-card small{font-size:10px}.skills-sheet .photo-card{padding:4px}.skills-sheet .photo-card .card-art{height:30px}.skill-slots,.skill-grid{gap:6px;margin-bottom:7px}.skill-poster h3{font-size:20px}.skill-poster .large-object{height:80px}.skills-sheet>.comic-button{min-height:35px}.inventory-grid{gap:9px}.inventory-card>.comic-art{height:50px}.inventory-card h3{font-size:14px}.inventory-card>p{font-size:12px}.inventory-card .comic-button{font-size:12px;min-height:36px}.story-grid{gap:10px}.story-photo>img{height:28dvh}.story-photo h3{font-size:16px}.story-photo .comic-button{font-size:12px;min-height:34px}.result-grid .paper-stat strong{font-size:19px}.result-grid .paper-stat small{font-size:10px}}
@media(orientation:portrait){:root{--chrome:86px;--nav:52px}.topbar{flex-wrap:wrap;gap:4px 7px;padding:5px 10px}.brand{display:none}.save-badge{flex:1}.resources{gap:9px}.resources>span{font-size:18px}.header-actions{width:100%;justify-content:flex-end;height:33px}.header-actions .ink-round,.header-actions [data-game-fullscreen]{width:34px;height:34px;min-height:34px;min-width:34px;padding:6px}.cover-family{width:98%;height:62%;left:-2%;bottom:34%}.cover-copy{top:auto;bottom:6%;right:6%;width:88%;padding:10px 14px;background:#eddfbec4;box-shadow:2px 4px #121c1b77}.cover-mark{height:105px;max-height:15dvh}.cover-logo h1{font-size:23px}.cover-actions #enter-game{font-size:22px}.portrait-note{display:block;position:absolute;z-index:3;bottom:1%;width:100%;text-align:center;font-size:12px}.camp-body{grid-template-columns:45px minmax(0,1fr);grid-template-rows:minmax(170px,1fr) auto;gap:8px;padding:5px 10px}.camp-shortcuts{grid-row:1;gap:12px}.stage{grid-column:2;grid-row:1}.control-deck{grid-column:1/-1;display:grid;grid-template-columns:1fr 1.1fr;gap:7px;max-height:31dvh}.chapter-switch{grid-row:span 2}.chapter-switch #chapter-picture .comic-art{height:65px;max-height:10dvh}.chapter-caption strong{font-size:17px}.chapter-caption small{display:none}.next-goal{grid-column:2;padding:6px;max-height:70px}.next-goal strong{font-size:11px}.next-goal small{display:none}.departure-dock{grid-column:2;justify-content:end}.departure-dock>small{font-size:10px}.depart{font-size:15px!important;white-space:normal;min-height:45px}.return-summary{grid-column:1/-1}.mech-mode .camp-body{grid-template-columns:40px 1fr;grid-template-rows:minmax(160px,1fr) auto}.mech-mode .control-deck{grid-template-columns:1fr;max-height:34dvh}.mech-mode .chapter-switch{grid-row:auto}.mech-mode .departure-dock{grid-column:1}.mech-mode .hangar-loadout{display:none}.mech-mode .next-goal{display:none}.mech-mode .chapter-caption small{display:block}.bottom-nav button{flex-direction:column;font-size:12px;gap:2px}.bottom-nav .ink-icon{width:20px;height:20px}.panel-header{flex-wrap:wrap;padding:5px 8px;gap:4px 6px;align-content:center}.panel-header h2{font-size:18px}.panel-header #panel-wallet{font-size:12px}.panel-content{padding:13px 10px}.ui-layout,.equipment-layout,.outfit-layout,.growth-layout,.skills-layout,.warehouse-layout,.family-layout,.chapters-layout,.upgrade-layout,.weapon-layout,.settings-layout,.result-layout,.fleet-layout,.loadout-layout{display:flex;flex-direction:column;gap:14px;min-height:0}.ui-layout>*{width:100%}.equipment-layout .object-sheet{display:none}.equipment-grid{grid-template-columns:repeat(3,1fr)}.equipment-grid .card-art{height:55px}.detail-sheet{width:100%}.large-object{height:130px;max-height:24dvh}.growth-layout>.ui-portrait{display:none}.upgrade-card{padding:8px}.upgrade-card h3{font-size:15px}.upgrade-card p{font-size:12px}.upgrade-card .comic-button{font-size:11px;padding:5px}.growth-nodes{grid-template-columns:repeat(4,1fr)}.family-picker{grid-template-columns:repeat(2,1fr)}.family-layout>.ui-portrait{display:none}.fleet-picker{grid-template-columns:repeat(4,1fr);gap:6px}.fleet-picker .card-art{height:65px}.fleet-picker .photo-card{padding:4px}.fleet-picker .photo-card strong{font-size:14px}.fleet-picker .photo-card small{font-size:10px}.fleet-detail{grid-template-columns:.65fr 1fr}.fleet-art{height:240px}.inventory-grid{grid-template-columns:repeat(2,1fr)}.treasure-grid{grid-template-columns:repeat(2,1fr)}.chapter-grid .card-art{height:85px}.chapter-grid .photo-card strong{font-size:14px}.chapter-detail{padding:14px}.slot-checks{gap:7px}.upgrade-mech,.loadout-preview{height:180px;max-height:25dvh}.loadout-mech{height:160px}.loadout-sheet .action-strip .comic-button{font-size:12px}.settings-grid .comic-button{min-height:60px;font-size:15px}.save-grid .card-art{height:75px}.story-grid{grid-template-columns:repeat(2,1fr)}.story-photo>img{height:170px;max-height:25dvh}.result-grid{grid-template-columns:repeat(3,1fr)}.result-photo .comic-art{height:180px}.skills-layout .skill-poster{display:none}.skills-sheet .photo-card strong{font-size:12px}.skill-grid{gap:7px}.outfit-grid{gap:7px}.item-paper{padding:7px}.item-paper .part-art{height:80px}.item-paper h4{font-size:13px}.item-paper .comic-button{font-size:11px}.cover-tools .ink-round{height:40px;width:40px}}
@media(prefers-reduced-motion:reduce){.cover-family,.camp-portrait,.cover-scene,.camp:before{transform:none!important;will-change:auto}}
/* Short landscape still keeps both chapter actions visible, including resumes. */
@media(max-height:430px) and (orientation:landscape){.chapter-detail{padding:8px;gap:3px}.chapter-detail h3{margin:0;font-size:18px;line-height:1.2}.chapter-detail>.caption{margin:0;font-size:10px;line-height:1.4}.chapter-detail>p:not(.caption){margin:1px 0 3px;font-size:11px;line-height:1.4}.chapter-detail .goal-paper{display:grid;grid-template-columns:auto 1fr;gap:1px 6px;padding:5px 7px;margin:0}.chapter-detail .goal-paper small{align-self:center;font-size:10px}.chapter-detail .goal-paper strong{margin:0;font-size:11px;line-height:1.4}.chapter-detail .goal-paper p{grid-column:1/-1;margin:0;font-size:11px;line-height:1.4}.chapter-actions{margin-top:1px;gap:4px}.chapter-actions .primary{font-size:15px;min-height:44px}.chapter-actions>.comic-button:not(.primary){min-height:32px;padding:4px 7px;font-size:11px}.chapter-actions .ink-icon{width:18px;height:18px}.chapter-grid .card-art{height:55px}}
.growth-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px}.growth-heading h3{margin:0}.growth-heading .caption{margin:2px 0 0;font-size:11px}.growth-heading>.comic-button{flex-shrink:0;min-height:36px;font-size:13px}.upgrade-card>.caption,.upgrade-card>.condition{min-height:0;margin:2px 0;font-size:11px}.upgrade-card>p:not(.caption):not(.condition){min-height:24px;margin:4px 0;font-size:12px}
@media(max-height:430px) and (orientation:landscape){.growth-sheet{padding:8px}.growth-heading{margin-bottom:5px}.growth-heading h3{font-size:18px}.growth-heading .caption{font-size:10px}.growth-heading>.comic-button{min-height:36px;font-size:12px}.growth-sheet>.ink-meter{height:6px}.upgrade-grid{margin:6px 0;gap:6px}.upgrade-card{padding:7px}.upgrade-card>.caption,.upgrade-card>.condition{font-size:11px;line-height:1.3}.upgrade-card>p:not(.caption):not(.condition){min-height:18px;font-size:11px;line-height:1.3}.upgrade-card .comic-button{min-height:40px}.growth-history{margin-top:2px}}

/* R82: anchored scene, smaller instruments, character-first landscape. */
@media(orientation:landscape){
 .camp-body,.mech-mode .camp-body{grid-template-columns:40px minmax(0,1fr) minmax(200px,27%);gap:12px;padding:9px 2.2% 10px 1.5%}
 .control-deck{justify-content:center;gap:9px;padding-block:7px;align-self:stretch}
 .camp-portrait{inset:0;height:100%;width:100%}
 .topbar,.panel-header{gap:8px;padding-block:0;background:#10221dd6}
 .ink-round,.header-actions [data-game-fullscreen],.panel-header>[data-game-fullscreen]{height:32px;width:32px;min-width:32px;min-height:32px;padding:6px}
 .header-actions{gap:8px}.ink-round .ink-icon,.header-actions .ink-icon{width:19px;height:19px}
 .brand{min-height:32px}.brand b{font-size:18px}.brand span{font-size:6px}
 .save-badge{min-height:32px;background:none;gap:5px}.save-badge #avatar{width:27px;height:29px}
 .save-badge strong{font-size:12px}.save-badge small{font-size:9px}#experience{height:2px;margin-top:1px}
 .resources{gap:12px}.resources>span{font-size:15px;gap:4px}.resources .ink-icon{width:19px;height:19px}
 .bottom-nav{background:#10221de0}.bottom-nav button{font-size:12px;gap:6px}.bottom-nav .ink-icon{width:18px;height:18px}
 .camp-shortcuts,.mech-mode .camp-shortcuts{gap:18px}.shortcut,.mech-mode .shortcut{min-height:44px;padding:5px 3px;border-radius:17px 17px 3px 3px;gap:3px;background:#10251bb3}.shortcut .ink-icon{width:20px;height:20px}.shortcut strong{font-size:10px}
 .stage-heading{top:7%;left:1%;padding:4px 6px;background:#10231c88;max-width:32%}.stage-heading small{font-size:9px;letter-spacing:.03em}.stage-heading .display-name{font-size:19px;min-height:25px}.stage-heading p{font-size:10px}.stage-heading #mech-level{font-size:11px}
 .health{top:7%;right:1%;min-width:79px;font-size:10px;padding:5px 6px;box-shadow:1px 2px #17211d88}.health progress{height:3px;margin-top:3px}
 .equipment-shortcut{bottom:0;min-height:32px;font-size:11px;padding:4px 10px;background:#ddd5becc}.equipment-shortcut .ink-icon{width:18px;height:18px}
 .view-controls button{min-height:32px;padding:4px 9px;font-size:11px;background:#e7d9bfce}
 .chapter-switch{padding:5px;flex-shrink:0}.chapter-switch #chapter-picture .comic-art{height:clamp(64px,18dvh,130px);max-height:none}
 .chapter-caption{gap:5px}.chapter-caption>b{font-size:15px;padding:2px 4px}.chapter-caption strong{font-size:16px}.chapter-caption small{font-size:9px}
 .next-goal{flex:0 1 auto;padding:8px;min-height:52px;max-height:24dvh;background:#10231da8}.next-goal strong{font-size:11px;line-height:1.55}.next-goal small{font-size:10px}
 .departure-dock{gap:4px;padding:0}.departure-dock>small{font-size:9px;background:transparent;padding:0 2px}.depart{min-height:38px;font-size:16px!important;padding:5px 8px}.return-summary{font-size:10px;min-height:25px}
 .mech-mode .chapter-switch{padding:5px 7px}.mech-mode .chapter-caption strong{font-size:13px}.mech-mode .chapter-caption small{display:none}
 .hangar-loadout{flex:0 1 auto;padding:7px;overflow:auto}.hangar-loadout h2{font-size:13px;margin:0 0 6px}.hangar-weapons{gap:5px}.hangar-loadout .weapon-slot{grid-template-columns:minmax(0,1fr);grid-template-rows:35px auto auto;gap:0;min-height:0;padding:4px}.hangar-loadout .weapon-slot .card-art{grid-row:1;height:34px}.hangar-loadout .weapon-slot strong{font-size:11px}.hangar-loadout .weapon-slot small{font-size:9px}
 .panel-header h2{font-size:17px}.panel-header #panel-wallet{font-size:11px}.panel-content{padding:14px 3%}.panel-content>*{max-width:1120px}.paper{box-shadow:2px 3px #17211d88}.paper h3{font-size:20px}.paper-stat strong{font-size:20px}
 .cover-copy{width:34%;right:9%;top:25%}.cover-logo{margin-bottom:12px}.cover-logo h1{font-size:clamp(18px,2vw,30px)}.cover-actions #enter-game{min-height:40px;font-size:clamp(19px,1.8vw,27px)}.cover-save{min-height:32px;font-size:12px;margin-top:9px}.cover-profile{font-size:10px}.cover-tools .ink-round{height:32px;width:32px;min-height:32px}.cover-actions [data-game-fullscreen]{width:32px;min-width:32px;min-height:32px;height:32px;padding:6px}
}
@media(max-height:430px) and (orientation:landscape){
 .camp-body,.mech-mode .camp-body{grid-template-columns:35px minmax(0,1fr) minmax(190px,26%);gap:9px;padding-top:3px;padding-bottom:5px}
 .control-deck{gap:6px;padding-block:4px}.chapter-switch #chapter-picture .comic-art{height:61px}.chapter-caption strong{font-size:14px}.chapter-caption small{display:none}
 .next-goal{padding:6px 8px;min-height:45px;max-height:60px}.next-goal small{font-size:9px}.hangar-loadout .weapon-slot{grid-template-rows:28px auto auto;padding:3px}.hangar-loadout .weapon-slot .card-art{height:27px}.hangar-loadout{padding:6px}.hangar-loadout h2{margin-bottom:4px;font-size:12px}
 .panel-content{padding:10px 2.5%}.chapter-detail{padding:9px}.chapter-detail h3{font-size:18px}
}
@media(orientation:landscape){.next-goal{flex:0 0 auto;max-height:none;overflow:visible}.next-goal strong{line-height:1.4}}

.static-portrait{object-fit:contain;transform:none;animation:none}

/* Character choice is independent from save profiles and equipment ownership. */
.character-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:850px;margin:0 auto}
.character-card{text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}
.character-card .character-face{display:block;width:100%;height:240px;max-height:38dvh;object-fit:contain;border-radius:6px}
.character-card .character-face img{height:100%;width:100%;object-fit:contain}
.character-card h3,.character-card p{margin:0}.character-card .comic-button{margin-top:auto;min-width:130px}
.character-fullbody{display:block;object-fit:contain;width:100%;height:100%;max-height:65dvh}
.camp-portrait>.character-fullbody{max-height:none;position:absolute;inset:0}
@media(max-height:540px){.character-grid{gap:9px}.character-card .character-face{height:140px;max-height:35dvh}.character-card{gap:4px}.character-card p{font-size:12px}}
