.sprite{background-image:var(--character-atlas)}
.home-tabs{display:flex;gap:4px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}.home-tabs button{flex:0 0 auto;min-width:57px;font-size:14px;white-space:nowrap;padding:12px 10px}.home-content{min-width:0}
.departure-extras{display:flex;gap:8px;margin-top:17px}.departure-extras button{flex:1;padding:12px 8px;background:#183c37;border:1px solid #779b8355;border-radius:10px;font-size:14px;line-height:1.5}
.record-filters,.record-period{display:flex;gap:7px;margin:15px 0}.record-filters button,.record-period button{padding:11px 13px;border:1px solid #74988b6b;background:#132e30;border-radius:10px;font-size:14px}.record-filters button[aria-pressed=true],.record-period button[aria-pressed=true]{border-color:#f9d585;color:#ffe3a0;background:#66562f66}
.personal-rank{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;padding:18px 14px;border:1px solid #9bba9b55;border-radius:14px;background:#10342f;margin:16px 0;font-size:14px}.personal-rank b{font-size:26px;color:#ffdf87}
.leaderboard{padding:0;margin:0 0 20px;list-style:none}.leaderboard li{display:flex;gap:12px;align-items:center;padding:17px 10px;border-bottom:1px solid #90bca329;min-width:0}.leaderboard li.is-me{background:#76eab51a;border-radius:10px}.rank-place{font-size:23px;width:25px;text-align:center;color:#ffe19f}.rank-name{flex:1;min-width:0;overflow-wrap:anywhere;font-size:16px}.rank-name small{display:block;color:#bad2c5;font-size:12px;margin-top:5px}.leaderboard li>strong{font-size:20px;white-space:nowrap}.leaderboard li>strong small{display:block;text-align:right;font-size:12px;font-weight:400;color:#bad2c5}
.nickname-form{margin-top:24px;text-align:left}.nickname-form label{font-size:14px;display:block;margin-bottom:9px}.nickname-form>div{display:flex;gap:8px}.nickname-form input{min-width:0;flex:1;border:1px solid #8fbbaa70;border-radius:10px;padding:12px;background:#0e2829;color:#fff;font:inherit;font-size:16px}.nickname-form small{display:block;font-size:12px;color:#b4cfc1;line-height:1.6;margin-top:7px}
.challenge-card{margin:20px 0;padding:22px 18px;border-radius:18px;border:1px solid #ffde9480;background:radial-gradient(circle at 100% 0,#75652d55,transparent 60%),#102f30;text-align:left}.challenge-card>span{font-size:12px;letter-spacing:.1em;color:#efd297}.challenge-card h3{font-size:23px;line-height:1.5;margin:14px 0}.challenge-card p{font-size:14px;line-height:1.9;color:#ccdfd0}.challenge-card dl{margin:20px 0}.challenge-card dl div{display:flex;justify-content:space-between;gap:12px;margin:12px 0;font-size:14px}.challenge-card dd{color:#ffe29b;margin:0;font-weight:700}.challenge-card .button{margin-top:25px}
.achievement-list{display:grid;gap:10px;margin:20px 0 26px}.achievement{display:flex;gap:12px;padding:16px 12px;background:#0e2a2d6b;border:1px solid #6f99842e;border-radius:13px;text-align:left}.achievement.earned{border-color:#b8d97b80;background:#42604833}.achievement-seal{align-self:flex-start;flex:0 0 auto;border:1px solid #839b9270;border-radius:7px;padding:8px 6px;font-size:12px;color:#b6c9bc}.earned .achievement-seal{border-color:#ffdb91;color:#ffdb91}.achievement>div{min-width:0;flex:1}.achievement h3{font-size:16px;margin:0 0 5px;line-height:1.5}.achievement p{font-size:14px;line-height:1.6;margin:0 0 6px;color:#c7dccd}.achievement small{font-size:12px;color:#b6c8b8}.achievement-progress{height:5px;border-radius:5px;background:#061f22;margin:11px 0 6px;overflow:hidden}.achievement-progress i{height:100%;display:block;background:#d3e28a}
.title-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.title-list button{font-size:14px;min-height:42px}.outfit-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.outfit-card{background:#122d30;border:1px solid #77998b4f;padding:14px 8px;border-radius:14px;text-align:center}.outfit-card h3{font-size:14px;line-height:1.5;margin:0 0 12px}.outfit-card button{font-size:14px;padding:9px;min-height:40px}.outfit-preview{width:120px;height:120px;background:var(--outfit-atlas) 0 0/200% 200% no-repeat;margin:0 auto}.outfit-default{background-image:var(--default-outfit);background-size:contain}.outfit-ninja{background-position:0 0}.outfit-royal{background-position:100% 0}.outfit-explorer{background-position:0 100%}.home-avatar.outfit-preview{width:115px;height:115px;margin:0;flex:none}.result-portrait.outfit-preview{width:95px;height:95px;margin:0 auto}
.kill-style-list{display:grid;gap:10px}.kill-style-list article{display:flex;align-items:center;gap:10px;font-size:14px;padding:12px 0}.kill-style-list strong{flex:1}.effect-swatch{width:25px;height:25px;border:2px solid var(--effect);border-radius:50%;box-shadow:0 0 14px var(--effect)}
.best-progress{position:absolute;top:60px;left:12px;max-width:62%;padding:7px 10px;background:#102a2db8;border:1px solid #d1e5b044;border-radius:8px;font-size:12px;color:#edffc8;pointer-events:none;font-variant-numeric:tabular-nums}.best-progress.beaten{color:#ffe190;border-color:#ffdf9777}
.record-notice{position:absolute;top:105px;left:12px;right:12px;text-align:center;color:#ffdf87;font-size:22px;font-weight:900;text-shadow:0 2px 5px #0b252a;pointer-events:none}.record-notice small{display:block;font-size:13px;line-height:1.6;color:#fff5cc}
.encounter-hud{position:absolute;bottom:54px;left:10px;max-width:min(72%,310px);padding:10px 12px;border-left:3px solid #ffdb80;border-radius:4px 10px 10px 4px;background:#102e30d9;pointer-events:none;text-align:left;box-shadow:0 3px 12px #071d2230}.encounter-hud>span{display:block;font-size:14px;font-weight:700;color:#ffe39d}.encounter-hud small{display:block;line-height:1.6;font-size:12px;color:#dae7d0;margin-top:3px}.encounter-hud button{pointer-events:auto;min-height:44px;width:100%;margin-top:10px;padding:8px 12px;background:#f3d783;color:#20352b;border:0;border-radius:9px;font-weight:800;font-size:14px}
.battle-report{margin:22px 0;text-align:left;border-top:1px solid #71978666;padding-top:20px}.battle-report h3{font-size:20px;margin:0 0 14px}.battle-report h4{font-size:16px;margin:24px 0 12px}.defeat-cause{background:#683a4055;border:1px solid #dc8d8d44;border-radius:10px;font-size:14px;line-height:1.7;padding:12px;color:#ffe2d8}.event-totals{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:#d8dec9}.event-totals span{background:#173432;padding:7px;border-radius:6px}.weapon-report{margin:15px 0}.weapon-report>div:first-child{display:flex;justify-content:space-between;gap:12px;font-size:14px;line-height:1.6}.weapon-report>div strong{min-width:0;overflow-wrap:anywhere}.weapon-report small{font-size:12px;color:#b7cec1}.damage-bar{height:7px;background:#102b2c;border-radius:5px;overflow:hidden;margin:7px 0}.damage-bar i{display:block;height:100%;background:linear-gradient(90deg,#64d6b5,#ecdf98)}.result-achievements{text-align:left}.result-achievements p{border:1px solid #ffdf7a77;padding:12px;background:#76612533;border-radius:10px;font-size:14px;color:#ffebac;line-height:1.7}
.record-offline{display:block;width:100%;margin-top:10px;background:none;border:1px solid #90af9677;color:#d3e3ce;padding:12px;border-radius:10px;font:inherit;font-size:14px}
.departure-record-note{font-size:14px;line-height:1.6;color:#c8dfcd;margin:10px 0;text-align:center}
.departure-status{margin:12px 0;padding:13px 15px;border:1px solid #89c5b15c;border-radius:10px;background:#123730;color:#dbf1df;text-align:left;font-size:14px;line-height:1.7;overflow-wrap:anywhere;scroll-margin:16px}
.departure-status.failed{background:#57382c;border-color:#dbae70;color:#ffedcc}.departure-status strong{display:block;font-size:15px}.departure-status p{margin:0;font:inherit;color:inherit}.departure-status strong+p{margin-top:5px}
.departure-fallback p{margin:8px 0 0;color:#c8d9cc;font-size:14px;line-height:1.7;text-align:center}.departure-fallback .record-offline{min-height:48px}
@media(max-width:370px){.outfit-preview{width:100px;height:100px}.challenge-card{padding:17px 13px}.home-tabs button{min-width:53px;padding:11px 8px}.leaderboard li{gap:8px;padding:15px 3px}.leaderboard li>strong{font-size:17px}.rank-name{font-size:14px}.departure-extras{flex-direction:column}}
@media(prefers-reduced-motion:reduce){.effect-swatch{box-shadow:none}.record-notice{transition:none}}
