:root{font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;color:#293b32;background:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--ink: #293b32;--muted: #89938e;--green: #47765e;--green-dark: #315e47;--green-soft: #edf4ee;--line: #e7ece8;--surface: #f6f8f5;--danger: #b45d54}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{cursor:default;opacity:.42}a{color:inherit;text-decoration:none}button,input,select,a{outline-offset:4px}:focus-visible{outline:2px solid #7ea48c}h1,h2,h3,p{margin:0}button{border:0;background:none;color:inherit}button,a,input,select{transition:color .16s,background .16s,border-color .16s,box-shadow .16s}.app-shell{min-height:100dvh}.site-header{height:56px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px;padding:0 28px;border-bottom:1px solid var(--line);background:#fff;position:relative;z-index:50}.brand{display:inline-flex;align-items:center;gap:9px;width:max-content;font-family:Songti SC,STSong,serif;font-size:17px;font-weight:700;letter-spacing:1px}.brand-logo{display:block;width:32px;height:32px;flex:0 0 auto;object-fit:contain}.site-header nav{align-self:stretch;display:flex;align-items:stretch;gap:30px}.site-header nav a{position:relative;display:flex;align-items:center;font-size:13px;color:#8a948e;white-space:nowrap}.site-header nav a:hover{color:var(--green)}.site-header nav a.active,.site-header nav a.router-link-active:not([href="/"]){color:var(--ink);font-weight:600}.site-header nav a.active:after,.site-header nav a.router-link-active:not([href="/"]):after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--green);border-radius:2px}.page-width{width:min(1080px,calc(100% - 64px));margin:0 auto}.primary-button,.outline-button,.gold-button{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:42px;padding:11px 20px;border:1px solid transparent;border-radius:8px;font-size:13px;font-weight:600;line-height:1.4;white-space:nowrap}.primary-button,.gold-button{background:var(--green);color:#fff}.primary-button:hover:not(:disabled),.gold-button:hover:not(:disabled){background:var(--green-dark)}.outline-button{background:#fff;border-color:var(--line);color:#53675b}.outline-button:hover:not(:disabled){background:var(--surface);border-color:#c5d6c9}.text-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 0;background:transparent;color:#718277;font-size:12px;line-height:1.5}.text-button:hover:not(:disabled){color:var(--green-dark)}.danger{color:var(--danger)!important}.muted{color:var(--muted)!important}input,select{min-width:0;width:100%;height:43px;border:1px solid #dfe7e0;border-radius:7px;padding:0 12px;color:var(--ink);background-color:#fff;font-size:13px}input::placeholder{color:#a5ada7}input:hover,select:hover{border-color:#bacdbf}input:focus,select:focus{outline:none;border-color:#7a9d85;box-shadow:0 0 0 3px #edf4ee}.error-message,.inline-error{color:var(--danger);background:#fbf0ee;border-radius:7px;padding:12px 14px;font-size:12px;line-height:1.7;overflow-wrap:anywhere}.error-message .text-button,.inline-error .text-button{color:inherit;margin-left:12px}.hint{color:#8b8164;font-size:12px;line-height:1.7}.home-page{width:min(540px,calc(100% - 40px));padding:54px 0 38px}.home-intro{text-align:center}.home-intro h1{font-family:Songti SC,STSong,serif;font-size:34px;font-weight:600;letter-spacing:6px;text-indent:6px}.home-lineup{display:flex;justify-content:center;align-items:flex-end;height:152px;padding-bottom:14px;margin:10px 0 19px;position:relative}.home-lineup:after{content:"";position:absolute;left:20%;right:20%;bottom:12px;height:1px;background:linear-gradient(90deg,transparent,#e1e9e1,transparent)}.art-portrait{display:block;flex:0 0 auto;object-fit:contain}.home-lineup .art-portrait{margin:0 -3px;filter:drop-shadow(0 6px 7px #42634a0b);position:relative;z-index:1}.entry-form{display:flex;flex-direction:column;gap:20px}.mode-switch{display:flex;gap:4px;padding:4px;border-radius:9px;background:var(--surface)}.mode-switch button{flex:1;height:39px;border-radius:6px;font-size:13px;color:#87928a}.mode-switch button.selected{background:#fff;color:var(--green-dark);box-shadow:0 1px 4px #243c2b0d;font-weight:600}.field-label,.settings-grid label{display:flex;flex-direction:column;gap:9px;position:relative;font-size:12px;color:#69786d}.field-hint{position:absolute;right:0;top:0;font-size:11px;color:#a0aaa2}.standard-config{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:3px 0 2px;color:#94a096;font-size:11px}.standard-config span{display:flex;flex-direction:column;gap:5px;text-align:center}.standard-config span+span{border-left:1px solid var(--line)}.standard-config b{font-size:18px;font-weight:500;color:#536b5b;font-variant-numeric:tabular-nums}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}.seed-field{grid-column:1 / -1}.entry-actions{display:grid;grid-template-columns:1fr auto;gap:24px;padding-top:3px}.entry-actions .primary-button{min-height:46px;justify-content:space-between;padding:12px 20px}.entry-actions .text-button{min-width:68px}.connection-status{display:inline-flex;align-items:center;justify-content:center;gap:5px;font-size:10px;color:#a2ada5;margin-top:-5px}.connection-status i{width:4px;height:4px;border-radius:50%;background:#a4b09f}.connection-status.connected i{background:#85a98c}.records-page{padding-top:45px;padding-bottom:50px}.records-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:33px}.records-heading h1,.result-heading h1{font-family:Songti SC,STSong,serif;font-size:28px;font-weight:600;letter-spacing:2px}.board-toolbar,.history-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.board-picker{width:min(320px,70%)}.board-picker select{height:38px;font-size:12px}.board-conditions{display:flex;align-items:center;flex-wrap:wrap;gap:18px;padding-bottom:18px;font-size:11px;color:#929c95}.board-conditions span:first-child{color:var(--green)}.condition-seed{overflow-wrap:anywhere}.inline-error{margin-bottom:20px;display:flex;align-items:center;justify-content:space-between}.leaderboard-table-wrap{width:100%;overflow-x:auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.leaderboard-table{width:100%;border-collapse:collapse;font-size:13px;white-space:nowrap}.leaderboard-table th{height:46px;background:#fafbf9;color:#99a29b;font-size:11px;font-weight:400;text-align:left}.leaderboard-table th,.leaderboard-table td{padding:0 22px}.leaderboard-table td{height:65px;border-top:1px solid #f0f3ef;color:#7c8a80;font-variant-numeric:tabular-nums}.leaderboard-table th:nth-child(3),.leaderboard-table td:nth-child(3){text-align:right}.leaderboard-table td:first-child{width:100px}.leaderboard-table td:last-child{color:#a0aaa3;font-size:11px}.leaderboard-table td small{font-size:10px;color:#a0aaa3}.leaderboard-table td.ranking-name{color:#455e4d;font-weight:500}.leaderboard-table td.ranking-score{color:var(--green);font-size:17px;font-weight:600}.rank-number{color:#a0ada3;font-size:15px}.top-rank .rank-number{color:#78977a}.table-footer{display:flex;justify-content:space-between;align-items:center;margin-top:20px;color:#a2aaa5;font-size:11px}.table-footer>div{display:flex;align-items:center;gap:17px;font-size:12px}.pagination-button{width:30px;height:30px;border:1px solid var(--line);border-radius:6px;background:#fff;color:#66836c}.pagination-button:hover:not(:disabled){background:var(--surface)}.empty-realm{min-height:260px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:22px;padding:50px 20px}.empty-realm h2{color:#9da8a0;font-size:15px;font-weight:400}.history-toolbar{color:#a1aba3;font-size:11px}.history-list{border-top:1px solid var(--line)}.history-entry{display:grid;grid-template-columns:40px minmax(180px,1fr) 90px 80px 140px 90px;align-items:center;gap:20px;padding:25px 0;border-bottom:1px solid var(--line)}.history-number{color:#b0bbb2;font-size:13px;font-variant-numeric:tabular-nums}.history-identity p{display:flex;align-items:center;gap:12px;color:#4a6552;font-size:14px}.history-identity p span{font-size:10px;font-weight:400;color:#8fa194}.history-identity small{display:block;margin-top:8px;font-size:10px;color:#a3ada6}.history-metric{display:flex;flex-direction:column;gap:5px}.history-metric strong{font-size:19px;font-weight:500;font-variant-numeric:tabular-nums}.history-metric span{color:#a4afa6;font-size:10px}.history-status{font-size:11px;color:#a0a89a}.history-status.verified{color:#79a184}.history-link{font-size:11px;color:#5a7e64;text-align:right;white-space:nowrap}.history-link span{margin-left:4px}.history-load-more{display:flex;justify-content:center;margin-top:32px}.result-page{max-width:740px;padding-top:32px;padding-bottom:42px}.back-link{display:inline-flex;color:#9ba69e;font-size:11px;padding:8px 0}.back-link:hover{color:var(--green)}.result-composition{padding-top:28px;text-align:center}.result-heading p{color:#a0aaa3;font-size:11px;margin-top:10px}.score-medallion{display:flex;flex-direction:column;align-items:center;gap:8px;padding:38px 0 30px}.score-medallion>span{font-size:11px;color:#9aa79d}.score-medallion>strong{color:var(--green);font-size:64px;font-weight:500;letter-spacing:-2px;line-height:1.2;font-variant-numeric:tabular-nums}.result-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0}.result-summary>div{display:flex;align-items:center;flex-direction:column;gap:12px}.result-summary>div+div{border-left:1px solid var(--line)}.result-summary span{font-size:10px;color:#9aa89d}.result-summary strong{font-size:22px;font-weight:400;color:#536f5c}.result-summary small{margin-left:5px;font-size:10px;color:#a7b3aa}.result-status{display:flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:15px;color:#9aab9c;font-size:12px}.result-status b{font-weight:400}.result-status.verified{color:#669373}.result-status.rejected{color:var(--danger)}.result-status p{margin-top:5px;font-size:11px;line-height:1.7}.result-enemies{display:flex;justify-content:center;gap:30px;padding-top:16px}.result-enemies>span{display:flex;flex-direction:column;gap:7px;color:#a1ada4;font-size:10px}.result-enemies b{color:#718b78;font-size:14px;font-weight:400}.result-actions{display:flex;justify-content:center;gap:12px;margin-top:35px}.result-actions>a{min-width:138px}.state-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;min-height:60dvh;padding:50px 24px;text-align:center;background:#fff}.state-panel h1{color:#637a69;font-size:22px;font-weight:500}.state-panel p{max-width:480px;font-size:12px;color:#9a8981;line-height:1.8}.state-glyph{font-size:45px;font-family:Songti SC,STSong,serif;color:#b7c9b8}.in-battle{height:100dvh;overflow:hidden}.in-battle>main{height:calc(100dvh - var(--app-header-height, 56px))}.battle-page{position:relative;width:100%;height:calc(100dvh - var(--app-header-height, 56px));min-height:0;margin:0;padding:0;overflow:hidden;background:#edf1e9}.battle-main-fill{position:absolute;inset:0}.arena-frame{position:relative;width:100%;height:100%;overflow:hidden}.game-canvas{position:absolute;inset:0;width:100%;height:100%;min-height:0;max-height:none;overflow:hidden}.game-canvas canvas{display:block}.battle-topbar{position:absolute;top:12px;left:12px;right:12px;display:flex;justify-content:space-between;align-items:center;gap:18px;padding:10px 14px;border:1px solid #fff;border-radius:10px;background:#fffffff2;box-shadow:0 2px 12px #3459400c;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10}.battle-metrics,.battle-controls{display:flex;align-items:center;gap:21px}.battle-metrics>div,.battle-metric{display:flex;align-items:center;gap:7px;white-space:nowrap}.battle-metrics>span{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}.battle-metrics span,.battle-metrics small{font-size:10px;font-weight:400;color:#8b9b8f}.battle-metrics strong,.battle-metrics b{font-size:17px;font-weight:500;line-height:1.1;color:#4c6c57;font-variant-numeric:tabular-nums}.battle-metrics .danger{color:var(--danger)}.battle-controls{gap:9px}.battle-topbar .primary-button,.battle-topbar .outline-button,.battle-topbar .route-toggle{min-height:33px;height:33px;padding:7px 12px;font-size:11px;border-radius:7px;gap:6px}.route-toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);background:#fff;border-radius:7px;color:#87978a}.route-toggle.selected{color:var(--green);background:var(--green-soft);border-color:#d2e2d4}.cell-menu{position:absolute;z-index:30;padding:13px;max-width:calc(100% - 20px);max-height:calc(100% - 20px);overflow:auto;border:1px solid #e4ece2;border-radius:12px;background:#fffffff9;box-shadow:0 12px 40px #24463024,0 2px 6px #24463009;color:var(--ink);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.cell-menu-header{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:21px;margin-bottom:11px}.cell-menu-header>span,.cell-menu-header>strong,.cell-menu-header>b{font-size:12px;font-weight:500;color:#627a68}.cell-menu-header .unit-level{color:#9eb0a1;font-size:10px;font-weight:400}.cell-menu-header .menu-close{margin-left:auto;flex:0 0 auto}.cell-menu-header small{margin-left:6px;color:#9eb0a1;font-size:10px;font-weight:400}.cell-menu-header>button{display:grid;place-items:center;width:23px;height:23px;border-radius:50%;color:#a2b2a6;font-size:17px;line-height:1}.cell-menu-header>button:hover{color:#567560;background:#f0f5ef}.cell-build-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.cell-build-option{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;min-width:0;min-height:104px;padding:7px 4px 9px;border:1px solid #e8eee7;border-radius:8px;background:#fbfcf9}.cell-build-option:hover:not(:disabled){border-color:#abc6ae;background:#f2f7ed}.cell-build-option .art-portrait{margin-top:-3px}.cell-build-option>span,.cell-build-option>b,.cell-build-option>strong{color:#5d7864;font-size:11px;font-weight:500}.cell-build-option>small{color:#97a88f;font-size:10px}.cell-build-option.unaffordable{opacity:.42}.rune-icon{display:grid;place-items:center;width:44px;height:46px;margin:1px 0 4px;border:2px solid #c3cfb4;border-radius:11px 8px 13px 9px;background:#eef2df;color:#a4b080!important;font-family:Songti SC,STSong,serif;font-size:25px!important}.selected-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:5px 0 16px;padding-top:8px}.selected-stats>span{display:flex;flex-direction:column;gap:6px;color:#a0ada1;font-size:10px}.selected-stats b{color:#607e65;font-size:15px;font-weight:500}.selected-actions{display:flex;gap:7px}.selected-actions>button{flex:1;min-height:36px;padding:8px;gap:5px;font-size:11px}.cell-menu .selected-skill,.cell-menu .unit-skill{margin:5px 0 14px;font-size:11px;line-height:1.7;color:#97a496}.arena-loading{position:absolute;inset:0;z-index:40;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;background:#f4f7f1f5;color:#9aac9b;font-size:12px}.loader-seal{display:block;width:50px;height:50px;object-fit:contain;animation:breathe 1.6s ease-in-out infinite}.battle-toast{position:absolute;left:50%;bottom:24px;transform:translate(-50%);z-index:45;pointer-events:none;width:max-content;max-width:calc(100% - 40px);padding:10px 18px;border:1px solid #e1e9dc;border-radius:8px;background:#fffffff5;box-shadow:0 4px 18px #3155371a;color:#697d61;font-size:12px;text-align:center;line-height:1.6}.pause-overlay{position:absolute;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:20px;background:#f4f8f1b8;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.pause-dialog{display:flex;flex-direction:column;align-items:stretch;gap:11px;width:285px;padding:31px 25px 22px;border:1px solid #e6ece2;border-radius:16px;background:#fffffff2;box-shadow:0 14px 50px #3a5e3f12;text-align:center}.pause-dialog h2{font-family:Songti SC,STSong,serif;font-size:25px;font-weight:500;letter-spacing:2px;margin-bottom:18px}.pause-dialog .text-button{margin-top:3px}.loader-small{display:inline-block;width:12px;height:12px;border:1px solid #cad9ca;border-top-color:#81a180;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes breathe{50%{opacity:.4}}@media(min-width:1600px){.home-page{padding-top:75px}}@media(max-width:1000px){.history-entry{grid-template-columns:28px minmax(160px,1fr) 70px 60px 105px 78px;gap:13px}.battle-topbar{align-items:flex-start;gap:10px}.battle-metrics{flex-wrap:wrap;gap:9px 17px}.battle-controls{flex-shrink:0}}@media(max-width:760px){.site-header{padding:0 16px;grid-template-columns:auto 1fr;gap:22px}.site-header nav{justify-content:flex-end;gap:23px}.brand{font-size:15px;gap:7px}.brand-logo{width:28px;height:28px}.site-header nav a{font-size:12px}.page-width{width:calc(100% - 36px)}.home-page{width:min(500px,calc(100% - 40px));padding-top:40px}.home-intro h1{font-size:30px}.home-lineup{transform:scale(.9);margin:1px -20px 11px}.records-page{padding-top:30px}.records-heading{margin-bottom:25px}.records-heading h1{font-size:25px}.board-conditions{gap:10px 15px}.leaderboard-table th,.leaderboard-table td{padding:0 15px}.leaderboard-table td{height:59px}.history-entry{grid-template-columns:23px 1fr 58px 55px;gap:13px;padding:20px 0}.history-status{grid-column:2;font-size:10px;margin-top:-3px}.history-link{grid-column:3 / 5;grid-row:auto;font-size:10px;margin-top:-3px}.history-identity p{gap:8px;font-size:13px}.history-identity p span,.history-identity small{font-size:9px}.history-metric strong{font-size:17px}.result-page{padding-top:22px}.result-composition{padding-top:32px}.result-summary{padding:20px 0}.result-enemies{gap:20px}.score-medallion>strong{font-size:58px}.battle-page{width:100%}.battle-topbar{top:9px;left:9px;right:9px;flex-direction:column;padding:9px 11px;gap:9px;border-radius:9px}.battle-metrics{width:100%;justify-content:space-between;gap:6px}.battle-metrics>div,.battle-metric{gap:4px}.battle-metrics span,.battle-metrics small{font-size:9px}.battle-metrics strong,.battle-metrics b{font-size:15px}.battle-controls{width:100%;justify-content:flex-end;gap:7px}.battle-topbar .primary-button,.battle-topbar .outline-button,.battle-topbar .route-toggle{height:29px;min-height:29px;padding:5px 9px;font-size:10px}.cell-menu{border-radius:10px}.battle-toast{bottom:16px;font-size:11px;padding:9px 13px}}@media(max-width:390px){.site-header{padding:0 12px;gap:14px}.site-header nav{gap:15px}.brand{font-size:14px}.home-lineup{transform:scale(.78);margin-left:-30px;margin-right:-30px}.standard-config{font-size:10px}.history-entry{grid-template-columns:18px 1fr 44px 43px;gap:9px}.history-identity p span{display:none}.result-enemies{gap:14px}.battle-metrics{flex-wrap:wrap;justify-content:flex-start;gap:8px 14px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}.game-canvas{touch-action:none;overscroll-behavior:none;user-select:none;-webkit-user-select:none}.game-canvas canvas{touch-action:none;cursor:grab}.game-canvas canvas:active{cursor:grabbing}.battle-topbar{top:10px;left:max(10px,env(safe-area-inset-left,0px));right:max(10px,env(safe-area-inset-right,0px));padding:8px 12px;gap:12px}.battle-metrics{flex-wrap:wrap;gap:10px 18px;min-width:0}.battle-metrics>span{max-width:100%;white-space:normal}.battle-metrics span,.battle-metrics small{font-size:12px}.battle-metrics b{font-size:17px;overflow-wrap:anywhere}.battle-controls{flex-shrink:0}.battle-topbar .primary-button,.battle-topbar .outline-button,.battle-topbar .route-toggle{min-height:44px;height:auto;min-width:44px;padding:9px 12px;font-size:13px}.camera-controls{position:absolute;right:max(12px,env(safe-area-inset-right,0px));bottom:max(12px,env(safe-area-inset-bottom,0px));z-index:12;display:flex;padding:3px;border:1px solid var(--line);border-radius:10px;background:#fffffff5;box-shadow:0 2px 12px #3459400c;touch-action:manipulation}.camera-controls button{min-width:44px;min-height:44px;border-radius:7px;color:var(--green-dark);font-size:21px}.camera-controls button:nth-child(2){padding:0 12px;font-size:13px}.camera-controls button:hover:not(:disabled),.camera-controls button[aria-pressed=true]{background:var(--green-soft)}.cell-menu{touch-action:pan-y;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.cell-menu-header{gap:8px;min-height:44px;margin-bottom:8px}.cell-menu-header>strong{font-size:14px}.cell-menu-header .menu-close{width:44px;height:44px;border-radius:8px;font-size:24px}.cell-menu-header .unit-level,.cell-menu-header small{font-size:12px}.cell-build-option{min-height:110px}.cell-build-option>b{font-size:13px}.cell-build-option .build-meta{display:flex;justify-content:center;gap:10px;width:100%;color:var(--muted)}.build-meta small{font-size:12px}.selected-stats>span{font-size:12px}.selected-stats b{font-size:16px}.selected-actions>button{min-height:44px;font-size:13px}.pause-overlay{padding:12px max(12px,env(safe-area-inset-right,0px)) max(12px,env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px))}.pause-dialog{max-width:100%;max-height:100%;overflow:auto;overscroll-behavior:contain;padding:24px 22px 18px}.pause-dialog h2{margin-bottom:10px}.pause-dialog .primary-button,.pause-dialog .outline-button,.pause-dialog .text-button{min-height:44px}.battle-toast{bottom:max(78px,calc(env(safe-area-inset-bottom,0px) + 64px));font-size:13px}@media(max-width:760px){.battle-topbar{flex-direction:column;gap:6px;padding:8px 10px}.battle-metrics{justify-content:space-between;gap:6px 12px}.battle-metrics>span{gap:5px}.battle-metrics b{font-size:16px}.battle-metrics .construction-metric{margin-left:auto}.battle-controls{gap:8px}.battle-topbar .primary-button{flex:1}.cell-menu{padding:10px}.selected-stats{gap:8px}}@media(orientation:landscape)and (max-height:500px){.battle-topbar{flex-direction:row;align-items:center;gap:12px;padding:6px 10px}.battle-metrics{gap:6px 12px}.battle-metrics>span{gap:4px}.battle-controls{width:auto}.battle-topbar .primary-button,.battle-topbar .outline-button,.battle-topbar .route-toggle{padding:8px 10px}.cell-menu-header{position:sticky;top:-10px;z-index:1;background:#fff;margin-top:-2px}.cell-build-option{min-height:94px;gap:2px;padding:4px}.cell-build-option .art-portrait{height:42px!important;width:40px!important}.pause-dialog{gap:8px;padding-top:14px;padding-bottom:12px}.pause-dialog h2{font-size:22px;margin-bottom:4px}}:root{--app-header-height: calc(56px + env(safe-area-inset-top, 0px)) ;--page-gutter: clamp(16px, 4vw, 32px)}html{-webkit-text-size-adjust:100%}button,a,input,select{touch-action:manipulation}.site-header{height:var(--app-header-height);padding:env(safe-area-inset-top,0px) max(28px,env(safe-area-inset-right,0px)) 0 max(28px,env(safe-area-inset-left,0px))}.site-header nav a{min-width:44px;min-height:44px;justify-content:center}.brand{min-width:0;min-height:44px}.app-shell:not(.in-battle)>main{padding:0 env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}.page-width{width:min(1080px,calc(100% - var(--page-gutter) - var(--page-gutter)))}.home-page{width:min(600px,calc(100% - var(--page-gutter) - var(--page-gutter)))}.home-lineup{height:clamp(96px,24vw,152px);padding-bottom:12px;margin:8px 0 20px;gap:2px;transform:none}.home-lineup .art-portrait{width:min(18.8%,106px)!important;height:auto!important;min-width:0;flex:0 0 auto;margin:0}.home-lineup .art-portrait:nth-child(3){width:min(21%,126px)!important}.settings-grid>label,.history-entry>*,.result-summary>*,.result-actions>*{min-width:0}.history-identity p,.history-identity small,.history-status,.result-heading p{overflow-wrap:anywhere}.history-identity p{flex-wrap:wrap}.history-metric strong,.result-summary strong,.score-medallion>strong{max-width:100%;overflow-wrap:anywhere}.board-picker{min-width:0}.condition-seed{max-width:100%}.inline-error{flex-wrap:wrap;gap:8px}.result-enemies{flex-wrap:wrap}@media(max-width:1024px),(pointer:coarse){.app-shell:not(.in-battle) input,.app-shell:not(.in-battle) select{min-height:44px;height:46px;font-size:16px}.app-shell:not(.in-battle) button,.app-shell:not(.in-battle) .primary-button,.app-shell:not(.in-battle) .outline-button,.app-shell:not(.in-battle) .text-button,.app-shell:not(.in-battle) .back-link,.app-shell:not(.in-battle) .history-link{min-height:44px}.app-shell:not(.in-battle) .pagination-button{min-width:44px;width:44px;height:44px}.app-shell:not(.in-battle) .text-button{padding-left:10px;padding-right:10px}.field-label,.settings-grid label{font-size:14px}.mode-switch button{height:44px;font-size:14px}.home-page{padding-top:clamp(28px,5vh,54px);padding-bottom:28px}.board-toolbar{gap:12px}.board-picker{flex:1;width:auto;max-width:360px}.board-conditions{font-size:12px;line-height:1.5}.back-link{align-items:center}}@media(max-width:760px){.site-header{grid-template-columns:auto minmax(0,1fr);gap:12px;padding-right:max(12px,env(safe-area-inset-right,0px));padding-left:max(12px,env(safe-area-inset-left,0px))}.brand{gap:6px}.site-header nav{min-width:0;gap:4px;justify-content:flex-end}.site-header nav a{padding:0 7px;font-size:12px}.home-page{padding-top:28px}.entry-form{gap:19px}.entry-actions{grid-template-columns:minmax(0,1fr) auto;gap:14px}.entry-actions .primary-button{gap:12px}.settings-grid{gap:16px 12px}.records-page{padding-top:26px;padding-bottom:32px}.records-heading{margin-bottom:20px}.history-entry{grid-template-columns:24px minmax(0,1fr) minmax(54px,.5fr) minmax(54px,.5fr);grid-template-areas:"number identity score waves" ". status action action";column-gap:12px;row-gap:8px;padding:18px 0}.history-number{grid-area:number;align-self:start;padding-top:3px;font-size:12px}.history-identity{grid-area:identity}.history-identity p{gap:6px;font-size:14px;line-height:1.5}.history-identity p span{font-size:11px}.history-identity small{font-size:11px;line-height:1.5;margin-top:5px}.history-score{grid-area:score}.history-waves{grid-area:waves}.history-metric{align-self:start;gap:6px}.history-metric strong{font-size:18px}.history-metric span{font-size:11px;line-height:1.5}.history-status{grid-area:status;font-size:11px;margin:0;line-height:1.6}.history-link{grid-area:action;display:inline-flex;align-items:center;justify-content:flex-end;justify-self:end;font-size:12px;margin:0;padding:8px 0 8px 8px;white-space:normal;text-align:right}.result-page{padding-top:16px;padding-bottom:30px}.result-composition{padding-top:20px}.result-heading p{line-height:1.6;font-size:12px}.score-medallion{padding:28px 0 24px}.score-medallion>strong{font-size:clamp(40px,12vw,64px)}.result-summary{grid-template-columns:repeat(2,minmax(0,1fr));padding:0}.result-summary>div{padding:18px 12px;gap:10px}.result-summary>div+div{border-left:0}.result-summary>div:nth-child(2n){border-left:1px solid var(--line)}.result-summary>div:nth-child(n+3){border-top:1px solid var(--line)}.result-summary span{font-size:12px}.result-summary strong{font-size:24px}.result-status{font-size:13px;line-height:1.6}.result-enemies{gap:18px}.result-enemies>span{font-size:12px}.result-actions{gap:10px;margin-top:26px}.result-actions>a{min-width:0;flex:1;gap:10px;padding:11px 12px}}@media(max-width:900px){.leaderboard-table-wrap{overflow:visible}.leaderboard-table{display:block;white-space:normal}.leaderboard-table thead{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.leaderboard-table tbody{display:block}.leaderboard-table tbody tr{display:grid;grid-template-columns:32px minmax(0,1fr) minmax(78px,32%);grid-template-areas:"position name score" "position waves kills" ". date date";column-gap:12px;row-gap:8px;padding:17px 0;border-top:1px solid var(--line);align-items:start}.leaderboard-table tbody tr:first-child{border-top:0}.leaderboard-table td{display:block;width:auto!important;height:auto;min-width:0;padding:0;border:0;overflow-wrap:anywhere;line-height:1.5}.leaderboard-table .ranking-position{grid-area:position;padding-top:1px}.rank-number{font-size:18px}.leaderboard-table td.ranking-name{grid-area:name;font-size:15px}.leaderboard-table td.ranking-score{grid-area:score;text-align:right;font-size:20px;line-height:1.25}.leaderboard-table td.ranking-score:after{content:" 分";font-size:11px;font-weight:400;color:#8b9b8f}.leaderboard-table .ranking-waves{grid-area:waves;font-size:12px}.leaderboard-table .ranking-kills{grid-area:kills;font-size:12px;text-align:right}.ranking-waves:before,.ranking-kills:before{content:attr(data-label) " ";font-size:11px;color:#9aa59c}.leaderboard-table .ranking-date{grid-area:date;font-size:11px}.table-footer{gap:10px;font-size:12px}.table-footer>div{gap:12px}.board-conditions{gap:8px 14px}.empty-realm{min-height:220px;padding:36px 12px}.error-message,.inline-error{font-size:13px}}@media(max-width:360px){.site-header{gap:8px;padding-right:max(10px,env(safe-area-inset-right,0px));padding-left:max(10px,env(safe-area-inset-left,0px))}.brand{font-size:13px;letter-spacing:0}.brand-logo{width:26px;height:26px}.site-header nav a{padding:0 6px;font-size:11px}.home-intro h1{font-size:28px}.history-entry{column-gap:8px;grid-template-columns:20px minmax(0,1fr) minmax(50px,.5fr) minmax(50px,.5fr)}.history-identity p{font-size:13px}.history-metric strong{font-size:16px}.leaderboard-table tbody tr{column-gap:9px}}@media(orientation:landscape)and (max-height:500px){:root{--app-header-height: calc(48px + env(safe-area-inset-top, 0px)) }.site-header{gap:16px}.site-header nav{gap:8px}.home-page{padding-top:20px}.home-lineup{height:104px;margin-bottom:16px}.records-page{padding-top:22px}}
