.builder{margin-bottom:2rem}.builder [hidden]{display:none!important}.builder label{display:grid;gap:.35rem;min-width:0;font-size:.9rem;color:var(--muted)}.builder select,.builder textarea{width:100%}.builder-toolbar{display:flex;align-items:end;justify-content:space-between;gap:1rem;flex-wrap:wrap}.builder-toolbar>label{min-width:180px}.builder-actions{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.builder-save{display:flex;align-items:center;gap:.6rem;min-height:38px;font-size:.8rem;color:var(--muted);margin:.5rem 0 1rem}.builder-save p{margin:0}.builder-save button{font-size:.8rem;min-height:34px}.builder-error{border-inline-start:3px solid var(--accent);padding:.75rem;background:#342222;border-radius:4px;margin-bottom:1rem}.builder-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:1.5rem;align-items:start}.builder-edit{display:grid;gap:1rem;min-width:0}.builder-section{background:var(--surface);padding:1.25rem;border:1px solid var(--line);border-radius:8px;min-width:0}.builder-section h2{margin:0;font-size:1.1rem}.section-toolbar{display:flex;justify-content:space-between;gap:.5rem;align-items:center;margin-bottom:1rem}.section-toolbar>button{font-size:.85rem}.character-section .entry-heading-identity{margin:.3rem 0 1rem}.character-section .entry-heading-identity h2{font-size:1.35rem}.character-section .entry-heading-identity img{width:4rem;height:4rem}.builder-section summary{min-height:36px;font-size:.95rem;font-weight:600;cursor:pointer}.builder-section[open]>summary{margin-bottom:1rem}.builder-stat-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.builder-stat-grid input,.builder-stat-grid select{width:100%}.builder-stat-grid label{font-size:.8rem}.builder-section details{margin-block:.65rem}.builder-equipment{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}.builder-equipment li{min-width:0}.equipment-slot{width:100%;min-height:112px;background:var(--bg);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.3rem;padding:.65rem .4rem;font-size:.85rem;line-height:1.35}.equipment-slot .entry-icon{width:3rem;height:3rem}.equipment-count{color:var(--muted);font-size:.8rem}.empty-slot{color:var(--muted);font-size:1.5rem;border-style:dashed}.equipment-empty{grid-column:1/-1;color:var(--muted);font-size:.85rem}.equipment-dialog .dialog-body{display:grid;gap:1rem}.equipment-dialog .dialog-body>h2{margin:0}.builder-calculation>h2{margin-bottom:.6rem}.builder-calculation>p{font-size:.8rem;color:var(--muted);margin-bottom:.75rem}.builder-calculation>p:empty{display:none}.builder-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.25rem .8rem}.builder-results>details{min-width:0;border-bottom:1px solid var(--line);margin:0}.builder-results>details>summary{font-size:.87rem;min-height:44px;padding-block:.6rem;list-style:none;font-weight:400}.builder-results>details>summary::after{content:'+';float:inline-end;color:var(--muted);margin-inline-start:.5rem}.builder-results>details[open]>summary::after{content:'−'}.builder-results summary data{font-weight:650;font-variant-numeric:tabular-nums}.builder-value-list{margin:.4rem 0;font-size:.8rem}.builder-value-list>div{display:flex;justify-content:space-between;gap:.8rem;padding-block:.2rem}.builder-value-list dt{color:var(--muted)}.builder-value-list dd{margin:0;text-align:end}.builder-calculation [data-calculation-counts]{font-size:.8rem;margin:1rem 0;color:var(--muted)}.builder-calculation [data-calculation-result]>section{margin-top:1.5rem}.builder-set-results,.builder-weapon-results{list-style:none;padding:0;margin:0;display:grid;gap:.75rem}.builder-set-results{font-size:.85rem}.builder-set-results p{margin:.2rem 0;color:var(--muted)}.builder-weapon-results>li{padding:.8rem;background:var(--bg);border-radius:6px}.builder-weapon-results details{margin:0}.builder-weapon-results summary{font-size:.9rem;font-weight:500}.builder-weapon-results .entry-link{margin-top:.5rem}.builder-replacement{border:1px solid var(--accent);border-radius:8px;padding:1rem;margin-bottom:1.5rem;background:var(--surface)}.builder-diff{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.builder-diff ul{padding-inline-start:1.2rem}.builder-guide-tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.builder-guide-tabs [aria-selected=true]{border-color:var(--accent)}.builder small{font-size:.85rem;font-weight:400;color:var(--muted)}.builder [data-share-dialog] textarea{margin-bottom:1rem}.picker-identity{background:none;border:0;padding:0;text-align:start;justify-content:start;width:100%;color:var(--text)}.picker-identity:hover{background:none;color:var(--accent-text)}.picker-detail{display:inline-block;font-size:.8rem;color:var(--muted);margin-top:.75rem;min-height:36px;padding-block:.4rem}.picker-dialog .browse-layout{display:block}.picker-dialog .codex-filters{margin-bottom:1rem}.picker-dialog .filter-groups{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.picker-dialog .codex-filters>summary{font-size:.9rem}.picker-dialog .entry-list{align-items:stretch}.picker-dialog .search-feedback{margin-top:.5rem}.picker-dialog .entry-card{display:flex;flex-direction:column}.picker-dialog .entry-card .picker-tier{margin-top:auto;padding-top:.6rem}.picker-dialog .entry-card .picker-detail{align-self:flex-start}
@media(max-width:1000px){.builder-layout{grid-template-columns:1fr}.builder-calculation{order:0}.builder-stat-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}}
@media(max-width:600px){.builder-toolbar{align-items:stretch}.builder-toolbar>label{width:100%}.builder-actions{gap:.4rem}.builder-actions>button{font-size:.85rem;flex:1}.builder-section{padding:1rem}.builder-layout{gap:1rem}.builder-results{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 .65rem}.builder-results>details>summary{font-size:.8rem}.builder-equipment{gap:.4rem}.equipment-slot{min-height:105px;font-size:.8rem}.section-toolbar button{font-size:.8rem;padding:.4rem .6rem}.builder-diff{grid-template-columns:1fr}.builder-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:360px){.builder-results{grid-template-columns:1fr}.builder-equipment{grid-template-columns:repeat(2,minmax(0,1fr))}}

.builder-equipment{grid-template-columns:repeat(6,minmax(0,1fr))}.equipment-slot{min-height:88px}.equipment-slot .entry-icon{width:2.6rem;height:2.6rem}.builder-section:where(details){padding-block:.75rem}.builder-section:where(details)>summary{min-height:32px}.builder-calculation [data-calculation-counts]:empty{display:none}.builder-toolbar>label{min-width:min(180px,100%)}.builder-save{min-height:20px;margin-bottom:.65rem}.builder-save:has(p:empty):not(:has(button:not([hidden]))){display:none}.builder-results summary{display:flex;gap:.3rem;flex-wrap:wrap}.builder-results summary::after{margin-inline-start:auto}.builder-stat-grid>label,.builder-diff>*{min-width:0}@media(max-width:1200px){.builder-equipment{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:360px){.builder-equipment{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* Compact catalog entries and a list/detail picker, measured in its own available width. */
.picker-dialog{width:min(100rem,calc(100vw - 3rem));height:min(900px,calc(100dvh - 3rem));max-width:none;overflow:hidden;position:fixed;container-type:inline-size}
.picker-dialog .dialog-body{display:flex;flex-direction:column;overflow:auto;min-height:0;padding:1.25rem}
.picker-dialog .dialog-body>h2{padding-inline-end:2rem;flex-shrink:0;margin-bottom:1rem}
.picker-close{position:absolute;inset-inline-end:.6rem;top:.6rem;z-index:2;font-size:1.4rem;border:0;background:none;padding:.2rem;min-width:44px}
.picker-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);min-height:min(18rem,50dvh);flex:1;gap:1.25rem}
.picker-layout>[data-codex-browse]{min-width:0;overflow:auto;overscroll-behavior:contain;padding-inline-end:.65rem}
.picker-preview{min-width:0;overflow:auto;overscroll-behavior:contain;border-inline-start:1px solid var(--line);padding-inline-start:1.25rem}
.picker-preview>h3{font-size:1.2rem;margin:0 0 1rem}.picker-preview .entry-panel{margin-top:1rem}
.picker-dialog .entry-list{grid-template-columns:repeat(auto-fit,minmax(min(14rem,100%),1fr));gap:.5rem}
.picker-dialog .entry-card{height:100%;padding:.75rem}.picker-identity{min-height:44px}.picker-dialog .entry-icon{width:2.6rem;height:2.6rem}
.picker-card:has([aria-pressed=true]) .entry-card{border-color:var(--accent);background:var(--raised)}
.picker-current{font-size:.75rem;color:var(--muted);margin-top:.4rem}
.picker-dialog .dialog-footer{display:flex;justify-content:flex-end;gap:.5rem;max-height:40dvh;overflow:auto}.picker-dialog .dialog-footer>button{min-width:8rem}
.picker-dialog .picker-back{display:none}.picker-apply{background:var(--accent);border-color:var(--accent);color:white}
.picker-dialog.is-compact .picker-layout{grid-template-columns:minmax(0,1fr)}
.picker-dialog.is-compact:not(.show-detail) .picker-preview,.picker-dialog.is-compact.show-detail .picker-layout>[data-codex-browse]{display:none}
.picker-dialog.is-compact .picker-preview{border:0;padding:0}
.picker-dialog.is-compact:not(.show-detail) .picker-apply{display:none}
.picker-dialog.is-compact.show-detail .picker-back{display:block}
.picker-dialog.is-compact.show-detail .dialog-footer>[data-dialog-close]{display:none}
.picker-dialog.is-compact.show-detail .dialog-body>h2{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);padding:0;margin:0}
.picker-dialog.is-compact.show-detail .picker-preview>.entry-heading-identity{padding-inline-end:36px}
.picker-dialog.is-compact .dialog-footer>button{min-width:0;flex:1}
.picker-dialog .filters-wide .browse-layout{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem}
.picker-dialog .codex-filters:not([open]){display:none}.picker-dialog .codex-filters[open]{max-width:12rem}.picker-dialog .filter-groups{display:grid;grid-template-columns:minmax(0,1fr)}
.picker-dialog .filter-dialog .filter-groups{grid-template-columns:repeat(auto-fit,minmax(min(180px,100%),1fr))}
.builder-calculation{container-type:inline-size}.builder-results{grid-template-columns:minmax(0,1fr);gap:.1rem 1rem}
.builder-stat{display:flex;align-items:center;justify-content:flex-start;gap:.5rem;min-height:44px;text-align:start;border:0;border-radius:4px;background:transparent;padding:.5rem .2rem;font-size:.9rem}
.builder-stat>span{min-width:0;overflow-wrap:anywhere}.builder-stat data{white-space:nowrap;font-weight:650;font-variant-numeric:tabular-nums}
.builder-stat:hover{background:var(--raised)}
@container(min-width:20rem){.builder-results{grid-template-columns:repeat(2,minmax(0,1fr))}}
@container(min-width:44rem){.builder-results{grid-template-columns:repeat(3,minmax(0,1fr))}}
.stat-dialog{width:min(48rem,calc(100vw - 24px))}.stat-content{container-type:inline-size}.stat-formula{display:flex;flex-wrap:wrap;gap:.25rem .35rem;line-height:1.4;padding-bottom:.5rem;border-bottom:1px solid var(--line);margin-bottom:.75rem}
.stat-sources{list-style:none;margin:0;padding:0;display:grid;gap:.3rem 1rem;grid-template-columns:minmax(0,1fr)}
.stat-source{display:flex;align-items:center;gap:.5rem;min-height:44px;min-width:0}.stat-source .entry-link{margin:0;gap:.4rem;flex-wrap:nowrap;font-size:.9rem;min-width:0}.stat-source .entry-icon{width:24px;height:24px;flex-shrink:0}.stat-source strong{white-space:nowrap;font-size:.9rem;font-variant-numeric:tabular-nums}.stat-source>span{min-width:0;font-size:.9rem}.stat-source.operation-add strong{color:#8bc4f9}.stat-source.operation-gain strong{color:#eab66b}.stat-content>details{margin-top:1rem;font-size:.85rem}.stat-cap{font-size:.85rem}
@container(min-width:40rem){.stat-sources{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.picker-dialog{inset:0;margin:0;width:100%;height:100dvh;max-height:none;border:0;border-radius:0}.picker-dialog .dialog-body{padding:1rem}.picker-dialog .entry-list{grid-template-columns:repeat(auto-fit,minmax(min(9rem,100%),1fr))}.picker-dialog .entry-card-identity{flex-direction:column;align-items:flex-start}.picker-dialog .tag{font-size:.7rem}.stat-dialog{width:100%}.character-section .entry-link .entry-icon{width:3rem;height:3rem}}

.picker-dialog [data-search-status]{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.picker-dialog .search-feedback{justify-content:flex-end}.picker-dialog .entry-card-identity{margin-top:0}.builder-toolbar{margin-bottom:.6rem}.builder-calculation .builder-stat{font-weight:400}.builder-section[data-calculation-preparation]{padding-block:.75rem}

.section-toolbar{flex-wrap:wrap}.section-toolbar>h2{min-width:0}.builder-stat-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,7rem),1fr))}.builder-equipment{grid-template-columns:repeat(auto-fit,minmax(min(100%,5.5rem),1fr))}.builder-section{padding:min(1.25rem,20px)}.picker-preview .entry-heading-identity{margin-bottom:1rem}.picker-preview .entry-heading-identity h3{margin:0}.picker-preview .entry-heading-identity .entry-icon{width:3rem;height:3rem}

