/* Work Final v1: one native-coordinate parent aligns skin, masks and live screens. */
#title-cover .c2-controls>#title-dex.c2-closed-pokedex{position:absolute;padding:0;border:0;box-shadow:none;background:transparent;min-width:44px;min-height:44px;cursor:pointer;touch-action:manipulation}
.c2-closed-pokedex img{display:block;width:100%;height:100%;object-fit:contain;pointer-events:none}
.c2-closed-pokedex:focus-visible{outline:0}.c2-closed-pokedex[data-state=hover]{translate:0 -2px}.c2-closed-pokedex[data-state=pressed]{scale:.97}
#trainer-terminal{position:fixed;inset:0;z-index:260;overflow:hidden;overscroll-behavior:none;font-family:"PT Read",sans-serif;--safe-top:env(safe-area-inset-top,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--safe-right:env(safe-area-inset-right,0px)}
#trainer-terminal[hidden],#trainer-terminal [hidden]{display:none!important}
.terminal-device{position:absolute;transform-origin:0 0;filter:drop-shadow(0 10px 12px #0007)}
.terminal-art{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:2}
.terminal-motion{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:5}
.terminal-screen{position:absolute;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden;font-size:var(--font);line-height:1.25;z-index:1;overscroll-behavior:contain}
.terminal-left{background:#d9e5d0 url('assets/pokedex/screens/left-base.webp') center/100% 100%;color:#183f3d;mask:url('assets/pokedex/screens/left-mask.png') 0 0/100% 100%}
.terminal-right{background:#0b242d url('assets/pokedex/screens/right-base.webp') center/100% 100%;color:#e6f4eb;mask:url('assets/pokedex/screens/right-mask.png') 0 0/100% 100%}
#trainer-terminal button,#trainer-terminal input,#trainer-terminal select{font:inherit;box-sizing:border-box;min-height:var(--touch);min-width:var(--touch);line-height:1.2;touch-action:manipulation}
#trainer-terminal button:focus-visible,#trainer-terminal input:focus-visible,#trainer-terminal select:focus-visible{outline:calc(2 * var(--ui)) solid #f8d77a;outline-offset:calc(-2 * var(--ui))}
#trainer-terminal button:active{filter:brightness(.85)}
.terminal-left-title{display:flex;justify-content:space-between;align-items:center;min-height:calc(26 * var(--ui));padding:0 calc(12 * var(--ui));background:#183f44;color:#edf6e5;flex-shrink:0}
.terminal-left-title small{font-size:.7em}
.terminal-search{display:flex;padding:0 calc(10 * var(--ui));gap:calc(4 * var(--ui));flex-shrink:0}.terminal-search-slot{flex:1;min-width:0}
#trainer-terminal #dex-search{width:100%;height:var(--touch);padding:calc(4 * var(--ui));border:calc(1 * var(--ui)) solid #96b8a8;background:#c4d7ca;color:#24463f;border-radius:calc(4 * var(--ui));font-size:calc(16 * var(--ui))}
#trainer-terminal .terminal-search button{background:transparent;border:0;color:#24463f;font-size:1.4em;padding:0;width:var(--touch)}
.terminal-progress{padding:calc(4 * var(--ui)) calc(12 * var(--ui));flex-shrink:0}
#trainer-terminal #dex-progress{font-size:.67em;font-weight:500;white-space:normal;line-height:1.2;display:block}
.terminal-dex-nav{display:flex;align-items:center;flex-shrink:0;height:var(--touch);gap:calc(5 * var(--ui));padding:0 calc(5 * var(--ui))}
#trainer-terminal .terminal-dex-nav button{background:none;border:0;color:#234a42;font-size:1.6em;padding:0}
.terminal-filters{overflow:auto;min-height:0;padding:calc(6 * var(--ui)) calc(12 * var(--ui));touch-action:pan-y}.terminal-filters label{display:block;font-size:.9em;margin-bottom:calc(8 * var(--ui))}.terminal-filters span{display:block}
#trainer-terminal .terminal-filters select,#trainer-terminal .terminal-filters button{width:100%;background:#c0d5c6;border:calc(1 * var(--ui)) solid #729a8b;color:#234a42;border-radius:calc(4 * var(--ui))}
.terminal-dex-body{flex:1;min-height:0;overflow:hidden}
#trainer-terminal #dex-list{height:100%;overflow:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:var(--touch);align-content:start;gap:calc(3 * var(--ui));padding:calc(3 * var(--ui)) calc(12 * var(--ui));box-sizing:border-box;touch-action:pan-y;overscroll-behavior:contain}
#trainer-terminal #dex-list button{position:relative;display:flex;flex-direction:row;align-items:center;gap:calc(3 * var(--ui));margin:0;padding:0 calc(3 * var(--ui));min-width:0;background:transparent;border:0;border-radius:calc(3 * var(--ui));color:#244c42;overflow:hidden}
#trainer-terminal #dex-list button.selected{background:#abcdbb;box-shadow:inset calc(3 * var(--ui)) 0 #438a65}
#trainer-terminal #dex-list img{width:calc(38 * var(--ui));height:calc(38 * var(--ui));object-fit:contain;flex-shrink:0;image-rendering:pixelated}
#trainer-terminal #dex-list b{overflow:hidden;text-overflow:ellipsis;font-size:.85em;white-space:nowrap}
#trainer-terminal #dex-list small{position:static;font-size:.65em;color:#547a6c}
#trainer-terminal #dex-list span{position:static;margin-left:auto;font-size:.7em}
#trainer-terminal .unknown{filter:brightness(0);opacity:.4}
#trainer-terminal #dex-detail{height:100%;box-sizing:border-box;overflow:auto;padding:calc(8 * var(--ui)) calc(14 * var(--ui));background:transparent;color:#244c42;touch-action:pan-y;font-size:.9em}
#trainer-terminal #dex-detail .dex-screen{border:0;background:none;text-align:center;padding:0}
#trainer-terminal #dex-detail .dex-screen img{height:calc(80 * var(--ui));max-width:95%;object-fit:contain;display:block;margin:auto;image-rendering:pixelated}
#trainer-terminal #dex-detail h2{font-size:1.3em;margin:calc(4 * var(--ui))}
#trainer-terminal #dex-detail p{margin:calc(8 * var(--ui)) 0}
#trainer-terminal .detail-types img{width:calc(16 * var(--ui));height:calc(16 * var(--ui))}
#trainer-terminal .detail-stats{display:grid;grid-template-columns:1fr 1fr;gap:calc(4 * var(--ui))}
#trainer-terminal .detail-stats>div{padding:calc(4 * var(--ui));background:#b2cdba}
#trainer-terminal .detail-stats small,#trainer-terminal .detail-stats b{display:block;color:#244c42}
#trainer-terminal .detail-skill{overflow-wrap:anywhere}
#trainer-terminal .dex-family{display:flex;flex-wrap:wrap;gap:calc(4 * var(--ui))}
#trainer-terminal .dex-family button{flex:1;min-width:calc(60 * var(--ui));background:#c4d9c7;color:#244c42;border:0;padding:calc(4 * var(--ui))}
#trainer-terminal .dex-family img{width:calc(44 * var(--ui));height:calc(44 * var(--ui));object-fit:contain}
#trainer-terminal .dex-family small{display:block}
#trainer-terminal [data-dex-cry],#trainer-terminal [data-ash-cry]{background:#b2cdba;border:0;color:#244c42;padding:calc(6 * var(--ui))}
.terminal-right>header{display:flex;align-items:center;flex-shrink:0;min-height:calc(32 * var(--ui));padding:0 calc(12 * var(--ui));gap:calc(5 * var(--ui))}
#trainer-terminal .terminal-right>header button{background:none;border:0;color:inherit;padding:0;font-size:1.5em}
.terminal-profile{display:flex;justify-content:space-between;gap:calc(8 * var(--ui));align-items:center;flex:1;min-width:0}
.terminal-profile b{font-size:.85em;white-space:nowrap}.terminal-profile span{font-size:.64em;color:#9bb8bc;text-align:right;line-height:1.2}
.terminal-record-menu{overflow:auto;min-height:0;display:flex;flex-direction:column;padding:0 calc(14 * var(--ui));touch-action:pan-y}
#trainer-terminal .terminal-record-menu button{background:transparent;color:#e8f4ed;border:0;border-bottom:calc(1 * var(--ui)) solid #24464d;border-radius:0;display:flex;justify-content:space-between;align-items:center;padding:0 calc(8 * var(--ui));text-align:left;flex-shrink:0}
#trainer-terminal .terminal-record-menu button:hover,#trainer-terminal .terminal-record-menu button:focus-visible{background:#27444b}
.terminal-record-menu span{color:#8eb5b9}.terminal-record-content{flex:1;min-height:0;overflow:auto;padding:calc(8 * var(--ui)) calc(12 * var(--ui));touch-action:pan-y}
#trainer-terminal[data-record-view=home] .terminal-record-content{display:none}
.terminal-status{font-size:.7em;padding:calc(4 * var(--ui)) calc(12 * var(--ui));margin:0;flex-shrink:0;color:#c9d4ab}.terminal-status:empty{display:none}
#trainer-terminal .hall-record{margin:0 0 calc(8 * var(--ui));padding:calc(5 * var(--ui));border:calc(1 * var(--ui)) solid #406570;background:#102d35;color:#e8f4ed}
#trainer-terminal .hall-record header{display:flex;flex-direction:column;font-size:.85em}
#trainer-terminal .hall-team{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:calc(3 * var(--ui))}
#trainer-terminal .hall-team>div{display:flex;flex-direction:column;align-items:center;min-width:0;font-size:.75em;min-height:var(--touch)}
#trainer-terminal .hall-team img{width:calc(44 * var(--ui));height:calc(44 * var(--ui));object-fit:contain}
#trainer-terminal .hall-team .item-art{width:calc(16 * var(--ui));height:calc(16 * var(--ui))}
#trainer-terminal .hall-record p{font-size:.8em;margin:calc(4 * var(--ui)) 0}
#trainer-terminal .terminal-hall-detail{background:#27444b;color:#e8f4ed;border:0;width:100%;padding:calc(6 * var(--ui))}
.terminal-summary dl{display:grid;grid-template-columns:1fr 1fr;gap:calc(10 * var(--ui));font-size:.9em}.terminal-summary dd{margin:0;text-align:right}
#trainer-terminal .terminal-physical{position:absolute;z-index:4;padding:0;border:0;background:transparent;display:grid;place-items:center}
#trainer-terminal .terminal-physical img{width:calc(22 * var(--ui));height:calc(22 * var(--ui));pointer-events:none}
#trainer-terminal .terminal-overview-left,#trainer-terminal .terminal-overview-right{position:absolute;z-index:3;padding:0;border:0;border-radius:calc(4 * var(--ui));font-size:calc(14 * var(--ui));line-height:1.4}
.terminal-overview-left{background:#c4d7c4;color:#23443d}.terminal-overview-right{background:#102b33;color:#e2f3e9}
#trainer-terminal[data-compact=true] .terminal-left-title{min-height:calc(22 * var(--ui));font-size:.85em}
#trainer-terminal[data-compact=true] .terminal-progress{display:none}
#trainer-terminal[data-compact=true][data-dex-view=filter] .terminal-progress{display:block}
#trainer-terminal[data-compact=true] #dex-list{grid-template-columns:1fr;padding-top:calc(2 * var(--ui))}
#trainer-terminal[data-compact=true] .terminal-right>header{min-height:calc(28 * var(--ui));padding:0 calc(10 * var(--ui))}
#trainer-terminal[data-compact=true] .terminal-profile span{display:none}
#trainer-terminal[data-portrait=true] #dex-list{grid-template-columns:1fr}
#trainer-terminal[data-portrait=false][data-compact=false] #dex-list{grid-auto-rows:max(var(--touch),calc((100% - 6 * var(--ui))/3))}
#trainer-terminal[data-portrait=true] #dex-detail .dex-screen img{height:calc(112 * var(--ui))}
body.terminal-open{overflow:hidden}
body.terminal-open #title-cover .c2-controls,body.terminal-open #title-cover .c2-pokemon{visibility:hidden}

#trainer-terminal #dex-list{background:transparent}
