.campaign-world{min-height:330px;position:relative;isolation:isolate;background:var(--world) center 57%/cover;border:1px solid #51666d;border-radius:8px;overflow:hidden}.campaign-world-shade{position:absolute;inset:0;background:linear-gradient(90deg,#07131be8,#07131b20),linear-gradient(0deg,#07131be8,transparent 65%);z-index:-1}.campaign-heading{padding:32px;max-width:760px}.campaign-heading>small,.campaign-chapter small,.campaign-panel>small,.campaign-section-heading small{font-size:10px;letter-spacing:2px;color:#ecb681}.campaign-heading h1{font:700 clamp(24px,3vw,39px)/1.6 "Yu Mincho",serif;margin:17px 0}.campaign-heading p{max-width:550px;line-height:1.9;color:#cfdbdb;font-size:12px}.campaign-summary{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.campaign-summary>span{padding:8px 12px;background:#0b1a23cf;border:1px solid #586b7077;border-radius:5px;font-size:11px}.campaign-summary b{font-size:19px;color:#fac087}.campaign-atlas{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:18px 0 26px}.campaign-region{background:#101f2a;border:1px solid #334852;padding:12px;border-radius:5px}.campaign-region.current{border-color:#d9a46b;background:#293137}.campaign-region small{font-size:9px;letter-spacing:2px;color:#96b0b9}.campaign-region h3{font-size:12px;margin:7px 0 12px}.campaign-region>div{display:flex;gap:7px}.chapter-pin{width:29px;height:29px;background:#1c303d;border:1px solid #49616b;color:#a1b6bb;border-radius:4px;cursor:pointer}.chapter-pin.active{background:#ebaf73;color:#192329;border-color:#ffdbab}.chapter-pin.done{color:#8ee4c5;border-color:#72bba6}.campaign-chapter{background:linear-gradient(90deg,#0b1923ef,#0b192390),var(--chapter-art) center/cover;border:1px solid #334e5b;border-radius:6px;margin:18px 0}.campaign-chapter-copy{padding:28px;max-width:730px}.campaign-chapter h2{font-size:27px;margin:15px 0}.campaign-chapter p{line-height:1.9;color:#becfd2;font-size:13px}.campaign-route{display:inline-block;padding:8px 12px;border-left:2px solid #77ccbd;background:#142b32;margin:8px 0;font-size:12px}.campaign-branch{font-size:11px!important;color:#f2cda8!important}.campaign-panel{border:1px solid #334a55;background:linear-gradient(150deg,#152630,#101c25);border-radius:6px;padding:25px;margin:20px 0}.campaign-panel h2{font-size:23px;margin:10px 0 18px}.campaign-panel p{line-height:1.8;font-size:12px;color:#b6c9cf}.campaign-section-heading{display:flex;justify-content:space-between;align-items:center;gap:14px}.campaign-section-heading>b{white-space:nowrap;color:#f5bb85;font-size:12px}.campaign-pips{display:flex;gap:5px;margin:12px 0 20px}.campaign-pips i{height:5px;flex:1;background:#304954;border-radius:2px}.campaign-pips i.done{background:#8cdbbe;box-shadow:0 0 8px #6fcaa244}.campaign-task-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin:20px 0}.campaign-task{position:relative;background:#0e1a23;border:1px solid #39505c;border-radius:5px;overflow:hidden}.campaign-task>img{width:100%;height:130px;object-fit:cover}.campaign-task>div{padding:15px}.campaign-task small{font-size:9px;letter-spacing:1px;color:#8da8b3}.campaign-task h3{font-size:13px;line-height:1.7;min-height:42px}.campaign-task strong{font:700 22px monospace;display:block;color:#f9d4aa;margin:12px 0}.campaign-task.done{border-color:#71bca4}.campaign-task.done small{color:#83d5b7}.campaign-task .btn{width:100%}.campaign-report{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px}.campaign-report span{font-size:11px;color:#afc8ce}.campaign-small{font-size:11px!important;color:#8fa8b2!important}.campaign-preparation{display:grid;grid-template-columns:1fr 1fr;gap:18px}.campaign-preparation .campaign-panel{margin:0}.blueprint-art{height:175px;position:relative;margin:-25px -25px 20px;overflow:hidden;background:#13272e}.blueprint-art img{width:100%;height:100%;object-fit:cover;filter:saturate(.7)}.blueprint-art span{position:absolute;bottom:10px;left:14px;background:#0b212adb;border:1px solid #6bbcc0;padding:7px 10px;color:#a9e7e3;font:10px monospace;letter-spacing:2px}.campaign-gates{margin:20px 0}.campaign-gates>div{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #304752;font-size:11px;color:#9bb3bb}.campaign-gates .met{color:#87dbbf}.campaign-gates b{white-space:nowrap}.campaign-clue{display:flex;gap:18px;border-left:2px solid #c39362;margin:18px 0;padding:10px 15px;background:#101e28}.campaign-clue b{white-space:nowrap;font-size:9px;color:#e1b27f;padding-top:14px}.campaign-freeplay{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.campaign-panel details{font-size:12px;line-height:1.9;color:#c6d6d7}.campaign-panel summary{cursor:pointer;color:#dcb188}@media(max-width:700px){.campaign-heading{padding:22px}.campaign-world{min-height:350px}.campaign-atlas{grid-template-columns:repeat(2,1fr)}.campaign-preparation{grid-template-columns:1fr}.campaign-task-grid{grid-template-columns:1fr}.campaign-task{display:grid;grid-template-columns:100px 1fr}.campaign-task>img{height:100%;min-height:150px}.campaign-task h3{min-height:0;margin:8px 0}.campaign-task strong{display:inline-block;margin:7px 15px 10px 0;font-size:20px}.campaign-task .btn{width:auto;float:right}.campaign-panel{padding:18px}.blueprint-art{margin:-18px -18px 18px}.campaign-heading h1{font-size:26px}.campaign-chapter h2{font-size:22px}.campaign-section-heading h2{font-size:20px}.campaign-region{padding:10px}.chapter-pin{width:27px;height:27px}.campaign-region>div{gap:5px}}

.campaign-powerup{position:fixed;right:24px;top:95px;z-index:300;padding:18px 25px;background:linear-gradient(110deg,#183b38f5,#1d293bf5);border:1px solid #8be2bd;border-left:4px solid #f1bc76;box-shadow:0 15px 55px #0009,0 0 26px #5fd0a333;color:#e4fff4;pointer-events:none;animation:campaign-gain .45s ease-out}.campaign-powerup small{display:block;font-size:9px;letter-spacing:2px;color:#a5d6bd}.campaign-powerup strong{display:block;font-size:18px;margin:8px 0}.campaign-powerup b{color:#ffdbab;font:700 20px monospace}@keyframes campaign-gain{from{opacity:0;transform:translateX(30px)}to{opacity:1;transform:translateX(0)}}@media(max-width:600px){.campaign-powerup{right:12px;left:12px;top:80px;padding:14px 20px}}
