:root{--ink:#e9efdf;--jade:#b4e1d2;--gold:#e5cf96;--muted:#9fb8c3;--line:#c8d0bb30;--serif:"SimHei","Microsoft YaHei",sans-serif;--sans:"SimHei","Microsoft YaHei","PingFang SC",system-ui,sans-serif}
*{box-sizing:border-box}body{margin:0;background:#0b1d29;display:grid;place-items:center;min-height:100vh;font-family:var(--sans);color:var(--ink);overflow:hidden;font-size:13px}button,input,select{font:inherit}button{cursor:pointer;color:inherit;border:none}button:disabled{opacity:.4;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:2px}button:active{transform:translateY(1px)}[hidden]{display:none!important}h1,h2,h3,p{margin:0}a{color:inherit;text-decoration:none}
.game-screen{position:relative;width:min(100vw,calc(100vh*.5625));aspect-ratio:9/16;overflow:hidden;container-type:inline-size;box-shadow:0 0 80px #0009;background:#12283c}#game-canvas{position:absolute;inset:0;background:url('/assets/battle-map-city.png') center/cover no-repeat}#game-canvas canvas{width:100%;height:100%;display:block}
.game-header{position:absolute;left:2%;right:2%;top:1.3%;height:7.6%;display:grid;grid-template-columns:27% 1fr 20%;align-items:start;gap:1.5%;z-index:5;text-shadow:0 2px 5px #000b}.brand{padding-top:6%}.brand h1{font-family:var(--serif);font-size:4.1cqw;color:var(--gold);letter-spacing:.12em;font-weight:600;white-space:nowrap}.brand h1 i{font:italic .6em Georgia}.brand p{font-size:1.55cqw;letter-spacing:.12em;margin-top:1cqw;color:#d8ddc5}.header-status{display:flex;flex-direction:column;align-items:center;gap:1.3cqw;text-align:center}.header-status>span:first-child{font-family:var(--serif);font-weight:600;font-size:3.1cqw;letter-spacing:.08em;white-space:nowrap;width:100%;border:1px solid #d7c9989c;border-radius:20px;padding:1.4cqw 1.4cqw;background:linear-gradient(180deg,#152838ee,#09131fde);box-shadow:0 4px 12px #08152666}.header-status>span:last-child{font-size:1.65cqw;color:#e9deaf;white-space:nowrap}.presence{text-align:center;padding-top:.8cqw;display:flex;flex-direction:column;align-items:center;gap:.6cqw}.presence small{font-size:1.75cqw;color:#dcebe5}.presence strong{font:600 4.2cqw Georgia;color:#b1eddb}.presence>span{font-size:1.45cqw;padding:.5cqw 1cqw;border:1px solid #a1d3c745;border-radius:3px;color:#c4dfd4}.settings-button{position:absolute;right:-1cqw;top:-1cqw;border-radius:50%;width:4cqw;height:4cqw;background:#132a37bd;border:1px solid #d6ce9c55;color:#dcd7ab;font-size:2cqw;line-height:1;display:grid;place-items:center}
.battle-summary{position:absolute;top:9%;left:3%;right:3%;display:flex;justify-content:space-between;font-size:1.55cqw;z-index:4;color:#e7ebd5;text-shadow:0 1px 4px #132433}.battle-summary i{display:inline-block;width:.8cqw;height:.8cqw;border-radius:50%;background:#dfc290;margin-right:.7cqw}.battle-summary .connected i{background:#b7ffc5}.city-caption{position:absolute;top:11.5%;left:33%;right:20%;z-index:4;display:flex;align-items:center;flex-direction:column;gap:.8cqw;pointer-events:none;text-shadow:0 2px 7px #081a2de6}.city-caption>span{font-family:var(--serif);font-size:3.3cqw;font-weight:600;letter-spacing:.4em;color:#f2e5b9}.city-caption small{font-size:1.7cqw;color:#cee6ec}.city-caption b{font-size:1.65cqw;color:#b5f2e1;font-weight:500}
.damage-panel{position:absolute;top:11%;left:2%;width:29.5%;min-height:8%;padding:1cqw;background:linear-gradient(135deg,#091424e8,#102137cb);border:1px solid #c6cead80;border-radius:5px;z-index:5;box-shadow:0 6px 16px #09203440}.damage-panel h2{font-size:2.4cqw;font-family:var(--serif);color:var(--gold);font-weight:600;border-bottom:1px solid var(--line);padding-bottom:1cqw;display:flex;justify-content:space-between;align-items:center}.damage-panel h2 small{font:1.4cqw var(--sans);color:#9fb8c3}.damage-row{display:grid;grid-template-columns:1.7cqw 2.6cqw 1fr auto;gap:.7cqw;align-items:center;padding:.4cqw 0;font-size:1.75cqw}.damage-row>b{font-family:Georgia;color:var(--gold)}.damage-row>span:not(.sprite-thumb){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.damage-row>strong{font:500 1.9cqw Georgia;color:#ecd7a6}.damage-avatar{width:2.6cqw;height:2.6cqw;border-radius:50%;background-color:#9baeb824}.damage-empty{padding:2cqw 0;color:#9ab5c1;font-size:1.65cqw;line-height:1.8}
.gate-dashboard{position:absolute;top:40.8%;left:11%;right:11%;display:grid;grid-template-columns:repeat(3,1fr);gap:3.4cqw;z-index:5;pointer-events:none}.gate-card{background:linear-gradient(120deg,#123540e8,#172c45e4);border:1px solid #c2d5b459;border-radius:4px;padding:1cqw 1.15cqw;color:#bdecd8}.gate-card:nth-child(2){color:#e1daff}.gate-card:nth-child(3){color:#f6e5b6}.gate-card.lost{filter:saturate(.2);opacity:.7}.gate-title{display:flex;align-items:center;justify-content:space-between;font-family:var(--serif);font-size:2cqw;letter-spacing:.05em}.gate-title small{font-family:var(--sans);font-size:1.35cqw;color:#c5d7bd}.gate-bar{height:.5cqw;background:#d7e3cc28;border-radius:3px;overflow:hidden;margin:.7cqw 0}.gate-bar i{display:block;height:100%;background:currentColor;transition:width .2s}.gate-numbers{font-size:1.4cqw;display:flex;justify-content:space-between;font-variant-numeric:tabular-nums;color:#d0d9c0}.gate-numbers span:last-child{opacity:.85}.gate-card.low:not(.lost) .gate-bar i{background:#f7b499}
.stage-notice{position:absolute;top:50.5%;left:8%;right:8%;text-align:center;font-family:var(--serif);font-size:3.6cqw;letter-spacing:.12em;color:#fff0b9;text-shadow:0 2px 5px #0f2032,0 0 17px #d6c785;z-index:5;opacity:0;transition:opacity .3s;pointer-events:none}.stage-notice.visible{opacity:1}.battle-guide{position:absolute;bottom:28%;left:3%;right:3%;text-align:center;display:flex;flex-direction:column;gap:1cqw;text-shadow:0 2px 5px #102537;z-index:5;pointer-events:none}.battle-guide>span{font-size:2.2cqw;color:#f0e5b9;letter-spacing:.08em}.battle-guide b{font-weight:600;color:#ffe6a1}.battle-guide small{font-size:1.75cqw;color:#aee5dd}
.bottom-panels{position:absolute;top:73%;bottom:1%;left:1.3%;right:1.3%;display:grid;grid-template-columns:1fr 1fr;gap:1.1%;z-index:6}.ranking-panel,.log-panel{min-width:0;min-height:0;display:flex;flex-direction:column;padding:1.5cqw 1.3cqw 1cqw;background:linear-gradient(150deg,#0b1529f0,#122238e8);backdrop-filter:blur(8px);border:1px solid #d4cba878;border-radius:5px;overflow:hidden;box-shadow:0 6px 24px #081c3b55}.ranking-heading{display:flex;align-items:center;justify-content:space-between;gap:1cqw;padding-bottom:1cqw;flex-shrink:0}.ranking-heading h2{font-family:var(--serif);font-size:2.9cqw;font-weight:600;letter-spacing:.12em;color:#e5d499}.ranking-heading>span{font-size:1.45cqw;color:#b1c2ce;white-space:nowrap}.ranking-columns{display:grid;grid-template-columns:1fr auto;align-items:center;font-size:1.35cqw;letter-spacing:.03em;color:#9dafb8;padding:.8cqw 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);flex-shrink:0}.ranking-columns>span:last-child{text-align:right}.leaderboard{flex:1;min-height:0;overflow:hidden}.rank-row{display:grid;grid-template-columns:1fr auto;gap:.6cqw;width:100%;align-items:center;min-height:4.65cqw;background:none;padding:.65cqw 0;text-align:left;border-bottom:1px solid #a8c89d17}.rank-row:nth-child(odd){background:#bedef305}.rank-row:hover{background:#adc9de18}.rank-person{display:flex;align-items:center;gap:.8cqw;min-width:0}.rank-number{font-family:Georgia;font-size:2cqw;width:1.7cqw;flex-shrink:0;color:#bdd3d8;text-align:center}.rank-row:first-child .rank-number{color:#f1da9a}.sprite-thumb{display:block;background-image:url('/assets/sprites-atlas.png');background-size:400% 200%;background-repeat:no-repeat}.rank-avatar{height:4cqw;width:4cqw;flex-shrink:0;background-color:#b8ceac15;border-radius:50%;filter:drop-shadow(0 2px 3px #233b26)}.rank-user{min-width:0;display:flex;flex-direction:column;gap:.6cqw}.rank-name{display:flex;align-items:center;gap:.65cqw;min-width:0}.rank-name strong{font-size:1.9cqw;font-weight:500;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:11cqw}.ready-badge{font-size:1.2cqw;border-radius:2px;padding:.25cqw .4cqw;white-space:nowrap;background:#d7c87c25;color:#efda93}.rank-user small{font-size:1.45cqw;color:#afc6d4;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:16cqw}.rank-score{text-align:right;display:flex;flex-direction:column;gap:.5cqw;flex-shrink:0}.rank-score strong{font:500 2.1cqw Georgia;color:#eadca9}.rank-score small{font-size:1.45cqw;color:#c4d7db}.rank-empty{height:100%;display:grid;place-items:center;text-align:center;font-family:var(--serif);color:#adc2c9;line-height:2;font-size:2cqw}.ranking-foot,.log-foot{flex-shrink:0;padding-top:1cqw;font-size:1.4cqw;color:#91aab9;border-top:1px solid var(--line);white-space:nowrap}.event-log{flex:1;min-height:0;overflow-y:auto;scrollbar-width:thin;scrollbar-color:#bfcab247 transparent}.log-entry{padding:.9cqw 0;border-bottom:1px solid #a8c89d17}.log-entry time{font:1.25cqw Georgia;color:#7e9baa;display:block;margin-bottom:.4cqw}.log-entry p{font-size:1.8cqw;line-height:1.6;overflow-wrap:anywhere;color:#c4d8df}.log-gift p,.log-enhance p{color:#e2d296}.log-equipment p,.log-level p{color:#bbe0dc}.log-gate_lost p,.log-error p{color:#eeb3a7}.log-energy p{color:#9ed3ef}.log-heal p{color:#b8e2bc}.log-boss p{color:#e6c0ee}.log-system p{color:#97b5c2}.log-foot{display:flex;justify-content:space-between;gap:1cqw}.log-empty{color:#9bb4bd;font-size:2cqw;padding-top:2cqw}
.battle-result{position:absolute;top:34%;left:7%;right:7%;padding:4cqw 3cqw;background:linear-gradient(120deg,#142c3eeb,#1a344be0);border:1px solid #e0c8917a;border-radius:10px;z-index:7;backdrop-filter:blur(10px);text-align:center;color:#f1ecd4;box-shadow:0 20px 70px #092e2e40}.result-mark{font-family:var(--serif);font-size:5cqw;display:grid;place-items:center;border:1px solid #c7b36d9a;width:9cqw;height:9cqw;border-radius:50%;margin:0 auto 2cqw;color:#e4d29a}.result-eyebrow{color:#cdcfaa;font-size:1.7cqw;letter-spacing:.2em}.battle-result h2{font-family:var(--serif);font-size:4cqw;letter-spacing:.1em;font-weight:500;margin:2cqw 0}.battle-result>p:not(.result-eyebrow){font-size:2cqw;color:#c8d0ba;margin-bottom:2cqw}.battle-result strong{font-size:2.4cqw;font-weight:500;display:block;color:#efd598}.battle-result small{font-size:1.6cqw;display:block;color:#a9bea4;margin-top:2cqw}.brand-seal{font:29px var(--serif);color:#e0d19a;border:1px solid #d3c28b;background:#24493a;width:40px;height:40px;display:grid;place-items:center;border-radius:8px 3px 8px 3px}
dialog{background:#f4f5ed;color:#2d4b3d;border:1px solid #d9e2cc;border-radius:12px;padding:27px;width:calc(100% - 28px);max-width:440px;max-height:calc(100vh - 50px);overflow:auto;box-shadow:0 25px 80px #031d2160;scrollbar-width:thin}dialog::backdrop{background:#092f2a95;backdrop-filter:blur(7px)}dialog h2{font-family:var(--serif);font-size:25px;letter-spacing:2px;font-weight:500;margin:10px 0}.eyebrow{font-size:9px;color:#8ca283;letter-spacing:2px}.close-form{position:absolute;right:13px;top:13px}.close-form button{height:28px;width:28px;border:1px solid #d2ddc6;border-radius:50%;background:none;font-size:21px;color:#7e9671}.subtitle{font-size:11px;color:#7c9173;line-height:1.8}.dialog-tabs{display:flex;gap:20px;border-bottom:1px solid #d7e0cb;margin-top:18px}.dialog-tabs button{padding:11px 0;background:none;font-size:12px;color:#8ca17f}.dialog-tabs button.active{color:#315642;border-bottom:2px solid #315642}dialog label{display:block;font-size:11px;margin:16px 0 7px;color:#546c48}dialog label small{font-size:9px;margin-left:8px;color:#93a285}dialog input,dialog select{width:100%;min-width:0;padding:11px 10px;border:1px solid #d2ddc6;border-radius:5px;background:#fffef6;color:#30513e;font-size:12px}.port-input{display:flex;align-items:center;background:#fffef6;border:1px solid #d2ddc6;border-radius:5px;padding:0 11px;color:#8c9e7d}.port-input input{border:none;background:none;width:100px}.primary-button{background:#3b6249;color:#f6efd7;padding:12px 15px;border-radius:5px;letter-spacing:1px;font-size:12px;width:100%}.primary-button:hover{background:#294d39}.status-text{color:#9c8555;font-size:11px;line-height:1.8;margin:15px 0}.link-row{display:flex;justify-content:space-between;gap:10px;margin-top:14px}.text-button{font-size:10px;color:#608253;background:none;padding:3px 0}.note{font-size:10px;color:#8b9e7e;line-height:1.9;margin:15px 0}.rule-block{margin-top:18px}.rule-block h3{font-family:var(--serif);font-size:16px;letter-spacing:1px;font-weight:500;margin-bottom:7px}.rule-block p{font-size:11px;line-height:1.9;color:#7e9171}.gift-rule-summary{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #dce3d2;font-size:11px;color:#718962}.gift-rule-summary strong{font-weight:500;color:#44653c}.gift-rule-summary>span{text-align:right;font-size:10px}details{margin-top:18px}summary{font-size:11px;color:#5e7e50;cursor:pointer}.gift-edit-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px 0;border-top:1px solid #dce3d2}.gift-edit-row label{margin:5px 0;font-size:9px}.gift-edit-row input,.gift-edit-row select{font-size:10px;padding:8px}.test-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:15px}.test-grid button{background:#e6eddb;border:1px solid #d0ddc0;border-radius:4px;padding:10px 5px;color:#5b7d4b;font-size:11px}.command-input{display:flex;gap:7px}.command-input button{background:#e1e9d5;border-radius:4px;padding:0 12px;white-space:nowrap;font-size:11px;color:#587447}.profile-hero{height:155px;width:145px;float:right;margin:0 -14px 0 0;filter:drop-shadow(0 8px 8px #73946120)}.profile-kicker{font-size:10px;color:#879e78}.profile-level{font-size:30px;font-family:Georgia;color:#6c824d;margin:12px 0}.profile-level small{font-size:12px}.profile-powers{font-size:12px;color:#8d7746;line-height:1.9}.resource-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;clear:both;padding-top:18px}.resource-item{background:#e8eeda;border:1px solid #d8e0cb;border-radius:5px;padding:12px 8px;color:#799168;text-align:center}.resource-item span{display:block;font-size:10px}.resource-item strong{display:block;font-size:20px;font-family:Georgia;font-weight:400;color:#557340;margin-top:7px}.upgrade-readiness{display:flex;justify-content:space-between;gap:8px;font-size:11px;padding:14px 0;border-bottom:1px solid #dbe3ce;color:#8a986e}.upgrade-readiness b{font-weight:500;color:#9e8442}.gear-list{margin-top:15px}.gear-slot{padding:12px 0;border-bottom:1px solid #dbe3ce;display:flex;justify-content:space-between;gap:10px;align-items:center}.gear-slot .slot-symbol{font-size:21px;color:#88a372;width:28px}.gear-name{flex:1;min-width:0}.gear-name strong{font-size:12px;font-weight:500;display:block;color:#63805a}.gear-name.rare strong{color:#717ab0}.gear-name.legendary strong{color:#ad8c3f}.gear-name small{font-size:9px;color:#8c9c7d;display:block;margin-top:5px}.gear-plus{font-size:23px;color:#a48b4a;font-family:Georgia}.gear-empty{font-size:10px;color:#96a789}.gear-help{font-size:10px;color:#91a181;line-height:1.9;margin-top:14px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,12px);max-width:calc(100% - 30px);padding:12px 18px;border:1px solid #d4c08c60;background:#244b3eed;color:#f0e6c8;font-size:12px;line-height:1.7;border-radius:6px;text-align:center;box-shadow:0 12px 30px #082b2540;z-index:99;opacity:0;pointer-events:none;transition:.2s}.toast.visible{opacity:1;transform:translate(-50%,0)}.loading-cover{position:fixed;inset:0;background:#193d33;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:19px;z-index:100}.loading-cover p{font-family:var(--serif);font-size:14px;color:#c0cdad;letter-spacing:3px}

.close-form{z-index:20}.profile-hero{pointer-events:none}
.equipment-empty .equipment-art{filter:grayscale(1);opacity:.45}.equipment-inspection{pointer-events:auto}.inspect-heading button{background:none;color:#b9ccd5;font-size:3cqw;margin-left:.6cqw;cursor:pointer}.equipment-inspection footer{display:flex;justify-content:space-between;align-items:center;gap:1cqw}.equipment-inspection footer button{background:none;color:#e2cb91;border-bottom:1px solid #e2cb9160;font-size:1.6cqw;cursor:pointer;padding:.4cqw}

/* Five fixed rows stay visible at every portrait window size. */
.leaderboard{display:grid;grid-template-rows:repeat(5,minmax(0,1fr))}.rank-row{height:100%;min-height:0;padding:.2cqw 0;overflow:hidden}.rank-score,.rank-user{gap:.35cqw}.rank-name strong,.rank-score strong,.rank-user small,.rank-score small,.ready-badge{line-height:1.1}.rank-avatar{width:3.6cqw;height:3.6cqw}.ranking-columns{line-height:1.2}.rank-empty{grid-row:span 5}

/* Gear lives in the previously empty middle column of the permanent ranking. */
.rank-row,.ranking-columns{grid-template-columns:minmax(0,1fr) 14.4cqw 9cqw;gap:.7cqw}.ranking-columns>span:nth-child(2){text-align:center}.rank-person{overflow:hidden;gap:.55cqw}.rank-user{flex:1;min-width:0}.rank-name strong{min-width:0;max-width:none;flex:1}.ready-badge{flex-shrink:0}.rank-user small{max-width:100%}.rank-score{min-width:0;max-width:9cqw}.rank-score small{font-size:1.25cqw;white-space:nowrap}.rank-avatar{width:3.1cqw;height:3.1cqw}
.equipment-strip{display:flex;justify-content:center;align-items:center;gap:.65cqw;min-width:0;height:100%}.equipment-icon{position:relative;display:block;width:4cqw;height:4cqw;flex:0 0 4cqw;border:1px solid var(--quality-color);border-radius:.6cqw;background:radial-gradient(ellipse at center,var(--quality-light),#0a1424 85%);box-shadow:inset 0 0 .8cqw var(--quality-light);overflow:hidden}.quality-common{--quality-color:#a8c6b0;--quality-light:#91bf9626}.quality-rare{--quality-color:#a9baff;--quality-light:#879afe36}.quality-legendary{--quality-color:#ffd365;--quality-light:#edbc5345;box-shadow:inset 0 0 .8cqw #ffce4a38,0 0 .8cqw #eab64538}.equipment-art{position:absolute;inset:0;display:block;background-image:url('/assets/equipment-icons.png');background-size:300% 300%;background-repeat:no-repeat;filter:drop-shadow(0 1px 1px #0008)}.equipment-level{position:absolute;right:0;top:0;z-index:1;padding:.12cqw .22cqw;background:#071120e8;border-left:1px solid var(--quality-color);border-bottom:1px solid var(--quality-color);border-radius:0 0 0 .4cqw;color:var(--quality-color);font:700 1.4cqw/1 var(--sans);font-variant-numeric:tabular-nums;text-shadow:0 1px 2px #000;max-width:100%;white-space:nowrap}.equipment-empty{border:1px dashed #7383974d;box-shadow:none;background:#9cb2ce05;display:grid;place-items:center;color:#72869c;font-size:1.6cqw;opacity:.6}.quality-legend{display:flex;align-items:center;gap:1.8cqw;font-size:1.35cqw}.quality-legend>span:last-child{margin-left:auto;font-size:1.2cqw}.quality-key:before{content:'';display:inline-block;width:.7cqw;height:.7cqw;border-radius:50%;margin-right:.5cqw;background:currentColor}.quality-key.common{color:#a8c6b0}.quality-key.rare{color:#a9baff}.quality-key.legendary{color:#ffd365}

/* Six slots use two rows, with enhancement badges inside the top-right corner. */
.equipment-strip{display:grid;grid-template-columns:repeat(3,3cqw);grid-template-rows:repeat(2,3cqw);align-content:center;justify-content:center;gap:.25cqw;height:100%}.equipment-icon{width:3cqw;height:3cqw;min-width:0;flex-basis:3cqw}.equipment-level{font-size:1.15cqw}.equipment-art-extra{background-image:url('/assets/equipment-icons-extra.png')}.rank-row{padding:0}.gate-health-bars{position:absolute;inset:0;z-index:5;pointer-events:none}.gate-hp{position:absolute;display:block;width:16cqw;height:.85cqw;transform:translateX(-50%);border:1px solid #071827c9;border-radius:4px;background:#081321d9;box-shadow:0 1px 4px #0009;overflow:hidden}.gate-hp i{display:block;height:100%;background:linear-gradient(90deg,#66c99f,#c3f2cf);transition:width .2s}.gate-hp.low i{background:linear-gradient(90deg,#de9773,#f4ba9b)}.gate-hp.lost{opacity:.5}

.quality-ultimate{--quality-color:#ff6974;--quality-light:#ff425747;box-shadow:inset 0 0 .8cqw #ff425747,0 0 .9cqw #f341553d}.equipment-art-ultimate{background-image:url('/assets/equipment-icons-ultimate.png');background-size:300% 200%}.quality-key.ultimate{color:#ff6974}.gear-name.ultimate strong{color:#bd3d50}.quality-legend{gap:1.1cqw}

/* Single clean wave pill; gift status is only inside the profile. */
.header-status>span:first-child{font-size:3.1cqw;color:#e9deaf}.gift-status{font-size:11px;line-height:1.8;color:#9b7d39;margin:12px 0}

.rank-name strong{font-weight:700;color:#fff;background:transparent;padding:0}.damage-row>span:not(.sprite-thumb){font-weight:700;color:#fff;background:transparent;padding:0}

.viewer-avatar{position:relative;display:inline-grid;place-items:center;overflow:hidden;flex-shrink:0;border:1px solid #c9d8e34d;background:#101e2e;border-radius:50%;filter:none}.viewer-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.avatar-fallback{color:#fff;font-weight:700;font-size:1.8cqw;line-height:1}
/* Spectator chat equipment sheet: six images, per-item stats, five-second auto close. */
.equipment-inspection{position:absolute;top:17%;left:5%;right:5%;bottom:29%;z-index:9;padding:2.4cqw;background:linear-gradient(145deg,#081221f7,#15263cf2);border:1px solid #e4ca8aa8;border-radius:2cqw;box-shadow:0 1.5cqw 8cqw #000a;backdrop-filter:blur(10px);pointer-events:auto;color:#f0f4ed;display:flex;flex-direction:column;gap:1.6cqw}.inspect-heading{display:flex;align-items:center;justify-content:space-between;gap:1cqw}.inspect-heading h2{font:700 3.2cqw var(--serif);color:#edda9c;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.inspect-heading>span{font-size:1.8cqw;white-space:nowrap;color:#bed2df}.inspect-heading b{font-size:2.7cqw;color:#fff}.inspect-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.2cqw;flex:1;min-height:0}.inspect-item{display:flex;flex-direction:column;align-items:center;gap:.8cqw;min-width:0;padding:1.1cqw .6cqw;border:1px solid #c4d4e42c;border-radius:1cqw;background:#19273e6b;text-align:center}.inspect-item .equipment-icon{width:9cqw;height:9cqw;flex-basis:9cqw;flex-shrink:0}.inspect-item .equipment-level{font-size:2cqw}.inspect-item h3{font-size:2.2cqw;line-height:1.25;color:var(--quality-color,#d7e7ed);max-width:100%;font-weight:700;overflow-wrap:anywhere}.inspect-item small{font-size:1.5cqw;color:#b8cbda;line-height:1.2}.inspect-item p{font-size:1.65cqw;color:#dce8ef;line-height:1.65;overflow-wrap:anywhere}.inspect-summary{background:#0005;border:1px solid #d0bb7940;border-radius:1cqw;padding:1.2cqw 1.5cqw;flex-shrink:0}.inspect-summary strong{font-size:2cqw;color:#dfce9a}.inspect-summary p{font-size:1.95cqw;line-height:1.8;color:#e3edf4;margin-top:.5cqw}.equipment-inspection footer{font-size:1.6cqw;text-align:center;color:#a5b9c8;flex-shrink:0}.gear-slot>.equipment-icon{width:38px;height:38px;flex:0 0 38px;--quality-light:#aaa2}.gear-slot .equipment-level{font-size:11px}.gear-slot .gear-name small{line-height:1.8}.inspect-item.quality-legendary,.inspect-item.quality-ultimate{box-shadow:none}

.inspect-item .equipment-empty{opacity:.85;background:#142639;border-color:#90a6ba70}.inspect-item .equipment-empty .equipment-art{opacity:.75}

.clear-data-button{display:block;width:100%;padding:11px;margin-top:18px;border:1px solid #ad6d5c;border-radius:5px;background:#ad6d5c12;color:#9c5547;font-size:12px}.log-enhance_fail p{color:#edb6a0}

#clear-confirm-dialog{border-color:#b77964;max-width:420px}#clear-confirm-dialog h2{font-size:20px;color:#985e4f;letter-spacing:0}.clear-confirm-progress{font-size:12px;color:#a96d5d;border:1px solid #b7796470;border-radius:20px;padding:4px 10px}.clear-confirm-copy{font-size:12px;line-height:2;color:#6d7661;margin:15px 0 22px}.clear-confirm-actions{display:flex;gap:10px}.clear-confirm-actions button{padding:10px;border:1px solid #ccd5c0;border-radius:5px;color:#55714a;background:#e8eedf;flex:1;font-size:11px}#clear-final{background:#a96958;color:#fff;border-color:#a96958}

/* Top three are pinned; three extra rows cycle below them at the original bottom position. */
.bottom-panels{top:73%}.battle-guide{bottom:28%}.leaderboard{display:grid;grid-template-rows:1fr 1fr;gap:0;position:relative}.rank-fixed,.rank-cycle{display:grid;min-height:0;gap:0;overflow:hidden}.rank-fixed{grid-template-rows:repeat(3,minmax(0,1fr))}.rank-cycle{grid-template-rows:repeat(3,minmax(0,1fr));border-top:1px solid #d6bb7640}.rank-fixed .rank-row,.rank-cycle .rank-row{height:100%;min-height:0}.rank-fixed .rank-row{background:linear-gradient(90deg,#d8bd7920,#1c304320);border-left:2px solid #bd995d60}.rank-fixed .rank-row:nth-child(1){border-left-color:#ebc970}.rank-fixed .rank-row:nth-child(2){border-left-color:#b9ccda}.rank-fixed .rank-row:nth-child(3){border-left-color:#b99477}.rank-fixed .rank-row:nth-child(1) .rank-number{color:#ffdc82}.rank-fixed .rank-row:nth-child(2) .rank-number{color:#d3e6f3}.rank-fixed .rank-row:nth-child(3) .rank-number{color:#dbb28a}.leaderboard>.rank-empty{position:absolute;inset:0}.rank-page-change{animation:rank-page-reveal .28s ease-out}.is-paused .rank-page-change{animation-play-state:paused}@keyframes rank-page-reveal{from{opacity:.45;transform:translateY(.7cqw)}to{opacity:1;transform:translateY(0)}}

.rank-cycle .rank-number{color:#bdd0d9}

/* Six equipment pictures in one horizontal row, 48% larger than the compact 2-row layout. */
.rank-row,.ranking-columns{grid-template-columns:minmax(0,1fr) 21.9cqw 8.5cqw;gap:.6cqw}
.rank-row .equipment-strip{display:grid;grid-template-columns:repeat(6,3.4cqw);grid-template-rows:3.4cqw;gap:.3cqw;align-content:center;justify-content:center;height:100%}
.rank-row .equipment-icon{width:3.4cqw;height:3.4cqw;flex-basis:3.4cqw}
.rank-row .equipment-level{font-size:1.35cqw;padding:.1cqw .12cqw}
.rank-row .rank-score{max-width:8.5cqw}.rank-row .rank-avatar{width:2.7cqw;height:2.7cqw}
.rank-row .ready-badge{font-size:0;width:.9cqw;height:.9cqw;min-width:.9cqw;padding:0;border-radius:50%;background:#efd688;box-shadow:0 0 .65cqw #e8cc6d55}

/* Cultivation chance card and complete realm catalog. */
.breakthrough-state{padding:12px 13px;margin:12px 0;background:linear-gradient(110deg,#e6ecd9,#f5efd9);border:1px solid #c9d3b8;border-radius:7px;clear:both}.breakthrough-state>div{display:flex;align-items:center;justify-content:space-between;gap:10px}.breakthrough-state span{font-size:11px;color:#59704c}.breakthrough-state strong{font:600 22px Georgia;color:#927540;white-space:nowrap}.breakthrough-state strong small{font:10px var(--sans)}.breakthrough-state p{font-size:10px;line-height:1.8;color:#778667;margin-top:8px}.realm-catalog{margin-top:10px}.realm-table{width:100%;margin-top:12px;border-collapse:collapse;font-size:11px;color:#5c7652}.realm-table caption{font-size:10px;text-align:left;color:#8b9779;padding-bottom:8px}.realm-table th{text-align:left;color:#45623a;background:#e5ecd8;padding:9px 8px}.realm-table td{padding:8px;border-bottom:1px solid #dce4d0}.realm-table tbody tr:nth-child(even){background:#eaf0e340}.realm-table .certain{color:#527953}.realm-table .chance{color:#a4803c}.log-breakthrough_fail p{color:#eeb797}

.hero-portrait{display:inline-block;background-image:url(/assets/sprites-atlas.png);background-size:400% 200%;background-repeat:no-repeat}.hero-portrait.evolved{background-image:url(/assets/hero-evolution-atlas-v1.png);background-size:300% 400%}

/* Keep long fixed-stat lines inside their cards, never behind the summary. */
.equipment-inspection{top:14%;overflow-y:auto;scrollbar-width:thin}
.inspect-grid{flex:0 0 auto;min-height:auto;grid-auto-rows:minmax(min-content,auto)}
.inspect-heading{flex-shrink:0}

.inspect-resources{display:grid;grid-template-columns:1fr 1fr;gap:1.2cqw;flex-shrink:0}.inspect-resources>div{display:flex;justify-content:space-between;align-items:center;gap:1cqw;padding:1.4cqw 1.8cqw;background:#14283b;border:1px solid #d7bf8245;border-radius:1cqw;min-width:0}.inspect-resources span{font-size:1.8cqw;color:#c7c2ac;white-space:nowrap}.inspect-resources strong{font-size:2.7cqw;color:#f5d88e;overflow-wrap:anywhere;min-width:0}.inspect-resources>div:nth-child(2) strong{color:#ccbbff}.log-dismantle p{color:#cab7ed}

/* Keep the upper-left clear for damage ranking; city labels sit above its roof. */
.game-header{grid-template-columns:30% 1fr 17%}.header-status{grid-column:2}.presence{grid-column:3}.city-caption{top:6.5%;left:32%;right:32%;gap:.5cqw}.damage-panel{top:1.8%;left:2%;width:29.5%}

/* Permanent cosmetic journal: same portrait overlay as equipment, never moves the HUD. */
.collection-tabs,.collection-subtabs{display:flex;gap:1cqw;flex-shrink:0}.collection-tabs button,.collection-subtabs button{flex:1;border:1px solid #bfb78c50;border-radius:.9cqw;background:#152c40;color:#c6d5df;padding:1.5cqw .7cqw;font:600 2.2cqw var(--sans);cursor:pointer}.collection-tabs .active,.collection-subtabs .active{background:linear-gradient(120deg,#65543c,#34414c);color:#ffe5a4;border-color:#d7bc80}.collection-subtabs{position:sticky;top:0;z-index:2;padding:1cqw 0;background:#101e30}.collection-overview{padding:2.7cqw;border:1px solid #d4b77d65;background:radial-gradient(ellipse at top right,#6b5e3940,transparent 70%),linear-gradient(120deg,#183744,#161d33);border-radius:1.3cqw;flex-shrink:0}.collection-overview .eyebrow{font-size:1.5cqw;color:#bba980;letter-spacing:.25em}.collection-overview h3{font:600 3.8cqw var(--serif);color:#ffe3a3;margin:1cqw 0}.collection-overview p{font-size:2.5cqw;color:#d0dae5}.collection-overview p span{margin-left:3cqw}.collection-overview b{color:#ffe1a0}.collection-overview>small{display:block;color:#aabecd;font-size:1.9cqw;line-height:1.7;margin-top:1cqw}.current-cosmetics{display:flex;gap:.8cqw;flex-wrap:wrap;margin:1.8cqw 0}.current-cosmetics span{font-size:1.9cqw;border:1px solid #bcb17b50;background:#0e2339a0;border-radius:3cqw;padding:.6cqw 1.3cqw}.collection-section{flex-shrink:0;min-width:0}.collection-section[hidden]{display:none!important}.collection-section>h3{font:600 3cqw var(--serif);color:#efd7a0;display:flex;justify-content:space-between;gap:1cqw;margin:1cqw 0 2cqw}.collection-section>h3 small{font:400 1.8cqw var(--sans);color:#a7bdcb;align-self:center}.achievement-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.3cqw}.achievement-card{position:relative;border:1px solid #576d7b;background:#122638;border-radius:1cqw;padding:1.5cqw;min-width:0}.achievement-card.earned{border-color:#bca56a;background:linear-gradient(140deg,#6d573338,#13263c)}.achievement-seal{float:right;font-size:3.5cqw;color:#60849b}.earned .achievement-seal{color:#efce83;text-shadow:0 0 1.7cqw #fbd98466}.achievement-card h4{font-size:2.2cqw;color:#e1d2a5;margin:.5cqw 0 1cqw}.achievement-card p{font-size:1.8cqw;line-height:1.7;color:#b2c5d3;min-height:6cqw;margin:0}.achievement-card small{font-size:1.7cqw;color:#91aaba}.earned small{color:#d4b77c}.achievement-track{height:.6cqw;border-radius:1cqw;background:#52657950;margin:1.3cqw 0;overflow:hidden}.achievement-track i{display:block;height:100%;background:linear-gradient(90deg,#8bdcca,#dfbd74)}.cosmetic-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.3cqw}.cosmetic-option{display:flex;flex-direction:column;align-items:center;gap:1cqw;min-width:0;cursor:pointer;border:1px solid #687c87;background:#13283c;border-radius:1cqw;padding:1.6cqw;color:#e5e1cc}.cosmetic-option.selected{border-color:#e3c177;box-shadow:inset 0 0 2cqw #dfbd742a}.cosmetic-option.selected:after{content:'✓ 已选择';font-size:1.7cqw;color:#edcc8a}.cosmetic-option.locked{cursor:default;opacity:.56;border-style:dashed}.cosmetic-option b{font-size:2.1cqw}.cosmetic-option small{font-size:1.7cqw;color:#abc1cd;line-height:1.6}.cosmetic-preview{display:grid;place-items:center;width:100%;height:9cqw;font-size:5cqw;color:var(--look-color,#dfcb9f)}.preview-title{font:600 2.4cqw var(--serif);height:6cqw;border:1px solid var(--look-color);border-radius:3cqw;background:linear-gradient(100deg,#233c4450,#715b3125);text-shadow:0 0 1.5cqw var(--look-color)}.preview-trail{position:relative;background:linear-gradient(150deg,transparent 35%,var(--look-color) 49%,transparent 52%);text-shadow:-1.5cqw 1.5cqw 2cqw var(--look-secondary)}.preview-aura{border-radius:50%;width:9cqw;border:1px solid var(--look-color);box-shadow:0 0 1.8cqw var(--look-color),inset 0 0 2cqw var(--look-secondary);font-size:5cqw}.preview-none{border:none;box-shadow:none}.title-catalog{color:#c6ba9a;font-size:2.2cqw}.title-catalog summary{cursor:pointer;padding:1cqw 0 2cqw}.codex-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.4cqw}.codex-quality{font:600 2.7cqw var(--serif);margin:3cqw 0 1.8cqw}.codex-quality.quality-rare{color:#b1c0ff}.codex-quality.quality-legendary{color:#f2d28a}.codex-quality.quality-ultimate{color:#ff8e9d}.codex-card{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.8cqw;border:1px solid #8294bb70;background:#162a40;border-radius:1cqw;padding:1.6cqw;min-width:0}.codex-card.quality-legendary{border-color:#d6b96d80;background:linear-gradient(140deg,#5b4c2830,#132538)}.codex-card.quality-ultimate{border-color:#fd788580;background:linear-gradient(140deg,#71333f35,#17243a)}.codex-card.undiscovered .equipment-art{filter:grayscale(1);opacity:.35}.codex-card .equipment-icon{width:12cqw;height:12cqw}.codex-card h4{font:600 2.1cqw var(--sans);color:#e6dcc6;margin:.6cqw 0}.codex-card small,.codex-card p,.codex-card details{font-size:1.8cqw;color:#abc0ce;line-height:1.7;margin:0}.codex-card details{width:100%}.codex-card summary{cursor:pointer;color:#d0c19a}.collection-note{font-size:1.9cqw;color:#a7bcc9;line-height:1.7}.log-collection p{color:#efd4a5}.equipment-inspection footer{flex-wrap:wrap;gap:1cqw}.equipment-inspection footer button{white-space:normal}.cosmetic-option:focus-visible,.collection-tabs button:focus-visible,.collection-subtabs button:focus-visible{outline:2px solid #e0e7a3;outline-offset:2px}

.equipment-inspection{scrollbar-color:#788e9f #122238}.equipment-inspection::-webkit-scrollbar{width:.8cqw}.equipment-inspection::-webkit-scrollbar-track{background:#122238}.equipment-inspection::-webkit-scrollbar-thumb{background:#71889b;border-radius:1cqw}

.codex-card .equipment-icon{flex:0 0 12cqw;min-height:12cqw;aspect-ratio:1}
.equipment-inspection .inspect-heading{position:sticky;top:0;z-index:4;background:#101e30;padding:.8cqw 0}.collection-subtabs{top:6.5cqw}
.equipment-inspection .inspect-heading{box-shadow:0 -3cqw 0 #101e30}

/* Read-only balance lab and local rendering preferences, inside the existing settings dialog. */
#balance-pane>h3{font:600 19px var(--serif);color:#50643f;margin:22px 0 12px}#render-quality-mode{width:100%;padding:11px;border:1px solid #bcc6a8;background:#f5f6e8;color:#455c3e;border-radius:6px;font:12px var(--sans)}.balance-date{font-size:10px;color:#819074;margin:12px 0}.balance-summary{padding:13px;border:1px solid #c4cfb2;border-radius:8px;background:linear-gradient(120deg,#e3eddf,#f6efd9)}.balance-summary strong{color:#526747;font-size:13px}.balance-summary p{color:#708066;font-size:11px;line-height:1.8;margin:8px 0 0}#balance-report>h3{font:600 17px var(--serif);color:#51694a;margin:22px 0 10px}.balance-table-wrap{overflow-x:auto;scrollbar-width:thin}.balance-table{width:100%;border-collapse:collapse;font-size:10px;color:#526a4b;margin:10px 0}.balance-table th{background:#dfe8d5;text-align:left;padding:9px 5px;color:#536443;white-space:nowrap}.balance-table td{padding:10px 5px;border-bottom:1px solid #d7dfca;white-space:nowrap}.balance-table td small{display:block;font-size:9px;color:#839076;margin-top:4px}.balance-table tr:nth-child(even){background:#eaf0e370}.balance-school-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.balance-school-grid article{border:1px solid #ccd4bd;padding:12px 8px;background:#e9eee0;border-radius:6px}.balance-school-grid h4{font:600 17px var(--serif);color:#567359;margin:0 0 9px}.balance-school-grid strong{display:block;font:600 18px Georgia;color:#947543}.balance-school-grid strong small{display:block;font:10px var(--sans);color:#7c8d6e;margin-top:4px}.balance-school-grid p{font-size:10px;color:#778569;line-height:1.9}.balance-gift{font-size:12px;line-height:1.9;color:#6b795e;padding:12px;background:#f3eddc;border-radius:6px}.dialog-tabs{flex-wrap:wrap}.dialog-tabs button{flex:1;min-width:70px}
/* Blackface typography and reward-first streaming feedback. */
body,button,input,select,textarea{font-family:var(--sans)}
.game-header .header-status>span:first-child,.city-caption>span,.ranking-heading h2,.damage-panel h2{font-weight:800}
.audio-toggle{position:absolute;right:2%;top:5.3%;z-index:7;padding:.6cqw 1.1cqw;border:1px solid #9ae5db66;border-radius:20px;background:#0b1c2ee8;color:#c3ffea;font-size:1.65cqw;font-weight:700}
.battle-guide{bottom:27.5%;left:2%;right:2%;height:5.6%;display:flex;flex-direction:row;align-items:center;gap:1.5cqw;padding:1.3cqw 1.8cqw;text-align:left;border:1px solid #f3ce7b99;border-radius:8px;background:linear-gradient(100deg,#152435f5,#173345ed,#162535f5);box-shadow:0 0 15px #e4bd6526;overflow:hidden}
.battle-guide .guide-kicker{font-size:1.75cqw;letter-spacing:0;color:#ffe5a9;background:#dab87720;border:1px solid #dab87760;padding:1.2cqw .7cqw;border-radius:5px;white-space:nowrap;font-weight:800}
.battle-guide .guide-copy{display:flex;flex-direction:column;gap:.6cqw;min-width:0;letter-spacing:0}.guide-copy b{font-size:2.6cqw;color:#fff1c9;font-weight:800;line-height:1.25}.battle-guide .guide-copy small{font-size:1.95cqw;color:#d6f4f1;font-weight:600;line-height:1.35}
.guide-progress{position:absolute;bottom:0;left:0;height:2px;background:#efd183;animation:guide-time 6s linear infinite}@keyframes guide-time{from{width:0}to{width:100%}}
.reward-banner{position:absolute;top:47%;left:5%;right:5%;min-height:7%;display:flex;align-items:center;justify-content:center;gap:2cqw;padding:2cqw;background:linear-gradient(95deg,#0d1724ed,#24343cf5,#0d1724ed);border:1px solid var(--reward-color,#ffdf98);border-radius:10px;box-shadow:0 0 25px #e6c47140,inset 0 0 18px #d6c18b15;z-index:8;pointer-events:none;animation:reward-enter .4s ease-out;color:var(--reward-color,#ffdf98)}
.reward-banner[hidden],.realm-ceremony[hidden]{display:none}.reward-banner b{font-size:3.35cqw;font-weight:900;text-shadow:0 2px 3px #000,0 0 12px currentColor;line-height:1.3}.reward-banner p{font-size:2.05cqw;margin-top:.7cqw;color:#f4f8ff;font-weight:600;line-height:1.4}.reward-banner .equipment-icon{width:12cqw;height:12cqw;flex:0 0 12cqw}.reward-sigil{font-size:9cqw;text-shadow:0 0 20px currentColor}.tone-rare{--reward-color:#cebaff}.tone-legendary,.tone-gold{--reward-color:#ffdc88}.tone-ultimate{--reward-color:#ff889a;background:linear-gradient(95deg,#341021f5,#62263ce8,#231128f5)}.tone-jade{--reward-color:#aaffdc}.tone-amber{--reward-color:#ffcc97}
@keyframes reward-enter{from{opacity:0;transform:translateY(12px) scale(.94)}to{opacity:1;transform:none}}

/* Published online sprites: native 60-frame GIF, rolling-cloud WebP, wing/plate PNGs. */
.reward-banner{top:46%;padding:3cqw 6cqw;border:0;border-radius:0;background:url('/assets/web-ui/banner-frame.png') center/100% 100% no-repeat;min-height:10%;box-shadow:none;filter:drop-shadow(0 0 12px #dab25877);text-align:center}
.reward-banner:before{content:none;display:none}.reward-banner>div{max-width:98%;z-index:1}.reward-banner b{font-size:3.15cqw}.announcement-wing{position:absolute;width:25%;height:45%;object-fit:fill;left:37.5%;top:-24%;animation:wing-breathe 2.5s ease-in-out infinite}
@keyframes wing-breathe{50%{opacity:.65;transform:translateY(-2px) scale(.97)}}
.loot-showcase{position:absolute;left:50%;top:50.8%;width:64%;z-index:9;pointer-events:none;color:var(--reward-color,#ffdc88);isolation:isolate;will-change:transform;--flight-fade:1}
.loot-showcase[hidden]{display:none}.drop-light{position:absolute;inset:-55% -40%;z-index:-1;opacity:var(--flight-fade);pointer-events:none}.drop-light img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;mix-blend-mode:screen;filter:sepia(1) saturate(3);animation:loot-light-in .45s ease-out}.drop-flare{opacity:.8;transform:scale(1.12) rotate(12deg)}.drop-starburst{opacity:.85;transform:scale(1.18)}
.tone-rare .drop-light img{filter:sepia(1) saturate(5) hue-rotate(215deg)}.tone-ultimate .drop-light img{filter:sepia(1) saturate(5) hue-rotate(310deg)}
.drop-card{position:relative;background:linear-gradient(140deg,#070e1af5,#13233cf2);border:2px solid currentColor;box-shadow:0 0 2cqw currentColor,inset 0 0 5cqw #ffdc8820;padding:2.2cqw 2.4cqw 2cqw;text-align:center;animation:loot-card-in .3s ease-out;border-radius:.5cqw}
.drop-quality{font-weight:800;font-size:2.5cqw;letter-spacing:.1em;color:currentColor;border-bottom:1px solid #ffffff26;padding-bottom:1.4cqw;opacity:var(--flight-fade)}.drop-main{display:flex;align-items:center;justify-content:space-between;gap:2cqw;padding:2cqw 1cqw}.drop-main>.equipment-icon{width:16cqw;height:16cqw;flex:0 0 16cqw;box-shadow:0 0 3cqw currentColor;border:1px solid currentColor}.drop-main .equipment-level{font-size:2.8cqw}.drop-avatar{width:10cqw;height:10cqw;border:2px solid currentColor;box-shadow:0 0 2cqw currentColor;opacity:var(--flight-fade)}.drop-avatar .avatar-fallback{font-size:4cqw}.drop-gain{min-width:11cqw;opacity:var(--flight-fade)}.drop-gain small{display:block;color:#cdd9e4;font-size:2cqw}.drop-gain strong{font-size:3.8cqw;line-height:1.6}
.drop-card h3{font-size:4.3cqw;color:currentColor;text-shadow:0 0 12px currentColor;font-weight:900;border-top:1px solid #ffffff26;padding-top:1.5cqw;line-height:1.25}.drop-owner{font-size:2.7cqw;color:#fff;font-weight:800;margin-top:1.3cqw;opacity:var(--flight-fade)}.drop-owner span{display:block;font-size:2.2cqw;color:#d1e8dc;margin-top:.5cqw}.drop-properties{font-size:2.1cqw;color:#d4dfe9;margin-top:1.2cqw;line-height:1.5;opacity:var(--flight-fade)}
.drop-flying .drop-card{box-shadow:0 0 2cqw currentColor}.drop-flying .drop-main{justify-content:center}.drop-flying .drop-avatar,.drop-flying .drop-gain{display:none}.drop-flying .drop-quality,.drop-flying .drop-owner,.drop-flying .drop-properties{display:none}
@keyframes loot-light-in{from{opacity:0;scale:.3}to{opacity:.85;scale:1}}@keyframes loot-card-in{from{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}
.realm-ceremony{position:absolute;inset:0;z-index:10;pointer-events:none;overflow:hidden;background:#040a16de;isolation:isolate;animation:ceremony-in .6s ease-out}.realm-ceremony[hidden]{display:none}
.storm-clouds{position:absolute;inset:-8% -15% auto;width:130%;height:70%;object-fit:cover;filter:brightness(.42) contrast(1.5) hue-rotate(180deg);opacity:.9;mix-blend-mode:screen}
.storm-field{position:absolute;left:-15%;top:2%;width:130%;height:70%;object-fit:contain;mix-blend-mode:screen;opacity:.7;animation:storm-swell 3s ease-in-out infinite}
.storm-rune{position:absolute;left:10%;top:21%;width:80%;height:auto;aspect-ratio:1;object-fit:contain;opacity:.6;filter:drop-shadow(0 0 12px #aa9aff);animation:seal-spin 20s linear infinite}
.storm-bolts{position:absolute;inset:0;width:100%;height:100%;mix-blend-mode:screen;opacity:.95}.storm-flash{position:absolute;inset:0;background:#c4eaff;opacity:var(--strike-flash,0)}
.ceremony-copy{position:absolute;top:48%;left:5%;right:5%;text-align:center;text-shadow:0 2px 5px #000,0 0 25px #b0ddff}.ceremony-copy small{font-size:2.8cqw;letter-spacing:.15em;color:#bae6ff;font-weight:700}.ceremony-copy h2{font-size:9cqw;color:#ecfaff;font-weight:900;letter-spacing:.08em;margin:2cqw 0}.ceremony-copy p{font-size:3.8cqw;font-weight:800;color:#fff1c7;word-break:break-word}.ceremony-copy strong{display:block;margin-top:1.8cqw;font-size:5cqw;color:#ffe2a1}.ceremony-step{display:block;margin-top:2cqw;font-size:2.5cqw;color:#bdd5e8}
.ascend-light{position:absolute;left:-25%;top:12%;width:150%;aspect-ratio:1;opacity:0;transition:opacity .4s}.ascend-light img{position:absolute;inset:0;width:100%;height:100%;mix-blend-mode:screen;filter:sepia(1) saturate(3);object-fit:contain}.ascend-light img:first-child{opacity:.8}.ascend-wings{position:absolute;left:10%;top:26%;width:80%;height:15%;object-fit:fill;opacity:0;filter:drop-shadow(0 0 25px #ffdf9c)}
.ceremony-success{background:#080c19d6}.ceremony-success .storm-field,.ceremony-success .storm-bolts,.ceremony-success .storm-rune{opacity:0}.ceremony-success .storm-clouds{opacity:.2}.ceremony-success .ascend-light,.ceremony-success .ascend-wings{opacity:1}.ceremony-success h2{color:#ffe2a1}.ceremony-success .ceremony-copy{top:46%;animation:ascend-copy .5s ease-out}
@keyframes seal-spin{to{transform:rotate(360deg)}}@keyframes ceremony-in{from{opacity:0}to{opacity:1}}@keyframes storm-swell{50%{opacity:.4;transform:scale(1.03)}}@keyframes ascend-copy{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}
.preview-title{position:relative;border:none!important;background:none!important;box-shadow:none!important;padding:0!important;height:8cqw!important}.title-preview-wings{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;animation:wing-breathe 3s ease-in-out infinite}.preview-title>span{position:relative;font-size:2.1cqw;background:#102034de;box-shadow:0 0 1cqw #131a2b;color:#ffefba;padding:.4cqw .5cqw;text-shadow:0 1px 2px #000}
@media(prefers-reduced-motion:reduce){.announcement-wing,.title-preview-wings,.storm-rune,.storm-field,.guide-progress{animation:none}.storm-flash{display:none}.drop-light{opacity:.35}.reward-banner,.drop-card,.drop-light img{animation:none}}

/* Chat viewers cannot operate tabs or scroll: each command renders one complete sheet. */
.equipment-inspection{top:13%;bottom:27.5%;left:3%;right:3%;padding:2cqw;overflow:hidden;display:block;z-index:11}
.single-sheet{height:100%;min-height:0;display:flex;flex-direction:column;gap:1.25cqw;overflow:hidden}.sheet-title{display:flex;justify-content:space-between;align-items:center;flex:0 0 auto}.sheet-title h3{font-size:3.4cqw;font-weight:800;color:#f1d597;margin:0}.sheet-title>span{font-size:2.3cqw;color:#e7d4a3}
.single-achievements{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(6,minmax(0,1fr));gap:1.2cqw;flex:1;min-height:0}.single-achievements .achievement-card{padding:1.25cqw;min-height:0;display:flex;flex-direction:column;justify-content:space-between;gap:.55cqw}.single-achievements .achievement-card h4{font-size:2.5cqw;margin:0;white-space:nowrap;font-weight:800}.single-achievements .achievement-card p{font-size:2cqw;line-height:1.25;margin:0}.single-achievements .achievement-card small{font-size:1.85cqw;line-height:1.1}.single-achievements .achievement-track{height:.5cqw;margin:.2cqw 0}
.single-sheet .sheet-footer{display:flex;flex:0 0 auto;justify-content:space-between;align-items:center;border-top:1px solid #ffffff25;padding-top:.75cqw;gap:1cqw;color:#b5cbd8;font-size:2cqw;min-height:3.5cqw}.sheet-footer button{background:transparent!important;border:0!important;padding:.1cqw 1cqw!important;color:#deedf0!important;font-size:3.6cqw!important;line-height:1}
.single-sheet .inspect-resources{flex:0 0 auto;padding:1cqw 2cqw}.single-sheet .inspect-resources strong{font-size:3cqw}.single-sheet .inspect-grid{grid-template-rows:repeat(2,minmax(0,1fr));gap:1.25cqw;flex:1;min-height:0}.single-sheet .inspect-item{justify-content:flex-start;gap:.75cqw;padding:1.2cqw .7cqw;overflow:hidden}.single-sheet .inspect-item .equipment-icon{width:10cqw;height:10cqw;flex:0 0 10cqw}.single-sheet .inspect-item h3{font-size:2.5cqw}.single-sheet .inspect-item small{font-size:2cqw}.single-sheet .inspect-item p{font-size:2.15cqw;line-height:1.4}.single-sheet .inspect-summary{flex:0 0 auto;padding:1.1cqw 1.5cqw}.single-sheet .inspect-summary strong{font-size:2.3cqw}.single-sheet .inspect-summary p{font-size:2.05cqw;line-height:1.5;margin-top:.5cqw}
.single-codex{display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:1.5cqw;flex:1;min-height:0}.single-codex>section{display:flex;flex-direction:column;min-height:0}.single-codex>section>h4{margin:0 0 .8cqw;font-size:2.5cqw;color:#d9bdf7}.single-codex>section>h4.quality-legendary{color:#ffe09a}.single-codex>section>h4.quality-ultimate{color:#ff9dad}.single-codex-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.8cqw;flex:1;min-height:0}.single-codex .codex-card{gap:.6cqw;padding:1cqw .5cqw;justify-content:flex-start;overflow:hidden}.single-codex .codex-card .equipment-icon{width:8cqw;height:8cqw;flex:0 0 8cqw;min-height:8cqw}.single-codex .codex-card h4{font-size:1.85cqw;line-height:1.3;min-height:4.5cqw;margin:0}.single-codex .codex-card small{font-size:1.45cqw}.single-codex .codex-card p{font-size:1.7cqw;line-height:1.3;margin:0;overflow-wrap:anywhere}
.single-looks-current{display:flex;align-items:center;justify-content:space-between;flex:0 0 auto;font-size:2.2cqw;color:#b9d8e4;gap:1cqw}.current-wing-title{position:relative;width:37%;height:9cqw;display:grid;place-items:center}.current-wing-title img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;animation:wing-breathe 3s ease-in-out infinite}.current-wing-title b{position:relative;font-size:2.3cqw;color:#ffe5a9;background:#08172cdd;padding:.5cqw;text-shadow:0 1px 2px #000}.single-looks-catalog{display:flex;flex-direction:column;gap:1.5cqw;flex:1;min-height:0;justify-content:space-evenly}.single-looks-catalog h4{margin:0 0 .8cqw;font-size:2.8cqw;color:#ebd299}.single-looks-catalog h4 small{float:right;font-size:2cqw;color:#aabfcc}.single-look-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.7cqw}.single-look-grid.title-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.look-tile{border:1px solid #71879d44;border-radius:.5cqw;padding:.8cqw .25cqw;display:grid;place-items:center;font-size:2cqw;color:#788898;white-space:nowrap;min-height:3.5cqw}.title-grid .look-tile{font-size:1.85cqw}.look-tile.unlocked{color:var(--look-color);background:#2140554d;border-color:#b6d8e25c}.look-tile.selected{border-color:#ffe39a;background:#cfb25926;color:#fff0bb}.sheet-note{font-size:2cqw;line-height:1.5;color:#abc8d6;flex:0 0 auto}
/* Protected equipment backpack: scoped to the existing inspection panel. */
.inspect-bag{flex-shrink:0;padding:1.5cqw;border:1px solid #bda1fb66;border-radius:1cqw;background:#101d32;scroll-margin-top:14cqw}.inspect-bag>h3{font-size:2.6cqw;color:#e0ceff}.bag-instructions,.bag-empty{font-size:1.8cqw;color:#bdd1e2;line-height:1.8;margin:.8cqw 0}.inspect-bag-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1cqw}.bag-item{display:flex;align-items:flex-start;gap:1cqw;border:1px solid var(--quality-color,#a6c1d0);border-radius:1cqw;padding:1cqw;min-width:0}.bag-item>.equipment-icon{width:6cqw;height:6cqw;flex:0 0 6cqw}.bag-item>div{min-width:0}.bag-item b,.bag-item small{display:block;overflow-wrap:anywhere}.bag-item b{font-size:2cqw;color:var(--quality-color,#e9eff4)}.bag-item small{font-size:1.6cqw;color:#becddc;line-height:1.7}.bag-item p{font-size:1.65cqw;color:#d9e7f0;line-height:1.65;overflow-wrap:anywhere}.bag-item button,.equip-auto-button{font-size:1.8cqw;color:#fff1ba;background:#375063;border:1px solid #ffe0a066;border-radius:.6cqw;padding:.7cqw 1.2cqw;cursor:pointer;margin-top:.6cqw}.bag-item button:disabled,.equip-auto-button:disabled{opacity:.5}.bag-item .equipment-level{font-size:1.7cqw}

.sheet-equipment .sheet-footer{font-size:1.65cqw}.sheet-bag .inspect-bag{flex:1;min-height:0;overflow:auto}.sheet-bag .sheet-footer{flex-shrink:0}

.single-achievements .achievement-card p{min-height:0;flex-shrink:0}.single-achievements .achievement-card h4,.single-achievements .achievement-card small{flex-shrink:0}.single-achievements .achievement-track{flex-shrink:0}
.sheet-title .bag-open{font:600 2cqw var(--sans);background:#294055;border:1px solid #c7b48777;border-radius:.6cqw;color:#ffe6ab;padding:.6cqw 1cqw;cursor:pointer}.sheet-backpack .inspect-bag{flex:1;min-height:0;overflow-y:auto}.sheet-backpack .inspect-bag-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sheet-backpack .bag-item p{font-size:1.8cqw}.bag-pages{display:flex;justify-content:space-between;align-items:center;gap:1cqw;margin-top:1cqw;font-size:1.8cqw;color:#d3caef}.bag-pages button{font-size:1.8cqw;color:#fce6af;background:#31445c;border-radius:.5cqw;padding:.6cqw;cursor:pointer}.bag-pages button:disabled{opacity:.4}

.single-sheet .inspect-item .equipment-icon{width:9cqw;height:9cqw;flex-basis:9cqw}.single-sheet .inspect-item h3{font-size:2.3cqw}.single-sheet .inspect-item small{font-size:1.85cqw}.single-sheet .inspect-item p{font-size:2cqw;line-height:1.35;flex-shrink:0}.single-sheet .inspect-item{gap:.6cqw;padding:1cqw .7cqw}.single-codex-row{grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr))}.single-codex .codex-card{display:grid;grid-template-columns:8cqw minmax(0,1fr);grid-template-rows:auto auto 1fr;column-gap:1cqw;row-gap:.2cqw;text-align:left;align-content:center;padding:.8cqw}.single-codex .codex-card .equipment-icon{grid-column:1;grid-row:1/4;align-self:center}.single-codex .codex-card h4{font-size:1.9cqw;min-height:0;grid-column:2;line-height:1.2}.single-codex .codex-card small{grid-column:2;font-size:1.55cqw;line-height:1.2}.single-codex .codex-card p{grid-column:2;font-size:1.85cqw;line-height:1.2}

/* The actual viewer is the center of the tribulation, not an anonymous seal. */
.ceremony-avatars{position:absolute;top:29%;left:8%;right:8%;z-index:2;pointer-events:none}.ceremony-people{display:flex;flex-wrap:wrap;align-items:start;justify-content:center;gap:1.5cqw 3cqw}.ceremony-person{display:flex;flex-direction:column;align-items:center;gap:.8cqw;min-width:0;max-width:30%;color:#d3f6ff}.ceremony-avatar{width:14cqw;height:14cqw;border:2px solid #b5efff;box-shadow:0 0 3cqw #99dfffaa,0 0 8cqw #9ce7ff55,inset 0 0 2cqw #d9f5ff66;background:#112439;overflow:hidden}.ceremony-avatar .avatar-fallback{font-size:6cqw}.ceremony-person>.ceremony-person-name{font-size:2.4cqw;font-weight:800;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 2px 3px #000}.ceremony-people.solo .ceremony-avatar{width:18cqw;height:18cqw}.ceremony-people.solo .ceremony-person{max-width:75%}.ceremony-people.many{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1cqw}.ceremony-people.many .ceremony-person{max-width:none}.ceremony-people.many .ceremony-avatar{width:10cqw;height:10cqw}.ceremony-people.many .ceremony-person>.ceremony-person-name{font-size:1.9cqw}.ceremony-success .ceremony-avatar{border-color:#ffe29c;box-shadow:0 0 4cqw #ffcf7baa,0 0 10cqw #ffe09b55;background:#3d2918}.ceremony-success .ceremony-person{color:#fff0ba}.ceremony-success .ceremony-avatars{top:29%}

.ceremony-avatars,.ceremony-success .ceremony-avatars{top:36%}.ceremony-avatars:has(.many){top:29%}.ceremony-people.solo .ceremony-person>.ceremony-person-name{display:none}.ascend-wings{top:33%}.ceremony-success .ceremony-copy{top:48%}

.audio-test-controls{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0 18px}.audio-test-controls button{padding:9px 5px;font-size:12px;color:#e2efee;background:#213747;border:1px solid #b5cea94d;border-radius:6px;cursor:pointer}.audio-test-controls button:disabled{opacity:.45;cursor:wait}#combat-audio-status{color:#277064;font-weight:700}
#combat-audio-level{width:100%;height:12px;display:block;margin:5px 0 10px}
#import-save-dialog .dialog-close{position:absolute;right:12px;top:12px;width:28px;height:28px;border:1px solid #ccd5c0;border-radius:50%;background:#e8eedf;color:#55714a}#import-save-dialog{max-width:420px}#import-save-dialog h2{font-family:var(--sans);font-size:23px;font-weight:700;letter-spacing:0}.import-filename{font-size:12px;overflow-wrap:anywhere}.import-totals{display:flex;gap:12px;margin:18px 0}.import-totals strong{flex:1;background:#e4ebde;border:1px solid #cad6bd;border-radius:8px;padding:12px;text-align:center;font-size:26px;color:#36583e}.import-totals small{display:block;font-size:11px;font-weight:400;margin-top:4px}#import-save-summary ul{font-size:12px;line-height:1.8;padding-left:18px}#import-save-dialog .primary-button{width:100%;margin-bottom:10px}[data-action="import-save"]{width:100%;padding:11px;margin:10px 0;border:1px solid #bdceb2;border-radius:6px;background:#e8eedf;color:#36583e;font-family:inherit;font-weight:700}
/* Equipment feedback and inventory review: readable at portrait capture scale. */
.loot-burst-receipt{position:absolute;z-index:26;top:19%;left:5%;right:5%;padding:1.6cqw 2cqw;border:1px solid #f6c665;background:linear-gradient(90deg,#18273bf0,#423019ed,#18273bf0);border-radius:1cqw;box-shadow:0 0 2cqw #f7c55c66;text-align:center;pointer-events:none}.loot-burst-receipt b,.loot-burst-receipt span,.loot-burst-receipt small{display:block;font:700 2.4cqw var(--sans);color:#ffe6a6;line-height:1.5}.loot-burst-receipt span{font-size:2cqw;color:#fff;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.loot-burst-receipt small{font-size:1.8cqw;color:#cfe6f3}
.bag-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1cqw;margin:1cqw 0}.bag-filters label{font:600 1.8cqw var(--sans);color:#d5e5ec}.bag-filters select{display:block;width:100%;margin-top:.5cqw;padding:.5cqw;background:#21334a;color:#fff;border:1px solid #a9c8d766;font:600 1.8cqw var(--sans);border-radius:.5cqw}.bag-item summary{font-size:1.8cqw;cursor:pointer;color:#d6dded}.bag-item details{padding:.5cqw 0}.bag-comparison{display:flex;flex-wrap:wrap;gap:.5cqw;margin:.7cqw 0;font-size:1.7cqw}.bag-comparison small{width:100%}.stat-up{color:#8bf1b1}.stat-down{color:#ff939e}.bag-item button{margin-right:.4cqw}.loot-history{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:.9cqw}.loot-history-row{display:flex;gap:1.5cqw;border:1px solid #b2c4d344;border-radius:1cqw;padding:1cqw;background:#112239}.loot-history-row>.equipment-icon{width:7cqw;height:7cqw;flex-shrink:0}.loot-history-row b,.loot-history-row small,.loot-history-row span{display:block;font:600 2cqw var(--sans);line-height:1.6;color:#ffe4b0}.loot-history-row small{font-size:1.7cqw;color:#bacfdc}.loot-history-row span{color:#98e8c4}.runtime-fault{position:fixed;z-index:60;bottom:2%;left:50%;transform:translateX(-50%);width:min(90vw,480px);padding:16px;background:#441e25f5;border:1px solid #ff8d9a;border-radius:8px;color:#fff;font-family:var(--sans);box-shadow:0 3px 20px #0009}.runtime-fault b,.runtime-fault small{display:block;line-height:1.6}.runtime-fault small{color:#f1c5ca}#gear-confirm-dialog{max-width:420px}#gear-confirm-dialog h2{font:700 22px var(--sans)}#gear-confirm-copy{line-height:1.8;font:14px var(--sans)}#recover-battle{padding:10px;border:1px solid #c6915b;background:#fff2dd;color:#743d1b;border-radius:6px;font:600 13px var(--sans)}
.sheet-progress .progress-scroll{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:1.4cqw}.battle-report-card,.weekly-goal-card{background:linear-gradient(140deg,#1a3048,#111f32);border:1px solid #f1d19266;border-radius:1.2cqw;padding:1.8cqw}.battle-report-card h4,.weekly-goal-card h4{font:800 3cqw var(--sans);color:#ffe5a1;margin:0 0 1cqw}.battle-report-card>small,.battle-report-card>p,.weekly-goal-card p{font:500 1.9cqw var(--sans);color:#c5dce8;line-height:1.7}.battle-report-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1cqw;margin:1.4cqw 0}.battle-report-grid>div{background:#0c1928;border:1px solid #7693a444;border-radius:.6cqw;padding:.9cqw;text-align:center}.battle-report-grid small{display:block;font:500 1.7cqw var(--sans);color:#bed3df}.battle-report-grid strong{font:800 2.9cqw var(--sans);color:#fff2c1;line-height:1.6}.weekly-goal-card h4 span{font-size:1.8cqw;color:#91e4b3;float:right}.weekly-goal-card progress{width:100%;height:2cqw;accent-color:#eed088}.weekly-goal-card>strong{display:block;font:700 2.4cqw var(--sans);color:#f8e6b2;margin:.8cqw 0}.sheet-equipment .sheet-title .bag-open{font-size:1.8cqw;padding:.5cqw .8cqw}
/* Compact owner-identifiable viewer panels stay above the three gates. */
.equipment-inspection{top:1.5%;bottom:auto;left:2%;right:2%;height:38.5%;max-height:38.5%;padding:1.4cqw;display:flex;flex-direction:column;gap:1cqw;overflow:hidden;border-radius:1.5cqw;background:linear-gradient(145deg,#081523f5,#172c40f2)}
.inspection-owner{display:flex;align-items:center;gap:1.4cqw;flex:0 0 auto;min-height:7cqw;padding-bottom:.7cqw;border-bottom:1px solid #bed9e638}.inspection-avatar{width:7cqw;height:7cqw;border:2px solid #f1d594;border-radius:50%;box-shadow:0 0 1.5cqw #e4c57538}.inspection-avatar .avatar-fallback{font-size:3.5cqw}.inspection-owner-copy{flex:1;min-width:0}.inspection-owner-copy h2{font:900 3.9cqw/1.15 var(--sans);color:#fff0c4;letter-spacing:0;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inspection-owner-copy p{font:500 1.9cqw/1.5 var(--sans);color:#b4d2e4;margin:.4cqw 0 0}.inspection-header-actions{display:flex;align-items:center;gap:.7cqw;color:#b8d2df;font:600 1.8cqw var(--sans)}.inspection-header-actions button{border:1px solid #899c9b60;border-radius:.6cqw;background:#213c50;color:#f2dfb3;padding:.4cqw .7cqw;font:600 1.8cqw var(--sans);cursor:pointer}.inspection-header-actions button:last-child{border:0;background:none;font-size:4cqw;padding:0 .5cqw}
.equipment-inspection .single-sheet{height:auto;flex:1;min-height:0;min-width:0;gap:.7cqw;overflow:hidden}.equipment-inspection .sheet-title{min-height:0}.equipment-inspection .sheet-title h3{display:none}.equipment-inspection .sheet-title>span{font-size:1.8cqw}.equipment-inspection .sheet-title .bag-open{font-size:1.6cqw;padding:.4cqw .6cqw}.equipment-inspection[data-pinned="false"] .sheet-title{display:none}.equipment-inspection .single-sheet .inspect-resources{padding:.4cqw 1cqw;gap:.8cqw}.equipment-inspection .single-sheet .inspect-resources strong{font-size:2.5cqw}.equipment-inspection .single-sheet .inspect-resources span{font-size:1.7cqw}.equipment-inspection .single-sheet .inspect-grid{gap:.8cqw;grid-template-rows:repeat(2,minmax(0,1fr));min-height:0}.equipment-inspection .single-sheet .inspect-item{padding:.7cqw .5cqw;gap:.35cqw;min-height:0}.equipment-inspection .single-sheet .inspect-item .equipment-icon{width:7cqw;height:7cqw;flex-basis:7cqw}.equipment-inspection .single-sheet .inspect-item h3{font-size:2.15cqw;line-height:1.2;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}.equipment-inspection .single-sheet .inspect-item small{font-size:1.65cqw;line-height:1.25}.equipment-inspection .single-sheet .inspect-item p{font-size:1.9cqw;line-height:1.35;margin:0}.equipment-inspection .inspect-summary{display:none}
.equipment-inspection .sheet-backpack .inspect-bag{display:flex;flex-direction:column;gap:.5cqw;padding:0;background:none;border:0;overflow:hidden;min-height:0}.equipment-inspection .inspect-bag>h3{display:none}.equipment-inspection .bag-instructions{font-size:1.75cqw;line-height:1.4;margin:.2cqw 0}.equipment-inspection .sheet-backpack .inspect-bag-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));flex:1;min-height:0;gap:.65cqw}.equipment-inspection .bag-item{display:block;padding:.7cqw;overflow:auto;scrollbar-width:thin;min-height:0}.equipment-inspection .bag-item>.equipment-icon{width:5.8cqw;height:5.8cqw;float:left;margin-right:.6cqw}.equipment-inspection .bag-item b{display:block;font:800 1.95cqw/1.3 var(--sans);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.equipment-inspection .bag-item small{font-size:1.5cqw;line-height:1.3;display:block}.equipment-inspection .bag-item .bag-brief{font-size:1.7cqw;line-height:1.4;clear:both;padding-top:.4cqw}.equipment-inspection .bag-item button{font-size:1.45cqw;padding:.35cqw;margin:.3cqw .3cqw 0 0}.equipment-inspection .bag-item summary{font-size:1.6cqw}.equipment-inspection .bag-pages{margin:0;font-size:1.65cqw}.equipment-inspection .bag-pages button{font-size:1.6cqw;padding:.3cqw}.equipment-inspection[data-pinned="false"] .bag-filters,.equipment-inspection[data-pinned="false"] .bag-item button,.equipment-inspection[data-pinned="false"] .bag-item details,.equipment-inspection[data-pinned="false"] .bag-pages button{display:none}.equipment-inspection .bag-filters{margin:.1cqw 0}.equipment-inspection .bag-filters select{font-size:1.7cqw;padding:.3cqw}
.points-total{text-align:center;display:flex;flex-direction:column;gap:.25cqw;padding:.4cqw}.points-total>span{font-size:2cqw;color:#c7dce6}.points-total>strong{font:900 7cqw/1.05 var(--sans);color:#ffe09b;text-shadow:0 0 2cqw #e0b15b40}.points-total>small{font-size:1.7cqw;color:#aac3d6}.points-milestones{display:flex;flex-direction:column;gap:.8cqw;flex:1;min-height:0}.points-milestone{padding:.8cqw 1.2cqw;border:1px solid #6e899d60;border-radius:.9cqw;background:#10253b;display:flex;flex-direction:column;justify-content:center;gap:.5cqw;flex:1;min-height:0}.points-milestone>div{display:flex;justify-content:space-between;gap:1cqw;align-items:center}.points-milestone b{font-size:2.4cqw;color:#f1dfb3}.points-milestone strong{font-size:2cqw;color:#e5bca7;white-space:nowrap}.points-milestone.unlocked{border-color:#83e4ae70;background:#16372e99}.points-milestone.unlocked strong{color:#abf2c9}.points-milestone p{font-size:1.8cqw;color:#b4ccdd;margin:0;line-height:1.3}.points-milestone progress{width:100%;height:.7cqw;accent-color:#efcf89}.compact-help{font-size:1.75cqw;line-height:1.5;color:#a9c3d6;margin:.3cqw 0;flex-shrink:0}.combat-headline{display:flex;flex-direction:column;gap:.5cqw;flex:0 0 auto}.combat-headline b{font-size:3cqw;color:#f9dda2}.combat-headline span{font-size:1.9cqw;color:#bdd7e4}.combat-metrics{flex:1;min-height:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));gap:.8cqw}.combat-metrics>div{display:flex;flex-direction:column;justify-content:center;align-items:center;background:#10273a;border:1px solid #9db9c83d;border-radius:.8cqw;gap:.7cqw}.combat-metrics small{font-size:1.8cqw;color:#a8c8da}.combat-metrics strong{font:800 2.7cqw var(--sans);color:#f8e2b7}
/* Deterministic crafting and owned skin collection. */
.forge-wallet{display:flex;justify-content:space-between;gap:2cqw;padding:2cqw;border:1px solid #e7c47e88;border-radius:1cqw;background:linear-gradient(115deg,#263c51,#352d22);color:#ffe7ad}.forge-wallet>div{min-width:0}.forge-wallet span,.forge-wallet small{display:block;font:500 1.8cqw var(--sans);color:#c5dbe5;line-height:1.6}.forge-wallet strong{font:800 5.5cqw var(--sans);line-height:1.3}.forge-wallet>p{font:700 2cqw var(--sans);text-align:right;color:#e5eef2;line-height:1.7}.forge-tabs{display:flex;gap:1cqw;margin:1.6cqw 0}.forge-tabs button,.forge-card button,.forge-default{border:1px solid #b8d0e255;border-radius:.7cqw;background:#20384d;color:#dbeaf5;font:700 2.1cqw var(--sans);padding:1cqw;cursor:pointer}.forge-tabs button{flex:1}.forge-tabs button.active{border-color:#ffe0a1;background:#4b3e27;color:#fff0c9}.forge-content{flex:1;min-height:0;overflow-y:auto}.forge-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1cqw}.forge-card{padding:1.1cqw;border:1px solid #ff8e9a88;border-radius:1cqw;background:linear-gradient(150deg,#2d2436,#13283a);text-align:center;min-width:0}.forge-preview{display:flex;align-items:center;justify-content:center;height:12cqw}.forge-preview>.equipment-icon{width:10cqw;height:10cqw;flex:0 0 10cqw}.forge-card h3{font:800 2.35cqw var(--sans);color:#ffe6b2;line-height:1.6;overflow-wrap:anywhere}.forge-card>small{font:500 1.7cqw var(--sans);display:block;color:#c6d5e1;line-height:1.6}.forge-card>strong{display:block;font:700 2.1cqw var(--sans);color:#f5d38c;margin:1cqw 0}.forge-card button{width:100%;font-size:1.9cqw}.forge-card button:disabled{opacity:.5;cursor:default}.forge-card details{text-align:left;font-size:1.8cqw;color:#b9d2e5;line-height:1.7;margin:1cqw 0}.forge-card summary{cursor:pointer}.forge-card details p{font:500 1.75cqw var(--sans)}.forge-skins .forge-card{border-color:#bfa8f288}.forge-skins .forge-preview{height:24cqw}.forge-skin-preview{width:22cqw;height:23cqw;margin:0;display:block;flex-shrink:0}.forge-help,.forge-history{font:500 1.85cqw var(--sans);color:#c3d9e6;line-height:1.8;margin:1.5cqw 0}.forge-history summary{cursor:pointer;color:#ffe2a7}.forge-default{width:100%;margin-top:1.3cqw}.forge-future{display:grid;gap:1cqw}.forge-future article{display:flex;align-items:center;gap:1cqw;padding:1.8cqw;border:1px solid #9ab6c344;border-radius:.8cqw;font:600 2cqw var(--sans);color:#daeaf4}.forge-future article span{flex:1;color:#9eb3c6;font-size:1.8cqw}.forge-future button{background:#26394b;color:#93a8b6;border:0;padding:1cqw;font-size:1.6cqw;border-radius:.5cqw}#forge-confirm-dialog{width:min(90vw,420px);font-family:var(--sans)}#forge-confirm-dialog h2{font:800 22px var(--sans);margin:0 0 14px}#forge-confirm-content{text-align:center}#forge-confirm-content p{font:500 13px var(--sans);line-height:1.8;margin:12px 0}#forge-confirm-content h3{font-size:19px;color:#77562e}.forge-confirm-person{font-size:13px;color:#496a57}.forge-confirm-art{display:flex;justify-content:center;align-items:center;margin:10px auto}.forge-confirm-art .equipment-icon{width:76px;height:76px;flex:0 0 76px}.forge-confirm-art .forge-skin-preview{width:140px;height:150px}.forge-confirm-actions{display:flex;gap:10px;margin-top:16px}.forge-confirm-actions button{flex:1;border:1px solid #acbc9c;border-radius:6px;padding:12px;background:#eaf0e2;color:#365a40;font:700 13px var(--sans);cursor:pointer}.forge-confirm-actions button:last-child{background:#416548;color:#fff}.forge-confirm-actions button:disabled{opacity:.5}#forge-confirm-error{font-size:13px;color:#a53040;line-height:1.7}.sheet-points .points-total button{display:block;margin-top:1cqw;background:#293c51;color:#ffe0a0;border:1px solid #d9bd8755;border-radius:.6cqw;font:600 2cqw var(--sans);padding:.8cqw 1cqw}
/* Forge-specific compact header; single-page catalogue overrides are below. */
.equipment-inspection[data-view^="forge:"]{left:5%;right:5%;height:35%;max-height:35%;padding:1cqw;gap:.6cqw}
.equipment-inspection[data-view^="forge:"] .inspection-owner{min-height:5.5cqw;gap:1cqw;padding-bottom:.4cqw}
.equipment-inspection[data-view^="forge:"] .inspection-avatar{width:5.5cqw;height:5.5cqw}
.equipment-inspection[data-view^="forge:"] .inspection-owner-copy h2{font-size:3cqw}
.sheet-forge .forge-wallet{flex:0 0 auto;padding:.6cqw 1.2cqw;align-items:center}
.sheet-forge .forge-wallet strong{font-size:3.8cqw;line-height:1.1}
.sheet-forge .forge-wallet span,.sheet-forge .forge-wallet small{font-size:1.6cqw;line-height:1.3}
.sheet-forge .forge-wallet>p{font-size:1.8cqw;line-height:1.3;margin:0}
.forge-command-guide{flex:0 0 auto;padding:.8cqw 1cqw;border:1px solid #efd29499;border-radius:.7cqw;background:linear-gradient(110deg,#3c3526,#1b3540);color:#fff0bf;font:500 1.8cqw/1.4 var(--sans)}
.forge-command-guide>div:first-child{display:flex;justify-content:space-between;align-items:center;gap:1cqw}
.forge-command-guide b{font-size:2.1cqw;color:#fff6d2}
.forge-command-guide>div>span{font-size:1.7cqw;color:#e8d59f}
.forge-command-examples{display:flex;flex-wrap:wrap;gap:.4cqw;margin:.5cqw 0}
.forge-command-examples.six-commands{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
.forge-command-examples code{display:block;padding:.3cqw .5cqw;text-align:center;border:1px solid #d6c18b66;border-radius:.5cqw;background:#081a2dcc;color:#fff3bc;font:800 2.1cqw/1.4 var(--sans);white-space:nowrap}
.forge-command-guide>small{display:block;font-size:1.65cqw;color:#c9dce5}
.sheet-forge .forge-tabs{flex:0 0 auto;margin:.2cqw 0;gap:.6cqw}
.sheet-forge .forge-tabs button{padding:.5cqw;font-size:1.85cqw}
.sheet-forge .forge-grid{gap:.65cqw}
.sheet-forge .forge-card{padding:.6cqw;display:grid;grid-template-columns:6cqw minmax(0,1fr);align-items:center;gap:.25cqw .4cqw}
.sheet-forge .forge-preview{height:6cqw;grid-row:1/3}
.sheet-forge .forge-preview>.equipment-icon{width:5.8cqw;height:5.8cqw;flex:0 0 5.8cqw}
.sheet-forge .forge-card h3{font-size:1.95cqw;line-height:1.3;margin:0}
.sheet-forge .forge-card>small{font-size:1.45cqw;line-height:1.3}
.sheet-forge .forge-card>strong{grid-column:1/-1;font-size:1.8cqw;line-height:1.3;margin:.2cqw 0}
.forge-card-command{grid-column:1/-1;display:block;color:#ffe8a4;font:800 1.9cqw/1.4 var(--sans);white-space:nowrap}
.sheet-forge .forge-card details{grid-column:1/-1;font-size:1.6cqw;line-height:1.4;margin:0}
.sheet-forge .forge-card button{grid-column:1/-1;font-size:1.75cqw;padding:.4cqw}
.sheet-forge .forge-skins .forge-card{display:flex;flex-direction:column;gap:.35cqw}
.sheet-forge .forge-skins .forge-preview{height:14cqw}
.sheet-forge .forge-skin-preview{width:13cqw;height:14cqw}
.sheet-forge .forge-skins .forge-card-command{font-size:1.65cqw;white-space:normal}
.sheet-forge .forge-help,.sheet-forge .forge-history{font-size:1.65cqw;line-height:1.5;margin:.8cqw 0}

/* Chaos gear: existing equipment sprites + online flare frames, animated prismatic UI. */
.quality-chaos{--quality-color:#a6fff0;--quality-light:#cf98ff42;box-shadow:inset 0 0 1cqw #b8a0ff55,0 0 1cqw #91fff055}
.equipment-icon.quality-chaos{border-color:#a6fff0;background:linear-gradient(135deg,#ff819a,#ffda7b,#a4ffcb,#83dfff,#bb9aff,#ff98d7);isolation:isolate}
.equipment-icon.quality-chaos:after{content:'';position:absolute;inset:0;border:2px solid transparent;border-image:linear-gradient(125deg,#ff86ac,#ffe283,#a0ffd6,#87dcff,#d59dff,#ff86ac) 1;pointer-events:none;z-index:1;animation:chaos-border 3.6s linear infinite}
.quality-chaos .equipment-art{animation:chaos-art 5s linear infinite}
.quality-chaos .equipment-level{z-index:2;color:#efffff;text-shadow:0 0 4px #bd84ff,0 1px 2px #000}
.quality-key.chaos,.gear-name.chaos strong,.codex-quality.quality-chaos,.single-codex>section>h4.quality-chaos{color:#bffff0;text-shadow:0 0 5px #db97ff}
.quality-key.chaos:before{background:linear-gradient(120deg,#ff839e,#ffe283,#99ffd0,#84dfff,#cd9aff)}
.tone-chaos{--reward-color:#c5fff5}
.tone-chaos .drop-card{border-color:#b9ffe9;background:linear-gradient(135deg,#130e2cf5,#092a33f5,#241233f5);box-shadow:0 0 3cqw #b2fff080,0 0 6cqw #ca83ff66,inset 0 0 5cqw #ad8aff33}
.tone-chaos .drop-card:after{content:'';position:absolute;inset:-3px;border:3px solid transparent;border-image:linear-gradient(120deg,#ff8aae,#ffdf89,#a6ffbf,#81eaff,#cc9cff,#ff8aae) 1;pointer-events:none;animation:chaos-border 3.6s linear infinite}
.tone-chaos .drop-light{inset:-70% -55%}
.tone-chaos .drop-light img{animation:chaos-rays 4s linear infinite;opacity:.9}
.tone-chaos .drop-quality{color:#edffff;font-size:3cqw;text-shadow:0 0 12px #b188ff,0 0 5px #7effea}
.tone-chaos .drop-card h3{color:#d9fff8;text-shadow:0 0 10px #c891ff}
@keyframes chaos-art{from{filter:hue-rotate(0deg) saturate(1.3) drop-shadow(0 0 2px #f0e9ff)}to{filter:hue-rotate(360deg) saturate(1.3) drop-shadow(0 0 2px #f0e9ff)}}
@keyframes chaos-border{50%{border-image:linear-gradient(240deg,#e395ff,#83eaff,#a6ffbf,#ffe58b,#ff8aae,#e395ff) 1}}
@keyframes chaos-rays{from{filter:sepia(1) saturate(4) hue-rotate(0deg)}to{filter:sepia(1) saturate(4) hue-rotate(360deg)}}
.single-codex.has-chaos{grid-template-rows:repeat(4,minmax(0,1fr));gap:.6cqw}
.single-codex.has-chaos>section>h4{font-size:2cqw;line-height:1.1;margin-bottom:.35cqw}
.single-codex.has-chaos .codex-card{display:grid;grid-template-columns:4.6cqw minmax(0,1fr);align-content:center;align-items:center;gap:.2cqw .3cqw;padding:.4cqw}
.single-codex.has-chaos .codex-card .equipment-icon{width:4.6cqw;height:4.6cqw;flex-basis:4.6cqw;min-height:4.6cqw}
.single-codex.has-chaos .codex-card h4{font-size:1.55cqw;min-height:0;line-height:1.25;margin:0;overflow-wrap:anywhere}
.single-codex.has-chaos .codex-card small,.single-codex.has-chaos .codex-card p{grid-column:1/-1;font-size:1.4cqw;line-height:1.2}
.single-codex.has-chaos .equipment-level{font-size:1.2cqw}
@media(prefers-reduced-motion:reduce){.quality-chaos .equipment-art,.equipment-icon.quality-chaos:after,.tone-chaos .drop-card:after,.tone-chaos .drop-light img{animation:none}}

.single-codex.has-chaos .single-codex-row{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:minmax(0,1fr);gap:.55cqw}
.single-codex.has-chaos .codex-card{grid-template-rows:auto auto auto;text-align:center}
.single-codex.has-chaos .codex-card .equipment-icon{grid-column:1;grid-row:1;justify-self:center}
.single-codex.has-chaos .codex-card h4{grid-column:2;grid-row:1}
.single-codex.has-chaos .codex-card small{grid-row:2}
.single-codex.has-chaos .codex-card p{grid-row:3}
/* Premium cosmetics: generated transparent sprites, animated only in the renderer. */
.premium-set-heading{display:flex;justify-content:space-between;align-items:center;padding:.5cqw .3cqw;color:#ffe6a5;font:800 2.2cqw var(--sans)}.premium-set-heading small{font:500 1.65cqw var(--sans);color:#bfdae4}.premium-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1cqw}.premium-card{min-width:0;display:flex;flex-direction:column;align-items:center;padding:1cqw;border:1px solid #dfc17d88;border-radius:1cqw;background:radial-gradient(ellipse at 50% 15%,#47526788,#13253bf5 75%);text-align:center;gap:.5cqw}.premium-card h3{font:800 2.3cqw/1.35 var(--sans);color:#ffe7af;margin:0}.premium-card>small{font:500 1.65cqw/1.5 var(--sans);color:#c5dce6}.premium-card strong{font:700 2cqw var(--sans);color:#f3d18c}.premium-card code{font:700 1.8cqw/1.4 var(--sans);color:#fff0b9;overflow-wrap:anywhere}.premium-card button{width:100%;font:700 1.8cqw var(--sans);padding:.7cqw;border:1px solid #c0a16b99;border-radius:.6cqw;background:#294158;color:#fff0c7;cursor:pointer}.premium-card button:disabled{opacity:.5;cursor:default}.premium-preview{position:relative;width:100%;height:17cqw;display:grid;place-items:center;isolation:isolate}.premium-preview>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 1cqw #c3ddff66);pointer-events:none}.premium-wings>img{animation:premium-wing-breathe 3.6s ease-in-out infinite}.premium-sword>img{animation:premium-sword-float 3s ease-in-out infinite}.premium-entry>img{animation:premium-rune-bloom 4s ease-in-out infinite}.premium-frame>img{animation:premium-frame-glow 3s ease-in-out infinite}.premium-avatar-placeholder{width:9cqw;height:9cqw;display:grid;place-items:center;border-radius:50%;background:radial-gradient(circle,#416073,#152a3e);color:#ffe9bd;font:800 4cqw var(--sans);z-index:-1}.premium-title>b{position:absolute;top:48%;left:26%;right:26%;transform:translateY(-50%);color:#fff1bc;font:900 2cqw var(--sans);text-shadow:0 0 1cqw #df9a38;white-space:nowrap;text-align:center}.premium-title>img{animation:premium-frame-glow 3s ease-in-out infinite}.premium-entry>i{position:absolute;width:52%;height:8%;bottom:26%;border:1px solid #d8baf177;border-radius:50%;animation:premium-entry-ring 4s ease-out infinite}.premium-entry>i:last-child{animation-delay:1s;border-color:#ffe6a699}.forge-confirm-art .premium-preview{width:280px;height:190px}.forge-confirm-art .premium-avatar-placeholder{width:86px;height:86px;font-size:38px}.forge-confirm-art .premium-title>b{font-size:18px}.premium-confirm-command{display:block;text-align:center;font:700 13px/1.6 var(--sans);color:#624f2b}.viewer-avatar.avatar-premium{overflow:visible}.viewer-avatar.avatar-premium>img{border-radius:50%;clip-path:circle(47%)}.avatar-premium>.avatar-frame-art{position:absolute;inset:-27%;z-index:3;background-size:contain;background-position:center;background-repeat:no-repeat;pointer-events:none;filter:drop-shadow(0 0 .5cqw #e7ce9b66)}
@keyframes premium-wing-breathe{0%,100%{transform:scaleX(.95) translateY(1%);opacity:.88}50%{transform:scaleX(1.02) translateY(-2%);opacity:1}}@keyframes premium-sword-float{0%,100%{transform:translateY(2%) rotate(-7deg)}50%{transform:translateY(-3%) rotate(7deg)}}@keyframes premium-rune-bloom{0%,100%{transform:scale(.9) rotate(-5deg);opacity:.75}50%{transform:scale(1) rotate(5deg);opacity:1}}@keyframes premium-frame-glow{0%,100%{filter:drop-shadow(0 0 .7cqw #c5dbfa44)}50%{filter:drop-shadow(0 0 1.5cqw #f3d68999)}}@keyframes premium-entry-ring{0%{transform:translateY(0) scale(.5);opacity:0}25%{opacity:.7}100%{transform:translateY(-8cqw) scale(1.3);opacity:0}}@media(prefers-reduced-motion:reduce){.premium-preview>img,.premium-entry>i{animation:none!important}}

/* Concurrent compact loot cards: ten random, non-overlapping battlefield slots. */
.loot-field{position:absolute;inset:0;z-index:8;pointer-events:none;overflow:hidden;isolation:isolate}
.loot-field[hidden]{display:none}
.loot-field .loot-floating{width:41.666667%;height:15.555556cqw;left:0;top:0;margin:0;color:var(--reward-color,#ffdc88);pointer-events:none}
.loot-floating .drop-card{height:100%;padding:.65cqw 1.2cqw .55cqw;border-width:1px;border-radius:.45cqw;display:grid;grid-template-rows:2.5cqw 7.8cqw minmax(0,1fr);gap:.2cqw;box-shadow:0 0 1cqw currentColor,inset 0 0 2cqw #ffdc8815;overflow:hidden}
.loot-floating .drop-quality{font-size:1.9cqw;line-height:1.2;letter-spacing:0;font-weight:800;padding:0 0 .25cqw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.loot-floating .drop-main{display:flex;align-items:center;justify-content:space-between;gap:.8cqw;padding:0;min-height:0}
.loot-floating .drop-main>.equipment-icon{width:7.2cqw;height:7.2cqw;flex:0 0 7.2cqw;box-shadow:0 0 1cqw currentColor}
.loot-floating .drop-main .equipment-level{font-size:1.45cqw}
.loot-floating .drop-avatar{width:4.8cqw;height:4.8cqw;flex:0 0 4.8cqw;border-width:1px;box-shadow:0 0 1cqw currentColor}
.loot-floating .drop-avatar .avatar-fallback{font-size:2.8cqw}
.loot-floating .drop-gain{min-width:8cqw;text-align:center}
.loot-floating .drop-gain small{font-size:1.45cqw;line-height:1.3}
.loot-floating .drop-gain strong{display:block;font-size:2.5cqw;line-height:1.3}
.loot-floating .drop-owner{display:flex;justify-content:space-between;align-items:center;gap:.8cqw;margin:0;min-width:0;font-size:1.7cqw;line-height:1.15}
.loot-floating .drop-owner b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;text-align:left;font-weight:700}
.loot-floating .drop-owner span{display:block;flex-shrink:0;margin:0;font-size:1.4cqw;color:#b7d4d3}
.loot-floating .drop-light{inset:-60% -30%;opacity:calc(var(--flight-fade)*.72)}
.loot-floating.tone-chaos .drop-quality{font-size:1.9cqw}
.loot-floating.tone-chaos .drop-card{box-shadow:0 0 1.5cqw #b2fff080,0 0 2.5cqw #ca83ff55,inset 0 0 2cqw #ad8aff33}
.loot-floating.drop-flying .drop-card{display:grid;place-items:center;grid-template-rows:1fr;padding:0}
.loot-floating.drop-flying .drop-main{justify-content:center;padding:0}
.loot-floating.drop-flying .drop-avatar,.loot-floating.drop-flying .drop-gain,.loot-floating.drop-flying .drop-owner,.loot-floating.drop-flying .drop-quality{display:none}
.loot-floating.tone-chaos .drop-card:after{inset:0;border-width:2px}
/* Single-page forge: all six equipment / three skins / five appearances visible without scrolling. */
.equipment-inspection[data-view^="forge:"]{height:38.5%;max-height:38.5%;overflow:hidden}
.sheet-forge{gap:.65cqw}
.sheet-forge .forge-wallet{display:flex;justify-content:flex-start;gap:1.5cqw;padding:.65cqw 1.2cqw;white-space:nowrap;min-height:4.4cqw}
.sheet-forge .forge-wallet strong{font-size:3.4cqw}
.sheet-forge .forge-wallet small{margin-left:auto;font-size:1.65cqw}
.sheet-forge .forge-tabs button{display:flex;align-items:center;justify-content:center;gap:.7cqw;padding:.65cqw .3cqw;font-size:2cqw;line-height:1.25}
.sheet-forge .forge-tabs button small{font-size:1.45cqw;font-weight:500;opacity:.8}
.sheet-forge .forge-content{display:flex;flex:1;min-height:0;overflow:hidden}
.sheet-forge .forge-grid,.sheet-forge .premium-grid{width:100%;height:100%;min-height:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:.7cqw;overflow:hidden}
.sheet-forge .forge-card{min-height:0;padding:.7cqw;grid-template-columns:6.4cqw minmax(0,1fr);grid-template-rows:auto auto auto auto minmax(0,1fr) auto;gap:.25cqw .4cqw;align-content:start;overflow:hidden}
.sheet-forge .forge-preview{width:6.4cqw;height:6.4cqw;grid-column:1;grid-row:1/3}
.sheet-forge .forge-preview>.equipment-icon{width:6.2cqw;height:6.2cqw;flex:0 0 6.2cqw}
.sheet-forge .forge-card h3{grid-column:2;font-size:2.05cqw;line-height:1.25}
.sheet-forge .forge-card>small{grid-column:2;font-size:1.5cqw;line-height:1.25}
.sheet-forge .forge-card>strong{font-size:1.95cqw;margin:.15cqw 0;line-height:1.25}
.sheet-forge .forge-card-command{font-size:1.95cqw;line-height:1.4;padding:.3cqw .2cqw;background:#152f43;border:1px solid #82c9dd44;border-radius:.4cqw;color:#d2f6ff;white-space:normal;overflow-wrap:anywhere}
.forge-card-stats{grid-column:1/-1;margin:.2cqw 0;color:#b7ccd9;font:500 1.5cqw/1.35 var(--sans);text-align:center}
.forge-card-status{grid-column:1/-1;display:block;font:500 1.45cqw/1.3 var(--sans);color:#9bb7c8;text-align:center}
.sheet-forge .forge-card button,.sheet-forge .premium-card button{padding:.45cqw;font-size:1.65cqw;line-height:1.2;margin-top:auto}
.forge-sheet-note{flex:0 0 auto;margin:0;color:#a7c5d3;font:500 1.55cqw/1.25 var(--sans);text-align:center;white-space:nowrap}
.sheet-forge .forge-grid.forge-skins{grid-template-rows:minmax(0,1fr)}
.sheet-forge .forge-skins .forge-card{display:flex;flex-direction:column;gap:.7cqw;justify-content:center}
.sheet-forge .forge-skins .forge-preview{width:100%;height:auto;flex:1;min-height:0}
.sheet-forge .forge-skin-preview{width:23cqw;height:26cqw;max-height:100%;margin:0}
.sheet-forge .forge-skins .forge-card-command{width:100%;font-size:1.75cqw}
.sheet-forge .forge-skins .forge-card>small{font-size:1.55cqw}
.sheet-forge .premium-card{min-height:0;padding:.6cqw;gap:.2cqw;overflow:hidden;justify-content:flex-start}
.sheet-forge .premium-preview{height:9cqw;min-height:6cqw;flex:1;max-height:10cqw}
.sheet-forge .premium-card h3{font-size:1.9cqw;line-height:1.2}
.sheet-forge .premium-card>small{font-size:1.45cqw;line-height:1.2}
.sheet-forge .premium-card strong{font-size:1.85cqw;line-height:1.25}
.sheet-forge .premium-card code{width:100%;font-size:1.65cqw;line-height:1.3;color:#d2f6ff;background:#152f43;border-radius:.3cqw;padding:.15cqw}
.sheet-forge .premium-avatar-placeholder{width:5cqw;height:5cqw;font-size:2.3cqw}
.sheet-forge .premium-title>b{font-size:1.55cqw}
/* Three permanent five-piece sets; one fixed 8800-point server-side order. */
.premium-set-page{display:flex;flex-direction:column;gap:.5cqw;width:100%;height:100%;min-height:0}.premium-set-tabs{display:flex;gap:.6cqw;flex:0 0 auto}.premium-set-tabs button{flex:1;min-width:0;border:1px solid #a3bdd344;background:#152b40;color:#c6dbea;border-radius:.6cqw;font:700 1.8cqw var(--sans);padding:.5cqw}.premium-set-tabs button.active{border-color:var(--set-color);color:var(--set-color);background:#294050}.premium-bundle-offer{display:flex;align-items:center;justify-content:space-between;gap:1cqw;padding:.5cqw 1cqw;border:1px solid #c6cbdd44;background:#10263b;border-radius:.6cqw;flex:0 0 auto}.premium-bundle-offer>div{display:flex;flex-direction:column;gap:.2cqw}.premium-bundle-offer b{font:800 2cqw var(--sans);color:var(--set-color)}.premium-bundle-offer span,.premium-bundle-offer small{font:500 1.55cqw var(--sans);color:#c9dbe4}.premium-bundle-offer code{font:700 1.9cqw var(--sans);color:#fff1ba}.premium-bundle-offer button{padding:.7cqw;border:1px solid var(--set-color);border-radius:.6cqw;background:#344752;color:#ffebbf;font:800 1.7cqw var(--sans);white-space:nowrap}.premium-bundle-offer button:disabled{opacity:.5}.sheet-forge .premium-set-page>.premium-grid{flex:1;height:auto;min-height:0}.sheet-forge .premium-set-page .premium-preview{min-height:3cqw;max-height:9cqw;height:auto}.sheet-forge .premium-set-page .premium-card h3{font-size:1.75cqw}.premium-bundle-confirm{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:100%;gap:4px}.forge-confirm-art .premium-bundle-confirm .premium-preview{width:100%;height:110px}.forge-confirm-art .premium-bundle-confirm .premium-title>b{font-size:8px;white-space:normal}.forge-confirm-art .premium-bundle-confirm .premium-avatar-placeholder{width:32px;height:32px;font-size:16px}

/* Permanent contribution tiers / deterministic chaos forging: single-sheet, no viewer scrolling. */
.contribution-benefits,.gift-combat-receipt{flex:0 0 auto;border:1px solid #ddbe7850;background:linear-gradient(115deg,#243e4f,#162638);border-radius:.7cqw;padding:.6cqw 1cqw}
.contribution-heading{display:flex;justify-content:space-between;align-items:center;gap:.8cqw}.contribution-heading b{font:800 2.2cqw var(--sans);color:#ffe1a0}.contribution-heading span{font:600 1.65cqw var(--sans);color:#bed6df}
.contribution-tiers{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.5cqw;margin:.6cqw 0}.contribution-tiers>div{display:flex;flex-direction:column;align-items:center;gap:.2cqw;border:1px solid #a8c8dc33;border-radius:.6cqw;padding:.4cqw 0;color:#7f9aaa}.contribution-tiers span{font:600 1.55cqw var(--sans)}.contribution-tiers strong{font:800 2.1cqw var(--sans)}.contribution-tiers .reached{background:#8b6b2845;border-color:#e9c77a99;color:#ffe4a8}.contribution-tiers>div:last-child.reached{background:linear-gradient(120deg,#684c5c,#254b61);border-color:#ffe8ab;box-shadow:inset 0 0 1cqw #f2d18a33}
.contribution-benefits>small,.gift-combat-receipt>small{display:block;font:500 1.45cqw/1.35 var(--sans);color:#a9c4ce}.gift-combat-receipt>b{font:700 1.85cqw var(--sans);color:#baf2ef}.gift-combat-receipt>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));font:500 1.7cqw/1.5 var(--sans);gap:.7cqw;color:#d5e6ef}.gift-combat-receipt strong{color:#ffe2a8}
.sheet-points .points-total{padding:.6cqw 1cqw;display:grid;grid-template-columns:auto 1fr;gap:.2cqw 1.2cqw;align-items:center}.sheet-points .points-total>strong{font-size:3.6cqw;grid-column:2;grid-row:1}.sheet-points .points-total>small{font-size:1.5cqw;grid-column:1/-1}.sheet-points .points-total>button{grid-column:1/-1;padding:.3cqw;font-size:1.65cqw}.sheet-points .points-milestones{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7cqw;min-height:0;flex:1}.sheet-points .points-milestone{padding:.6cqw;min-height:0;overflow:hidden}.sheet-points .points-milestone>div{display:flex;flex-direction:column;align-items:flex-start;gap:.4cqw}.sheet-points .points-milestone b{font-size:1.75cqw;line-height:1.3}.sheet-points .points-milestone strong{font-size:1.6cqw;line-height:1.3}.sheet-points .points-milestone p{font-size:1.5cqw;line-height:1.45;margin:.4cqw 0}.sheet-points .points-milestone progress{height:.5cqw}.sheet-points>.compact-help{font-size:1.45cqw;line-height:1.35;margin:0}
.sheet-forge .forge-tabs{gap:.5cqw}.sheet-forge .forge-tabs button{flex-direction:column;gap:.15cqw;font-size:1.85cqw}.sheet-forge .forge-tabs button small{font-size:1.4cqw}.sheet-forge .chaos-forge-card{border-color:#b0c9f0aa;background:linear-gradient(130deg,#292b46,#123b47)}.chaos-forge-card>progress{grid-column:1/-1;width:100%;height:.6cqw;accent-color:#aeedec}.sheet-forge .chaos-forge-card{grid-template-rows:auto auto auto auto auto auto minmax(0,1fr)}.sheet-forge .chaos-forge-card .forge-card-command{font-size:1.65cqw;line-height:1.3}.chaos-forge-actions{grid-column:1/-1;display:flex;gap:.4cqw}.chaos-forge-actions button{flex:1;min-width:0}.sheet-forge .chaos-forge-actions button{font-size:1.45cqw;padding:.4cqw .2cqw}

.sheet-forge .chaos-forge-actions button{font-size:1.55cqw;line-height:1.3;padding:.3cqw .15cqw;white-space:nowrap;margin-top:0}

/* Rolled affixes: all six items and every stat remain on one sheet. */
.equipment-inspection .inspect-item.random-affix-item{display:grid;grid-template-columns:5.2cqw minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr);align-content:start;align-items:start;gap:.25cqw .6cqw;text-align:left}
.equipment-inspection .inspect-item.random-affix-item>.equipment-icon{grid-column:1;grid-row:1/3;width:5.2cqw;height:5.2cqw;flex-basis:5.2cqw}.equipment-inspection .inspect-item.random-affix-item>h3{grid-column:2;font-size:1.95cqw;line-height:1.3}.equipment-inspection .inspect-item.random-affix-item>small{grid-column:2;font-size:1.45cqw;line-height:1.35;white-space:normal}.equipment-inspection .inspect-item.random-affix-item>.equipment-affix-list{grid-column:1/-1;width:100%;align-self:start;margin-top:.3cqw}
.equipment-affix-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.25cqw .6cqw;min-width:0}.equipment-affix-list>span{display:flex;flex-direction:column;gap:0;padding:.25cqw .3cqw;border-radius:.35cqw;background:#173446b3;min-width:0}.equipment-affix-list>span small{font:500 1.4cqw/1.2 var(--sans);color:#adc9d5}.equipment-affix-list>span b{font:700 1.7cqw/1.25 var(--sans);color:#d9fff2;white-space:nowrap}.equipment-affix-list>.affix-enhance-cost{background:#51432e66}.equipment-affix-list>.affix-enhance-cost b{color:#f6dba4}
.equipment-inspection .bag-item{overflow:hidden!important}.equipment-inspection .bag-item>div{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.3cqw;min-width:0}.equipment-inspection .bag-item>div>b,.equipment-inspection .bag-item>div>small,.equipment-inspection .bag-item>div>.equipment-affix-list,.equipment-inspection .bag-item>div>.equipment-legacy-stats,.equipment-inspection .bag-item>div>details{grid-column:1/-1}.equipment-inspection .bag-item .equipment-affix-list{margin:.2cqw 0}.equipment-inspection .bag-item button{font:600 1.4cqw/1.2 var(--sans);padding:.35cqw .15cqw;min-width:0;white-space:normal;margin:0}.equipment-inspection[data-pinned="false"] .bag-item button{display:none}
.equipment-inspection .bag-item .equipment-affix-list>span{padding:.15cqw .25cqw}.equipment-inspection .bag-item .equipment-affix-list small{font-size:1.25cqw}.equipment-inspection .bag-item .equipment-affix-list b{font-size:1.5cqw}.equipment-inspection .bag-item .equipment-affix-list>.affix-enhance-cost{display:none}

/* Backpack headings use their own row, so five affixes never flow beside a floated icon. */
.equipment-inspection .bag-item{display:flex;flex-direction:column;gap:.25cqw;padding:.6cqw}.equipment-inspection .bag-item-head{display:flex;align-items:center;gap:.5cqw;min-height:4.5cqw;flex:0 0 auto;min-width:0}.equipment-inspection .bag-item-head>.equipment-icon{float:none;width:4.5cqw;height:4.5cqw;flex:0 0 4.5cqw;margin:0}.equipment-inspection .bag-item-head>div{min-width:0}.equipment-inspection .bag-item-head b{font-size:1.65cqw;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.equipment-inspection .bag-item-head small{font-size:1.25cqw;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.equipment-inspection .bag-item>.equipment-affix-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.2cqw .4cqw;flex:0 0 auto;margin:0}.equipment-inspection .bag-item>.equipment-affix-list>span{display:flex;flex-direction:row;align-items:baseline;justify-content:space-between;gap:.2cqw;padding:.2cqw .25cqw}.equipment-inspection .bag-item>.equipment-affix-list>span small{font-size:1.2cqw;line-height:1.25;white-space:nowrap}.equipment-inspection .bag-item>.equipment-affix-list>span b{font-size:1.4cqw;line-height:1.25;white-space:nowrap}.equipment-inspection .bag-item>.equipment-affix-list>.affix-enhance-cost{display:none}
.equipment-inspection .bag-item>.bag-item-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.3cqw;flex:0 0 auto;margin-top:auto}.equipment-inspection .bag-item>.bag-item-actions button{font-size:1.25cqw;line-height:1.2;padding:.3cqw .1cqw;white-space:nowrap;overflow:hidden}.equipment-inspection[data-pinned="false"] .bag-filters,.equipment-inspection[data-pinned="false"] .bag-item>.bag-item-actions{display:none}.equipment-inspection .bag-item>.equipment-legacy-stats{font-size:1.4cqw;line-height:1.3;margin:0}

.equipment-inspection .bag-item>.equipment-affix-list>span small{font-size:1.35cqw}.equipment-inspection .bag-item>.equipment-affix-list>span b{font-size:1.6cqw}

/* Compact, explicit daily combat-time income; combat damage is never reduced. */
.combat-time-rewards{flex-shrink:0;padding:.9cqw 1.2cqw;border:1px solid #83d9b455;border-radius:.8cqw;background:linear-gradient(110deg,#183c37d9,#12283be8);color:#cae7e1}.combat-time-rewards>div{display:flex;align-items:center;justify-content:space-between;gap:1cqw;font:600 1.9cqw var(--sans)}.combat-time-rewards b{font-variant-numeric:tabular-nums;color:#f6e7b7}.combat-time-rewards strong{font:800 2.35cqw var(--sans);color:#b7f6d2;white-space:nowrap}.combat-time-rewards small,.combat-time-rewards p,.combat-time-rewards em{display:block;margin:.4cqw 0 0;font:500 1.6cqw/1.4 var(--sans);color:#b7d0db}.combat-time-rewards em{font-size:1.4cqw}.combat-time-rewards.reduced{border-color:#d4ae6755;background:linear-gradient(110deg,#3d3025d9,#15283be8)}.combat-time-rewards.reduced strong{color:#ffd38c}.combat-time-rewards.compact{padding:.5cqw .9cqw}.combat-time-rewards.compact>div{font-size:1.55cqw}.combat-time-rewards.compact strong{font-size:1.8cqw}.combat-time-rewards.compact small{font-size:1.4cqw;margin-top:.2cqw}
.sheet-points .contribution-benefits>small,.sheet-points .gift-combat-receipt>small{display:none}
.equipment-inspection .sheet-points{gap:.45cqw}

/* Separate immutable base stats from rerollable affixes; six cards remain on one sheet. */
.equipment-inspection .inspect-resources{grid-template-columns:repeat(3,minmax(0,1fr))}
.equipment-inspection .inspect-resources>div{padding:.55cqw .8cqw;gap:.3cqw}
.equipment-inspection .inspect-resources>div:last-child strong{color:#9df5dc}
.equipment-inspection .inspect-item.random-affix-item{grid-template-rows:auto auto auto minmax(0,1fr) auto}
.equipment-base-stats{grid-column:1/-1;display:flex;align-items:baseline;gap:.6cqw;color:#f7dea6;font-size:1.5cqw;line-height:1.3;flex-shrink:0;padding:.2cqw .5cqw;background:#ad8a3320;border-radius:.3cqw}
.equipment-base-stats small{color:#d2b985!important;font-size:1.3cqw!important;flex-shrink:0}
.equipment-base-stats b{font-weight:600;overflow-wrap:anywhere}
.equipment-inspection .reroll-item-button,.equipment-inspection .reroll-item-command{grid-column:1/-1;font:600 1.4cqw var(--sans);padding:.25cqw .5cqw;text-align:center;border:1px solid #7be4c755;background:#163b37;color:#bcffe7;border-radius:.4cqw;width:100%;flex-shrink:0}
.equipment-inspection .reroll-item-button{align-self:end}
.equipment-inspection .bag-item>.bag-item-actions{grid-template-columns:repeat(4,minmax(0,1fr))}
.forge-reroll-bar{display:flex;justify-content:space-between;align-items:center;gap:1cqw;flex:0 0 auto;background:#22423d80;border:1px solid #91dbbd44;border-radius:.5cqw;padding:.55cqw 1cqw;font-size:1.65cqw;color:#bcecd8}
.forge-reroll-bar button,.forge-reroll-bar code{font:600 1.55cqw var(--sans);padding:.5cqw .8cqw;background:#325e51;color:#e2ffec;border-radius:.4cqw}
#reroll-confirm-dialog{width:min(90vw,420px);border:1px solid #a0b99b;border-radius:12px;color:#24443b;background:#f0f3e8;padding:22px}
#reroll-confirm-dialog h2{font-size:21px;margin:0 0 15px}
#reroll-confirm-copy{font-size:13px;line-height:1.9}
#reroll-confirm-error{color:#a53040;font-size:13px;line-height:1.7;margin-top:10px}

.equipment-inspection .inspect-item>.equipment-affix-list>span{flex-direction:row;justify-content:space-between;align-items:baseline;gap:.3cqw;padding:.25cqw .3cqw}
.equipment-inspection .inspect-item>.equipment-affix-list>span small{font-size:1.25cqw;line-height:1.25;white-space:nowrap}
.equipment-inspection .inspect-item>.equipment-affix-list>span b{font-size:1.55cqw;line-height:1.25}
.equipment-inspection .equipment-item-actions{grid-column:1/-1;display:flex;gap:.35cqw;align-self:end;min-width:0}
.equipment-inspection .equipment-item-actions>button{flex:1;min-width:0;white-space:nowrap;font:600 1.2cqw/1.25 var(--sans);padding:.3cqw .2cqw}
.equipment-inspection .bag-item>.equipment-base-stats{display:flex;gap:.4cqw;margin:0}

.sheet-forge .forge-card{padding:.45cqw;gap:.2cqw .4cqw}
.sheet-forge .forge-card-command{padding:.15cqw .2cqw;font-size:1.7cqw;line-height:1.2}
.sheet-forge .forge-card-stats{font-size:1.3cqw;line-height:1.15;margin:.1cqw 0}

/* The dedicated chaos sheet reserves its room for all six fragment recipes. */
.sheet-forge[data-forge-page="chaos"] .forge-reroll-bar{display:none}
