@font-face{font-family:'Tibia Pixel';src:url('/assets/fonts/tibia-pixel.woff') format('woff');font-weight:100 500;font-display:block}@font-face{font-family:'Tibia Pixel';src:url('/assets/fonts/tibia-pixel-bold.woff') format('woff');font-weight:600 900;font-display:block}
/* The client's bitmap font: one font pixel per CSS pixel at 11px (22px for large numbers); never smoothed or synthesised. */
html{font-synthesis:none;-webkit-font-smoothing:none;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeSpeed;-webkit-text-size-adjust:100%;text-size-adjust:100%}
:root{color-scheme:dark;--text:#e5e2d9;--muted:#b8b6af;--gold:#e4ca78;--panel:#494949;--line:#242424}*{box-sizing:border-box}html,body{margin:0;width:100%;max-width:100%;overflow-x:clip}body{background:#161616;background-image:linear-gradient(#ffffff05 1px,transparent 1px),linear-gradient(90deg,#ffffff05 1px,transparent 1px);background-size:20px 20px;color:var(--text);font:11px 'Tibia Pixel',Verdana,sans-serif}button,input,select,textarea{font:inherit;color:inherit}button{appearance:none;touch-action:manipulation;cursor:pointer;min-height:28px;padding:6px 10px;border:2px solid #272727;border-top-color:#92928e;border-left-color:#92928e;background:#515151;text-shadow:none;box-shadow:0 0 0 1px #181818}button:active{background-position:0 100%;border-top-color:#272727;border-left-color:#272727;border-bottom-color:#92928e;border-right-color:#92928e}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid #e7d388;outline-offset:2px}button:disabled{opacity:.45;cursor:default}button.active{outline:1px solid #d0bf7a;background-position:0 50%}.primary{color:#d6efcc;border-bottom-color:#739266}.danger{color:#ffaaaa}input,select,textarea{max-width:100%;min-width:0;min-height:28px;font-size:11px;background:#303030;border:2px inset #767673;padding:6px}input[type=checkbox]{appearance:auto;min-height:22px;width:22px;height:22px;vertical-align:middle;accent-color:#b4b6a4}textarea{resize:vertical;min-height:78px}label{line-height:16px}button img{pointer-events:none}img{image-rendering:pixelated}a{color:var(--gold)}h2{font-size:11px;margin:5px 0 10px}h3{font-size:11px;margin:14px 0 7px}p{line-height:17px;margin:8px 0}small{color:var(--muted)}
.shell{max-width:1300px;margin:0 auto;padding:4px}.window{min-width:0;max-width:100%;background:#494949;border:3px ridge #777771;box-shadow:0 2px 4px #0008}.window-title{min-height:38px;background:#4c4c4c;border-bottom:1px solid #242424;padding:4px 7px;display:flex;gap:6px;align-items:center;justify-content:space-between;font:bold 11px 'Tibia Pixel',Verdana,sans-serif;letter-spacing:0;text-shadow:none}.window-title small{font:11px 'Tibia Pixel',Verdana,sans-serif;font-weight:normal}.window-body{padding:7px}.shell>header{display:flex;align-items:center;flex-wrap:wrap;gap:6px;padding:7px}.logo{font:bold 22px 'Tibia Pixel',Verdana,sans-serif;color:var(--gold);text-shadow:none}.logo small{display:block;font:11px 'Tibia Pixel',Verdana,sans-serif;letter-spacing:0;margin-top:3px}.resources{margin-left:auto;display:flex;gap:8px;font-size:11px}.resources span{display:flex;align-items:center;gap:3px}.resources img{width:24px;height:24px}nav{display:flex;gap:4px;flex-basis:100%;min-width:0;overflow-x:auto;padding:2px;scrollbar-width:thin}nav button{flex:0 0 auto;font-size:11px;min-height:28px}#notice{color:#edd894;min-height:16px;padding:4px;font-size:11px}#notice:empty{min-height:8px;padding:0}main{min-width:0}footer{text-align:center;font-size:11px;color:#a5a5a0;margin:12px;display:none}
.sprite{width:56px;height:56px;object-fit:contain;vertical-align:middle}.tiny{width:32px;height:32px;object-fit:contain;vertical-align:middle}.row{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.hint{font-size:11px;line-height:17px;color:var(--muted);padding:5px 7px}.arena-layout.dashboard-layout{display:flex;flex-direction:column;gap:7px}.dashboard-layout>section{width:100%;min-width:0}.board-wrap{position:relative;padding:2px;background:#111}.board-wrap canvas{display:block;width:100%;height:auto;image-rendering:pixelated;touch-action:manipulation}.board-loot{position:absolute;top:6px;left:6px;display:flex;align-items:center;gap:3px;min-height:34px;font-size:11px;padding:2px 6px}.board-loot .tiny{width:23px;height:23px}.board-count{position:absolute;top:8px;right:10px;color:#fff;text-shadow:none;font:bold 22px 'Tibia Pixel',Verdana,sans-serif;pointer-events:none}.board-count small{display:block;font-size:11px;color:white}.board-caption{position:absolute;bottom:9px;right:9px;text-align:right;font:bold 11px 'Tibia Pixel',Verdana,sans-serif;color:white;text-shadow:none;pointer-events:none}.board-caption strong{display:block;font-size:22px}.controls{padding:6px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px}.controls>*{min-width:0;font-size:11px}.controls #start,.controls #map-toggle,.controls #supplies{grid-column:span 2;display:flex;align-items:center;justify-content:center;gap:4px}.controls .tiny{width:22px;height:22px}.controls select{font-size:11px;padding:4px}.controls label{display:flex;align-items:center;gap:3px;grid-column:span 2}.roster-tools{justify-content:space-between;margin-bottom:7px}.roster-tools button{font-size:11px}.roster{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;max-height:230px;overflow-y:auto;overscroll-behavior:contain;align-content:start}.roster button{position:relative;padding:1px;min-width:0;min-height:28px;background:#3d3d3d;user-select:none;-webkit-user-select:none;touch-action:pan-y}.roster.touch-drag button{touch-action:none}.roster button img{width:100%;height:auto;aspect-ratio:1}.roster small{position:absolute;bottom:1px;right:2px;color:#fff;font-weight:bold;font-size:11px;text-shadow:none}.roster .tier-mark{position:absolute;top:1px;left:2px;font-size:11px;font-weight:bold;color:#e8d487;text-shadow:none}.roster .selected{outline:1px solid #d5cc8c}.roster-window .window-title button{font-size:11px;padding:2px 6px;min-height:32px}.formation-body{display:flex;gap:5px;flex-wrap:wrap}.team-row{display:flex;align-items:center;gap:4px;border:1px solid #242424;background:#3d3d3d;padding:3px;flex:1 1 44%;min-width:0}.team-row div{min-width:0;flex:1}.team-row strong{font-size:11px}.team-row small{display:block;font-size:11px}.team-row button{min-width:36px;min-height:36px;padding:3px}.team-row .tiny{width:28px;height:28px}.formation-body>.row{flex-basis:100%}.result{padding:8px;border-top:1px solid #242424}.result h2{color:var(--gold)}table{width:100%;border-collapse:collapse;font-size:11px}th,td{padding:6px;border-bottom:1px solid #6a6a67;text-align:left}th{color:#e0ddcf}.summary{display:flex;gap:6px;flex-wrap:wrap}.summary>div{flex:1;background:#393939;border:1px inset #888;padding:8px}.summary b{display:block;color:var(--gold);font-size:22px}.quest{border:1px solid #242424;background:#3b3b3b;padding:8px;margin:8px 0}
dialog{color:var(--text);padding:0;width:600px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 24px);margin:auto;overflow-y:auto;overscroll-behavior:contain;border:4px ridge #92928b;box-shadow:0 8px 30px #000b;background:#494949;-webkit-overflow-scrolling:touch}dialog::backdrop{background:#0008}html:has(dialog[open]){overflow:hidden}dialog .window-title{position:sticky;top:0;min-height:28px;z-index:5;padding:2px 4px 2px 8px}dialog .window-title button{flex:0 0 28px;width:28px;height:28px;min-height:28px;font-size:22px;padding:2px;z-index:6;pointer-events:auto}#detail-body,#map-dialog-body,#supplies-body,#editor-modal-body{padding:9px}#detail-notice,#map-message,#supplies-message,#editor-message{color:#ecd78d;font-size:11px;line-height:16px;padding:5px 0}#detail-notice:empty,#map-message:empty,#supplies-message:empty{display:none}.profile-head{display:flex;gap:10px;align-items:center}.profile-head .sprite{width:72px;height:72px}.profile-head h2{font-size:22px}.profile-head p{font-size:11px}.profile-nav{display:flex;gap:4px;margin:8px 0;position:sticky;top:48px;z-index:2;background:#494949;padding:5px 0}.profile-nav button{flex:1;min-width:0}.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.stats div{border:1px inset #777;background:#3339;padding:5px;font-size:11px}.stats b{display:block;color:var(--gold);font-size:22px}.stats small{display:block;font-size:11px}.gene-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px}.gene-grid div{border:1px solid #222;background:#363636;padding:4px;font-size:11px}.gene-grid b{display:block;color:var(--gold);font-size:11px}.gear-slots{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin:8px 0}.gear-slots button{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:88px;min-width:0;padding:4px;background:#3d3d3d}.gear-slots strong{font-size:11px}.gear-slots small{font-size:11px;overflow-wrap:anywhere}.item-choice{display:flex;align-items:center;gap:5px;border-bottom:1px solid #73736b;padding:8px 0}.item-choice>div{flex:1;min-width:0}.item-choice small,.inventory-grid small{display:block;color:var(--muted);font-size:11px}.item-choice p{font-size:11px;margin:4px 0}.item-choice button{padding:4px 7px;flex-shrink:0}.profile-actions{display:flex;gap:6px;margin-top:12px;padding-top:10px;border-top:1px solid #83837c}.profile-actions button{flex:1}.compare-scroll{overflow-x:auto}.compare-scroll td,.compare-scroll th{font-size:11px;padding:5px;white-space:nowrap}.compare-scroll .current{outline:1px solid #d4c580;background:#555649}.upgrade-reason{color:#ecd78d}.species-group{border:2px inset #777;margin:10px 0;padding:6px;background:#353535}.species-group[hidden]{display:none}.species-group h3{font:bold 11px 'Tibia Pixel',Verdana,sans-serif;margin:2px 0 8px}.monster-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:4px}.monster-token{display:flex;align-items:center;flex-direction:column;min-width:0;padding:2px;background:#3d3d3d}.monster-token img{width:48px;height:48px}.monster-token span{font-size:11px}.monster-token small{font-size:11px}.monster-token.selected{outline:1px solid #d4c580}.inventory-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:5px}.inventory-grid>div{border:2px inset #777;background:#373737;padding:5px}.inventory-grid strong{display:block;font-size:11px}.panel-head{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.panel-head input{width:100%}
.map-breadcrumb{font:bold 11px 'Tibia Pixel',Verdana,sans-serif;margin:4px 0 8px}.map-selection{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);gap:7px}.map-preview-frame{aspect-ratio:1;border:2px inset #96968d;background:#171717;min-width:0;overflow:hidden}.region-preview{position:relative;width:100%;height:100%}.region-preview img{width:100%;height:100%;object-fit:contain}.region-preview strong{position:absolute;top:48%;left:50%;transform:translate(-50%,-50%);color:white;text-shadow:none}.map-preview-frame canvas{width:100%;height:100%;object-fit:contain;image-rendering:pixelated}.map-sidebar{display:flex;flex-direction:column;align-items:stretch;border:2px inset #96968d;max-height:48vw;overflow-y:auto;background:#353535}.map-sidebar button{flex-shrink:0;background:none;box-shadow:none;border:0;min-height:28px;text-align:left;font:bold 11px 'Tibia Pixel',Verdana,sans-serif;padding:4px;overflow-wrap:anywhere}.map-sidebar button.active{background:#696963;outline:none}.map-sidebar small{display:block;font:11px 'Tibia Pixel',Verdana,sans-serif}.map-facts{margin:10px 0;border:2px inset #96968d;table-layout:fixed;background:#3338;font-size:11px}.map-facts td,.map-facts th{border:1px solid #7b7b73;padding:5px}.map-facts td:last-child,.map-facts th:last-child{width:35%;text-align:center}.complete{color:#a0d487}.map-sprite-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;border:2px inset #96968d;padding:4px;background:#3337;max-height:135px;overflow:auto}.map-icon{display:flex;flex-direction:column;align-items:center;min-width:0;background:none;padding:3px}.map-icon img{width:36px;height:36px;object-fit:contain}.map-icon small{text-align:center;font-size:11px}.map-description{font-size:11px}.ascension-row{display:flex;align-items:center;gap:6px}.modal-buttons{display:flex;justify-content:space-between;gap:5px;border-top:1px solid #86867e;padding-top:10px;margin-top:10px}.modal-buttons button{font-size:11px;padding:4px 8px}.modal-buttons>span{flex:1}
.editor-head{display:flex;flex-direction:column;gap:3px;margin-bottom:7px}.editor-toolbar{display:flex;gap:5px;overflow-x:auto;padding:2px 0 7px}.editor-toolbar button{flex-shrink:0;font-size:11px;display:flex;align-items:center;gap:3px}.editor-toolbar .tiny{width:24px;height:24px}.editor-tools{display:flex;align-items:flex-end;gap:5px;flex-wrap:wrap}.editor-tools label{display:flex;flex-direction:column;font-size:11px;flex:1;min-width:75px}.editor-tools select{font-size:11px;width:100%}.editor-tools>button{width:44px}.editor-viewport{max-height:60dvh;overflow:auto;overscroll-behavior:contain;border:2px inset #92928b;background:#171717}.editor-viewport canvas{display:block;height:auto;image-rendering:pixelated;max-width:none}.editor-footer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;position:sticky;bottom:0;padding:8px 0;background:#494949;z-index:2}.file-button{display:flex;align-items:center;justify-content:center;border:2px outset #8b8b83;min-height:28px;background:#515151;position:relative;font-size:11px}.file-button input{position:absolute;inset:0;opacity:0;width:100%;cursor:pointer}.editor-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;margin:8px 0}.editor-form label{display:flex;flex-direction:column;font-size:11px}.editor-form input,.editor-form select,.editor-form textarea{width:100%}.editor-form label:has(textarea){grid-column:span 2}.editor-palette{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;max-height:55dvh;overflow:auto;margin-top:8px}.editor-palette button{min-width:0;display:flex;align-items:center;flex-direction:column;padding:3px;background:#3d3d3d}.editor-palette small{font-size:11px;overflow-wrap:anywhere}.editor-map-row{display:flex;gap:4px;align-items:center;border-bottom:1px solid #777;padding:8px 0;flex-wrap:wrap}.editor-map-row>div{flex:1;min-width:120px}.editor-map-row small{display:block;font-size:11px}.editor-map-row button{font-size:11px;padding:4px 6px}.editor-map-row input{max-width:80px}.editor-loot{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.editor-loot label{display:flex;align-items:center;gap:3px;font-size:11px}
@media(min-width:800px){.shell{padding:12px}.shell>header{flex-wrap:nowrap;gap:12px}.shell>header nav{flex-basis:auto;flex:1;order:1}.shell>header .resources{order:2}.arena-layout.dashboard-layout{display:grid;grid-template-columns:minmax(0,1fr) 290px;align-items:start}.arena-window{grid-row:span 2}.formation-window{grid-column:2}.roster{grid-template-columns:repeat(5,minmax(0,1fr));max-height:340px}.formation-body{flex-direction:column}.team-row{flex:auto}.controls{display:flex;flex-wrap:wrap}.controls #start{flex:1}.controls>*{font-size:11px}.map-sidebar{max-height:340px}.editor-toolbar{flex-wrap:wrap}.editor-form{grid-template-columns:repeat(2,minmax(0,1fr))}.editor-viewport{max-height:70dvh}.editor-footer{display:flex;justify-content:flex-end}.editor-footer>*{min-width:130px}footer{display:block}}
.editor-tools select{font-size:11px}input[type=checkbox]{appearance:none;background:#414141;border:0;box-shadow:none;padding:0;flex-shrink:0}input[type=checkbox]:checked{background-position:0 66.6667%}input[type=checkbox]:disabled{opacity:.45}
.board-wrap{max-height:70dvh;overflow:auto}dialog .window-title button{font-size:0}dialog .window-title button::before{content:'';display:block;width:28px;height:28px;margin:auto;background:none;image-rendering:pixelated}

.ai-chat{max-height:300px;overflow:auto;white-space:pre-wrap}.ai-chat article,.ai-candidate{padding:12px;margin:10px 0;border:1px solid #817d70}.ai-user{background:#222}.ai-assistant{background:#363c32}.ai-candidate{background:#30382b}#ai-prompt{width:100%;box-sizing:border-box}

#editor-grid,#editor-collisions,#editor-fit{width:auto;min-width:80px}.ce-sprite-gallery{grid-column:span 2}.ce-sprite-gallery summary{padding:10px;cursor:pointer}.ce-sprite-gallery .editor-palette{grid-template-columns:repeat(auto-fill,minmax(85px,1fr))}.editor-form input,.editor-form select,.editor-form textarea{box-sizing:border-box}.editor-form .hint{grid-column:span 2}.ai-chat p{overflow-wrap:anywhere}


.rarity{display:inline-block;font-size:11px;border:1px solid currentColor;border-radius:3px;padding:1px 4px;margin:3px 0}.rarity-grey{color:#ddd}.rarity-green{color:#90dd87}.rarity-blue{color:#99c9ff}.rarity-purple{color:#ddadff}.rarity-yellow{color:#ffe17d}.gear-comparison{margin:5px 0}.gear-comparison .stat-gain{color:#a2e899}.gear-comparison .stat-loss{color:#ffaaaa}.inventory-grid>[hidden]{display:none}@media(max-width:420px){.gear-slots{grid-template-columns:repeat(2,minmax(0,1fr))}}

#item-body,#bestiary-body{padding:12px}.item-icon{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:28px;padding:2px;flex-shrink:0}.item-icon>img,.item-icon>svg{pointer-events:none}.gear-slots article{display:flex;flex-direction:column;align-items:center;border:1px solid #777;padding:4px}.gear-slots article>button[data-slot]{width:100%;min-height:54px}.bestiary-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:6px;margin:10px 0}.bestiary-card{display:flex;flex-direction:column;align-items:center;padding:8px}.bestiary-card small{font-size:11px}.bestiary-card.undiscovered>.sprite{filter:grayscale(1);opacity:.5}.milestone-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:6px;margin:8px 0}.milestone-grid article{padding:8px;border:1px solid #777}.milestone-grid small{display:block;font-size:11px;margin:5px 0}.bestiary-loot,.item-sprite-list{display:flex;flex-wrap:wrap;gap:4px}.bestiary-map{border-bottom:1px solid #777;padding:8px 0}.item-sprite-list{max-height:300px;overflow-y:auto}.item-sprite-list>button{width:80px;min-height:80px}.item-sprite-list small{display:block;font-size:11px}#item-description{display:block;width:100%;min-height:80px}

.catalog-tabs,.catalog-filters{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}.catalog-tabs button{flex:1;min-height:28px}.catalog-filters input{flex:1 1 180px;min-width:0}.catalog-filters select{max-width:100%;min-height:28px}.race-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:6px;margin:12px 0}.race-card{display:flex;flex-direction:column;align-items:center;padding:7px;min-width:0}.race-card small{font-size:11px}.race-card progress{width:100%;height:6px;margin-top:6px}.race-card.undiscovered .sprite,.missing-species .sprite{filter:grayscale(1);opacity:.5}.bestiary-race>h3,.collection-race>h3,.equipment-category>h3{padding:8px;margin:14px 0 6px;background:#232323;border-bottom:1px solid #888;color:var(--gold)}.collection-race h3 small,.equipment-category h3 small{font-size:11px;color:var(--muted);font-weight:normal}.collection-species-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:8px}.collection-species.species-group{margin:0;padding:6px;min-width:0}.collection-species>header{display:flex;align-items:center;gap:5px;flex-wrap:wrap;padding:3px}.collection-species header small{font-size:11px}.collection-tier{border-top:1px solid #686868;margin-top:6px;padding-top:4px}.collection-tier h4{margin:2px 0 5px;font-size:11px;color:var(--gold)}.collection-tier h4 small{color:var(--muted);font-weight:normal}.collection-tier .monster-grid{display:flex;flex-wrap:wrap;gap:5px}.collection-tier .monster-token{width:84px;min-height:104px}.collection-tier .monster-token .sprite{width:52px;height:52px}.equipment-category[hidden]{display:none}.bestiary-rewards,.missing-collection{margin:10px 0}.bestiary-rewards summary,.missing-collection summary{min-height:28px;padding:8px;cursor:pointer}.missing-token{display:flex;flex-direction:column;align-items:center;width:100%;padding:8px}

.collection-tier .monster-token span{font-size:11px}.collection-tier .monster-token small{font-size:11px}.catalog-filters label{display:flex;align-items:center;gap:4px}

.collection-species-grid{align-items:start}

/* Training: one workspace at a time, with the field as the entry point. */
.training-window{max-width:1000px;margin:0 auto}.training-toolbar{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 44px;gap:5px;padding:7px;background:#30302f80;border-bottom:2px groove #737367}.training-toolbar button{min-width:0}.training-toolbar .primary{font-weight:bold;color:#d7ebbb}.training-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;padding:5px 7px;background:#36363580}.training-tabs button{min-width:0;padding:5px 2px;font-size:11px}.training-tabs small{font-size:11px}.training-pane{padding:7px}.training-status{font-size:11px;line-height:15px;padding:0 9px 7px;color:#ecd78d}.training-status:empty{display:none}.training-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-bottom:8px}.training-panel-heading h3{margin:0;font-size:11px}.training-panel-heading button{font-size:11px}.training-field-heading{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-bottom:5px;font-size:11px;color:#d4c893}.training-field-heading button{font-size:11px;min-height:36px;max-width:75%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:4px 6px}.training-replay{border:3px inset #77796c;background:#242921;display:flex;align-items:center;justify-content:center;max-width:100%;overflow:hidden}.training-replay canvas{display:block;max-width:100%;width:auto;max-height:min(55dvh,600px);height:auto;aspect-ratio:15/11;image-rendering:pixelated;touch-action:manipulation}.training-playback{display:grid;grid-template-columns:minmax(80px,auto) 44px 60px minmax(50px,1fr);gap:5px;align-items:center;margin:6px 0}.training-playback button{font-size:11px;padding:4px}.training-playback select{width:100%;font-size:11px;padding:3px}.training-playback input[type=range]{padding:0;min-height:28px;width:100%;border:0;background:none;accent-color:#c4b77a}.training-slots{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin:6px 0}.training-slot{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3px 1px;min-height:76px;background:#30302c80}.training-slot .tiny{width:36px;height:36px}.training-slot strong{max-width:100%;font-size:11px;font-weight:normal;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.training-slot small{font-size:11px;color:#c4c2b5}.training-slot.empty{border-style:dashed;color:#aca991}.training-slot.empty span{font-size:22px}.training-meters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:5px;align-items:center;border-top:2px groove #737367;padding-top:7px}.training-meters>div small,.training-result-summary small{display:block;font-size:11px}.training-meters b{font-size:11px;color:#e5cf91}.training-meters button{font-size:11px;max-width:90px;padding:4px}.training-placement{display:flex;align-items:center;gap:5px;font-size:11px;color:#cce3b3;background:#30392c;border:1px solid #687b59;padding:5px}.training-placement span{flex:1}.training-placement button{font-size:11px}.training-team-list{display:grid;gap:6px;margin:10px 0}.training-team-row{display:flex;align-items:center;text-align:left;gap:7px;width:100%;min-width:0;padding:6px}.training-team-row>span:first-of-type{flex:1;min-width:0}.training-team-row>span:last-child{font-size:11px}.training-team-row small{display:block;font-size:11px}.training-team-row strong{font-size:11px}.training-team-row .sprite{width:48px;height:48px}.training-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin:8px 0}.training-form label,.training-skill-form label{display:flex;flex-direction:column;gap:3px;font-size:11px;min-width:0}.training-form input,.training-form select,.training-skill-form select{width:100%;min-width:0}.training-hint{font-size:11px;color:#c4c2b8;line-height:16px}.training-details{border-top:2px groove #727268;margin-top:10px;padding-top:4px;font-size:11px}.training-details>summary{min-height:28px;cursor:pointer;align-content:center;color:#d8c893}.training-details p{font-size:11px}.training-empty{padding:20px 8px;text-align:center;color:#c9c6b7}.training-result-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.training-result-summary>div{border:2px inset #777;background:#32322f70;padding:7px}.training-result-summary b{display:block;font-size:22px;color:#e5cf91;margin:3px 0}.training-result-summary small:last-child{font-size:11px}.training-result-members{display:grid;gap:5px}.training-result-member{border:2px inset #777;background:#34343060;min-width:0}.training-result-member summary{display:flex;align-items:center;gap:6px;min-height:60px;padding:5px;cursor:pointer}.training-result-member summary::after{content:'›';color:#d0c28e}.training-result-member[open] summary::after{content:'⌄'}.training-result-member summary>span:first-of-type{flex:1;min-width:0}.training-result-member summary>span:not(:first-of-type){text-align:right;min-width:43px}.training-result-member summary small{display:block;font-size:11px}.training-result-member summary strong{font-size:11px;overflow-wrap:anywhere}.training-result-member summary b{font-size:11px;color:#e5cf91}.training-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:6px;border-top:1px solid #6b6b5d}.training-facts small{display:block;font-size:11px}.training-facts b{font-size:11px}.training-comparison{table-layout:fixed;width:100%;font-size:11px}.training-comparison th,.training-comparison td{padding:5px 2px;overflow-wrap:anywhere}.training-comparison td{text-align:right}.training-snapshot{margin:7px 0;padding:6px;border:1px solid #7776}.training-snapshot small{display:block;font-size:11px;line-height:16px}.training-snapshot strong{font-size:11px}
#training-dialog-body,#random-body{padding:9px}.training-modal{width:560px}.training-modal-head{display:flex;gap:9px;align-items:center;margin-bottom:7px}.training-modal-head small{display:block;font-size:11px;margin-top:4px}.training-modal-head strong{font-size:11px}.training-edit-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin:8px 0}.training-modal-footer{position:sticky;bottom:-9px;display:flex;gap:5px;justify-content:flex-end;margin:9px -9px -9px;padding:9px;background:#42423e;border-top:2px groove #8a887a;z-index:2}.training-modal-footer button{flex:1;font-size:11px}.training-modal-footer button.danger{flex:0 0 auto}.training-paperdoll{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;max-width:420px;margin:8px auto}.training-gear-slot{display:flex;flex-direction:column;align-items:center;min-width:0;min-height:94px;padding:4px;background:#292c2780}.training-gear-slot .sprite{width:40px;height:40px}.training-gear-slot small{font-size:11px;color:#d5c693}.training-gear-slot strong{font-size:11px;font-weight:normal;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.training-slot-placeholder{display:flex;align-items:center;justify-content:center;width:40px;height:40px;color:#827e6a;font-size:22px}.training-gear-slot[data-train-slot=helmet]{grid-column:2;grid-row:1}.training-gear-slot[data-train-slot=amulet]{grid-column:1;grid-row:1}.training-gear-slot[data-train-slot=ring]{grid-column:3;grid-row:1}.training-gear-slot[data-train-slot=armor]{grid-column:2;grid-row:2}.training-gear-slot[data-train-slot=weapon]{grid-column:1;grid-row:2}.training-gear-slot[data-train-slot=shield]{grid-column:3;grid-row:2}.training-gear-slot[data-train-slot=legs]{grid-column:2;grid-row:3}.training-gear-slot[data-train-slot=boots]{grid-column:2;grid-row:4}.training-slot-heading{display:flex;align-items:center;gap:9px;margin-bottom:7px}.training-slot-heading button{font-size:11px}.training-member-editor>input{width:100%}.training-gear-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;max-height:38dvh;overflow:auto;padding:5px 0}.training-gear-list button{display:flex;flex-direction:column;align-items:center;min-width:0;min-height:90px;padding:5px}.training-gear-list .sprite{width:40px;height:40px}.training-gear-list strong{font-size:11px;font-weight:normal}.training-gear-list small{font-size:11px}.training-skill-form{display:grid;gap:12px;margin:12px 0}.training-picker-tools>input{width:100%}.training-picker-list{max-height:48dvh;overflow-y:auto;overscroll-behavior:contain}.training-picker-race h3{font-size:11px;color:#d5c693;border-bottom:2px groove #777;padding-bottom:5px}.training-picker-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.training-picker-grid button{display:flex;align-items:center;flex-direction:column;min-width:0;padding:4px}.training-picker-grid .sprite{width:44px;height:44px}.training-picker-grid strong{font-weight:normal;font-size:11px}.training-picker-grid small{font-size:11px}.training-help p{font-size:11px}#train-edit-message,#random-message{font-size:11px;color:#ead08b}#train-edit-message:empty,#random-message:empty{display:none}
@media(min-width:900px){.training-replay canvas{max-height:55dvh}.training-slots{max-width:540px;margin:8px auto}.training-panel-heading{margin-bottom:12px}.training-meters{max-width:540px;margin:0 auto}.training-team-list{grid-template-columns:repeat(2,minmax(0,1fr))}.training-form{max-width:700px}.training-result-members{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:370px){.training-tabs button{font-size:11px}.training-meters button{font-size:11px;max-width:70px}.training-result-summary small:last-child{font-size:11px}.training-result-member summary{gap:4px}}
.training-gear-choice{display:flex;flex-direction:column;gap:3px;min-width:0}.training-gear-choice.active{outline:1px solid #cbbf89}.training-gear-choice>button:first-child{flex:1}.training-gear-choice>button:last-child{min-height:28px;font-size:11px;padding:3px}
.training-last-result{font-size:11px;color:#c8c3ab;margin-top:7px}


/* Presets and reviewed operations use one compact modal, never a page stack. */
#qol-dialog{width:min(680px,94vw);max-height:88dvh}#qol-body{padding:12px;overflow:auto;max-height:calc(88dvh - 48px)}
.qol-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0}.qol-toolbar input{min-width:120px;flex:1}
.qol-list{max-height:45dvh;overflow:auto;margin:10px 0}.qol-preset{display:flex;justify-content:space-between;gap:12px;padding:10px;border-bottom:1px solid #555}.qol-preset>div:first-child{min-width:0;flex:1}.qol-preset small,.qol-review small,.qol-dismantle-row small{display:block;color:#c5c0b5}.qol-preset-actions{display:flex;flex-wrap:wrap;gap:5px;align-content:start;max-width:200px}.qol-members{display:flex;gap:6px;margin-top:6px}.qol-hint{font-size:11px;color:#c5c0b5}.qol-dismantle-row{display:flex;align-items:center;gap:8px;padding:8px;border-bottom:1px solid #555}.qol-dismantle-row span{flex:1}.qol-dismantle-row input{width:65px}.qol-dismantle-row[hidden]{display:none}.qol-review article{padding:8px;border-bottom:1px solid #555}.qol-item-summary article{display:flex;gap:8px;align-items:center}.qol-stat-review{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:10px 0}.qol-stat-review strong{display:block}.qol-select{width:100%;font-size:11px;padding:4px}.qol-owned-token{display:flex;flex-direction:column}.qol-filters{flex:1}.qol-filters summary{cursor:pointer}.qol-filters .catalog-filters{margin-top:8px}#qol-message{color:#e5bc80}#qol-body input,#qol-body select{max-width:100%}
@media(max-width:600px){.qol-preset{flex-direction:column}.qol-preset-actions{max-width:none}.qol-stat-review{grid-template-columns:1fr}#qol-dialog{max-height:90dvh}}
.battle-heading{flex-wrap:wrap;gap:6px}.qol-owned-token>.monster-token{width:100%}
/* Large collections: skip layout/paint of off-screen groups; sprites load lazily. */
.collection-race,.bestiary-race,.collection-species{content-visibility:auto;contain-intrinsic-size:auto 220px}