/* Search and actions stay available while only candidates or the detail scroll. */
.picker-layout>[data-codex-browse]{display:flex;flex-direction:column;overflow:hidden;padding-inline-end:0;min-height:0}
.picker-dialog .codex-search{flex:none;padding-bottom:.75rem;max-height:40%;overflow:auto}
.picker-dialog .search-toolbar{max-width:none;align-items:stretch;flex-wrap:wrap}
.picker-search-field{display:flex;flex:1 1 12rem;min-width:0;position:relative}
.picker-search-field input{width:100%;padding-inline-end:2.75rem}
.picker-search-field input::-webkit-search-cancel-button{display:none}
.picker-search-field [data-reset-search]{position:absolute;inset-inline-end:0;inset-block:0;min-width:40px;padding:.25rem;background:transparent;border:0;font-size:1.25rem;color:var(--muted)}
.picker-dialog .search-feedback{height:0;margin:0;overflow:hidden}
.picker-dialog .browse-layout,.picker-dialog .filters-wide .browse-layout{display:flex;flex:1;min-height:0;align-items:stretch;gap:.75rem;overflow:hidden}
.picker-dialog .entry-list{overflow:auto;overscroll-behavior:contain;overflow-anchor:none;align-content:start;grid-template-columns:repeat(auto-fill,minmax(min(14rem,100%),1fr));padding-inline-end:.25rem}
.picker-dialog .codex-filters[open]{flex:0 0 11.5rem;overflow:auto;overscroll-behavior:contain;max-width:40%;padding:.5rem;margin:0}
.picker-dialog [data-search-empty]{align-self:flex-start;margin:1rem 0;color:var(--muted)}
.picker-dialog .browse-layout:has([data-search-empty]:not([hidden])) .entry-list{display:none}
.picker-dialog .entry-card{display:grid;grid-template-columns:min(2.6rem,44px) minmax(0,1fr);column-gap:min(.65rem,10px);align-content:start;padding:min(.7rem,12px)}
.picker-dialog .entry-card-identity{grid-column:2;grid-row:1;display:flex;flex-direction:row;justify-content:flex-start;align-items:center;min-height:32px;margin:0!important;text-align:start}
.picker-dialog .entry-card>.entry-icon{grid-column:1;grid-row:1/3;align-self:start;width:min(2.6rem,44px);height:min(2.6rem,44px)}
.picker-dialog .entry-card-identity .entry-card-name{font-size:.95rem;overflow-wrap:anywhere}
.picker-dialog .entry-card .entry-tags,.picker-dialog .picker-current{grid-column:2;margin-top:.25rem}.picker-dialog .entry-card .entry-tags{grid-row:2;position:relative}
.picker-dialog .entry-card .tag{font-size:.75rem;padding:.15rem min(.35rem,6px);max-width:100%;overflow-wrap:anywhere}
.picker-dialog .picker-current{color:var(--accent-text)}
.picker-preview .entry-heading-identity{gap:min(.75rem,12px);flex-wrap:nowrap}.picker-preview .entry-heading-identity h3{min-width:0;overflow-wrap:anywhere}.picker-preview .entry-heading-identity .entry-icon{width:min(3rem,48px);height:min(3rem,48px)}
.picker-dialog .picker-apply{color:#211412;font-weight:650}
.builder-stat data{color:var(--accent-text)}.builder-stat[data-zero=true] data{color:var(--muted)}
.stat-formula{align-items:center;gap:.3rem;padding-block:.5rem .8rem;font-variant-numeric:tabular-nums}
.stat-formula-term{display:inline-flex;flex-wrap:wrap;align-items:center;gap:.35rem;max-width:100%;padding:.15rem .3rem;border-radius:4px;background:var(--raised)}
.stat-formula-term .entry-link{padding:0;min-height:32px;background:none;gap:.35rem;font-size:.85rem}
.stat-formula-term .entry-icon{width:22px;height:22px}
.stat-formula-term>span{font-size:.85rem;overflow-wrap:anywhere}.stat-formula-term strong{white-space:nowrap}
.stat-formula-term.operation-add{color:#8bc4f9}.stat-formula-term.operation-gain{color:#eab66b}.stat-operator{color:var(--muted)}
.stat-source>.entry-link{padding:.2rem 0;background:none}.stat-source{gap:.5rem}.stat-source strong{flex:none}
.stat-total{white-space:nowrap;color:var(--text)}
@container(max-width:18rem){.picker-dialog .dialog-footer{display:grid;grid-template-columns:minmax(0,1fr)}.picker-dialog .dialog-footer>button{width:100%}}
@media(hover:hover) and (pointer:fine){.builder-stat{min-height:36px;padding-block:.25rem}}
@media(max-width:600px){.picker-dialog .dialog-body{padding:min(.75rem,12px)}.picker-dialog .dialog-body>h2{font-size:1.15rem;margin-bottom:.75rem;padding-inline-end:48px}.picker-close{font-size:24px;inset-inline-end:8px;top:8px}.picker-dialog .entry-list{grid-template-columns:minmax(0,1fr)}.picker-dialog .entry-card{padding:min(.65rem,10px) min(.75rem,12px)}.picker-dialog .dialog-footer{padding:min(.6rem,10px) min(.75rem,12px) max(10px,env(safe-area-inset-bottom))}.picker-dialog .dialog-footer>button{min-height:48px;overflow-wrap:anywhere;padding-inline:min(.85rem,14px)}}

.equipment-curse{border-block-start:1px solid var(--line);padding-block-start:1rem;min-width:0}.equipment-dialog h3{font-size:.95rem;margin:0 0 .65rem}.equipment-curse>label{margin-block:.6rem}.equipment-curse input{width:100%}.equipment-curse-badge{color:#d3b3f8;font-size:.75rem}.equipment-current,.curse-preview{min-width:0;overflow-wrap:anywhere}.curse-preview{background:var(--bg);border-radius:6px;padding:.75rem;margin-block:.75rem}.curse-preview h4{font-size:.9rem;margin:0 0 .5rem}.equipment-dialog .entry-link{flex-wrap:wrap}.equipment-dialog .entry-link small{color:var(--muted);font-size:.75rem}

/* Keep compact editing usable when the text size grows within a narrow viewport. */
.equipment-dialog{container-type:inline-size;max-width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}
.equipment-dialog .dialog-body{padding:clamp(12px,1.5rem,24px);gap:clamp(12px,1rem,20px);grid-auto-rows:max-content;align-content:start}
.equipment-dialog .dialog-footer{padding:12px max(16px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}
.equipment-dialog button{padding-block:8px}
.equipment-dialog .builder-actions{gap:clamp(8px,.5rem,16px)}
@container(max-width:24rem){.equipment-dialog .builder-actions{flex-direction:column;align-items:stretch}.equipment-dialog .builder-actions>button{flex:none;width:100%}}
/* The combat field has one retained Canvas. UI icons remain in the editor. */
.builder-practice{margin-top:1.5rem}.practice-intro{font-size:.85rem;color:var(--muted);max-width:75ch;margin:.5rem 0 1rem}.practice-surface{display:grid;gap:.65rem;min-width:0}.practice-toolbar{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}.practice-toolbar button{font-size:.85rem}.practice-toolbar [data-practice-expand]{margin-inline-start:auto}.practice-support{min-width:0;font-size:.85rem}.practice-support p{margin:0}.practice-support ul{margin:.5rem 0;padding-inline-start:1.25rem;color:var(--accent-text);overflow-wrap:anywhere}.practice-support .builder-actions:has(button:not([hidden])){margin-top:.5rem}.practice-field{min-width:0;min-height:100px;background:#101014;border:1px solid var(--line);border-radius:6px;overflow:hidden;aspect-ratio:16/9;max-height:65dvh}.practice-field canvas{display:block;width:100%;height:100%;outline-offset:-3px;touch-action:pan-y}.practice-hud{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.4rem 1rem;margin:0;font-variant-numeric:tabular-nums}.practice-hud dt{font-size:.75rem;color:var(--muted)}.practice-hud dd{margin:0;font-weight:650;overflow-wrap:anywhere}.practice-hud[data-valid=false]{opacity:.65}.practice-surface>[data-practice-result-note]:empty{display:none}.practice-movement{display:flex;align-items:center;gap:.75rem;font-size:.8rem;color:var(--muted)}.practice-movement p{margin:0;max-width:80ch}.practice-stick{display:none;width:84px;height:84px;flex:0 0 84px;border:2px solid var(--line);background:var(--bg);border-radius:50%;position:relative;touch-action:none;user-select:none;direction:ltr}.practice-stick span{position:absolute;left:calc(50% + var(--stick-x,0)*26px);top:calc(50% + var(--stick-y,0)*26px);width:28px;height:28px;transform:translate(-50%,-50%);border:2px solid var(--accent);border-radius:50%;background:var(--raised)}.practice-stick[data-held]{border-color:var(--accent)}.practice-settings{border-top:1px solid var(--line);padding-top:.4rem}.practice-settings p{font-size:.8rem;color:var(--muted);margin:.5rem 0}.practice-settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(13rem,100%),1fr));gap:.6rem 1rem}.practice-settings-grid input,.practice-settings-grid select{max-width:100%;width:100%}.practice-settings-grid .practice-check{display:flex;align-items:center;gap:.5rem}.practice-check input{width:auto}.builder-practice>[data-practice-launch],.builder-practice .section-toolbar>[data-practice-launch]{display:none}
.practice-dialog{inset:0;margin:0;padding:0;width:100%;height:100dvh;max-width:none;max-height:none;border:0;border-radius:0;background:var(--surface);overflow:hidden}.practice-dialog[open]{display:flex;flex-direction:column}.practice-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:calc(.5rem + env(safe-area-inset-top)) max(.75rem,env(safe-area-inset-right)) .5rem max(.75rem,env(safe-area-inset-left));border-bottom:1px solid var(--line);flex-shrink:0}.practice-dialog-heading h2{font-size:1rem}.practice-dialog-heading button{font-size:.8rem}.practice-dialog>[data-practice-modal-body]{min-height:0;display:flex;flex:1;overflow:auto;padding:.5rem max(.75rem,env(safe-area-inset-right)) max(.5rem,env(safe-area-inset-bottom)) max(.75rem,env(safe-area-inset-left))}.practice-dialog .practice-surface{width:100%;min-height:0;flex:1;grid-template-rows:auto auto minmax(80px,1fr) auto auto auto auto}.practice-dialog .practice-field{aspect-ratio:auto;max-height:none}.practice-dialog .practice-settings[open]{overflow:auto;max-height:40dvh}.builder-practice:is([data-display-mode=viewport],[data-display-mode=fullscreen]){position:fixed;inset:0;z-index:50;margin:0;max-width:none;width:100%;height:100dvh;box-sizing:border-box;overflow:auto;display:flex;flex-direction:column;padding:max(.75rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(.75rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));border-radius:0}.builder-practice:is([data-display-mode=viewport],[data-display-mode=fullscreen])>.section-toolbar{display:none}.builder-practice:is([data-display-mode=viewport],[data-display-mode=fullscreen])>.practice-intro{display:none}.builder-practice:is([data-display-mode=viewport],[data-display-mode=fullscreen])>.practice-surface{min-height:0;flex:1;grid-template-rows:auto auto minmax(80px,1fr) auto auto auto auto}.builder-practice:is([data-display-mode=viewport],[data-display-mode=fullscreen]) .practice-field{aspect-ratio:auto;max-height:none}.builder-practice:is([data-display-mode=viewport],[data-display-mode=fullscreen]) .practice-settings[open]{max-height:40dvh;overflow:auto}
@media(pointer:coarse){.practice-stick{display:block}.builder-practice[data-compact=true][data-display-mode=embedded]>.practice-surface{display:none}.builder-practice[data-compact=true] .section-toolbar>[data-practice-launch]{display:block}.practice-dialog .practice-toolbar button{min-height:36px;padding:.35rem .55rem;font-size:.8rem}}
@media(max-width:600px){.practice-hud{grid-template-columns:repeat(3,minmax(0,1fr));gap:.3rem .7rem}.practice-toolbar{gap:.3rem}.practice-toolbar button{font-size:.8rem;min-width:0;padding:.4rem .5rem}.practice-toolbar [data-practice-expand]{margin-inline-start:0}.practice-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.practice-settings-grid label{font-size:.8rem}.practice-settings-grid>label:first-child{grid-column:1/-1}}
@media(max-height:450px) and (pointer:coarse){.practice-dialog-heading{padding-block:.25rem}.practice-dialog-heading button{min-height:32px}.practice-dialog .practice-toolbar button{min-height:32px}.practice-dialog .practice-hud{grid-template-columns:repeat(6,minmax(0,1fr));font-size:.8rem}.practice-dialog .practice-stick{width:54px;height:54px;flex-basis:54px}.practice-dialog .practice-movement{font-size:.7rem}.practice-dialog .practice-surface{gap:.25rem}.practice-dialog .practice-settings summary{min-height:28px}.practice-dialog .practice-settings[open]{max-height:30dvh}}
@media(prefers-reduced-motion:reduce){.practice-stick span{transition:none}}

.builder-practice[data-movement=false] .practice-stick{display:none}
.practice-dialog-heading{flex-wrap:wrap}.practice-dialog-heading h2{flex:1 1 10ch;min-width:0;overflow-wrap:anywhere}.practice-dialog-heading button{max-width:100%;margin-inline-start:auto}.practice-toolbar button{max-width:100%}
@media(max-width:600px){.builder-toolbar>.builder-actions{display:grid;width:100%;grid-template-columns:repeat(auto-fit,minmax(min(10rem,100%),1fr));align-items:stretch}}
@media(max-width:600px){.practice-settings-grid{grid-template-columns:repeat(auto-fit,minmax(min(9rem,100%),1fr))}.practice-hud{grid-template-columns:repeat(auto-fit,minmax(min(6rem,100%),1fr))}}
