:root{color-scheme:light;--ink:#243a35;--muted:#6e7e75;--paper:#f5f4ef;--line:#dce2d8;--green:#386552;--soft:#edf1e9;--gold:#b78743}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.7 system-ui,-apple-system,"Noto Sans JP",sans-serif}button,input,textarea,select{font:inherit}button{padding:9px 14px;border:1px solid #cad4c8;background:#fff;border-radius:8px;color:var(--ink);cursor:pointer;transition:background .15s,transform .15s}button:hover{background:#e9efe6}button:active{transform:translateY(1px)}button:disabled{opacity:.45;cursor:default}.primary{background:var(--green);color:white;border-color:var(--green)}.primary:hover{background:#284e3e}.danger{color:#a04f43}input,textarea,select{width:100%;padding:10px 11px;border:1px solid #cbd5c9;border-radius:7px;background:#fcfdf9;color:var(--ink)}textarea{resize:vertical}label{display:block;font-size:12px;font-weight:600;margin:12px 0}label input,label select,label textarea{display:block;margin-top:5px;font-weight:400}input[type=checkbox]{width:auto;display:inline;margin:0 7px 0 0}.check{display:flex;align-items:center}header{display:flex;align-items:center;gap:16px;padding:18px 3vw;background:#fcfcf8;border-bottom:1px solid var(--line)}header .pill{margin-left:auto}.brand{display:flex;align-items:center;gap:12px;font-size:26px;color:var(--green);text-decoration:none}.brand span{font-size:17px;font-weight:700;line-height:1.4}.brand small{display:block;letter-spacing:2px;font-size:9px;font-weight:500;color:var(--muted)}main{max-width:1580px;margin:auto;padding:28px 3vw 45px}h1,h2,p{margin-top:0}h1{font-size:25px;margin-bottom:6px;letter-spacing:.02em}h2{font-size:15px;margin-bottom:12px}.welcome{min-height:68vh;display:grid;grid-template-columns:1.5fr 1fr;align-items:center;gap:8vw;max-width:1120px;margin:auto}.welcome h1{font-size:clamp(28px,3.2vw,44px);line-height:1.6;margin:20px 0}.welcome p{color:var(--muted)}.welcome .panel{padding:32px}.welcome .primary{width:100%;margin-top:12px}.eyebrow{color:var(--green);font-size:10px;letter-spacing:2px;font-weight:650}.features{display:flex;gap:20px;font-size:12px;margin-top:30px;color:var(--green)}.panel{background:#fffefa;border:1px solid var(--line);border-radius:12px;padding:20px}.pill{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:25px;background:#eff2ea;padding:5px 12px;font-size:11px;white-space:nowrap}.row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.muted{color:var(--muted)}.fine{font-size:11px;color:var(--muted);line-height:1.8;margin:12px 0 0}.workspace-head{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:5px 0 24px}.workspace-head h1{font-size:23px}.workspace-head button{font-size:12px}.app-grid{display:grid;grid-template-columns:minmax(0,1fr) 285px;gap:20px}aside{display:flex;flex-direction:column;gap:14px}aside .panel{padding:18px}.board{background:#edf0e7;border:1px solid #d7dfd1;border-radius:14px;padding:18px}.opponent{background:#eeeae1;border-color:#ded9cf}.board-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.board-head h2{margin:0;font-size:14px}.board-head span{font-size:11px}.counts{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}.count-button{font-size:11px;padding:5px 10px;background:#ffffff9c}.field{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.zone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:130px;padding:12px 7px;border:1px dashed #acbca8;border-radius:9px;background:#ffffff50;overflow:hidden;text-align:center}.zone:hover{border-color:var(--green);background:#ffffff90}.zone.active-zone{grid-column:2/5;min-height:130px;margin:0 15% 8px}.zone.stadium-zone{grid-column:5;grid-row:1;min-height:100px}.zone small{font-size:9px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.zone-name{font-size:11px;color:var(--muted)}.zone .placed{font-size:13px;font-weight:650;overflow-wrap:anywhere;line-height:1.5;margin:8px 0}.zone .mini-image{height:85px;max-width:100%;object-fit:contain}.damage{background:#a75e4d;color:#fff;border-radius:20px;padding:1px 8px;font-size:11px}.status{font-size:10px;color:#96502f}.table-divider{display:flex;justify-content:space-between;padding:14px 8px;color:var(--muted);font-size:10px;letter-spacing:.5px}.private-label{color:var(--green)}.hand-panel{margin-top:16px}.cards{display:flex;gap:9px;flex-wrap:wrap;padding:5px 0;max-height:460px;overflow:auto}.card{width:105px;min-height:140px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;background:#fffef7;border:1px solid #d0c9af;border-radius:8px;padding:9px;text-align:center;box-shadow:0 2px 3px #30433208}.card .name{font-size:12px;line-height:1.6;overflow-wrap:anywhere}.card small{font-size:9px;color:var(--muted)}.card img{max-width:100%;max-height:130px;object-fit:contain}.card .card-symbol{font-size:27px;color:#8eaa83}.actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.actions button{font-size:12px;padding:9px 4px}.actions button:first-child{grid-column:1/3}.log{max-height:220px;overflow:auto;font-size:11px}.log p{border-bottom:1px solid #edf0e9;padding:7px 0;margin:0}.log time{display:block;color:#99a08f;font-size:10px}.notice{padding:14px 18px;border:1px solid #ccb775;border-radius:9px;background:#fcf7e5;margin-bottom:18px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.request{padding:10px 0;border-bottom:1px solid var(--line);font-size:12px}.request p{margin-bottom:7px;white-space:pre-wrap}.request button{font-size:11px;padding:4px 10px}.hidden{display:none!important}dialog{border:1px solid var(--line);border-radius:15px;background:#fffefa;color:var(--ink);padding:25px;max-width:650px;width:calc(100% - 30px);max-height:90vh;box-shadow:0 25px 100px #1d382b35}dialog::backdrop{background:#1f302d65;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.dialog-head h2{margin:0;font-size:20px}.dialog-head button{font-size:11px}dialog p,dialog li{font-size:13px}dialog li{margin-bottom:12px}details{border-top:1px solid var(--line);margin-top:18px;padding-top:12px}summary{cursor:pointer;font-size:12px;font-weight:650}.bottom{justify-content:space-between;margin-top:22px}.catalog-results{display:flex;flex-direction:column;gap:6px;max-height:240px;overflow:auto}.catalog-results button{text-align:left;font-size:12px}.catalog-results small{display:block;color:var(--muted);font-size:10px}pre{white-space:pre-wrap;font:13px/1.8 system-ui}.card-preview{max-height:300px;max-width:100%;display:block;margin:auto}.empty{color:var(--muted);font-size:12px;margin:15px 0}.zone-tools label{flex:1;min-width:130px}.zone-tools button{font-size:12px}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:#263f35;color:#fff;padding:12px 24px;border-radius:10px;max-width:90vw;box-shadow:0 8px 25px #21352b22;z-index:10;font-size:13px}footer{text-align:center;font-size:10px;color:#8a9588;padding:15px;border-top:1px solid var(--line)}:focus-visible{outline:3px solid #b68c45;outline-offset:3px}@media(min-width:1400px){.zone{min-height:150px}}@media(max-width:1050px){.app-grid{grid-template-columns:minmax(0,1fr) 245px}.field{gap:6px}.zone{min-height:115px}.zone .placed{font-size:11px}.workspace-head{align-items:flex-start}.workspace-head .row{justify-content:flex-end;max-width:440px}}@media(max-width:760px){header{padding:13px 16px;gap:8px}header .pill{font-size:9px;padding:4px 7px}.brand span{font-size:13px}.brand small{font-size:7px;letter-spacing:1px}header button{font-size:11px;padding:6px 8px}main{padding:20px 12px}.welcome{grid-template-columns:1fr;gap:24px;padding:20px 8px}.welcome h1{font-size:29px}.features{gap:12px;font-size:10px}.app-grid{grid-template-columns:1fr}.workspace-head{flex-direction:column;gap:14px}.workspace-head .row{justify-content:flex-start;max-width:none}.board{padding:12px 9px}.field{gap:4px}.zone{min-height:104px;padding:6px 3px}.zone.active-zone{margin:0 7% 4px}.zone.stadium-zone{min-height:90px}.zone small{font-size:7px;letter-spacing:0}.zone .placed{font-size:10px}.zone-name{font-size:9px}.table-divider span:last-child{display:none}.card{width:89px;min-height:125px}.card .name{font-size:11px}.counts{gap:5px}.count-button{padding:4px 7px;font-size:10px}aside{display:grid;grid-template-columns:1fr 1fr;align-items:start}aside .panel{padding:14px}aside .panel:nth-child(2){grid-row:span 2}.panel{padding:15px}}@media(max-width:460px){aside{display:flex}.board-head span{font-size:9px}.workspace-head button{padding:7px 9px}.zone .mini-image{height:65px}}
@media(max-width:760px){input,select,textarea{font-size:16px}button{min-height:44px}.count-button{min-height:36px}.check{min-height:44px}dialog{padding:18px}.dialog-head button{min-height:40px}}
.deck-code-panel{padding:16px;background:var(--soft);border:1px solid var(--line);border-radius:10px;margin:18px 0}.saved-decks{border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:20px}h3{font-size:14px;margin:8px 0}.deck-list{max-height:310px;overflow:auto}.saved-deck-row{display:flex;gap:7px;align-items:center;flex-wrap:wrap;border-top:1px solid var(--line);padding:12px 0}.saved-deck-row>div{flex:1 1 100%;overflow-wrap:anywhere}.saved-deck-row small{display:block;font-size:10px;color:var(--muted)}.saved-deck-row button{font-size:12px}#deck-source{overflow-wrap:anywhere}#library-key{font-size:12px}
/* A horizontal hand reserves vertical movement for lifting a card. */
#hand{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;max-height:none;min-height:154px;gap:8px;padding:12px 5px 14px;overscroll-behavior-x:contain;touch-action:pan-x pinch-zoom;scrollbar-width:thin}#hand .card{flex:0 0 105px;touch-action:pan-x pinch-zoom;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;cursor:grab;border-top:5px solid #a8b4a1}#hand .card.card-kind-pokemon{border-top-color:#759b67}#hand .card.card-kind-energy{border-top-color:#c49c4d}#hand .card.card-kind-item,#hand .card.card-kind-supporter{border-top-color:#7da2c1}#hand .card.card-kind-stadium{border-top-color:#9e8aad}#hand .card.card-kind-tool{border-top-color:#b59170}#hand img{pointer-events:none;-webkit-user-drag:none}.card-lifted{opacity:.22!important}.drag-ghost{position:fixed!important;z-index:10000!important;margin:0!important;pointer-events:none!important;box-shadow:0 15px 35px #172f3d40!important;will-change:transform;transition:none!important;user-select:none}.card-dragging{cursor:grabbing}.drop-ready{outline:1px dashed #7fa282;outline-offset:2px}.drop-hover,.play-target{outline:3px solid #a68c42!important;outline-offset:2px;background:#fcf6df!important;box-shadow:0 0 0 4px #b59b4c15}.gesture-help{font-size:11px;color:var(--green);margin:6px 0 0}.play-tray{border:1px solid #cfb874;background:#fff9e6;padding:12px;border-radius:9px;margin:8px 0}.play-tray strong{font-size:12px}.play-tray .row{gap:6px}.play-tray button{font-size:12px}.quick-card-actions{margin-bottom:15px}.quick-card-actions button{width:100%}.zone-arrived{animation:zone-arrive .35s ease-out}@keyframes zone-arrive{0%{box-shadow:0 0 0 8px #b49a4960;transform:scale(.97)}100%{box-shadow:0 0 0 0 transparent;transform:scale(1)}}
@media(max-width:760px){.hand-panel{position:sticky;bottom:0;z-index:4;padding:12px;background:#fffef9f5;box-shadow:0 -5px 18px #31413112;padding-bottom:max(12px,env(safe-area-inset-bottom))}#hand .card{flex-basis:92px;min-height:125px}#hand{min-height:148px}.opponent .zone{min-height:78px}.opponent .zone.active-zone{min-height:90px}.opponent .zone .mini-image{height:55px}.opponent .zone .placed{margin:4px 0}.play-tray{max-height:180px;overflow:auto}.play-tray .board-head{align-items:start}.gesture-help{font-size:10px}.hand-panel .board-head{margin-bottom:5px}.hand-panel #gesture-status:empty{display:none}}
@media(prefers-reduced-motion:reduce){.zone-arrived{animation:none}button{transition:none}}
.table-column{min-width:0}.hand-panel{min-width:0}#hand{width:100%;max-width:100%}@media(max-width:760px){.app-grid{grid-template-columns:minmax(0,1fr)}}
.hand-toolbar{display:flex;align-items:center;justify-content:space-between;gap:6px}.hand-toolbar .gesture-help{margin:0}.hand-toolbar button{font-size:10px;padding:4px 8px;white-space:nowrap;min-height:32px}.own{scroll-margin-top:12px}
@media(max-width:460px){aside{align-items:stretch}}
.effect-option{border:1px solid var(--line);padding:15px;border-radius:9px;margin:15px 0}.effect-option pre{font-size:12px}.effect-option .check{align-items:flex-start}.effect-candidates{max-height:45vh;overflow:auto}.effect-candidate.chosen{outline:3px solid var(--gold);background:#fff7dc}.effect-candidate strong{font-size:10px;color:var(--green)}#manual-effect-dialog .row label{flex:1;min-width:130px}#effect-options-list{max-height:65vh;overflow:auto}.quick-card-actions{flex-wrap:wrap}.quick-card-actions button{width:auto;flex:1}.field>.zone:nth-child(n+8){border-style:solid}#bench-warning{font-size:12px}
.image-failed{visibility:hidden}.deck-preview{max-height:340px;margin:12px 0;padding:10px;background:var(--soft);border-radius:8px}.deck-preview:empty{display:none}.deck-preview-card{flex:0 0 105px}.deck-preview-card img{width:85px;height:118px;object-fit:contain}.deck-preview-card strong{font-size:12px;color:var(--green)}#profile-status{margin-bottom:12px}#profile-status+details{margin-bottom:14px}#archive-section{margin-bottom:20px}
.card img{width:100%;aspect-ratio:63/88;object-fit:contain}.zone .mini-image{width:62px;height:85px}.card .name{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}

.retreat-energy{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--line)}.retreat-energy>.check{flex:1;min-width:0;margin:0}.retreat-energy input[type=number]{width:70px}.retreat-image{width:44px;height:62px;object-fit:contain}.retreat-energy .check span{overflow-wrap:anywhere}
/* Practice is a viewport-sized table; only hands, card rows and sheets scroll. */
body.in-practice{height:100dvh;overflow:hidden}body.in-practice>header,body.in-practice>footer{display:none}body.in-practice main{width:100%;max-width:none;height:100dvh;padding:env(safe-area-inset-top) max(6px,env(safe-area-inset-right)) env(safe-area-inset-bottom) max(6px,env(safe-area-inset-left))}
body.in-practice #workspace{height:100%;display:grid;grid-template-rows:38px minmax(0,1fr) 48px;gap:4px;position:relative}.in-practice .workspace-head{margin:0;gap:4px;min-width:0;display:flex;flex-direction:row}.in-practice .workspace-head>div:first-child{display:none}.in-practice .workspace-head .row{width:100%;max-width:none;flex-wrap:nowrap;gap:5px;justify-content:flex-end}.in-practice .workspace-head button{min-height:34px;padding:3px 10px;white-space:nowrap}.in-practice #image-progress{margin:0;flex:1;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:10px}.in-practice #turn{font-size:10px;padding:3px 8px}.in-practice .app-grid{display:block;min-height:0}.in-practice .table-column{height:100%;display:grid;grid-template-columns:minmax(0,1fr) 100px;grid-template-rows:minmax(0,1fr) minmax(0,1fr) 104px;gap:4px}.in-practice .opponent{grid-column:1;grid-row:1}.in-practice .own{grid-column:1;grid-row:2}.in-practice .shared-stadium{grid-column:2;grid-row:1/3;min-height:0;display:flex;align-items:center}.in-practice .board{min-height:0;padding:3px 5px;border-radius:8px;display:grid;grid-template-columns:110px minmax(0,1fr);grid-template-rows:30px minmax(0,1fr);gap:0 4px;overflow:hidden}.in-practice .board-head{margin:0;min-width:0}.in-practice .board-head h2{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.in-practice .board>.board-head>span{display:none}.in-practice .counts{margin:0;gap:3px;justify-content:flex-end;flex-wrap:nowrap;min-width:0;overflow-x:auto}.in-practice .count-button{font-size:10px;padding:2px 5px;min-height:28px;white-space:nowrap}.in-practice #my-board,.in-practice #opponent-board{grid-column:1/-1;min-height:0;overflow:hidden}.in-practice .field{height:100%;display:grid;grid-template-columns:minmax(64px,1.15fr) repeat(var(--bench-count,5),minmax(44px,1fr));gap:4px;overflow-x:auto;overflow-y:hidden;padding:2px}.in-practice .zone{min-height:0;height:100%;padding:2px 3px;border-radius:5px;min-width:0;gap:1px;justify-content:center}.in-practice .zone.active-zone{grid-column:auto;grid-row:auto;margin:0;border-style:solid;border-color:#76947a}.in-practice .zone small,.in-practice .zone-name{font-size:8px;line-height:1.2;letter-spacing:0}.in-practice .zone small:first-child{display:none}.in-practice .zone .placed{font-size:9px;line-height:1.2;margin:1px 0;max-height:22px;overflow:hidden}.in-practice .zone .mini-image{height:calc(100% - 35px);min-height:0;max-height:94px;max-width:100%;object-fit:contain}.in-practice .damage{position:absolute;right:2px;bottom:2px;padding:0 4px;font-size:10px}.in-practice .status{position:absolute;top:2px;right:2px;background:#fff9;font-size:9px}.in-practice .hand-panel{grid-column:1/-1;grid-row:3;margin:0;position:relative;min-height:0;z-index:2;padding:3px 5px;border-radius:8px;box-shadow:none;display:grid;grid-template-rows:16px minmax(0,1fr)}.in-practice .hand-panel>.board-head{margin:0;font-size:9px}.in-practice .hand-panel h2{font-size:10px}.in-practice .hand-toolbar{display:none}.in-practice #hand{min-height:0;height:100%;padding:3px 1px;gap:5px}.in-practice #hand .card{flex:0 0 62px;min-height:0;height:100%;padding:2px;border-top-width:3px}.in-practice #hand .card img{height:calc(100% - 20px);max-height:none;min-height:0}.in-practice #hand .card .name{font-size:9px;line-height:1.2;max-height:22px;overflow:hidden}.in-practice #hand .card small{display:none}.in-practice #gesture-status{position:absolute;bottom:3px;right:6px;pointer-events:none;background:#fffefaeb;margin:0;font-size:9px}.in-practice #play-tray{position:absolute;bottom:calc(100% + 3px);left:0;right:0;margin:0;max-height:130px;overflow:auto;box-shadow:0 -4px 20px #20352625}.in-practice #practice-actions{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;min-height:0}.in-practice #practice-actions button{min-height:44px;font-size:12px;padding:4px 2px}.in-practice .opening-notice{position:absolute;bottom:158px;left:10px;right:110px;z-index:3;background:#fff6dce8;border:1px solid #d4b877;border-radius:6px;margin:0;padding:4px 8px;font-size:10px;pointer-events:none}.in-practice #approval{position:absolute;top:40px;left:5px;right:5px;z-index:6;margin:0}.in-practice #bench-warning{position:absolute;z-index:4;left:10px;right:110px;bottom:160px;margin:0;padding:5px;font-size:10px}.in-practice #retry-images{position:absolute;top:40px;right:6px;z-index:5;font-size:10px;padding:3px;min-height:30px}.shared-stadium .stadium-zone{width:100%;height:auto;min-height:100px;grid-column:auto;grid-row:auto;background:#ede8db;border:1px solid #b7ab86}.stadium-pictures{display:flex;gap:2px;min-height:0;width:100%;justify-content:center}.stadium-picture{display:flex;flex-direction:column;align-items:center;min-width:0;flex:1;overflow:hidden}.stadium-picture img{width:100%;max-height:110px;object-fit:contain}.stadium-picture>span{font-size:9px;line-height:1.3}.paired-stadium .stadium-picture img{max-height:80px}.stadium-entry{display:flex;flex-direction:column;gap:8px}#tools-dialog aside{display:flex}#tools-dialog .actions button:first-child{grid-column:auto}#tools-dialog .panel{padding:12px}#tools-dialog{max-width:800px}#stadium-dialog .card{height:150px}


.in-practice .opponent .zone.active-zone{min-height:0}.in-practice .field{grid-template-rows:minmax(0,1fr)}.in-practice #hand .card-symbol{font-size:22px;line-height:1}.in-practice #hand .card .name{flex-shrink:0}

.stadium-art{position:relative;display:block;width:100%;aspect-ratio:434/606;overflow:hidden;max-width:46px;flex-shrink:0}.stadium-art img{display:block!important;width:200%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:fill!important}.stadium-art.right img{transform:translateX(-50%)}

.in-practice #connection{font-size:9px;padding:2px 5px;max-width:75px;overflow:hidden;text-overflow:ellipsis}.in-practice .zone .placed{flex-shrink:0}#tools-dialog .actions:empty{display:none}

#hand .card{touch-action:pinch-zoom}

/* Portrait practice table: give the player's board 60% of the board space. */
body.in-practice main{max-width:560px;margin-inline:auto}
.in-practice .table-column{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,2fr) 36px minmax(0,3fr) 128px}
.in-practice .opponent{grid-column:1;grid-row:1}
.in-practice .shared-stadium{grid-column:1;grid-row:2;justify-content:center}
.in-practice .own{grid-column:1;grid-row:3}
.in-practice .hand-panel{grid-column:1;grid-row:4}
.in-practice .board{grid-template-columns:85px minmax(0,1fr)}
.in-practice .count-button{font-size:9px;padding:2px 3px}
.in-practice .workspace-head button{padding:3px 7px;font-size:11px}
.in-practice #practice-actions button{font-size:11px}
.in-practice .own .field{grid-template-columns:repeat(var(--bench-count,5),minmax(44px,1fr));grid-template-rows:minmax(0,1.15fr) minmax(0,1fr)}
.in-practice .own .zone.active-zone{grid-column:1/-1;grid-row:1;justify-self:center;width:min(42%,125px)}
.in-practice .own .zone:not(.active-zone){grid-row:2}
.in-practice .own .zone .mini-image{max-height:150px;height:calc(100% - 32px);width:auto;max-width:100%}
.in-practice .opponent .zone .mini-image{max-height:75px}
.in-practice .shared-stadium .stadium-zone{height:34px;min-height:0;max-width:210px;flex-direction:row;gap:6px;padding:2px 6px;border-radius:7px}
.in-practice .shared-stadium .stadium-zone>small:first-child{display:block;white-space:nowrap;font-size:9px}
.in-practice .shared-stadium .stadium-zone>small:last-child{font-size:8px;white-space:nowrap}
.in-practice .stadium-pictures{height:28px;width:auto;max-width:125px;gap:2px;align-items:center}
.in-practice .stadium-picture{flex-direction:row;gap:3px;max-height:28px}
.in-practice .stadium-picture img{height:28px;width:auto;max-width:21px;object-fit:contain}
.in-practice .stadium-picture>span:not(.stadium-art){font-size:9px;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.in-practice .paired-stadium .stadium-picture>span:not(.stadium-art){display:none}
.in-practice .stadium-art{height:28px;width:20px;max-width:none;aspect-ratio:434/606}
.in-practice .shared-stadium .placed{margin:0;font-size:11px}
.in-practice .opening-notice{bottom:182px;right:10px}
.in-practice #bench-warning{bottom:185px;right:10px}
@media(max-height:500px){body.in-practice{height:auto;overflow:auto}body.in-practice main{height:640px}}

.device-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:12px 0;border-bottom:1px solid var(--line)}.device-row strong,.device-row>span{flex:1 1 100%;overflow-wrap:anywhere}.device-row button{min-height:44px}#waiting{max-width:650px;margin:30px auto}

/* The opponent's active Pokemon sits nearest the shared stadium. */
.in-practice .opponent .field{grid-template-columns:repeat(var(--bench-count,5),minmax(44px,1fr));grid-template-rows:minmax(0,1fr) minmax(0,1.15fr)}
.in-practice .opponent .zone.active-zone{grid-column:1/-1;grid-row:2;justify-self:center;width:min(42%,105px)}
.in-practice .opponent .zone:not(.active-zone){grid-row:1}
.in-practice .opponent .zone .mini-image{height:calc(100% - 26px);width:auto;max-width:100%;max-height:85px}
.in-practice .opponent .zone .placed{font-size:8px;max-height:18px}
.in-practice .opponent .zone-name{font-size:7px}
.access-info{flex:1 1 100%;font-size:12px;color:var(--muted);overflow-wrap:anywhere}.access-info>span{display:block}.access-info details{margin-top:6px;padding-top:4px}.access-info p{word-break:break-word}

body.in-practice #workspace{grid-template-rows:38px 44px minmax(0,1fr) 48px}
.turn-banner{display:flex;align-items:center;justify-content:space-between;gap:6px;min-width:0;background:#f4ead1;border:1px solid #ccb975;border-radius:8px;padding:4px 8px}.turn-banner>div{flex:1;min-width:0}.turn-banner strong{display:block;font-size:13px;line-height:1.3}.turn-banner small{display:block;font-size:9px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.turn-banner button{font-size:11px;min-height:34px;padding:3px 7px;white-space:nowrap}.turn-banner.my-turn{background:#dcefd8;border-color:#54854d}.turn-banner.other-turn{background:#e8eaf0;border-color:#8e9aaf}.turn-arrived{animation:turn-arrive 1.8s ease-out}@keyframes turn-arrive{0%,45%{box-shadow:0 0 0 4px #7fad6880}100%{box-shadow:none}}
.in-practice #approval,.in-practice #retry-images{top:88px}
.in-practice .table-column{grid-template-rows:minmax(0,2fr) 36px minmax(0,3fr) var(--hand-height,128px)}
.in-practice.single-board .table-column{grid-template-rows:36px minmax(0,1fr) var(--hand-height,128px)}
.single-board .shared-stadium{grid-row:1}.single-board .own{grid-row:2}.single-board .hand-panel{grid-row:3}
.read-only .table-column{--hand-height:0px}.read-only .hand-panel,.read-only #practice-actions{display:none!important}.read-only #readonly-message{grid-row:4;margin:0;text-align:center;font-size:11px;padding:10px}.read-only #load-deck,.read-only .saved-deck-row .primary{display:none}
#match-dialog fieldset{border:1px solid var(--line);border-radius:8px;margin:16px 0}#match-dialog .check{min-height:44px}
@media(prefers-reduced-motion:reduce){.turn-arrived{animation:none}}

#match-dialog input[type=radio]{width:20px;height:20px;padding:0;margin:0 10px 0 0;flex:0 0 auto}
body.in-practice #turn{font-size:14px;font-weight:750;padding:0;line-height:1.3;white-space:normal}.turn-banner.my-turn strong{color:#24522b}.turn-banner.other-turn strong{color:#45516b}
