@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#101218;--panel:#181b23;--panel2:#20242e;--line:#2b303c;--muted:#959bac;--text:#ecedf3;--accent:#b6a0ff;--green:#91d9ac;--gold:#edc979;font-family:'DM Sans',system-ui,sans-serif;background:var(--bg);color:var(--text)}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer;color:var(--text);background:var(--panel2);border:1px solid var(--line);border-radius:7px;padding:9px 13px;transition:background .15s,border-color .15s}button:hover{background:#303543;border-color:#697087}button:disabled{opacity:.35;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}a{color:inherit}input,select{color:var(--text);background:#13161d;border:1px solid var(--line);border-radius:6px;padding:9px}select{cursor:pointer}header{height:76px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:24px;padding:0 3.3%;background:#14161e}.brand{text-decoration:none;font-family:'Space Grotesk',sans-serif;font-size:23px;font-weight:700;letter-spacing:1.4px;display:flex;align-items:center;gap:11px}.brand-light{font-weight:400;color:var(--muted)}.brandmark{width:32px;height:34px;display:grid;place-items:center;transform:skew(-8deg);background:var(--accent);color:#171322;border-radius:7px;font-size:24px}.header-divider,.vertical-rule{width:1px;height:24px;background:var(--line)}.header-label{font-size:12px;letter-spacing:2px;color:#b8bdca}.pvp{font-size:10px;letter-spacing:1.3px;color:var(--accent);border:1px solid #584b7e;background:#292238;padding:5px 8px;border-radius:4px}.source-btn{margin-left:auto;border:none;background:none;color:var(--muted);font-size:12px}.source-btn i,.status-dot{display:inline-block;width:6px;height:6px;background:var(--green);border-radius:50%;margin-right:7px}main{max-width:1600px;margin:auto;padding:30px 3.3% 18px}.page-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:27px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--accent);font-weight:700;margin-bottom:9px}h1{font-family:'Space Grotesk',sans-serif;font-size:34px;letter-spacing:-1.3px;margin:0;font-weight:600}h1 span{color:var(--accent)}.page-title p{color:var(--muted);font-size:13px;margin:9px 0 0}.subtle{background:transparent;font-size:12px;color:#d0c3f6}.team-toolbar{display:flex;gap:12px;align-items:center;margin-bottom:16px}.team-toolbar>input{width:220px;border-color:transparent;background:transparent;font-family:'Space Grotesk',sans-serif;font-size:17px;font-weight:500;padding-left:0}.team-toolbar>input:hover{border-color:var(--line)}.autosave{font-size:10px;color:var(--muted)}.toolbar-actions{margin-left:auto;display:flex;gap:6px;align-items:center}.toolbar-actions button{font-size:12px}.primary{background:var(--accent);color:#201634;border-color:var(--accent);font-weight:700}.primary:hover{background:#cabaff;color:#171322}.workspace{display:grid;grid-template-columns:190px minmax(0,1fr) 275px;gap:16px;align-items:start}.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden}.section-heading{display:flex;align-items:center;gap:10px;justify-content:space-between}h2{font-family:'Space Grotesk',sans-serif;font-weight:500;font-size:14px;margin:0}.count{font-size:10px;color:var(--muted);white-space:nowrap}.synergy-panel{padding:18px 14px}.synergy-panel .section-heading{margin-bottom:20px}.empty-traits{padding:38px 6px;text-align:center;color:var(--muted);font-size:12px;line-height:1.7}.empty-traits .symbol{font-size:30px;color:#535969;display:block;margin-bottom:13px}.trait{border:1px solid var(--line);border-radius:7px;padding:10px;margin-bottom:7px;background:#1d2028}.trait.active{background:linear-gradient(110deg,#342d43,#211f2c);border-color:#584a73}.trait-head{display:flex;align-items:center;gap:8px;font-size:12px}.trait-icon{width:22px;height:22px;border-radius:6px;background:color-mix(in srgb,var(--t) 20%,transparent);color:var(--t);display:grid;place-items:center;font-size:11px;font-weight:700}.trait .number{margin-left:auto;color:var(--accent);font-weight:bold}.trait p{font-size:10px;color:var(--muted);line-height:1.5;margin:7px 0}.trait.active p{color:#ccc3dd}.tiers{display:flex;gap:5px}.tier{background:#12151c;padding:3px 6px;border-radius:3px;font-size:10px;color:#777e8e}.tier.on{background:#8d77bb;color:#fff}.micro{font-size:10px;line-height:1.6;color:var(--muted);margin:17px 0 4px}.rules{border-top:1px solid var(--line);margin-top:16px;padding-top:14px;font-size:11px;color:var(--muted);line-height:1.6}.rules summary{cursor:pointer;color:#d5d8e3}.board-panel{padding:18px 20px 12px;background:radial-gradient(ellipse at 50% 38%,#242937 0%,#181b23 75%)}.board-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.board-options{display:flex;gap:15px;align-items:center;font-size:11px;color:var(--muted)}.board-options select{padding:4px 8px;margin-left:4px}.switch{display:flex;gap:5px;align-items:center}.switch input{accent-color:var(--accent)}.board-label{display:flex;justify-content:space-between;font-size:8px;letter-spacing:1.3px;color:#7d8497;margin:9px 0}.board-label span:last-child{letter-spacing:.3px}.hexboard{padding:4px 12px 8px 0;--hexgap:5px}.hex-row{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--hexgap);margin-top:-10px}.hex-row:first-child{margin-top:0}.hex-row:nth-child(even){transform:translateX(3.4%)}.hex{position:relative;aspect-ratio:.96;border:0;border-radius:0;padding:0;background:#343c4d;clip-path:polygon(50% 0,98% 25%,98% 75%,50% 100%,2% 75%,2% 25%);isolation:isolate;min-width:0;display:grid;place-items:center}.hex:before{content:'';position:absolute;inset:1.3px;clip-path:inherit;background:#222835;z-index:-1}.hex:hover{background:var(--accent)}.hex:hover:before{background:#303346}.hex.selected{background:var(--accent)}.hex.selected:before{background:#393044}.hex.occupied{background:var(--c)}.hex.occupied.selected{background:#f7e8ff}.hex.occupied:before{background:radial-gradient(ellipse,var(--c) -160%,#242632 85%)}.hex .placeholder{color:#41495d;font-size:20px;font-weight:400}.hex .sprite{width:80%;height:80%;object-fit:contain;image-rendering:pixelated;position:absolute;top:2%;pointer-events:none;filter:drop-shadow(0 4px 4px #0006)}.hex .unit-name{position:absolute;bottom:15%;font-size:9px;font-weight:600;max-width:94%;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;text-shadow:0 1px 4px #000;z-index:1}.hex .stars{position:absolute;top:7%;font-size:8px;color:var(--gold);letter-spacing:1px;text-shadow:0 1px 2px #000}.hex .equipped{position:absolute;bottom:3%;font-size:7px;display:flex;gap:1px}.equipped i{font-style:normal;background:#bb9cf0;color:#1d1329;border-radius:2px;padding:0 2px}.bench-heading{display:flex;justify-content:space-between;margin:20px 0 8px;color:#8e95a7;font-size:8px;letter-spacing:1px}.bench-heading span:last-child{letter-spacing:0}.bench{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:5px}.bench .hex{aspect-ratio:1;border-radius:5px;clip-path:none;border:1px solid #32394a;background:#1d222d}.bench .hex:before{display:none}.bench .hex .unit-name{font-size:7px;bottom:1px}.bench .hex .stars{font-size:6px;top:0}.bench .hex.selected{border-color:var(--accent)}.team-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;border-top:1px solid var(--line);padding:16px 0 10px;margin-top:19px}.team-stats span{display:block;color:var(--muted);font-size:9px;margin-bottom:4px}.team-stats strong{font-family:'Space Grotesk';font-size:17px;font-weight:500}.board-footnote{font-size:9px;color:#767e91;text-align:center}.battle-line{border-bottom:1px dashed #53505e;text-align:center;font-size:10px;color:#b7a9c5;margin:12px 0 20px}.inspector{padding:18px;grid-column:3;grid-row:1 / span 2;min-height:430px}.inspector-empty{padding:50px 0;color:var(--muted);text-align:center;font-size:12px;line-height:1.8}.inspector-empty b{display:block;color:#e4dcef;font-family:'Space Grotesk';font-size:16px;font-weight:500;margin:14px 0 3px}.empty-ball{width:65px;height:65px;border:2px solid #4a435d;border-radius:50%;position:relative;margin:auto;background:linear-gradient(#302839 46%,#4a435d 46%,#4a435d 52%,#20212a 52%)}.empty-ball:after{content:'';position:absolute;left:22px;top:22px;width:17px;height:17px;border-radius:50%;border:2px solid #655574;background:#1a1c25}.inspector-heading{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:1px;color:var(--muted)}.inspect-hero{text-align:center;margin:9px 0 16px;background:radial-gradient(ellipse,#353142,transparent 70%)}.inspect-hero img{width:120px;height:100px;object-fit:contain;image-rendering:pixelated;filter:drop-shadow(0 6px 5px #0006)}.inspect-hero h2{font-size:21px;margin-top:-1px}.inspect-hero .lineage{font-size:10px;color:var(--muted);margin-top:4px}.type-pills{display:flex;justify-content:center;gap:5px;margin-top:9px}.type-pill{font-size:9px;padding:4px 8px;border-radius:4px;background:color-mix(in srgb,var(--t) 15%,transparent);color:var(--t)}.star-controls{display:flex;gap:5px;margin:15px 0 8px}.star-controls button{flex:1;padding:8px 0;font-size:11px}.star-controls button.active{background:#3a2f4c;border-color:#8d73b7;color:#f4d98c}.branch-select{width:100%;font-size:11px;margin-bottom:8px}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:7px;overflow:hidden;margin:14px 0}.stat-grid>div{padding:10px 5px;text-align:center;background:#1c1f28}.stat-grid small{display:block;font-size:9px;color:var(--muted);margin-bottom:3px}.stat-grid b{font-size:12px;font-weight:500}.ability{border-top:1px solid var(--line);padding:15px 0}.ability h3{font-size:12px;font-weight:600;margin:0 0 5px}.ability p{font-size:11px;color:var(--muted);line-height:1.6;margin:6px 0}.ability summary{font-size:10px;color:var(--accent);cursor:pointer}.item-slots{display:flex;gap:5px;margin:10px 0 14px}.item-slot{height:45px;flex:1;border:1px dashed #515065;border-radius:6px;font-size:10px;padding:4px;color:var(--accent);background:#23202e}.item-slot.filled{border-style:solid;font-size:9px}.small-label{font-size:9px;letter-spacing:1px;color:var(--muted)}.inspector-actions{display:flex;gap:5px}.inspector-actions button{font-size:10px;flex:1;padding:8px 5px}.danger{color:#ed9b9b}.copy-plan{font-size:10px;color:var(--muted);padding-top:14px;margin-top:15px;border-top:1px solid var(--line);line-height:1.7}.copy-plan strong{color:var(--gold)}.library{grid-column:1 / 3;padding:17px 18px}.library-top{display:flex;gap:12px;align-items:center;justify-content:space-between}.tabs{display:flex;gap:20px}.tab{background:none;border:0;border-radius:0;padding:8px 0 12px;color:var(--muted);font-size:13px}.tab.active{color:var(--text);border-bottom:2px solid var(--accent)}.tab span{font-size:9px;color:var(--muted);margin-left:5px}.search{display:flex;align-items:center;gap:8px;background:#12151b;border:1px solid var(--line);border-radius:6px;padding:0 9px;width:310px}.search span{font-size:22px;color:#aaa1bc}.search input{width:100%;background:none;border:none;font-size:11px;padding:9px 0;outline:none}.search kbd{color:#777d8c;border:1px solid #353b49;font-size:9px;padding:1px 4px;border-radius:3px}.filters{display:flex;gap:8px;flex-wrap:wrap;margin:16px 0 11px;align-items:center}.costs{display:flex;align-items:center;gap:4px;margin-right:auto}.costs>span{font-size:8px;letter-spacing:1px;color:var(--muted);margin-right:5px}.costs button{font-size:10px;min-width:27px;padding:5px 7px;border-color:#3a3e4a;background:transparent}.costs button.selected{background:#aa92e7;color:#1c142c;border-color:#aa92e7}.filters select{font-size:10px;padding:5px 7px;background:#1d2029;max-width:145px}.library-caption{display:flex;justify-content:space-between;font-size:9px;color:#8b92a2;margin:11px 0}.roster{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px;max-height:420px;overflow:auto;padding:3px 3px 8px}.pokemon-card{position:relative;padding:5px 4px 7px;border:1px solid #363b48;border-bottom:2px solid var(--c);background:linear-gradient(145deg,#262a35,#1b1e27);border-radius:6px;text-align:center;min-height:105px;overflow:hidden}.pokemon-card:hover{background:#333443;border-color:var(--c);transform:translateY(-1px)}.pokemon-card img{width:70px;height:64px;object-fit:contain;image-rendering:pixelated;display:block;margin:auto;pointer-events:none}.pokemon-card strong{font-size:10px;display:block;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pokemon-card small{display:block;font-size:8px;color:var(--muted);margin-top:4px;white-space:nowrap}.cost-badge{position:absolute;left:6px;top:5px;font-size:9px;color:var(--c)}.card-stars{position:absolute;right:5px;top:5px;color:var(--gold);font-size:7px}.item-library{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:9px;max-height:440px;overflow:auto;padding-top:7px}.item-card{text-align:left;padding:12px;font-size:11px;min-height:108px}.item-card b{display:block;font-size:12px;margin-bottom:7px}.item-card p{font-size:10px;line-height:1.5;color:var(--muted);margin:5px 0}.item-card small{font-size:9px;color:var(--accent)}.no-results{padding:40px 10px;text-align:center;grid-column:1/-1;color:var(--muted);font-size:12px}footer{display:flex;justify-content:space-between;align-items:center;font-size:10px;color:#858c9c;padding:20px 0 0}footer button{font-size:10px;background:none;border:none;color:var(--muted)}footer a{text-decoration:none;color:#b6adca}dialog{background:#1a1d26;border:1px solid #494156;color:var(--text);border-radius:14px;max-width:640px;width:calc(100% - 32px);padding:24px;box-shadow:0 30px 100px #0009}dialog::backdrop{background:#07090dc9;backdrop-filter:blur(4px)}.modal-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.modal-top h2{font-size:20px}.modal-top button{padding:3px 9px;font-size:22px}#modalBody{font-size:12px;line-height:1.8;color:#b6bccb}#modalBody h3{color:var(--text);font-size:13px;margin:18px 0 5px}#modalBody a{color:var(--accent)}#modalBody textarea{width:100%;height:105px;padding:12px;color:#d5c7f5;background:#10131a;border:1px solid #454052;border-radius:6px;resize:vertical;font-size:11px}#modalBody .row{display:flex;gap:8px;margin:12px 0}#modalBody button{font-size:12px}.saved-row{display:flex;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid var(--line)}.saved-row span{flex:1;color:var(--text)}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#d8cbf7;color:#241936;padding:12px 20px;border-radius:8px;box-shadow:0 8px 40px #0006;font-size:12px;z-index:5;max-width:90%;display:none}.over-cap{color:#ffaaaa!important}[hidden]{display:none!important}.board-target{border-color:var(--accent)}
@media(min-width:1450px){.workspace{grid-template-columns:220px minmax(0,1fr) 300px}.hex-row{margin-top:-17px}.hex .unit-name{font-size:11px}.hex .stars{font-size:10px}.board-panel{padding:20px 30px 14px}.roster{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.pokemon-card{min-height:114px}}
@media(max-width:1100px){.workspace{grid-template-columns:165px minmax(0,1fr) 235px;gap:10px}main{padding-left:20px;padding-right:20px}.board-panel{padding:16px 12px 10px}.hex-row{margin-top:-8px}.hex .unit-name{font-size:8px}.inspector{padding:13px}.autosave{display:none}.search{width:250px}.library{padding:14px}.libraryHint{display:none}.header-label{display:none}}
@media(max-width:850px){.workspace{grid-template-columns:155px minmax(0,1fr)}.inspector{grid-column:1 / 3;grid-row:3;min-height:0}.library{grid-column:1 / 3}.hex .unit-name{font-size:10px}.inspector-empty{padding:20px}.inspect-hero{float:left;width:160px;margin:0 20px 20px 0}.stat-grid{margin-top:10px}.page-title .subtle{font-size:11px}.page-title p{font-size:11px}.source-btn{font-size:10px}header{gap:15px}.toolbar-actions{gap:4px}.team-toolbar>input{width:170px}.toolbar-actions button{padding:8px}.team-stats strong{font-size:15px}.ability{clear:both}}
@media(max-width:580px){header{height:61px;padding:0 16px;gap:10px}.brand{font-size:18px;gap:8px}.brandmark{width:27px;height:29px;font-size:20px}.header-divider{display:none}.source-btn{font-size:0;padding:8px}.source-btn:after{content:'Sources ↗';font-size:10px}.pvp{font-size:8px}.page-title{display:block;margin-bottom:19px}.page-title .subtle{margin-top:16px}main{padding:22px 12px 15px}h1{font-size:30px}.eyebrow{font-size:9px}.team-toolbar{flex-wrap:wrap}.team-toolbar>input{width:100%;font-size:16px}.toolbar-actions{margin-left:0;width:100%}.toolbar-actions button{flex:1;font-size:11px}.workspace{display:flex;flex-direction:column;gap:12px}.panel{width:100%}.board-panel{order:0;padding:16px 11px}.synergy-panel{order:1;padding:14px}.library{order:2}.inspector{order:3}.synergy-panel .section-heading{margin-bottom:10px}#synergies{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.trait{margin:0}.empty-traits{grid-column:1/-1;padding:10px}.empty-traits .symbol{display:none}.micro{margin:10px 0 0}.rules{margin-top:10px;padding-top:8px}.hex .unit-name{font-size:8px}.hex-row{margin-top:-8px}.hex .sprite{width:88%;height:88%;top:-2%}.board-label{font-size:7px}.library-top{flex-wrap:wrap;gap:8px}.search{width:100%}.filters{gap:6px}.costs{width:100%;margin-bottom:3px}.costs button{flex:1}.filters select{flex:1;max-width:none;min-width:0;font-size:9px}.roster{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;max-height:390px}.pokemon-card{min-height:99px}.pokemon-card img{width:60px;height:59px}.pokemon-card strong{font-size:9px}.pokemon-card small{font-size:7px}.library-caption span:last-child{display:none}.inspect-hero{width:125px;margin-right:12px}.star-controls button{font-size:10px}.stat-grid{grid-template-columns:repeat(3,1fr)}footer{flex-wrap:wrap;gap:9px;font-size:9px}.team-stats strong{font-size:16px}.team-stats span{font-size:8px}.board-footnote{font-size:8px}.bench .hex .unit-name{display:none}.board-options{gap:8px}.board-top{margin-bottom:17px}.bench-heading{margin-top:15px}.trait p{font-size:9px}.hexboard{padding-right:9px}.item-library{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
/* Regular point-up hexagons; even rows shift by half a complete cell stride. */
.hexboard{container-type:inline-size;padding:4px 0 8px;--hexgap:5px}
.hex-row{--cell:calc((100cqw - 6.5 * var(--hexgap)) / 7.5);width:calc(7 * var(--cell) + 6 * var(--hexgap));grid-template-columns:repeat(7,var(--cell));margin-top:calc(var(--hexgap) - var(--cell) / 3.4641016)}
.hex-row:first-child{margin-top:0}
.hex-row:nth-child(even){transform:translateX(calc((var(--cell) + var(--hexgap)) / 2))}
.hexboard .hex{aspect-ratio:.8660254;touch-action:none}
.hexboard .hex .sprite{width:83%;height:74%;top:4%}
.hexboard .hex .unit-name{bottom:20%;font-size:9px}
.hexboard .hex .stars{top:9%}
.hexboard .hex .equipped{bottom:9%}
.hexboard .hex.selected{background:#dfc4ff;filter:drop-shadow(0 0 4px #bb90f4)}
.hexboard .hex.selected:before{background:radial-gradient(ellipse,#554061,#282736 85%)}
.hex.drop-hover{background:#e2c7ff!important;outline:2px solid #e2c7ff}.drag-source{opacity:.4}
.bench .hex{touch-action:none}
@media(min-width:851px){header{height:64px}main{padding-top:20px}.page-title{margin-bottom:15px}.eyebrow{display:none}h1{font-size:27px}.page-title p{margin-top:5px;font-size:12px}.team-toolbar{margin-bottom:12px}.board-panel{padding-top:15px}.board-top{margin-bottom:12px}.board-label{margin:7px 0}.bench-heading{margin-top:12px}.team-stats{margin-top:13px;padding-top:12px}.hexboard{max-width:555px;margin-inline:auto}.bench{max-width:555px;margin-inline:auto}}
@media(max-width:580px){.hexboard{--hexgap:4px}.hexboard .hex .unit-name{font-size:7px}.hexboard .hex .stars{font-size:7px}.hexboard .hex .sprite{top:3%;height:76%;width:90%}.hexboard .hex .equipped{font-size:6px}}

.source-update{display:flex;align-items:center;gap:10px 20px;flex-wrap:wrap;margin:0 0 18px;font-size:12px;color:#a4adbe}.source-update a{color:#c5d8ad}.source-update small{color:#9099aa}.preset-grid{display:grid;gap:18px}.preset-card{border:1px solid #353e4d;border-radius:14px;padding:20px;background:#171c25}.preset-card h3{font-size:24px;margin:8px 0}.preset-sprites{display:flex;flex-wrap:wrap}.preset-sprites .sprite{position:static;width:48px;height:48px;transform:none;object-fit:contain}.preset-card details{margin:14px 0}.preset-card li{margin:7px 0}

.item-icon{display:inline-block;width:24px;height:24px;object-fit:contain;image-rendering:pixelated;vertical-align:middle;flex-shrink:0}.equipped i{padding:0!important;background:#111a!important;border-radius:3px;line-height:0}.equipped .item-icon{width:clamp(12px,1.6vw,21px);height:clamp(12px,1.6vw,21px)}.item-slot.filled{position:relative;min-height:48px;display:flex;align-items:center;justify-content:center}.item-slot .item-icon{width:32px;height:32px}.remove-mark{position:absolute;right:4px;top:0;font-size:12px}.item-card-heading{display:flex;align-items:center;gap:9px}.item-card-heading .item-icon{width:32px;height:32px}.item-card small .item-icon{width:20px;height:20px}.suggested-item{display:inline-block}.fan-disclosure{display:flex;align-items:center;gap:20px;justify-content:space-between;margin-top:25px;padding:16px;border:1px solid var(--line);border-radius:9px;color:var(--muted);font-size:12px;line-height:1.6}.fan-disclosure button{flex-shrink:0}@media(max-width:580px){.fan-disclosure{align-items:flex-start;flex-direction:column}.equipped .item-icon{width:13px;height:13px}}

/* Keep the name and item row in one vertical flow to prevent overlap. */
.hex .unit-caption{position:absolute;bottom:12%;left:4%;width:92%;display:flex;flex-direction:column;align-items:center;gap:3px;z-index:2;pointer-events:none}.hex .unit-caption .unit-name{position:static;display:block;max-width:100%;line-height:1.1}.hex .unit-caption .equipped{position:static;display:flex;justify-content:center;gap:2px;min-height:14px}.hex .unit-caption .item-icon{width:14px;height:14px}.bench .hex .unit-caption{bottom:4%;gap:2px}.bench .hex .unit-caption .unit-name{display:block;font-size:7px}.bench .hex .unit-caption .equipped{min-height:10px}.bench .hex .unit-caption .item-icon{width:10px;height:10px}@media(max-width:580px){.hex .unit-caption{bottom:12%;gap:2px}.hex .unit-caption .equipped{gap:1px;min-height:9px}.hex .unit-caption .item-icon{width:9px;height:9px}.bench .hex .unit-caption .unit-name{font-size:6px}.bench .hex .unit-caption .item-icon{width:8px;height:8px}}

.brand-copy{display:flex;flex-direction:column;gap:3px;line-height:1.1}.creator-credit{display:block;font-family:system-ui,sans-serif;font-size:10px;font-weight:400;letter-spacing:.4px;color:var(--muted)}

/* Compact synergy cards with official type artwork. */
.synergy-panel{padding:16px 12px;align-self:start}.synergy-panel .section-heading{margin-bottom:13px}.synergy-panel h2{font-size:16px}.trait{padding:9px 10px;margin-bottom:6px;border-radius:9px;display:grid;grid-template-columns:1fr auto;column-gap:8px;row-gap:5px;align-items:center}.trait.active{background:linear-gradient(110deg,color-mix(in srgb,var(--t) 12%,#191d25),#191d25);border-color:color-mix(in srgb,var(--t) 32%,#303541)}.trait-head{grid-column:1/-1;font-size:12px;gap:8px;min-width:0}.trait-icon{width:27px;height:27px;flex-shrink:0;border-radius:7px;background:color-mix(in srgb,var(--t) 15%,#161a22)}.trait-icon img{width:20px;height:20px;object-fit:contain}.trait .number{color:var(--t);font-size:14px}.trait p{margin:0;font-size:10px;line-height:1.35}.trait .tiers{gap:3px;justify-content:flex-end}.trait .tier{padding:2px 4px;min-width:17px;text-align:center;font-size:9px;line-height:1.4}.trait .tier.on{background:color-mix(in srgb,var(--t) 65%,#262b36);color:#fff}.trait:not(.active){opacity:.7}.trait:not(.active) p{grid-column:1/-1}.trait:not(.active) .tiers{grid-column:1/-1;justify-content:flex-start}@media(max-width:900px){.trait{margin-bottom:0}}@media(max-width:380px){.trait{padding:8px;column-gap:4px}.trait-head{font-size:11px}.trait p{font-size:9px}.trait .tier{min-width:14px;padding:2px 3px}}

/* Board and roster share their own column, independent of sidebar height. */
.formation-column{grid-column:2;min-width:0;display:flex;flex-direction:column;gap:16px}.formation-column .library{grid-column:auto;min-width:0}.workspace>.inspector{grid-row:auto}.formation-column .roster{grid-template-columns:repeat(auto-fill,minmax(82px,1fr))}.formation-column .library-top{flex-wrap:wrap;gap:10px}.formation-column .filters{flex-wrap:wrap}.formation-column .search{max-width:100%;min-width:0}@media(max-width:1100px){.formation-column{gap:10px}}@media(max-width:850px){.workspace>.inspector{grid-column:2;grid-row:auto}.workspace>.synergy-panel{grid-row:1 / span 2}}@media(max-width:580px){.formation-column{order:0;width:100%;gap:12px}.workspace>.synergy-panel{order:1}.workspace>.inspector{order:2}.formation-column .library{order:initial}.formation-column .roster{grid-template-columns:repeat(auto-fill,minmax(74px,1fr))}}

.trait[data-synergy]{cursor:pointer;transition:border-color .15s,background .15s}.trait[data-synergy]:hover{border-color:var(--t);opacity:1}.trait[data-synergy]:focus-visible{outline:2px solid var(--t);outline-offset:3px}.trait[aria-pressed="true"]{border-color:var(--t);box-shadow:0 0 0 1px var(--t);opacity:1}

header{height:auto;min-height:96px;gap:20px;padding-top:12px;padding-bottom:12px}.header-intro{flex:1;min-width:0}.header-intro h1{font-size:20px;letter-spacing:-.5px;line-height:1.2;margin:0 0 4px}.header-intro h1 span{color:var(--accent)}.header-intro p{font-size:11px;color:var(--muted);margin:0 0 6px}.header-source{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:10px;color:var(--muted);line-height:1.4}.header-source a{color:#bed2a6}.snapshot-note{font-size:9px}.source-btn{flex-shrink:0}.composition-toolbar{display:flex;justify-content:flex-end;margin-bottom:12px}@media(min-width:851px){header{height:auto;min-height:96px}}@media(max-width:1100px){header{gap:12px}.header-intro h1{font-size:18px}.snapshot-note{display:block}}@media(max-width:700px){header{flex-wrap:wrap;height:auto;gap:10px}.header-intro{order:5;flex-basis:100%}.source-btn{margin-left:auto}.header-divider{display:none}.header-label{display:none}.header-intro h1{font-size:18px}.composition-toolbar{margin-bottom:10px}}

.team-toolbar .toolbar-actions{flex-wrap:wrap;justify-content:center}.team-toolbar #preset{margin-right:3px}@media(min-width:851px){.team-toolbar .toolbar-actions{margin-left:auto}}

.team-toolbar{flex-wrap:wrap}.team-toolbar #title{box-sizing:border-box;flex:1 0 100%;width:100%;min-width:0;resize:none;overflow:hidden;white-space:pre-wrap;overflow-wrap:anywhere;background:transparent;border:1px solid transparent;border-radius:6px;color:var(--text);font-family:system-ui,sans-serif;font-size:19px;font-weight:600;line-height:1.4;padding:4px 0}.team-toolbar #title:hover{border-color:var(--line)}.team-toolbar .toolbar-actions{width:100%;margin-left:0;justify-content:center}@media(max-width:580px){.team-toolbar #title{font-size:17px}}

/* Name and controls share a desktop row; long names wrap within their space. */
.team-toolbar{display:flex;align-items:center;gap:16px;flex-wrap:nowrap}.team-toolbar #title{flex:1 1 300px;width:auto;min-width:220px}.team-toolbar .toolbar-actions{flex:0 0 auto;width:auto;max-width:100%;margin-left:0;justify-content:flex-end}@media(max-width:1000px){.team-toolbar{flex-wrap:wrap}.team-toolbar #title{flex:1 0 100%;width:100%;min-width:0}.team-toolbar .toolbar-actions{flex:1 1 100%;justify-content:center}}

.extension-download{margin:24px 0;padding:20px;border:1px solid #363a49;border-radius:14px;background:#191c26}.extension-download h2{margin:0 0 8px;font-size:20px}.extension-download h2 small{font-size:12px;font-weight:400;color:#aaa5bb;margin-left:8px}.extension-download p,.extension-download li{line-height:1.6;color:#bcb9ca}.extension-download a{color:#c6b1ff}.extension-download .extension-cta{display:inline-block;background:#b99cff;color:#191329;font-weight:650;text-decoration:none;padding:10px 16px;border-radius:9px;margin:6px 0 12px}.extension-download summary{cursor:pointer;padding:8px 0;color:#e1d9f2}.extension-download code{overflow-wrap:anywhere}.extension-download li{margin-bottom:8px}.extension-limit{font-size:12px}@media(max-width:600px){.extension-download{padding:14px}.extension-download h2 small{display:block;margin:6px 0}.extension-download ol{padding-left:20px}}
/* Compact extension download strip */
.extension-download{margin:16px 0;padding:12px 16px;border-radius:10px;font-size:13px}
.extension-download>div{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:20px;align-items:center}
.extension-download h2{font-size:16px;margin:0 0 3px}
.extension-download h2 small{font-size:11px}
.extension-download>div>p{grid-column:1;margin:0;font-size:12px;line-height:1.45}
.extension-download .extension-cta{grid-column:2;grid-row:1 / 3;margin:0;padding:8px 12px;font-size:12px;border-radius:7px;white-space:nowrap}
.extension-download summary{font-size:12px;padding:7px 0 0}
.extension-download details[open] summary{padding-bottom:8px}
.extension-download details h3{font-size:14px}
@media(max-width:600px){.extension-download{padding:10px 12px}.extension-download>div{grid-template-columns:1fr;gap:5px}.extension-download h2 small{display:inline;margin-left:6px}.extension-download .extension-cta{grid-column:1;grid-row:auto;justify-self:start;padding:7px 10px}.extension-download>div>p{font-size:12px}}

.analytics-privacy{font-size:12px;color:#aaa6bb;margin:12px 0}.analytics-privacy p{max-width:800px;line-height:1.6}

/* Builder layout: details below synergies, board center, roster right. */
.workspace{display:grid;grid-template-columns:minmax(190px,.8fr) minmax(0,2.7fr) minmax(290px,1.2fr);gap:16px;align-items:start}
.team-sidebar{display:flex;flex-direction:column;gap:16px;min-width:0}
.team-sidebar .inspector{grid-column:auto;grid-row:auto;min-height:0;padding:16px 12px}
.team-sidebar .inspector-empty{padding:24px 0}
.team-sidebar .inspector-empty b{font-size:14px}
.team-sidebar .synergy-panel{width:100%;box-sizing:border-box}
.formation-column{grid-column:2;min-width:0}
.workspace>.library{grid-column:3;grid-row:1;min-width:0;padding:16px 12px}
.workspace>.library .library-top{flex-wrap:wrap;gap:10px}
.workspace>.library .search{width:100%;min-width:0;box-sizing:border-box}
.workspace>.library .costs{width:100%;margin:0}
.workspace>.library .filters{gap:6px}
.workspace>.library .filters select{flex:1;min-width:0;max-width:none}
.workspace>.library .library-caption{flex-direction:column;gap:5px;line-height:1.4}
.workspace>.library .roster{grid-template-columns:repeat(3,minmax(0,1fr));max-height:clamp(360px,62vh,720px);gap:6px}
.workspace>.library .item-library{grid-template-columns:1fr;max-height:clamp(360px,62vh,720px)}
@media(min-width:1700px){.workspace>.library .roster{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1100px){.workspace{grid-template-columns:190px minmax(0,1fr);gap:12px}.team-sidebar{grid-column:1;grid-row:1 / span 2;gap:12px}.formation-column{grid-column:2;grid-row:1}.workspace>.library{grid-column:2;grid-row:2}.workspace>.library .roster{grid-template-columns:repeat(auto-fill,minmax(82px,1fr));max-height:420px}}
@media(max-width:650px){.workspace{display:flex;flex-direction:column}.formation-column{order:0;width:100%}.workspace>.library{order:1;width:100%;box-sizing:border-box}.team-sidebar{order:2;width:100%}.workspace>.library .roster{grid-template-columns:repeat(4,minmax(0,1fr));max-height:390px}.workspace>.library .item-library{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Shared page navigation. */
header .page-nav{display:flex;gap:4px;align-items:center;flex-shrink:0;margin-left:auto;padding:4px;border:1px solid #363b4b;border-radius:11px;background:#10131b}header .page-nav a{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:7px 13px;border:1px solid transparent;border-radius:7px;text-decoration:none;font-size:12px;font-weight:600;color:#b9bfce;white-space:nowrap;transition:background .15s,border-color .15s}header .page-nav a:hover{background:#292d3a;color:#fff}header .page-nav a[aria-current=page]{background:#b89bff;color:#191225;border-color:#c9b3ff;box-shadow:0 2px 8px #0003}header .page-nav a:focus-visible{outline:2px solid #dfceff;outline-offset:3px}header .page-nav a span{font-size:16px}@media(max-width:1250px){header{flex-wrap:wrap}header .page-nav{margin-left:0}}@media(max-width:650px){header .page-nav{width:100%;order:5;box-sizing:border-box}header .page-nav a{flex:1;padding:7px 9px}}

/* Kanto Academy illustrated wordmark. */
header .logo-brand{display:flex;flex-direction:column;gap:2px;flex-shrink:0;text-decoration:none}header .site-logo{display:block;width:154px;height:auto;object-fit:contain}header .logo-brand .creator-credit{font-size:10px;letter-spacing:.5px;line-height:1.2;margin:0;text-align:center}header{padding-top:10px;padding-bottom:10px;height:auto;min-height:110px}@media(max-width:650px){header .site-logo{width:124px}header .logo-brand .creator-credit{font-size:9px}}

/* Original Kanto Academy region artwork shared by the builder and stats page. */
body.region-background{min-height:100vh;background-color:#101820;background-image:linear-gradient(rgba(7,14,24,.62),rgba(7,14,24,.78)),url('kantolab-region-background.png');background-size:cover;background-position:center center;background-repeat:no-repeat;background-attachment:fixed}.region-background>header{background:rgba(17,20,29,.94)}.region-background .panel{background-color:rgba(24,27,36,.97)}.region-background main>h1,.region-background main>.intro,.region-background main>#provenance,.region-background main>#results{ text-shadow:0 1px 4px #000}.region-background main>footer,.region-background .fan-disclosure,.region-background .analytics-privacy{background:rgba(16,20,29,.94);border-radius:8px;padding:12px}.region-background .team-toolbar{background:rgba(16,20,29,.88);border-radius:10px;padding:12px}@media(max-width:650px){body.region-background{background-attachment:scroll;background-position:center top;background-size:auto 100vh;background-repeat:repeat-y}}

.quick-guide{display:grid;gap:10px;margin:14px 0}.quick-guide>div{padding:10px 12px;border-left:3px solid #b89bff;background:#232532;border-radius:0 6px 6px 0}.quick-guide dt{font-weight:600;font-size:11px;color:#c9b3ff;margin-bottom:4px}.quick-guide dd{margin:0;font-size:13px;line-height:1.5}.hex.in-attack-range{background:#81d9c1!important}.hex.in-attack-range::before{background:#254b48!important}.hex.in-attack-range .placeholder{color:#a5ebd5}.board-options label[hidden]{display:none!important}

/* Selected unit remains distinct from its attack-range tiles. */
.hex.selected{background:#39ff78!important}.hex.selected::before{inset:3px;background:#20332c!important}.hex.selected:focus-visible{outline-color:#39ff78}


.item-card[data-item]{cursor:grab;touch-action:pan-y}.item-card[data-item]:active{cursor:grabbing}.item-card.drag-source{opacity:.65}
/* Reserve separate vertical space for sprite, name and equipped items. */
.hexboard .hex .sprite{top:3%;height:58%;width:83%}
.hexboard .hex .unit-caption{top:63%;bottom:auto;left:8%;width:84%;gap:2px}
.hexboard .hex .unit-caption .unit-name{position:static;flex:none;line-height:1.15;margin:0;font-size:clamp(6px,.65vw,9px)}
.hexboard .hex .unit-caption .equipped{position:static;flex:none;min-height:0;line-height:0;gap:2px}
.hexboard .hex .unit-caption .equipped:empty{display:none}
.hexboard .hex .unit-caption .item-icon{display:block;width:clamp(8px,.8vw,12px);height:clamp(8px,.8vw,12px)}
.hexboard .hex .unit-caption .equipped i{display:block;line-height:0}
@media(max-width:580px){.hexboard .hex .unit-caption{gap:1px}.hexboard .hex .unit-caption .item-icon{width:8px;height:8px}}
