:root{font-family:system-ui,"Microsoft YaHei",sans-serif;color:#203b38;background:#edf2ed;--green:#176c59;--line:#dce5dc;--muted:#697d74}*{box-sizing:border-box}body{margin:0;padding-bottom:94px}header{display:flex;justify-content:space-between;align-items:center;padding:20px max(20px,calc((100vw - 1500px)/2));color:#fff;background:#174c40}header small{color:#b5d1c4;letter-spacing:2px}h1{font-size:24px;margin:5px 0 0}h2{font-size:18px;margin:0}h3{margin:0 0 8px}main{max-width:1540px;margin:auto;padding:20px}button,input,select{font:inherit;border:1px solid #b8cbbf;border-radius:10px;background:#fff;color:inherit;min-height:44px;padding:10px 12px}button{cursor:pointer;touch-action:manipulation}button:hover{border-color:var(--green);background:#edf7f1}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #e5ae40;outline-offset:2px}button:disabled{opacity:.5;cursor:wait}header button{background:#245d50;color:white;border-color:#8bae9b}.primary{background:var(--green);color:white;border-color:var(--green);font-weight:600}.primary:hover{background:#105345;color:white}.subtle{width:100%;margin-top:12px;background:#f5f8f3}.toolbar{display:flex;gap:12px;align-items:end;flex-wrap:wrap}.toolbar label{display:grid;gap:6px;font-size:13px;color:var(--muted)}.toolbar input,.toolbar select{color:#203b38;min-width:180px}.team-name{flex:1}.notice{font-size:13px;line-height:1.7;color:#596b61;background:#f8f6ec;padding:12px 16px;border-radius:10px}.muted{color:var(--muted);font-size:13px;line-height:1.7}.workspace{display:grid;grid-template-columns:245px minmax(330px,1fr) minmax(285px,.9fr);gap:16px;align-items:start}.panel{background:white;border:1px solid var(--line);border-radius:16px;padding:18px;min-width:0;box-shadow:0 3px 16px #223f2b05}.section-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:8px}.section-title span{font-size:12px;color:var(--muted)}.slot{display:flex;gap:12px;align-items:center;width:100%;text-align:left;margin-bottom:8px;padding:12px}.slot.active{border:2px solid var(--green);background:#edf7f0;padding:11px}.slot .number{border-radius:50%;width:30px;height:30px;background:#e9efe6;display:grid;place-items:center;flex-shrink:0;font-weight:700}.slot small{display:block;color:var(--muted);font-size:11px;margin-top:4px}.slot div{min-width:0;overflow-wrap:anywhere}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-grid label,.field-label{display:grid;gap:6px;font-size:12px;color:var(--muted)}.form-grid button{width:100%;text-align:left}.wide{grid-column:1/-1}.pokemon-heading{border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:18px}.pokemon-heading .dex{color:var(--muted);font-size:12px}.type{display:inline-block;background:#e7f0e8;border-radius:5px;padding:3px 7px;font-size:11px;margin:7px 4px 0 0}.moves{display:grid;gap:7px}.moves button{text-align:left;display:flex;justify-content:space-between;gap:10px}.stats{display:grid;grid-template-columns:1fr 70px 70px;gap:6px;align-items:center;font-size:12px}.stats input{width:100%;padding:7px;min-height:38px}.stat-title{color:var(--muted)}.presets{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 14px}.presets button{font-size:11px;padding:6px 8px;min-height:34px}.filters{display:flex;gap:8px;margin:10px 0}.filters select{min-width:0;flex:1;font-size:12px}.result-list{display:grid;gap:7px;max-height:560px;overflow:auto;overscroll-behavior:contain;padding:2px}.result-list button{text-align:left;display:block;width:100%}.result-list small{display:block;color:var(--muted);font-size:11px;margin-top:4px;line-height:1.5}.result-list strong{font-size:14px}.result-list .desc{font-size:12px;line-height:1.5;color:#52675b;margin-top:6px}#search{width:100%}#status{margin:0 0 12px;min-height:24px;font-size:14px}#status.error{color:#a53737}#status.success{color:var(--green)}footer{position:fixed;bottom:0;width:100%;padding:12px max(20px,calc((100vw - 1460px)/2));padding-bottom:max(12px,env(safe-area-inset-bottom));display:flex;justify-content:space-between;align-items:center;background:#fffffff2;border-top:1px solid var(--line);z-index:4;backdrop-filter:blur(8px)}footer span{font-size:12px;color:var(--muted)}dialog{border:1px solid var(--line);border-radius:16px;width:min(620px,94vw);max-height:87vh;padding:20px;color:inherit}dialog::backdrop{background:#173b35aa}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}dialog input{width:100%}dialog .result-list{max-height:55vh}.mobile-tabs{display:none}#review{margin:18px 0}#review-text p{font-size:14px;line-height:1.8}.danger{color:#9c3434}.empty{min-height:220px;display:grid;align-content:center;gap:14px;color:var(--muted)}.cloud-row{border-top:1px solid var(--line);padding:10px 0}.cloud-row p{font-size:12px}.cloud-row button{font-size:12px;margin:3px}.badge{font-size:11px;color:#896829;background:#fff2c9;padding:3px 6px;border-radius:4px}@media(max-width:1150px){.workspace{grid-template-columns:200px minmax(300px,1fr) 280px;gap:10px}.panel{padding:13px}main{padding:13px}}@media(max-width:850px),(pointer:coarse){header{padding:12px 16px}h1{font-size:19px}.workspace{display:block}.workspace>.panel{display:none}.workspace>.panel.mobile-active{display:block}.mobile-tabs{display:flex;gap:7px;margin-bottom:12px;position:sticky;top:0;z-index:2;background:#edf2ed;padding:8px 0}.mobile-tabs button{flex:1}.mobile-tabs button.active{background:var(--green);color:white}main{padding:12px}.toolbar{gap:8px}.toolbar label{flex:1;min-width:135px}.toolbar input,.toolbar select{min-width:0;width:100%}.toolbar>button{flex:1;font-size:12px}.result-list{max-height:none}dialog .result-list{max-height:54vh}.notice{font-size:12px;padding:10px}.slots{display:grid;grid-template-columns:1fr 1fr}.slot{min-height:72px}.panel{padding:16px}.form-grid{gap:10px}footer{padding:10px 14px}.stats{grid-template-columns:1fr 84px 84px}}

/* A finger may start on any card: vertical panning never captures a button click. */
.result-list{touch-action:pan-y pinch-zoom;overscroll-behavior-y:auto;-webkit-overflow-scrolling:touch}
.result-list button,.slot{touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}
.nature-effect{display:flex;flex-wrap:wrap;gap:10px;font-size:13px;margin:10px 0 0}
.nature-effect span{padding:5px 9px;border-radius:6px;background:#edf2ed}
.nature-effect .stat-up{color:#aa3932;background:#fff0ed}.nature-effect .stat-down{color:#246898;background:#edf6ff}
#local-list{max-height:60vh;overflow-y:auto;touch-action:pan-y pinch-zoom}
#save-state{overflow-wrap:anywhere;max-width:50%;line-height:1.5}
@media(max-width:850px),(pointer:coarse){#species-list{max-height:none;overflow:visible;overscroll-behavior:auto}footer{gap:10px}footer button{font-size:13px}.toolbar>button{min-width:130px}}
