:root{color-scheme:dark;--bg:#0b1018;--card:#131b26;--line:#253041;--text:#e5edf6;--muted:#8393a9;--accent:#50dfc1;--amber:#ffc477}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.5 system-ui,-apple-system,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer;border:1px solid var(--line);background:#1b2635;color:var(--text);padding:8px 12px;border-radius:7px;transition:background .15s}button:hover{background:#2a394c}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:#071d19;font-weight:650}input,select,textarea{background:#0e1520;color:var(--text);border:1px solid #2a374a;border-radius:7px;padding:10px;min-width:0}input:focus,select:focus,textarea:focus{outline:2px solid #50dfc160;border-color:var(--accent)}textarea{width:100%;font:12px/1.5 Consolas,monospace;resize:vertical}header{height:78px;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:24px;padding:0 36px;background:#101721}.brand{color:var(--accent);text-decoration:none;font-size:30px;display:flex;align-items:center;gap:12px}.brand span{color:var(--text);font-size:20px;font-weight:700;line-height:1.1}.brand small{display:block;font-size:9px;color:var(--muted);letter-spacing:2.4px;margin-top:7px}.connection{margin-left:auto;display:flex;gap:10px;align-items:center;color:var(--muted);font-size:12px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#7f8da1}.dot.active{background:var(--accent);box-shadow:0 0 12px #50dfc150}.pill{font-size:10px;letter-spacing:1px;border:1px solid var(--line);border-radius:5px;padding:4px 7px;color:var(--muted);white-space:nowrap}.pill.live{color:var(--accent);border-color:#50dfc145}.pill.demo{color:var(--amber);border-color:#ffc47745}main{max-width:1650px;padding:30px 36px;margin:auto}h1{font-size:55px;line-height:1.08;letter-spacing:-2.8px;margin:24px 0}h2{margin:8px 0;font-size:24px}h3,h4{margin:0;font-size:15px;font-weight:600}.eyebrow{color:var(--accent);font-size:10px;letter-spacing:2px;font-weight:650}.muted{color:var(--muted);font-size:12px}.card{background:var(--card);border:1px solid var(--line);border-radius:12px}.onboarding{display:grid;grid-template-columns:1.1fr .8fr;gap:100px;max-width:1080px;margin:80px auto 100px;align-items:center}.intro p{font-size:16px;color:#95a5bb;max-width:430px}.intro-grid{display:flex;gap:32px;margin-top:35px}.intro-grid b{display:block;color:var(--accent);font-size:22px;margin-bottom:8px}.intro-grid span{color:var(--muted);font-size:11px}.login-card{padding:30px}.login-card h2{margin:16px 0 25px}.login-card label{display:block;font-size:12px;color:#adbbcd;margin:16px 0}.login-card label small{float:right;color:var(--muted)}.login-card input{display:block;width:100%;margin-top:8px}.login-card .primary{width:100%;margin:15px 0}.notice{border:1px solid #ffc47745;color:var(--amber);padding:12px;margin-top:35px;border-radius:8px;font-size:12px}.character{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--line);border-radius:8px;padding:14px;margin:12px 0}.character strong{display:block}.character small{color:var(--muted)}.execute-label{display:flex!important;align-items:center;gap:10px}.execute-label input{width:auto;margin:0}.trainer{display:flex;align-items:center;gap:20px;background:linear-gradient(110deg,#182734,#132024 65%,#141b27);border:1px solid #2b3f4c;border-radius:12px;padding:22px 26px;margin-bottom:26px}.avatar{width:62px;height:62px;display:grid;place-items:center;background:#254741;border:1px solid #3d7267;border-radius:15px;font-size:35px;color:var(--accent)}.trainer h2{margin:1px 0 3px;font-size:22px}.trainer-metric{border-left:1px solid #32424d;padding-left:25px;margin-left:20px;min-width:100px}.trainer-metric>span{display:block;font-size:9px;letter-spacing:1.5px;color:var(--muted)}.trainer-metric strong{display:block;font-size:28px;line-height:1.3}.trainer-metric small{font-size:10px;color:var(--muted)}.trainer-progress{flex:1;max-width:440px;margin:0 20px}.trainer-progress>div:not(.bar){display:flex;justify-content:space-between;font-size:10px;margin:8px 0;color:#a0b3bd;letter-spacing:.5px}.bar{height:5px;background:#283744;border-radius:4px;overflow:hidden}.bar i{display:block;width:0;height:100%;background:var(--accent);transition:width .25s}.bar.xp i{background:#899cff}.workspace{display:grid;grid-template-columns:165px 1fr;gap:26px}aside{padding:12px 0}.visibility-row{display:flex;align-items:center;gap:10px;margin:20px 0;font-size:12px;color:#b4c0d1}.visibility-row input{accent-color:var(--accent)}.aside-foot{border-top:1px solid var(--line);padding-top:20px;margin-top:35px;font-size:11px;color:#c3d0dc}.aside-foot p{font-size:11px;line-height:1.7;color:var(--muted)}.panels{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:20px;align-items:start}.panel{padding:18px;min-width:0}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:16px}.panel-heading h3 span{color:var(--accent);margin-right:6px}.inline{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.inline input{flex:1}.inline button,.inline select,.panel-heading button{font-size:11px;padding:6px 9px}.inline label{font-size:10px;color:var(--muted)}.minimap{grid-column:span 8}.battle{grid-column:span 4}.pokebar{grid-column:span 8}.backpack{grid-column:span 4;grid-row:span 2}.bot{grid-column:span 8}.chat,.telemetry{grid-column:span 6}.minimap canvas{width:100%;height:260px;background:#0b121c;border:1px solid #243344;border-radius:7px;display:block;touch-action:none;cursor:grab}.legend{display:flex;gap:14px;font-size:9px;color:var(--muted);margin-top:10px;flex-wrap:wrap}.legend #map-caption{margin-left:auto}.cyan{color:var(--accent)}.amber{color:var(--amber)}.scroll{overflow:auto;max-height:255px;scrollbar-width:thin}.filters{margin-bottom:12px}.battle-row{display:flex;gap:10px;align-items:center;padding:12px 0;border-bottom:1px solid #253041}.creature-icon{background:#27333f;color:var(--amber);border-radius:9px;display:grid;place-items:center;width:33px;height:33px;font-size:19px}.battle-row>div:nth-child(2){flex:1;min-width:0}.battle-row strong{font-size:12px}.battle-row small{display:block;color:var(--muted);font-size:10px}.battle-row .bar{margin-top:6px;height:3px}.battle-row button{font-size:10px;padding:5px 8px}.pokemon-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.pokemon-card{background:#0f1722;border:1px solid #293549;border-radius:9px;padding:12px 7px;text-align:center;min-width:0}.pokemon-card.selected{border-color:#50dfc180;background:#142a2b}.pokemon-card .pokemon-symbol{display:grid;place-items:center;background:#243144;color:#a8bbdc;border-radius:50%;width:35px;height:35px;margin:0 auto 8px;font-size:19px}.pokemon-card strong{font-size:11px;display:block;overflow:hidden;text-overflow:ellipsis}.pokemon-card small{font-size:10px;color:var(--muted)}.pokemon-card .bar{height:3px;margin:8px 0}.pokemon-card button{width:100%;font-size:9px;padding:4px}.moves{display:flex;gap:7px;flex-wrap:wrap;margin-top:12px}.inventory{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-bottom:17px}.item{background:#0e1622;border:1px solid #2a384b;border-radius:6px;padding:8px 3px;position:relative;text-align:center}.item strong{display:block;color:#b7c8dd;font:12px Consolas,monospace}.item small{font-size:9px;color:var(--muted)}.item .count{position:absolute;top:0;right:3px;color:var(--accent);font-size:9px}.bag-heading{display:flex;justify-content:space-between;align-items:center;margin:12px 0 8px;font-size:12px}.bag-items{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:16px 0}.feature{border:1px solid var(--line);padding:9px;border-radius:6px;display:flex;align-items:center;gap:9px;font-size:11px;color:#a6b7c9}.feature input{accent-color:var(--accent)}details{border-top:1px solid var(--line);margin-top:15px;padding-top:12px}summary{color:#a9b8cb;font-size:12px;cursor:pointer}pre{font:11px/1.5 Consolas,monospace;max-height:260px;overflow:auto;color:#a8c8bd}details button{margin-top:8px}.travel-controls{margin-top:18px}.travel-controls h4{margin-bottom:9px}.chat-log{height:250px;overflow:auto;scrollbar-width:thin;margin:15px 0;border-top:1px solid var(--line);padding:8px 0}.chat-line{font-size:12px;margin:6px 0;overflow-wrap:anywhere}.chat-line small{color:#536c87;font:10px Consolas,monospace}.chat-line strong{color:var(--accent);font-weight:500}.chat-line .channel-label{color:var(--amber);font-size:10px}.event-log{height:250px;margin-bottom:14px;font:10px/1.6 Consolas,monospace}.event-row{padding:7px 0;border-bottom:1px solid #202c3c;overflow-wrap:anywhere;color:#96a8bb}.event-row.error{color:#ff9f96}.event-row b{color:#b6d8d2}.empty{color:var(--muted);font-size:12px;text-align:center;padding:32px 10px}.toast{position:fixed;bottom:30px;right:30px;max-width:520px;border:1px solid #59756e;background:#1a302d;color:#d7f5ed;padding:16px 22px;border-radius:9px;box-shadow:0 10px 40px #0008;z-index:10}.toast.error{border-color:#b96960;background:#3a2425;color:#ffc1b9}footer{border-top:1px solid #202b3a;color:#65778d;font-size:10px;padding:22px 36px;display:flex;justify-content:space-between}[hidden]{display:none!important}@media(min-width:1600px){.minimap canvas{height:300px}}@media(max-width:1100px){.workspace{grid-template-columns:1fr}aside{display:flex;align-items:center;gap:15px;padding:0}#visibility{display:flex;gap:15px;flex-wrap:wrap}.visibility-row{margin:0}.aside-foot{display:none}.trainer-progress{margin:0}.trainer-metric{margin-left:0;padding-left:12px}.minimap{grid-column:span 7}.battle{grid-column:span 5}.pokebar,.bot{grid-column:span 7}.backpack{grid-column:span 5}.features{grid-template-columns:repeat(2,1fr)}.onboarding{gap:40px}h1{font-size:44px}}@media(max-width:760px){header{padding:0 16px;height:68px;gap:10px}.connection{gap:6px}.connection>span:nth-child(2){display:none}main{padding:20px 16px}.onboarding{grid-template-columns:1fr;margin:25px 0;gap:30px}.intro h1{font-size:40px}.intro-grid{gap:25px}.trainer{flex-wrap:wrap;padding:18px;gap:12px}.trainer-progress{flex-basis:100%;order:5;max-width:none}.trainer-metric{margin-left:auto}.trainer-metric:last-child{display:none}aside>.eyebrow{display:none}.panel{grid-column:span 12!important;grid-row:auto}.pokemon-grid{grid-template-columns:repeat(3,1fr)}.panel-heading{flex-wrap:wrap}.features{grid-template-columns:repeat(2,1fr)}footer{padding:20px 16px}footer span{display:none}}
:root{--target:#ff7f89}.execution-control{font-size:11px;display:flex;align-items:center;gap:5px}.execution-control input{accent-color:var(--accent)}.sprite{display:inline-grid;place-items:center;position:relative;width:36px;height:36px;flex-shrink:0;vertical-align:middle}.sprite img{max-width:100%;max-height:100%;object-fit:contain;image-rendering:pixelated}.sprite-fallback{position:absolute;color:var(--muted)}.portrait{width:65px;height:65px;margin:0 auto 6px}.portrait img{image-rendering:auto}.creature-sprite{width:42px;height:42px}.item .sprite{display:grid;margin:auto}.item{min-width:0}.target-row{border-left:2px solid var(--target);padding-left:5px}.target-color{color:var(--target)}.map-wrap{position:relative}.map-wrap canvas{touch-action:none;cursor:crosshair}#map-tooltip{position:absolute;max-width:240px;pointer-events:none;z-index:2;background:#101e2ef2;border:1px solid #54738c;border-radius:6px;padding:8px;font-size:11px}.navigation-control{margin-top:10px;font-size:11px}.navigation-control label{display:block;margin:10px 0}.navigation-control small{color:var(--muted)}.navigation-control input{accent-color:var(--accent)}.chat-peer{display:inline;border:0;background:none;padding:0;color:var(--accent);font-size:12px}.delivery{color:var(--muted)}.feature-group{grid-column:1/-1;color:var(--accent);font-size:10px;letter-spacing:1px;margin:10px 0 2px}.feature{justify-content:space-between;min-width:0}.feature label{display:flex;align-items:center;gap:6px}.feature button{font-size:9px;padding:4px}.features{grid-template-columns:repeat(2,minmax(0,1fr))}.floating-status{position:fixed;right:24px;bottom:24px;width:310px;max-width:calc(100vw - 24px);max-height:70vh;overflow:auto;z-index:5;border:1px solid #426b67;background:#10201fed;backdrop-filter:blur(12px);box-shadow:0 12px 40px #0008;border-radius:10px;font-size:11px}#floating-handle{display:flex;justify-content:space-between;align-items:center;padding:10px 13px;background:#1c3632;cursor:move;touch-action:none}#floating-handle button{padding:2px 9px}#floating-body{padding:12px}.status-line{display:flex;justify-content:space-between;gap:12px;margin:6px 0}.status-line span{color:var(--muted)}.status-line b{font-weight:500;text-align:right;overflow-wrap:anywhere}#floating-reason{color:var(--amber)}#floating-history-list{margin-top:10px;overflow-wrap:anywhere}dialog{background:var(--panel,#131e2c);color:var(--text,#dae5f0);border:1px solid #426b67;border-radius:12px;width:650px;max-width:calc(100vw - 32px);max-height:85vh;padding:22px}dialog::backdrop{background:#0009}#feature-fields{max-height:60vh;overflow:auto;margin:15px 0}.setting-field{display:flex;justify-content:space-between;gap:15px;align-items:center;font-size:12px;margin:12px 0;overflow-wrap:anywhere}.setting-field input:not([type=checkbox]),.setting-field textarea{max-width:60%;min-width:0}.setting-field textarea{width:60%;font:11px Consolas,monospace}#feature-fields details{padding:8px 12px}.toast{z-index:20}@media(max-width:760px){.execution-control{max-width:90px;font-size:9px}.floating-status{width:260px;right:12px;bottom:12px}.navigation-control .inline{flex-wrap:wrap}.features{grid-template-columns:1fr}}

@media(max-width:760px){header{flex-wrap:wrap;height:auto;min-height:68px;padding:12px 16px;gap:8px}.execution-control{min-width:0}header button{padding:7px 9px}}

/* Compact native-style miniwindows and recessed 32px item slots. */
#dashboard .panel{border-radius:3px;background:#292929;border:1px solid #111;box-shadow:inset 0 0 0 1px #454545,0 2px 5px #0005}
#dashboard .panel-heading{background:linear-gradient(#555,#333);border-bottom:1px solid #161616;padding:7px 10px;border-radius:2px 2px 0 0;min-height:30px}
#dashboard .panel-heading h3{font-size:12px;text-shadow:1px 1px #000;color:#eee}
.item{position:relative;width:38px;height:38px;padding:2px!important;border-radius:0!important;border:1px solid #131313;background:linear-gradient(135deg,#171717,#333)!important;box-shadow:inset 1px 1px 2px #0009,inset -1px -1px #5556;display:grid;place-items:center;overflow:hidden}
.item:hover{outline:1px solid #aeada3;z-index:1}.item .sprite{width:32px;height:32px;margin:0}.item .count{position:absolute;top:auto;right:2px;bottom:0;font:11px/13px Verdana,sans-serif;color:white;text-shadow:1px 1px #000,-1px -1px #000;background:none;padding:0}.slot-placeholder{font-size:8px!important;color:#777;text-align:center}
#inventory{display:grid;grid-template-columns:repeat(3,38px);grid-template-rows:repeat(4,38px);gap:4px;justify-content:center;padding:10px;}
#inventory [data-slot="1"]{grid-area:1/2}#inventory [data-slot="4"]{grid-area:2/2}#inventory [data-slot="7"]{grid-area:3/2}#inventory [data-slot="8"]{grid-area:4/2}#inventory [data-slot="2"]{grid-area:1/1}#inventory [data-slot="6"]{grid-area:2/1}#inventory [data-slot="9"]{grid-area:3/1}#inventory [data-slot="3"]{grid-area:1/3}#inventory [data-slot="5"]{grid-area:2/3}#inventory [data-slot="10"]{grid-area:3/3}
.bag-items{display:grid;grid-template-columns:repeat(auto-fill,38px);gap:3px;padding:6px;background:#202020;border:1px solid #151515}.bag-heading{padding:3px 5px;margin-top:8px;background:linear-gradient(#555,#373737);font:11px Verdana,sans-serif}.bag-heading .sprite{width:18px;height:18px}.bag-heading button{padding:0 5px;border-radius:1px;font-size:11px}

.item{background:#252525 url(/assets/ui/item) center/100% 100% no-repeat!important}
:root{--bot-blue:#78b8e8}
.bot-tabs{display:flex;gap:2px;margin:8px 0;border-bottom:1px solid #4f7296}.bot-tabs button{flex:1;padding:4px 5px;font-size:11px;border-radius:0;background:#192736;color:#9eb3c7;border:1px solid #324c64;border-bottom:0}.bot-tabs button.selected{background:#30465c;color:#fff}.bot #features{display:block;max-height:440px;overflow:auto;padding:0 3px}.bot-tab-body .feature{height:27px;margin:3px 0;display:flex;gap:4px;background:#182735;border:0;border-radius:0;padding:0}.bot-tab-body .feature .module-switch{flex:1;justify-content:center;height:23px;margin:0;background:linear-gradient(#354453,#253441);border:1px solid #516475;color:#dfe8f2;font-size:11px;cursor:pointer}.module-switch input{position:absolute;opacity:0;width:1px;height:1px}.bot-tab-body .feature .module-switch.on{background:linear-gradient(#32634f,#244b3b);border-color:#568b70;color:#d9ffdf}.module-switch:focus-within{outline:1px solid #78b8e8}.bot-tab-body .feature button{width:54px;height:23px;padding:0;border-radius:0;font-size:10px;background:linear-gradient(#405366,#293a4c);border-color:#526c83}.bot-tab-body .feature-group{height:19px;margin:10px 2px 3px;color:#78b8e8;font-size:11px;letter-spacing:0}.bot-tab-body .travel-controls{border:0;padding:5px}.bot .bot-tab-body[hidden]{display:none!important}.bot-stats{padding:5px}.floating-status{width:330px;border-radius:0;border-color:#4f7296;background:#102033ed}.floating-status #floating-handle{background:#21374e;padding:4px 7px}.floating-status #floating-body{padding:5px 8px}.floating-status .status-line{margin:2px 0}.floating-status #floating-reason{margin:5px 0;color:#ffd48b}#feature-dialog{border-radius:0;border-color:#4f7296;background:#182735}#feature-dialog button{border-radius:0}#feature-dialog .setting-field{margin:6px 0}
/* Native PkaWindow/PkaSpinRow/PkaItemRow layout, with explicit unavailable controls. */
#feature-dialog{width:560px;padding:14px;color:#dfe8f2}#feature-title{margin:0 0 10px;font-size:15px}#feature-fields .native-section{color:#269bf3;font-size:12px;margin:12px 0 5px}.native-note{display:block;color:#aebcc9;font-size:11px;line-height:1.45;margin:5px 0 9px}.native-field{min-height:24px;gap:8px}.native-field>span:first-child{flex:1}.native-field>input[type=number]{width:80px;max-width:80px;padding:3px 5px}.native-field>select{max-width:55%;padding:3px;font-size:11px}.native-field>input[type=text]{width:55%;padding:4px}.native-field input[type=checkbox]{accent-color:#78b8e8}.unsupported-option{color:#8996a2}.unsupported-option+small{color:#c2a879;font-size:10px}.native-item-picker{display:flex;align-items:center;gap:5px;max-width:65%}.native-item-picker select{width:130px;min-width:0;font-size:10px;padding:3px}.native-item-picker input{width:58px!important;max-width:58px!important;padding:3px}.native-item-picker .sprite{width:32px;height:32px;background:#101923;border:1px solid #4f6171}.native-word-list{border:1px solid #3c5063;margin:6px 0;padding:7px}.native-word-list legend{color:#a7d4f6;font-size:11px}.native-check{display:flex;gap:5px;align-items:center;font-size:11px;margin:4px 0}.native-move-row{display:flex;gap:4px;align-items:center;margin:3px 0;font-size:11px}.native-move-row label{flex:1}.native-move-row input[type=number]{width:45px;padding:2px}.native-move-row small{width:40px;text-align:right}.native-move-row button{padding:2px 5px}.native-move-head{font-size:10px;color:#9a9a9a;margin:7px 0}.native-rotation-heading,.native-position{display:flex;align-items:center;gap:5px;margin:8px 0;font-size:11px}.native-rotation-heading b,.native-position span{flex:1}.native-rotation-heading button,.native-position button{padding:3px 6px}.native-rotation-entry{border-bottom:1px solid #364b60;padding-bottom:5px}#feature-fields [hidden]{display:none!important}

.ground-corpses{border-top:1px solid #4f6171;padding:8px;display:grid;gap:6px}.corpse-row{display:flex;align-items:center;gap:7px}.corpse-row>div{flex:1}.corpse-row small,.capture-result{display:block;font-size:11px;color:#b8c6d5}.move-icon{position:relative;display:inline-flex;width:42px;height:42px;padding:3px;border:1px solid #708090;background:#1c2936;overflow:hidden}.move-icon .sprite{width:34px;height:34px}.move-shade{position:absolute;inset:0;pointer-events:none}.cooling .move-shade{background:conic-gradient(#090f19bb var(--cooldown),transparent 0)}.move-time{position:absolute;right:2px;bottom:1px;color:white;font-size:11px;font-weight:bold;text-shadow:1px 1px #000;pointer-events:none}#moves{display:flex;gap:4px;flex-wrap:wrap}
.scene-panel{margin:16px 0;padding:10px;background:#18212b}.scene-panel[hidden]{display:none}.scene-panel .panel-heading{margin-bottom:8px}.scene-wrap{position:relative;background:#080c12;display:flex;justify-content:center;align-items:center;min-height:288px}.scene-canvas{display:block;width:min(100%,960px);height:auto;aspect-ratio:5/3;image-rendering:pixelated;cursor:crosshair;outline:none;touch-action:none}.scene-canvas:focus{box-shadow:0 0 0 2px #52b8d5 inset}.scene-controls{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:10px 0}.scene-controls label{display:flex;align-items:center;gap:5px}.scene-controls input{width:auto}.scene-controls .muted{font-size:12px}.scene-caption{font-size:12px;color:#a3b7ca}.scene-hover{position:absolute;bottom:8px;left:8px;max-width:90%;padding:5px 8px;background:#080f1be6;pointer-events:none;font-size:12px;color:#e2f2ff}.scene-menu{position:absolute;top:10px;right:10px;z-index:5;min-width:150px;padding:8px;background:#1e3042;border:1px solid #7a98ac;box-shadow:0 5px 15px #0008;display:grid;gap:5px}.scene-menu[hidden],.scene-hover[hidden]{display:none}.scene-menu small{color:#a4b5c7;font-size:10px}.scene-diagnostics{font-size:11px;color:#9fb7cd}.scene-diagnostics pre{max-height:150px;overflow:auto;white-space:pre-wrap}.scene-panel:fullscreen{width:100vw;height:100vh;margin:0;display:flex;flex-direction:column}.scene-panel:fullscreen .scene-wrap{flex:1;min-height:0}.scene-panel:fullscreen .scene-canvas{width:auto;height:min(100%,calc(100vh - 190px));max-width:100%;object-fit:contain}

/* Aurora fixed-screen creature typography; independent of tile zoom. */
.scene-world-labels{position:absolute;pointer-events:none;overflow:hidden;z-index:2}.scene-world-label{position:absolute;left:0;top:0;white-space:nowrap;display:flex;align-items:center;flex-direction:column;gap:2px;will-change:transform}.scene-world-name{font-family:Verdana,Geneva,"DejaVu Sans",Arial,sans-serif;font-size:calc(11px * var(--name-scale,1.5));font-weight:700;line-height:1;letter-spacing:.04em;text-shadow:1px 0 #000,-1px 0 #000,0 1px #000,0 -1px #000,0 1px 2px #000b}.scene-world-hp{width:calc(31px * var(--name-scale,1.5));height:calc(4px * var(--name-scale,1.5));border:1px solid black;background:#111}.scene-world-hp i{display:block;height:100%}.scene-menu{right:auto;min-width:178px;z-index:4;background:#363636;border:1px solid #777;padding:3px;gap:0}.scene-menu button{text-align:left;background:none;border:0;border-radius:0;font:11px Verdana,sans-serif;padding:5px 10px}.scene-menu button:hover{background:#53667b}.scene-canvas{cursor:default}.scene-caption{font:11px Verdana,sans-serif}.scene-controls button[hidden]{display:none!important}
.scene-attack-hud{position:absolute;pointer-events:none;overflow:hidden;z-index:2}.scene-attack-row{position:absolute;left:0;top:0;display:flex;gap:2px;white-space:nowrap}.scene-attack-slot{position:relative;display:block;width:18px;height:18px;border:1px solid #151515;box-shadow:0 0 1px #000;background:#6b7886b0;font:10px Verdana,sans-serif;color:white}.scene-attack-slot[data-state=cooldown]{background:#d77a57b0}.scene-attack-slot[data-state=ready]{background:#4fd28db0}.scene-attack-icon{position:absolute;inset:0;text-align:center;font-weight:bold}.scene-attack-icon img{width:16px;height:16px;image-rendering:pixelated}.scene-attack-time{position:absolute;right:0;bottom:1px;font:9px Verdana,sans-serif;text-shadow:1px 1px #000,-1px -1px #000}.scene-attack-progress{position:absolute;left:0;bottom:0;height:2px;background:#ffca70}
/* Native-style movable miniwindows, with grid layout available as fallback. */
.window-tools{display:none}.free-windows .game-window{position:fixed;z-index:20;min-width:220px;min-height:32px;max-width:none;max-height:none;overflow:auto;resize:both;margin:0;padding:3px;background:#363636;border:1px solid #777;border-radius:0;box-shadow:1px 2px 8px #0009;font:11px Verdana,sans-serif}.free-windows .game-window .panel-heading{position:sticky;top:-3px;z-index:3;cursor:move;touch-action:none;min-height:24px;padding:3px 5px;margin:0;background:linear-gradient(#656565,#414141);border-bottom:1px solid #222;user-select:none}.free-windows .game-window h3{font:bold 11px Verdana,sans-serif;color:#ddd;margin:0}.free-windows .window-tools{display:flex;gap:3px;margin-left:auto}.window-tools button{font:12px Verdana,sans-serif;padding:0 3px;line-height:16px;min-width:16px;border-radius:0;color:#ccc;background:#474747;border:1px solid #777}.free-windows .window-collapsed{height:31px!important;min-height:31px;resize:none;overflow:hidden}.free-windows .window-collapsed>:not(.panel-heading){display:none!important}.free-windows .panels{display:block;min-height:0}.free-windows .workspace{display:block}.free-windows .workspace>aside{position:fixed;left:6px;top:65px;z-index:100;width:155px;max-height:calc(100vh - 80px);overflow:auto;background:#303030;display:none}.free-windows .workspace>aside:focus-within,.free-windows .workspace>aside:hover{display:block}.free-windows #game-scene{margin:8px 285px 12px 0}.free-windows #game-scene .scene-wrap{min-height:0}.free-windows .trainer{margin-right:285px}.free-windows header{position:sticky;top:0;z-index:150}.free-windows .chat-log{height:calc(100% - 110px);min-height:70px}.free-windows .pokebar{display:flex;gap:3px}.free-windows #moves{gap:2px}.free-windows .move-icon{width:32px;height:32px}.free-windows .move-icon .sprite{width:26px;height:26px}

.free-windows.window-picker-open .workspace>aside{display:block;position:fixed;z-index:160;right:12px;top:65px;width:240px;max-height:80vh;overflow:auto;background:#292929;border:1px solid #666;padding:12px}

.scene-loading{position:absolute;left:8px;top:8px;z-index:3;padding:5px 8px;background:#222d;color:#ddd;font:11px Verdana,sans-serif;pointer-events:none}.scene-loading[hidden]{display:none}

.free-windows .pokebar{display:block}.free-windows .pokemon-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:3px;margin-top:4px}.free-windows .pokemon-card{padding:3px 2px;border-radius:0;background:#292929}.free-windows .pokemon-card .portrait{width:32px;height:32px}.free-windows .pokemon-card strong{font-size:9px;white-space:nowrap}.free-windows .pokemon-card .bar{margin:3px 0}.free-windows .pokemon-card small{font-size:9px}.free-windows .pokemon-card button{font-size:9px;padding:1px}.free-windows .pokebar .combo{margin-top:4px}.free-windows .pokebar .combo input{padding:2px;width:160px}.free-windows .game-window button,.free-windows .game-window input,.free-windows .game-window select{border-radius:0;background:#333;border-color:#676767;font:11px Verdana,sans-serif;padding:3px 5px}.free-windows .game-window .window-tools button{padding:0 3px}.free-windows .game-window .panel-heading{flex-wrap:nowrap;gap:4px}.free-windows .window-collapsed{width:220px!important}.free-windows .window-collapsed .panel-heading>:not(h3):not(.window-tools){display:none}.free-windows .battle-row{padding:6px 2px;gap:6px}.free-windows .trainer{padding:6px 12px;border-radius:0;gap:12px;margin-bottom:45px}.free-windows .trainer .avatar{width:36px;height:36px}.free-windows .trainer h2{font-size:16px;margin:0}.free-windows .trainer-metric strong{font-size:18px}.free-windows .trainer-metric small{font-size:9px}.free-windows main{padding:12px}.free-windows #floating-status{right:292px;bottom:12px;width:280px;background:#363636;border-color:#777;font:11px Verdana,sans-serif}.free-windows #floating-handle{background:linear-gradient(#656565,#414141)}
.free-windows.window-picker-open .workspace>aside{left:auto}.battle-row.nonattackable strong{color:#ff80ff}

.free-windows .window-collapsed h3{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.free-windows .window-collapsed .window-tools{flex-shrink:0}

.scene-speech,.scene-server-message{position:absolute;pointer-events:none;text-align:center;white-space:pre-line;text-shadow:-1px 0 #000,1px 0 #000,0 -1px #000,0 1px #000}
.scene-speech{font:11px Verdana,sans-serif;width:max-content;max-width:275px;line-height:14px}
.scene-server-message{font:600 12px NativePoppins,sans-serif;left:50%;transform:translateX(-50%);width:min(400px,90%);color:white}
.message-look{top:38%;color:#00ff00}.message-game{top:47%}.message-warning{top:56%;color:#ff0000}.message-status{bottom:8px}
.message-private{top:15%;color:#5ff7f7}
.client-scene-stats{position:absolute;pointer-events:none;z-index:4;font:11px Verdana,sans-serif;color:white;text-shadow:-1px 0 black,1px 0 black,0 -1px black,0 1px black}
.native-condition-bar{display:flex;gap:3px;min-height:20px;flex-wrap:wrap}.native-condition{position:relative;width:20px;height:20px;display:inline-block}.native-condition img{width:20px;height:20px;image-rendering:pixelated}.native-condition i{position:absolute;bottom:0;left:0;height:2px;background:#a1d1ff}
.client-info-grid{display:grid;grid-template-columns:minmax(140px,1fr) 1fr;gap:7px;margin:8px}.client-info-grid dd{margin:0;overflow-wrap:anywhere}.client-info-grid dt{color:#aab9c8}
.talent-tabs{display:flex;gap:4px;flex-wrap:wrap}.talent-tabs .selected{border-color:#609bd4;background:#244058}.native-talent-row{display:grid;grid-template-columns:48px minmax(150px,1fr) 172px;gap:16px;align-items:center;min-height:81px;padding:12px 16px;background:#17232e;border:1px solid #344451;margin:6px 0}.native-talent-row.completed{border-color:#4c8254}.talent-art{width:48px;height:48px;object-fit:contain;image-rendering:pixelated}.talent-recipes{display:flex;gap:3px;flex-wrap:wrap}.talent-recipe{position:relative;padding:0;width:32px;height:32px;border:1px solid #a84646;overflow:visible}.talent-recipe.enough{border-color:#29b73b}.talent-recipe .sprite,.talent-recipe .sprite img{width:30px;height:30px}.talent-recipe .talent-art{position:absolute;width:20px;height:20px;right:-3px;top:-3px}.native-task-card{padding:10px;border:1px solid #344451;margin:6px 0}.native-task-pokemons{display:flex;flex-wrap:wrap;gap:18px}.native-task-pokemon{display:flex;flex-direction:column;align-items:center;gap:4px}.native-task-pokemon .talent-art{width:20px;height:20px}.talent-result{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:10px;border:1px solid #45617b}.talent-item-filter{display:flex;align-items:center;gap:8px}
.scene-party-shield{position:absolute;image-rendering:pixelated;max-width:none;transform-origin:top left;pointer-events:none}
/* game_trainingcamp: native 672x469 window and 100px mission rows. */
.training-camp-window{font-family:NativePoppins,Verdana,sans-serif}
.training-camp-window .window-content{padding:15px;overflow:auto}
.camp-header{height:37px;width:368px;flex:none;background:url('/assets/ui/training-camp-header') left center/368px 37px no-repeat;font-size:20px;font-weight:bold;line-height:37px;padding-left:10px}
.training-camp-slots{display:flex;flex-direction:column;gap:5px;min-width:600px;padding:8px}
.training-camp-slot{height:100px;flex-shrink:0;display:grid;grid-template-columns:190px 222px 1fr;gap:12px;padding:12px 20px;box-sizing:border-box;background:url('/assets/ui/training-camp-missionbg') center/100% 100%;position:relative;font-size:13px}
.training-camp-left{display:flex;flex-wrap:wrap;gap:5px 10px;align-items:center}
.training-camp-left select{width:180px;height:24px;padding:1px 4px;font-size:12px}
.training-camp-item{position:relative;flex-shrink:0;width:32px;height:32px;background:url('/assets/ui/training-camp-itemslot') center/32px 32px}
.training-camp-item>.sprite{width:32px;height:32px;background:none}
.training-camp-item>.ball-badge{width:14px;height:14px;position:absolute;right:0;bottom:0}
.training-camp-item>.ball-badge img{width:14px;height:14px}
.camp-pokemon-data{width:138px;display:flex;flex-direction:column;gap:4px}
.camp-skill-progress,.camp-charge-bar{height:18px;background:#2c2c2c;border:1px solid #111;position:relative;box-sizing:border-box;text-align:center;font-size:12px;color:white}
.camp-skill-progress>i,.camp-charge-bar>i{position:absolute;inset:0 auto 0 0;background:#4caf50}
.camp-skill-progress>span,.camp-charge-bar>span{position:relative}
.training-camp-center{display:flex;flex-wrap:wrap;align-content:space-between;gap:3px 6px}
.camp-charge-type{font-size:11px;text-align:center;width:100%;white-space:normal;line-height:13px}
.camp-charge-bar{width:180px;height:16px;font-size:11px}
.free-windows #dashboard .training-camp-window .camp-play,.free-windows #dashboard .training-camp-window .camp-retrieve,.free-windows #dashboard .training-camp-window .camp-locked button{width:103px;height:36px;min-height:36px;border:0;background:transparent url('/assets/ui/training-camp-missionheader') center/100% 100%;font-size:16px;font-weight:bold;padding:0 0 6px}
.free-windows #dashboard .training-camp-window .camp-retrieve{background-image:url('/assets/ui/training-camp-mission_headerc')}
.training-camp-right{display:flex;justify-content:flex-end;align-items:center;position:relative;gap:5px}
.camp-instruction{width:120px;text-align:center;font-size:14px;font-weight:600;line-height:20px}
.camp-timer{position:absolute;right:4px;bottom:-4px;font-size:14px;white-space:nowrap}
.camp-locked{display:flex;align-items:center;justify-content:space-between}
.camp-locked>small{max-width:300px;text-align:center;white-space:normal}
.training-camp-confirm{width:360px;font-family:NativePoppins,Verdana,sans-serif}
.training-camp-confirm p{white-space:pre-line}
.training-camp-buttons{display:flex;gap:8px;justify-content:center}
.ditto-memory-window .window-content{display:flex;align-items:center;flex-direction:column;gap:5px;overflow:auto}
.memory-current{width:64px;height:64px;flex:none;background:url('/assets/ui/memory-portrait') center/contain no-repeat;image-rendering:pixelated}
.memory-mascot{position:absolute;width:64px;height:64px;left:-12px;top:-20px;pointer-events:none;image-rendering:pixelated}
.free-windows #dashboard .ditto-memory-window>.panel-heading h3{padding-left:42px;font-size:14px}
.memory-slots{display:grid;grid-template-columns:repeat(3,64px);grid-auto-rows:64px;gap:8px;flex:none;margin-top:5px}
.memory-slot{position:relative;width:64px;height:64px}
.free-windows #dashboard .ditto-memory-window .memory-slot-action{width:64px;height:64px;padding:0;border:0;border-radius:7px;background:transparent url('/assets/ui/memory-background_2') center/100% 100%;position:relative}
.memory-slot canvas{width:64px;height:64px;image-rendering:pixelated;pointer-events:none}
.free-windows #dashboard .ditto-memory-window .memory-slot-action.memory-empty{background-image:url('/assets/ui/memory-default'),url('/assets/ui/memory-background_2');background-size:contain,100% 100%;background-repeat:no-repeat}
.free-windows #dashboard .ditto-memory-window .memory-slot-action.memory-locked{background-image:url('/assets/ui/memory-background')}
.memory-locked>.sprite{position:absolute;width:18px;height:22px;left:23px;top:21px;background:none}
.memory-locked>.sprite img{width:18px;height:22px}
.free-windows #dashboard .ditto-memory-window .memory-remove{position:absolute;right:2px;top:2px;width:10px;height:10px;min-height:10px;padding:0;border:0;border-radius:0;background:transparent url('/assets/ui/memory-close') center/contain}
.memory-waiting{display:flex;flex-direction:column;gap:8px}.memory-waiting[hidden]{display:none}.memory-warning{font:10px NativePoppins,Verdana,sans-serif;color:#ffb978}.memory-warning:empty{display:none}
.memory-confirm{width:260px;min-height:160px;padding:10px 20px 20px;text-align:center;background:#1b2533 url('/assets/ui/memory-background_popup') center/100% 100%;font:600 14px NativePoppins,Verdana,sans-serif}
.memory-confirm.memory-unlock-confirm{width:300px;min-height:170px}
.memory-confirm p{white-space:pre-line;margin:10px 0 16px}.memory-confirm button{width:100px;height:30px;padding:0;border:0;background:transparent url('/assets/ui/memory-confirmButton') center/100% 100%;font-size:16px}.memory-confirm button:last-child{background-image:url('/assets/ui/memory-cancelButton');margin-left:10px}
.memory-diamond{position:relative;margin:auto;width:32px;height:32px;background:url('/assets/ui/memory-baseItem') center/contain}.memory-diamond>.sprite{width:32px;height:32px}.memory-diamond>.count{position:absolute;bottom:0;right:0;font-size:11px;text-shadow:1px 1px #000}
/* Creature::drawInformation: fixed info anchor. Progress/shield additions
   must not move the name and HP by changing a flex container's height. */
.scene-world-label{display:block;width:0;height:0}
.scene-world-name{position:absolute;left:0;bottom:calc(1px * var(--name-scale,1.5));transform:translateX(-50%)}
.scene-world-hp{position:absolute;left:0;top:calc(1px * var(--name-scale,1.5));transform:translateX(-50%)}
.scene-world-progress{position:absolute;left:0;top:calc(7px * var(--name-scale,1.5));transform:translateX(-50%)}
.map-route-decisions{padding:5px 10px;font:11px Verdana,sans-serif;color:#b1bdc8;max-height:120px;overflow:auto}
.map-route-decisions summary{cursor:pointer;color:#5cdef7}.map-route-decisions [data-decision]{margin-top:5px}

.native-editor-cooldown{margin-left:auto;min-width:40px;text-align:right;color:#aebcc9}
