/* Approved Nano Banana batch 02: scenery and live data are separate layers. */
#game#game#game#game#game#game#game#game .menu-scene{position:absolute;inset:0;width:100%;height:100%;max-width:none;max-height:none;display:block;padding:0;margin:0;border:0;border-radius:0;box-shadow:none;text-shadow:none;background:#263d3d center/cover no-repeat;color:#263c39;font-family:var(--pz-serif);overflow:hidden}
#game#game#game#game#game#game#game#game .menu-scene.hidden,#game#game#game#game#game#game#game#game .menu-scene[hidden],#game#game#game#game#game#game#game#game .menu-scene [hidden]{display:none!important}
#game#game#game#game#game#game#game#game .menu-scene::before,#game#game#game#game#game#game#game#game .menu-scene::after{display:none}
#game#game#game#game#game#game#game#game .menu-scene button{min-width:44px;min-height:44px;border:1px solid #ab8e60;border-radius:3px;border-image:none;padding:6px 12px;background:var(--pz-dark-art) center/cover;color:#f2dfb4;font:16px/1.3 var(--pz-serif);box-shadow:none;letter-spacing:0;text-shadow:none;cursor:pointer;touch-action:manipulation}
#game#game#game#game#game#game#game#game .menu-scene button::before,#game#game#game#game#game#game#game#game .menu-scene button::after{display:none}
#game#game#game#game#game#game#game#game .menu-scene button:focus-visible,#game#game#game#game#game#game#game#game .menu-scene input:focus-visible{outline:2px solid #bf7c3d;outline-offset:2px}
#game#game#game#game#game#game#game#game .menu-scene button:active{filter:brightness(.85)}
#game#game#game#game#game#game#game#game .menu-scene button:disabled{opacity:.6;filter:grayscale(.7);cursor:default}
#game#game#game#game#game#game#game#game .menu-scene .menu-primary,#game#game#game#game#game#game#game#game #loadout-confirm{background:var(--pz-red-art) center/cover;border:3px double #bb9760;color:#f6dfac;min-height:48px;font-size:21px;letter-spacing:.12em}
#game#game#game#game#game#game#game#game .menu-scene .paper-surface{background:var(--pz-paper-art) center/cover;color:#293e38;border:5px double #9b805a;box-shadow:0 7px 18px #14151c66}
#game#game#game#game#game#game#game#game .menu-heading,#game#game#game#game#game#game#game#game #loadout .loadout-top{position:absolute;inset:3% 4% auto;display:flex;align-items:center;gap:18px;width:auto;height:48px;min-height:44px;margin:0;padding:0;background:none;border:0;color:#efdfbb;z-index:4}
#game#game#game#game#game#game#game#game .menu-heading h2,#game#game#game#game#game#game#game#game #loadout .loadout-top h2{font:32px/1.2 var(--pz-serif);letter-spacing:.1em;color:#efdfbb;text-shadow:0 2px 5px #111;margin:0;white-space:nowrap}
#game#game#game#game#game#game#game#game .menu-heading>button,#game#game#game#game#game#game#game#game #loadout-back{margin-left:auto;background:#162e36b8;border:1px solid #b4966588;color:#ecd9b4;font-size:14px;white-space:nowrap}
#game#game#game#game#game#game#game#game #camp-detail-player{margin-left:auto;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:30%;font-size:17px;color:#eedcbb}
#game#game#game#game#game#game#game#game #camp-detail-player+button{margin-left:0}
#game#game#game#game#game#game#game#game .menu-scene .book-wrap,#game#game#game#game#game#game#game#game .menu-scene .loadout-wrap{position:absolute;inset:0;display:block;margin:0;padding:0;width:100%;height:100%;max-width:none;max-height:none;background:none;border:0;border-image:none;border-radius:0;box-shadow:none;overflow:hidden}
#game#game#game#game#game#game#game#game .menu-scene .book-wrap::before,#game#game#game#game#game#game#game#game .menu-scene .book-wrap::after,#game#game#game#game#game#game#game#game .menu-scene .loadout-wrap::before,#game#game#game#game#game#game#game#game .menu-scene .loadout-wrap::after{display:none}
/* Chronicle */
#game#game#game#game#game#game#game#game #dashboard[data-tab=history] .camp-detail-panel{background-image:url('./assets/ui/rebuild/history-scene.webp')}
#game#game#game#game#game#game#game#game #dashboard[data-tab=maps] .camp-detail-panel{background-image:url('./assets/ui/rebuild/campaign-scene.webp')}
#game#game#game#game#game#game#game#game #camp-content{position:absolute;inset:18% 0 0;display:block;padding:0;overflow:visible;mask-image:none;background:none;max-height:none}
#game#game#game#game#game#game#game#game #camp-content>section{position:absolute;inset:0;border:0;padding:0;margin:0;background:none;box-shadow:none;max-height:none;overflow:visible}
#game#game#game#game#game#game#game#game .chronicle-book{position:absolute;inset:0 7% 7%;display:grid;grid-template-columns:35% 65%;padding:20px 24px;border-radius:8px 15px 15px 8px;transform:perspective(1500px) rotateX(1deg)}
#game#game#game#game#game#game#game#game .chronicle-index{display:flex;flex-direction:column;min-height:0;min-width:0;border-right:2px solid #9d896353;padding-right:18px;box-shadow:12px 0 14px -14px #372b23}
#game#game#game#game#game#game#game#game .chronicle-index h3{font:21px/1.2 var(--pz-serif);margin:0 0 10px;text-align:center;color:#374039}
#game#game#game#game#game#game#game#game #camp-history-count{font:12px/1.2 system-ui;color:#76664f;white-space:nowrap}
#game#game#game#game#game#game#game#game #camp-history{flex:1;min-height:0;overflow:auto;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:#957c55 transparent}
#game#game#game#game#game#game#game#game .chronicle-index>small{font:11px/1.4 var(--pz-serif);margin-top:8px;color:#786b56;text-align:center}
#game#game#game#game#game#game#game#game #camp-history .chronicle-entry{display:grid;grid-template-columns:1fr auto;gap:5px 8px;width:100%;padding:12px 9px;margin:0;min-height:90px;align-content:center;background:none;border:0;border-bottom:1px solid #8f7b5555;border-radius:0;color:#2f3b33;text-align:left;box-shadow:none}
#game#game#game#game#game#game#game#game #camp-history .chronicle-entry.selected{background:#a94a3120;box-shadow:inset 3px 0 #9a4e37;border-top:1px solid #a0523b66;border-bottom:1px solid #a0523b66}
#game#game#game#game#game#game#game#game .chronicle-entry b{font:18px/1.3 var(--pz-serif);grid-column:1/-1}
#game#game#game#game#game#game#game#game .chronicle-entry span,#game#game#game#game#game#game#game#game .chronicle-entry strong{font:14px/1.3 var(--pz-serif)}
#game#game#game#game#game#game#game#game .chronicle-entry strong{color:#8d3f2e}
#game#game#game#game#game#game#game#game .chronicle-entry small{grid-column:1/-1;font:11px/1.3 system-ui;color:#756b58}
#game#game#game#game#game#game#game#game #camp-report-detail{min-height:0;min-width:0;overflow:auto;touch-action:pan-y;padding:4px 2px 4px 30px;scrollbar-width:thin;scrollbar-color:#9a8057 transparent}
#game#game#game#game#game#game#game#game .report-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px}
#game#game#game#game#game#game#game#game .report-heading h3{font:32px/1.2 var(--pz-serif);margin:0;color:#222f2c}
#game#game#game#game#game#game#game#game .report-seal{font:13px/1.4 var(--pz-serif);border:1px solid #a34c35;padding:4px;color:#9a4935;white-space:nowrap}
#game#game#game#game#game#game#game#game .report-owner{display:flex;justify-content:space-between;gap:12px;font:15px/1.5 var(--pz-serif);margin:0;color:#4c5447}
#game#game#game#game#game#game#game#game .report-owner b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:54%}
#game#game#game#game#game#game#game#game .report-score{display:flex;gap:14px;align-items:baseline;justify-content:center;margin:12px 0 8px;font-size:24px}
#game#game#game#game#game#game#game#game .report-score strong{font:46px/1.1 Georgia,serif;color:#923f2c;font-variant-numeric:tabular-nums}
#game#game#game#game#game#game#game#game .report-metrics{display:flex;justify-content:center;gap:22px;font:16px/1.4 var(--pz-serif);padding:6px 0 12px;border-bottom:1px solid #9d845355}
#game#game#game#game#game#game#game#game .report-kills{display:flex;justify-content:space-between;gap:7px;margin:15px 0;padding-bottom:13px;border-bottom:1px solid #9d845355}
#game#game#game#game#game#game#game#game .report-kills>div{display:flex;flex:1;flex-direction:column;align-items:center;gap:5px;min-width:0}
#game#game#game#game#game#game#game#game .report-kills b{font:25px/1.2 Georgia,serif;color:#26382d}
#game#game#game#game#game#game#game#game .report-kills span{font:13px/1.2 var(--pz-serif);white-space:nowrap}
#game#game#game#game#game#game#game#game .report-note{font:13px/1.5 var(--pz-serif);margin:8px 0;color:#675b45}
#game#game#game#game#game#game#game#game .chronicle-empty,#game#game#game#game#game#game#game#game .camp-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center}
#game#game#game#game#game#game#game#game .chronicle-empty h3{font:25px/1.3 var(--pz-serif);margin:0;color:#51432d}
#game#game#game#game#game#game#game#game .chronicle-empty p,#game#game#game#game#game#game#game#game .chronicle-empty small,#game#game#game#game#game#game#game#game .camp-empty small{font:13px/1.5 var(--pz-serif);color:#7c6e56;margin:0}
/* Campaign table */
#game#game#game#game#game#game#game#game #camp-maps{position:absolute;inset:0;display:block}
#game#game#game#game#game#game#game#game #camp-maps .campaign-zone{position:absolute;left:19%;top:4%;width:27%;min-height:65px;background:#f4e8cdde;color:#303b2f;border:1px solid #8c7752;box-shadow:0 4px 14px #2a201f66;display:flex;flex-direction:column;gap:4px;padding:10px 14px}
#game#game#game#game#game#game#game#game #camp-maps .campaign-zone[data-chapter=hanjin]{left:60%;top:6%}
#game#game#game#game#game#game#game#game #camp-maps .campaign-zone.selected{border:3px double #9a3c27;background:#eee0bff2;outline:2px solid #ccaa60;outline-offset:3px}
#game#game#game#game#game#game#game#game .campaign-zone b{font:25px/1.2 var(--pz-serif)}
#game#game#game#game#game#game#game#game .campaign-zone span{font:13px/1.2 var(--pz-serif);color:#914e34}
#game#game#game#game#game#game#game#game #camp-maps .campaign-zone.locked{filter:saturate(.3);color:#655d4e}
#game#game#game#game#game#game#game#game #campaign-landmarks{position:absolute;inset:0;pointer-events:none}
#game#game#game#game#game#game#game#game .landmarks span{position:absolute;font:15px/1.4 var(--pz-serif);background:#eee4cbbd;border-radius:2px;color:#31382b;padding:2px 6px;box-shadow:0 2px 5px #433b2b22}
#game#game#game#game#game#game#game#game .landmarks.changban .point-0{left:20%;top:32%}#game#game#game#game#game#game#game#game .landmarks.changban .point-1{left:36%;top:29%}#game#game#game#game#game#game#game#game .landmarks.changban .point-2{left:39%;top:55%}
#game#game#game#game#game#game#game#game .landmarks.hanjin .point-0{left:57%;top:36%}#game#game#game#game#game#game#game#game .landmarks.hanjin .point-1{left:70%;top:29%}#game#game#game#game#game#game#game#game .landmarks.hanjin .point-2{left:67%;top:50%}
#game#game#game#game#game#game#game#game .landmarks.locked{opacity:.55}
#game#game#game#game#game#game#game#game #campaign-detail{position:absolute;right:4%;bottom:5%;width:32%;padding:12px 16px;display:flex;flex-direction:column;gap:6px}
#game#game#game#game#game#game#game#game #campaign-detail small{font:11px/1.4 var(--pz-serif);color:#974930}
#game#game#game#game#game#game#game#game #campaign-detail h3{font:25px/1.2 var(--pz-serif);margin:0;color:#26362c}
#game#game#game#game#game#game#game#game #campaign-detail p{font:13px/1.5 var(--pz-serif);margin:0;color:#4c5142}
#game#game#game#game#game#game#game#game #campaign-depart{margin-top:3px}
#game#game#game#game#game#game#game#game .campaign-progress{position:absolute;left:6%;bottom:5%;max-width:48%;padding:7px 12px;background:#172f35c7;color:#f0dfb9}
#game#game#game#game#game#game#game#game .campaign-progress p{font:15px/1.6 var(--pz-serif);margin:0}
#game#game#game#game#game#game#game#game .campaign-progress #camp-completed{font-size:11px;color:#d9ceb9}
/* Collection and pre-battle share portraits and compact nine-card navigation. */
#game#game#game#game#game#game#game#game #collection{background-image:url('./assets/ui/rebuild/collection-scene.webp')}
#game#game#game#game#game#game#game#game #loadout{background-image:url('./assets/ui/rebuild/loadout-scene.webp')}
#game#game#game#game#game#game#game#game .collection-layout{position:absolute;inset:19% 5% 12%;display:grid;grid-template-columns:38% 62%;gap:2%;}
#game#game#game#game#game#game#game#game .collection-index{display:flex;flex-direction:column;min-height:0;min-width:0;padding:10px}
#game#game#game#game#game#game#game#game .hero-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:9px;min-height:0;min-width:0;max-height:none;overflow:visible;margin:0;padding:0;background:none}
#game#game#game#game#game#game#game#game #collection-grid{flex:1}
#game#game#game#game#game#game#game#game .menu-scene .hero-card{position:relative;display:flex;align-items:center;justify-content:flex-end;flex-direction:column;padding:0;margin:0;min-height:44px;min-width:44px;background:#33413c;border:1px solid #9d8255;border-radius:2px;box-shadow:0 3px 7px #262d2833;overflow:hidden}
#game#game#game#game#game#game#game#game .menu-scene .hero-card.selected{outline:2px solid #a54b30;outline-offset:1px;border-color:#f3d2a0}
#game#game#game#game#game#game#game#game .menu-scene .hero-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 24%;max-height:none;opacity:1;border:0;margin:0}
#game#game#game#game#game#game#game#game .menu-scene .hero-card b{position:relative;font:17px/1.3 var(--pz-serif);color:#f5e6c4;padding:3px;width:100%;text-align:center;margin:0;background:linear-gradient(transparent,#121c22ed);z-index:1}
#game#game#game#game#game#game#game#game .menu-scene .hero-card small{position:relative;font:10px/1.2 system-ui;color:#cfd1b9;background:#172425ed;width:100%;text-align:center;padding:0 2px 3px;z-index:1}
#game#game#game#game#game#game#game#game .menu-scene .hero-card.locked img{filter:brightness(0);opacity:.82}
#game#game#game#game#game#game#game#game .menu-scene .hero-card.locked{background:#a99e89}
#game#game#game#game#game#game#game#game #collection-count{font:14px/1.5 var(--pz-serif);margin:5px 0 0;color:#624a32}
#game#game#game#game#game#game#game#game #collection-detail,#game#game#game#game#game#game#game#game #selected-hero{position:relative;min-width:0;min-height:0;border:0;background:none;padding:0;overflow:visible;box-shadow:none;border-radius:0}
#game#game#game#game#game#game#game#game .menu-hero-figure{position:absolute;right:4%;top:-8%;width:88%;height:110%;object-fit:contain;object-position:center bottom;max-height:none;filter:drop-shadow(0 8px 12px #17282c55);pointer-events:none}
#game#game#game#game#game#game#game#game .menu-hero-figure.portrait-fallback{mask-image:linear-gradient(90deg,transparent,#000 14%,#000 86%,transparent);border-radius:20%}
#game#game#game#game#game#game#game#game .hero-meta{position:absolute;left:0;top:0;width:24%;padding:12px 10px;text-align:center;z-index:1}
#game#game#game#game#game#game#game#game .hero-meta h3{font:31px/1.2 var(--pz-serif);color:#283b33;margin:0 0 5px}
#game#game#game#game#game#game#game#game .hero-meta>p{font:14px/1.4 var(--pz-serif);color:#69583d;margin:0}
#game#game#game#game#game#game#game#game .hero-meta.collection-meta{left:auto;right:3%;width:20%;padding:0;background:none;display:flex;flex-direction:row-reverse;align-items:flex-start;gap:5px}
#game#game#game#game#game#game#game#game .collection-meta h3{writing-mode:vertical-rl;font-size:38px;color:#26372d}
#game#game#game#game#game#game#game#game .collection-meta>p{writing-mode:vertical-rl;font-size:15px;color:#455746}
#game#game#game#game#game#game#game#game .hero-stats{margin:15px 0 0;display:flex;flex-direction:column;gap:9px;background:none;border:0;padding:0}
#game#game#game#game#game#game#game#game .hero-stats>div{display:flex;justify-content:space-between;gap:6px;padding:0;background:none;border:0}
#game#game#game#game#game#game#game#game .hero-stats dt{font:14px/1.2 var(--pz-serif);color:#4e5548}
#game#game#game#game#game#game#game#game .hero-stats dd{font:18px/1.2 Georgia,serif;color:#8e442f;margin:0}
#game#game#game#game#game#game#game#game .hero-info-strip{position:absolute;bottom:-2%;right:0;width:92%;padding:10px 14px;z-index:2;max-height:48%;overflow:auto;touch-action:pan-y;scrollbar-width:thin}
#game#game#game#game#game#game#game#game .hero-description{font:16px/1.3 var(--pz-serif);margin:0 0 6px;color:#384b3c}
#game#game#game#game#game#game#game#game .hero-skill-line{display:flex;gap:12px;align-items:flex-start}
#game#game#game#game#game#game#game#game .hero-skill-line>span{display:grid;grid-template-columns:auto 1fr;gap:3px 6px;flex:1;min-width:0}
#game#game#game#game#game#game#game#game .hero-skill-line .game-icon{width:28px;height:28px;grid-row:span 2;filter:sepia(.7) brightness(.5)}
#game#game#game#game#game#game#game#game .hero-skill-line small{font:10px/1.2 var(--pz-serif);color:#816c4e}
#game#game#game#game#game#game#game#game .hero-skill-line b{font:14px/1.3 var(--pz-serif);color:#2f4236;font-weight:400}
#game#game#game#game#game#game#game#game .hero-skill-line>span:last-child{display:flex;flex-direction:column;flex:1.2}
#game#game#game#game#game#game#game#game .hero-access{font:11px/1.5 var(--pz-serif);margin:7px 0 0;padding:0;color:#57694a;border:0;background:none}
#game#game#game#game#game#game#game#game .hero-access.unavailable{color:#91472e}
#game#game#game#game#game#game#game#game #collection .hero-info-strip{padding-right:135px;width:97%;min-height:105px}
#game#game#game#game#game#game#game#game #collection-select{position:absolute;right:10px;bottom:14px;max-width:120px;min-height:44px;font-size:17px;padding:6px 10px}
#game#game#game#game#game#game#game#game .collection-rule{position:absolute;left:5%;bottom:4%;margin:0;padding:4px 10px;font:13px/1.5 var(--pz-serif);color:#eedeb8;background:#26382dbe}
#game#game#game#game#game#game#game#game #loadout .prebattle-layout{position:absolute;inset:20% 4% 19%;display:grid;grid-template-columns:58% 38%;gap:4%;width:auto;height:auto;min-height:0;overflow:visible;margin:0}
#game#game#game#game#game#game#game#game #loadout .prebattle-roster{display:flex;flex-direction:column;gap:8px;min-width:0;min-height:0;overflow:visible;border:0;background:none;padding:0;box-shadow:none}
#game#game#game#game#game#game#game#game #loadout .roster-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0;color:#ecdab6}
#game#game#game#game#game#game#game#game .roster-heading h3{font:18px/1.3 var(--pz-serif);margin:0;color:#e7d2a9}
#game#game#game#game#game#game#game#game #roster-count{font:11px/1.3 var(--pz-serif);color:#d6c9ae;white-space:nowrap}
#game#game#game#game#game#game#game#game #hero-options{flex:1}
#game#game#game#game#game#game#game#game #loadout .solo-note{font:12px/1.4 var(--pz-serif);text-align:center;color:#e6d7b9;margin:0;padding:0;background:none;border:0}
#game#game#game#game#game#game#game#game #loadout .hero-info-strip{width:82%;max-height:46%;bottom:-6%;padding:9px 11px}
#game#game#game#game#game#game#game#game #loadout .hero-description{display:none}
#game#game#game#game#game#game#game#game #loadout #chapter-picker{display:flex;margin:auto;gap:8px;align-items:center;flex-wrap:nowrap}
#game#game#game#game#game#game#game#game #chapter-picker button{display:flex;align-items:center;justify-content:center;gap:4px;min-width:0;padding:5px 10px;font-size:15px;background:#283b3dbd;border:1px solid #9b8255;box-shadow:none;color:#e8d8b7}
#game#game#game#game#game#game#game#game #chapter-picker button.selected{background:var(--pz-paper-art) center/cover;color:#4e3f2c;border-color:#bca477}
#game#game#game#game#game#game#game#game #chapter-picker .game-icon{display:none}
#game#game#game#game#game#game#game#game #chapter-picker small{font:10px/1.2 var(--pz-serif)}
#game#game#game#game#game#game#game#game #launch-row{position:absolute;left:4%;right:4%;bottom:4%;display:flex;align-items:center;justify-content:flex-end;gap:20px;padding:0;background:none;border:0;margin:0}
#game#game#game#game#game#game#game#game #loadout-confirm{width:38%;min-height:52px;padding:7px 18px;flex-shrink:0}
#game#game#game#game#game#game#game#game #practice-options{width:58%;max-width:none;display:flex;flex-wrap:wrap;gap:5px 9px;align-items:center;padding:5px 9px;background:#142b35b8;border:1px solid #bd9d6d55;color:#ead9b7;margin:0}
#game#game#game#game#game#game#game#game #practice-options.hidden{display:none}
#game#game#game#game#game#game#game#game #practice-options label{font:12px/1.3 var(--pz-serif)}
#game#game#game#game#game#game#game#game #practice-options select{min-height:44px;flex:1;min-width:0;border:1px solid #9e8558;background:#e7dcc3;color:#243932;font:13px/1.3 var(--pz-serif);padding:4px 8px}
#game#game#game#game#game#game#game#game #practice-options>span{flex-basis:100%;font:10px/1.3 var(--pz-serif);color:#d3c7ad}
#game#game#game#game#game#game#game#game #loadout-error{position:absolute;bottom:0;right:4%;margin:0;padding:0;font:12px/1.4 var(--pz-serif);color:#ffd6bc;background:#192e39dd;max-width:80%}
/* Player merit, independent from the hero being used. */
#game#game#game#game#game#game#game#game #ranking{background-image:url('./assets/ui/rebuild/ranking-scene.webp')}
#game#game#game#game#game#game#game#game .rank-personal{position:absolute;left:6%;top:28%;width:23%;bottom:12%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:16px 12px;gap:8px;border-top:8px ridge #8c7556;border-bottom:8px ridge #8c7556;border-radius:0 0 15px 15px}
#game#game#game#game#game#game#game#game .rank-personal>label,#game#game#game#game#game#game#game#game .rank-personal>span{font:15px/1.3 var(--pz-serif);color:#5c654f}
#game#game#game#game#game#game#game#game #ranking-player{font:23px/1.3 var(--pz-serif);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#354732}
#game#game#game#game#game#game#game#game #ranking-best{font:35px/1.1 Georgia,serif;color:#943e2f;max-width:100%;overflow-wrap:anywhere}
#game#game#game#game#game#game#game#game #ranking-position{font:18px/1.3 var(--pz-serif);color:#8e4c32}
#game#game#game#game#game#game#game#game .nickname-editor{display:flex;align-items:center;gap:5px;flex-wrap:wrap;width:100%;padding:0;margin:0;background:none;border:0}
#game#game#game#game#game#game#game#game .nickname-editor.hidden{display:none}
#game#game#game#game#game#game#game#game #nickname{width:calc(100% - 50px);min-width:0;min-height:44px;padding:6px;border:1px solid #a18a61;border-radius:2px;background:#fff7e8a6;color:#293d35;font:14px/1.3 var(--pz-serif)}
#game#game#game#game#game#game#game#game #nickname-save{width:45px;min-width:44px;min-height:44px;padding:3px;font-size:12px;background:var(--pz-red-art) center/cover}
#game#game#game#game#game#game#game#game #nickname-message{flex-basis:100%;font:11px/1.4 system-ui;color:#944630;min-height:0;text-align:center}
#game#game#game#game#game#game#game#game #nickname-message:empty{display:none}
#game#game#game#game#game#game#game#game .rank-scroll{position:absolute;left:39%;right:5%;top:18%;bottom:12%;display:flex;flex-direction:column;padding:15px 22px;border-top:9px ridge #766445;border-bottom:9px ridge #766445}
#game#game#game#game#game#game#game#game .rank-scroll-heading{display:flex;align-items:center;justify-content:center;gap:20px;margin:0 0 8px;color:#26392f}
#game#game#game#game#game#game#game#game .rank-scroll-heading h3{font:31px/1.2 var(--pz-serif);margin:0;color:#27392e}
#game#game#game#game#game#game#game#game #ranking-season{font:14px/1.4 var(--pz-serif);color:#944a31}
#game#game#game#game#game#game#game#game #ranking-body{flex:1;min-height:0;overflow:auto;touch-action:pan-y;scrollbar-width:thin;scrollbar-color:#977d54 transparent;padding:0;border:0;background:none}
#game#game#game#game#game#game#game#game #ranking-body table{width:100%;border-collapse:collapse;table-layout:fixed;font:17px/1.4 var(--pz-serif);background:none;margin:0;border:0;color:#30402f}
#game#game#game#game#game#game#game#game #ranking-body th{font:14px/1.4 var(--pz-serif);padding:7px 3px;background:none;color:#6c654f;border-bottom:1px solid #8c755b55}
#game#game#game#game#game#game#game#game #ranking-body th:nth-child(1){width:13%}#game#game#game#game#game#game#game#game #ranking-body th:nth-child(2){width:40%}#game#game#game#game#game#game#game#game #ranking-body th:nth-child(3){width:24%}#game#game#game#game#game#game#game#game #ranking-body th:nth-child(4){width:23%}
#game#game#game#game#game#game#game#game #ranking-body td{padding:9px 3px;border-bottom:1px solid #907d5c33;color:#263d30;text-align:center;background:none;vertical-align:middle;font-variant-numeric:tabular-nums}
#game#game#game#game#game#game#game#game #ranking-body tr.mine{background:#b9583425}
#game#game#game#game#game#game#game#game #ranking-body tr.mine td{color:#98462e}
#game#game#game#game#game#game#game#game .rank-name{display:inline-block;max-width:calc(100% - 20px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:middle}
#game#game#game#game#game#game#game#game .mine-seal{font:11px/1.3 var(--pz-serif);border:1px solid #a6553d;padding:2px;color:#994832;vertical-align:middle}
#game#game#game#game#game#game#game#game #ranking-body .rank-number{display:inline;font:18px/1.4 Georgia,serif;color:inherit;background:none;border:0;padding:0;box-shadow:none}
#game#game#game#game#game#game#game#game #ranking-body tr:nth-child(-n+3) .rank-number{color:#a57b35}
#game#game#game#game#game#game#game#game .ranking-rule{position:absolute;left:39%;right:5%;bottom:4%;font:14px/1.5 var(--pz-serif);color:#e9dcc1;text-align:center;margin:0}
#game#game#game#game#game#game#game#game .ranking-state{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;text-align:center;padding:16px;border:0;background:none;color:#64573e}
#game#game#game#game#game#game#game#game .ranking-state b{font:23px/1.3 var(--pz-serif)}
#game#game#game#game#game#game#game#game .ranking-state p{font:14px/1.6 var(--pz-serif);margin:0;color:#74654d}
#game#game#game#game#game#game#game#game #ranking-body:has(#ranking-retry) .ranking-state{height:auto;min-height:60%}
#game#game#game#game#game#game#game#game #ranking-retry{display:block;margin:8px auto}
/* Phone landscape keeps every roster entry visible; secondary details scroll with a fade. */
@media(max-height:540px){
 #game#game#game#game#game#game#game#game .menu-heading,#game#game#game#game#game#game#game#game #loadout .loadout-top{inset:2% 3% auto;height:44px;gap:10px}
 #game#game#game#game#game#game#game#game .menu-heading h2,#game#game#game#game#game#game#game#game #loadout .loadout-top h2{font-size:25px}
 #game#game#game#game#game#game#game#game .menu-heading>button,#game#game#game#game#game#game#game#game #loadout-back{font-size:12px;padding:4px 9px}
 #game#game#game#game#game#game#game#game #camp-content{top:17%}
 #game#game#game#game#game#game#game#game .chronicle-book{inset:0 6% 5%;padding:13px 17px}
 #game#game#game#game#game#game#game#game .chronicle-index{padding-right:12px}#game#game#game#game#game#game#game#game .chronicle-index h3{font-size:17px;margin-bottom:5px}
 #game#game#game#game#game#game#game#game #camp-history .chronicle-entry{min-height:77px;padding:9px 7px;gap:4px}
 #game#game#game#game#game#game#game#game .chronicle-entry b{font-size:16px}#game#game#game#game#game#game#game#game .chronicle-entry span,#game#game#game#game#game#game#game#game .chronicle-entry strong{font-size:12px}
 #game#game#game#game#game#game#game#game .chronicle-entry small,#game#game#game#game#game#game#game#game .chronicle-index>small{font-size:10px}
 #game#game#game#game#game#game#game#game #camp-report-detail{padding:0 0 0 19px}
 #game#game#game#game#game#game#game#game .report-heading{margin-bottom:7px}#game#game#game#game#game#game#game#game .report-heading h3{font-size:26px}#game#game#game#game#game#game#game#game .report-seal{font-size:11px}
 #game#game#game#game#game#game#game#game .report-owner{font-size:13px;gap:6px}#game#game#game#game#game#game#game#game .report-score{font-size:19px;margin:9px 0 6px}#game#game#game#game#game#game#game#game .report-score strong{font-size:35px}
 #game#game#game#game#game#game#game#game .report-metrics{font-size:13px;gap:17px;padding-bottom:9px}#game#game#game#game#game#game#game#game .report-kills{margin:11px 0;padding-bottom:9px;gap:4px}#game#game#game#game#game#game#game#game .report-kills b{font-size:22px}#game#game#game#game#game#game#game#game .report-kills span{font-size:11px}#game#game#game#game#game#game#game#game .report-note{font-size:11px;margin:6px 0}
 #game#game#game#game#game#game#game#game #camp-maps .campaign-zone{min-height:53px;padding:6px;top:3%}#game#game#game#game#game#game#game#game .campaign-zone b{font-size:21px}#game#game#game#game#game#game#game#game .campaign-zone span{font-size:11px}
 #game#game#game#game#game#game#game#game .landmarks span{font-size:12px}
 #game#game#game#game#game#game#game#game #campaign-detail{padding:8px 12px;width:33%;gap:3px;bottom:4%;right:3%}#game#game#game#game#game#game#game#game #campaign-detail h3{font-size:22px}#game#game#game#game#game#game#game#game #campaign-detail p{font-size:11px}#game#game#game#game#game#game#game#game #campaign-detail small{font-size:10px}#game#game#game#game#game#game#game#game #campaign-depart{min-height:44px;font-size:18px}
 #game#game#game#game#game#game#game#game .campaign-progress p{font-size:12px}#game#game#game#game#game#game#game#game .campaign-progress #camp-completed{font-size:10px}
 #game#game#game#game#game#game#game#game .collection-layout{inset:18% 4% 11%;grid-template-columns:37% 63%;gap:1%}#game#game#game#game#game#game#game#game .collection-index{padding:7px}#game#game#game#game#game#game#game#game .hero-grid{gap:6px}
 #game#game#game#game#game#game#game#game .menu-scene .hero-card b{font-size:14px;padding:2px}#game#game#game#game#game#game#game#game .menu-scene .hero-card small{font-size:9px;padding-bottom:2px}
 #game#game#game#game#game#game#game#game #collection-count{font-size:12px;margin-top:3px}#game#game#game#game#game#game#game#game .collection-rule{bottom:3%;font-size:11px}
 #game#game#game#game#game#game#game#game .hero-meta{padding:9px 7px;width:25%}#game#game#game#game#game#game#game#game .hero-meta h3{font-size:25px}#game#game#game#game#game#game#game#game .hero-meta>p{font-size:11px}#game#game#game#game#game#game#game#game .hero-stats{gap:8px;margin-top:14px}#game#game#game#game#game#game#game#game .hero-stats dt{font-size:12px}#game#game#game#game#game#game#game#game .hero-stats dd{font-size:15px}
 #game#game#game#game#game#game#game#game .collection-meta h3{font-size:33px}#game#game#game#game#game#game#game#game .collection-meta>p{font-size:13px}
 #game#game#game#game#game#game#game#game .hero-info-strip{padding:8px 10px}#game#game#game#game#game#game#game#game .hero-description{font-size:13px;margin-bottom:5px}#game#game#game#game#game#game#game#game .hero-skill-line{gap:7px}#game#game#game#game#game#game#game#game .hero-skill-line .game-icon{width:23px;height:23px}#game#game#game#game#game#game#game#game .hero-skill-line b{font-size:12px}#game#game#game#game#game#game#game#game .hero-skill-line small{font-size:9px}#game#game#game#game#game#game#game#game .hero-access{font-size:10px;margin-top:5px}
 #game#game#game#game#game#game#game#game #collection .hero-info-strip{padding-right:111px;min-height:96px;max-height:52%}#game#game#game#game#game#game#game#game #collection-select{max-width:100px;font-size:14px;right:8px;bottom:10px;padding:4px 6px}
 #game#game#game#game#game#game#game#game #loadout .prebattle-layout{inset:19% 3% 19%;grid-template-columns:58% 38%;gap:4%}#game#game#game#game#game#game#game#game #loadout .prebattle-roster{gap:5px}#game#game#game#game#game#game#game#game .roster-heading h3{font-size:15px}#game#game#game#game#game#game#game#game #roster-count{font-size:10px}#game#game#game#game#game#game#game#game #loadout .solo-note{font-size:10px}
 #game#game#game#game#game#game#game#game #chapter-picker button{font-size:13px;padding:4px 8px}#game#game#game#game#game#game#game#game #chapter-picker small{font-size:9px;max-width:58px}#game#game#game#game#game#game#game#game #loadout .loadout-top h2{font-size:23px}
 #game#game#game#game#game#game#game#game #loadout .hero-info-strip{padding:8px;bottom:-6%;max-height:47%}#game#game#game#game#game#game#game#game #loadout .hero-access{font-size:9px}
 #game#game#game#game#game#game#game#game #launch-row{bottom:3%;left:3%;right:3%;gap:4%}#game#game#game#game#game#game#game#game #loadout-confirm{min-height:46px;font-size:20px}
 #game#game#game#game#game#game#game#game #practice-options{gap:2px 6px;padding:3px 6px}#game#game#game#game#game#game#game#game #practice-options select{min-height:44px;font-size:11px}#game#game#game#game#game#game#game#game #practice-options label{font-size:11px}#game#game#game#game#game#game#game#game #practice-options>span{font-size:9px}
 #game#game#game#game#game#game#game#game .rank-personal{top:24%;left:5%;width:25%;bottom:10%;padding:10px 9px;gap:5px;border-top-width:6px;border-bottom-width:6px}#game#game#game#game#game#game#game#game .rank-personal>label,#game#game#game#game#game#game#game#game .rank-personal>span{font-size:12px}#game#game#game#game#game#game#game#game #ranking-player{font-size:18px}#game#game#game#game#game#game#game#game #ranking-best{font-size:27px}#game#game#game#game#game#game#game#game #ranking-position{font-size:14px}#game#game#game#game#game#game#game#game #nickname{font-size:12px;padding:4px}#game#game#game#game#game#game#game#game #nickname-save{font-size:11px}
 #game#game#game#game#game#game#game#game .rank-scroll{left:38%;right:4%;top:17%;bottom:10%;padding:10px 14px;border-top-width:6px;border-bottom-width:6px}#game#game#game#game#game#game#game#game .rank-scroll-heading{gap:10px;margin-bottom:5px}#game#game#game#game#game#game#game#game .rank-scroll-heading h3{font-size:25px}#game#game#game#game#game#game#game#game #ranking-season{font-size:11px}
 #game#game#game#game#game#game#game#game #ranking-body table{font-size:14px}#game#game#game#game#game#game#game#game #ranking-body th{font-size:11px;padding:4px 2px}#game#game#game#game#game#game#game#game #ranking-body td{padding:5px 2px;line-height:1.35}#game#game#game#game#game#game#game#game #ranking-body .rank-number{font-size:16px}#game#game#game#game#game#game#game#game .ranking-rule{left:38%;right:4%;bottom:3%;font-size:11px}
}
@media(max-width:720px) and (orientation:landscape){
 #game#game#game#game#game#game#game#game .menu-heading h2{font-size:23px}#game#game#game#game#game#game#game#game #camp-detail-player{font-size:13px;max-width:23%}
 #game#game#game#game#game#game#game#game .chronicle-book{inset:0 3% 4%;padding:11px 13px;grid-template-columns:35% 65%}#game#game#game#game#game#game#game#game .chronicle-entry b{font-size:15px}#game#game#game#game#game#game#game#game #camp-history .chronicle-entry{grid-template-columns:1fr;gap:2px;min-height:80px}#game#game#game#game#game#game#game#game .chronicle-entry small{display:none}
 #game#game#game#game#game#game#game#game #camp-report-detail{padding-left:14px}#game#game#game#game#game#game#game#game .report-heading h3{font-size:23px}#game#game#game#game#game#game#game#game .report-owner{font-size:11px}#game#game#game#game#game#game#game#game .report-score strong{font-size:31px}#game#game#game#game#game#game#game#game .report-metrics{font-size:12px;gap:12px}#game#game#game#game#game#game#game#game .report-kills span{font-size:10px}
 #game#game#game#game#game#game#game#game #campaign-detail{width:36%;right:2%}#game#game#game#game#game#game#game#game .campaign-progress{left:3%;max-width:48%;padding:5px 7px}#game#game#game#game#game#game#game#game .campaign-progress p{font-size:11px}#game#game#game#game#game#game#game#game .landmarks span{font-size:11px}
 #game#game#game#game#game#game#game#game #loadout .loadout-top{gap:6px}#game#game#game#game#game#game#game#game #loadout .loadout-top h2{font-size:20px}#game#game#game#game#game#game#game#game #loadout #chapter-picker{gap:4px}#game#game#game#game#game#game#game#game #chapter-picker button{font-size:12px;padding:4px 6px}#game#game#game#game#game#game#game#game #chapter-picker small{display:none}
 #game#game#game#game#game#game#game#game .hero-meta{width:27%;padding:8px 5px}#game#game#game#game#game#game#game#game .hero-meta h3{font-size:23px}#game#game#game#game#game#game#game#game .hero-stats{gap:9px}#game#game#game#game#game#game#game#game .hero-stats dt{font-size:11px}#game#game#game#game#game#game#game#game .hero-stats dd{font-size:13px}
 #game#game#game#game#game#game#game#game .hero-skill-line .game-icon{display:none}#game#game#game#game#game#game#game#game .hero-skill-line>span{display:flex;flex-direction:column}#game#game#game#game#game#game#game#game .hero-skill-line b{font-size:11px}
 #game#game#game#game#game#game#game#game #collection .hero-info-strip{padding-right:99px}#game#game#game#game#game#game#game#game #collection-select{max-width:90px;font-size:13px}#game#game#game#game#game#game#game#game .hero-description{font-size:12px}
 #game#game#game#game#game#game#game#game .rank-personal{left:3%;width:27%;padding:8px 7px}#game#game#game#game#game#game#game#game #ranking-player{font-size:17px}#game#game#game#game#game#game#game#game .rank-scroll{left:35%;right:3%;padding:9px 10px}#game#game#game#game#game#game#game#game .ranking-rule{left:35%;right:3%;font-size:10px}#game#game#game#game#game#game#game#game #ranking-body table{font-size:13px}#game#game#game#game#game#game#game#game .rank-name{max-width:calc(100% - 18px)}
}
@media(prefers-reduced-motion:reduce){#game#game#game#game#game#game#game#game .menu-scene *{transition:none;scroll-behavior:auto}}
/* Reset legacy card self-alignment and launch-row flex growth. */
#game#game#game#game#game#game#game#game .menu-scene .hero-card{align-self:stretch;justify-self:stretch;width:100%;height:100%;max-height:none;aspect-ratio:auto;flex:none}
#game#game#game#game#game#game#game#game #loadout-confirm{flex:0 0 38%}
#game#game#game#game#game#game#game#game #loadout .hero-info-strip{width:72%}
#game#game#game#game#game#game#game#game .landmarks.hanjin .point-0{left:56%;top:32%}
#game#game#game#game#game#game#game#game .landmarks.hanjin .point-1{left:70%;top:26%}
#game#game#game#game#game#game#game#game .landmarks.hanjin .point-2{left:81%;top:32%}
#game#game#game#game#game#game#game#game #ranking-body td:nth-child(3){font-size:clamp(14px,1.6vw,22px);line-height:1.35;font-weight:400}
@media(max-height:540px){#game#game#game#game#game#game#game#game .rank-scroll{bottom:9%}#game#game#game#game#game#game#game#game #ranking-body td{height:29px;padding:4px 2px;font-size:14px;line-height:18px}#game#game#game#game#game#game#game#game #ranking-body td:nth-child(3){font-size:14px;line-height:18px}#game#game#game#game#game#game#game#game #ranking-body .rank-number{font-size:15px;line-height:18px}}
