#coastal-camp[hidden],#combat-art[hidden],.camp-person[hidden]{display:none!important}
#coastal-camp{position:fixed;inset:0;z-index:14;pointer-events:none;font-family:var(--font-body);color:#16282d}
#coastal-camp header{position:absolute;top:22px;left:25px;padding:17px 23px;background:repeating-linear-gradient(0deg,#8275520c 0 1px,transparent 1px 3px),#eae0c6;border:3px solid #111;box-shadow:5px 5px #0008;max-width:430px;transform:rotate(-.6deg)}
#coastal-camp header small{display:block;font:700 10px var(--font-body);letter-spacing:.16em;color:#ab3326}
#coastal-camp header strong{display:block;font:21px var(--font-display);margin:10px 0 12px}
#coastal-camp header span{font-size:14px;font-weight:600}
#coastal-camp nav{position:absolute;right:24px;bottom:28px;display:grid;gap:8px;width:220px;pointer-events:auto}
#coastal-camp nav button{background:repeating-linear-gradient(0deg,#8275520c 0 1px,transparent 1px 3px),#eae0c6;border:3px solid #111;box-shadow:4px 4px #0007;padding:12px 18px;color:#142a30;text-align:left;font:700 16px var(--font-body)}
#coastal-camp nav button:hover{background:#ffd48a;transform:translateX(-3px)}
.camp-interact{position:absolute;left:50%;bottom:25px;transform:translateX(-50%);background:repeating-linear-gradient(0deg,#8275520c 0 1px,transparent 1px 3px),#eae0c6;border:3px solid #111;padding:10px 17px;font:700 14px var(--font-body);box-shadow:4px 4px #0007;max-width:46vw;text-align:center}
#camp-labels{position:fixed;inset:0;pointer-events:none;z-index:13}
.camp-person{color:#17282b;position:absolute;transform:translate(-50%,-100%);font-family:var(--font-body);background:#eae0c6ed;border:2px solid #111;box-shadow:3px 3px #0006;padding:6px 10px;text-align:center;white-space:nowrap}
.camp-person small{display:block;font-size:8px;font-weight:700;letter-spacing:.12em;color:#a33326}.camp-person b{font-size:16px}
.camp-sheet{background:repeating-linear-gradient(0deg,#8275520c 0 1px,transparent 1px 3px),#ece2c8;border:4px solid #111;box-shadow:7px 7px #0007;padding:28px 36px;max-width:1120px;width:100%;margin:auto;color:#17282b;font-family:var(--font-body)}
.camp-sheet>p{font-size:20px;line-height:1.5;max-width:930px}.camp-sheet>p:first-of-type{font-size:23px;font-weight:600}
.camp-sheet h2{font:30px var(--font-display)}.camp-ledger{border-block:2px solid #78684b66;padding:12px 0;margin:22px 0;font-size:13px;letter-spacing:.1em;font-weight:700}
.camp-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:20px 0 25px}
.camp-choice{background:#f4e9cf;border:3px solid #19282c;padding:20px;text-align:left;color:#17282b;box-shadow:4px 4px #0005;font-family:var(--font-body);min-height:160px}
.camp-choice small{font-size:10px;font-weight:700;color:#a73827;letter-spacing:.12em}.camp-choice strong{font:19px var(--font-display);display:block;margin:14px 0}.camp-choice p{font-size:16px;line-height:1.4;margin:0}.camp-choice.equipped{border-color:#af3425;background:#f7d7a1}.camp-choice:disabled{opacity:.4;cursor:default}.camp-choice:hover:not(:disabled){transform:translateY(-3px)}
.camp-command{display:flex;flex-wrap:wrap;gap:12px;margin-top:25px}
#combat-art{position:fixed;left:22px;bottom:165px;z-index:16;background:repeating-linear-gradient(0deg,#8275520c 0 1px,transparent 1px 3px),#f3dfa6;color:#17282b;border:3px solid #111;box-shadow:4px 4px #0007;padding:12px 18px;min-width:260px;font-family:var(--font-body);pointer-events:none;transform:rotate(-1deg)}
#combat-art small{display:block;font-size:10px;letter-spacing:.12em;color:#a33326;font-weight:700}#combat-art b{display:inline-block;font-size:18px;margin-top:6px}#combat-art span{float:right;font:20px var(--font-display);margin:6px 0 0 17px}
.opus-bestiary{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.opus-bestiary article{background:#eae0c6;border:3px solid #111;padding:25px;color:#17282b}.opus-bestiary img{width:100%;height:230px;object-fit:contain;image-rendering:pixelated}.opus-bestiary h2{font:21px var(--font-display)}.opus-bestiary p{font:17px/1.5 var(--font-body)}
body.in-camp #sb-chapter-hud,body.in-camp #sb-guide{display:none!important}
@media(max-height:780px){#coastal-camp header{top:17px;left:18px;padding:13px 18px}#coastal-camp header strong{font-size:18px}#coastal-camp nav{bottom:22px;width:185px}#coastal-camp nav button{padding:9px 12px;font-size:14px}.camp-sheet{padding:20px 27px}.camp-sheet>p{font-size:17px}.camp-sheet>p:first-of-type{font-size:20px}.camp-choice{padding:16px;min-height:142px}.camp-choice strong{font-size:16px}.camp-interact{font-size:12px}.opus-bestiary img{height:170px}}
@media(max-width:900px){.camp-choices,.opus-bestiary{grid-template-columns:1fr}.camp-sheet{overflow:auto}.camp-interact{left:20px;transform:none;max-width:53vw}.camp-person{padding:4px 7px}.camp-person b{font-size:13px}#coastal-camp header{max-width:48vw}#combat-art{min-width:200px}}

.mm-desktop-quit{position:fixed;right:35px;bottom:22px;z-index:6;background:#122c34;color:#eddfc0;border:1px solid #b7aa83;padding:9px 17px;font:700 14px var(--font-body);cursor:pointer}
.sb-tabs{flex-wrap:wrap}.sb-journal-top{flex-wrap:wrap}
@media(max-height:900px){#mm-main .mm-mark{width:130px;margin-bottom:4px}#mm-main .mm-side{gap:3px}#mm-main .mm-item{padding:4px 20px;min-height:46px}#mm-main .mm-item .mm-glyph{flex-basis:28px;height:28px;font-size:17px}#mm-main .mm-item strong{font-size:20px}#mm-main .mm-item.go strong{font-size:24px}#mm-main .mm-item small{font-size:10px;margin-top:2px}}

#cutscene .portrait.opus-portrait{background-size:contain!important;background-position:center!important;image-rendering:pixelated;filter:brightness(.55) saturate(.8);height:min(76vh,780px);bottom:10%;width:48vw}#cutscene[data-speaker=raiku] .portrait-raiku.opus-portrait,#cutscene[data-speaker=yakuna] .portrait-yakuna.opus-portrait{filter:brightness(1.08) drop-shadow(3px 5px 0 #0007)}

#hud #boss b{white-space:normal;overflow-wrap:normal;max-width:100%;font-size:clamp(17px,1.65vw,24px);line-height:1.2}#hud #boss-traits{margin:5px 0 6px;color:#f7e2bd;font:700 11px/1.3 var(--font-body);letter-spacing:.09em;text-shadow:1px 2px #111}#hud #boss-traits[hidden]{display:none}#hud:has(#boss:not(.hidden)) .mission-panel{width:clamp(260px,25vw,340px)}
