/* A stable aircraft roster. Manufacturer, family and exact model remain visible
   together; selection changes content, never the position of the controls. */
html[data-theme][data-layout] .workspace .guess-panel{--picker-wash:var(--panel-2);--picker-selected:var(--lime-dark);--picker-accent:var(--lime);--picker-divider:var(--line);--picker-height:224px}
html[data-theme=minimal][data-layout] .workspace .guess-panel{--picker-wash:#f4f6f7;--picker-selected:#e8eff4;--picker-accent:#244c66;--picker-divider:#dce5eb}

html[data-theme][data-layout] .workspace :is(.search-wrap,#hints){display:none}
html[data-theme][data-layout] .workspace .picker-navigation{display:flex;align-items:center;gap:12px;height:48px;margin:0 0 16px;border-bottom:1px solid var(--picker-divider)}
html[data-theme][data-layout] .workspace .mobile-makers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));flex:1;gap:4px;margin:0;height:100%;min-width:0;background:none}
html[data-theme][data-layout] .workspace .maker-tab{position:relative;min-height:44px;padding:0 4px;border:0;border-radius:0;background:transparent;color:var(--muted);font:500 14px var(--sans);cursor:pointer}
html[data-theme][data-layout] .workspace .maker-tab[aria-pressed=true]{color:var(--picker-accent);font-weight:650;box-shadow:inset 0 -3px var(--picker-accent)}
html[data-theme][data-layout] .workspace .picker-search{display:grid;place-items:center;flex:none;width:44px;height:44px;border:0;border-radius:6px;background:none;color:var(--muted)}
html[data-theme][data-layout] .workspace .picker-search:hover{color:var(--text);background:var(--picker-wash)}
html[data-theme][data-layout] .workspace .picker-space{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:16px;height:var(--picker-height)}
html[data-theme][data-layout] .workspace :is(.aircraft-choice-stage,.variant-tray){height:100%;min-height:0;margin:0;padding:0;border:0;min-width:0}
html[data-theme][data-layout] .workspace .aircraft-board,html[data-theme][data-layout] .workspace .family-group{display:block;height:100%;min-width:0}
html[data-theme][data-layout] .workspace .family-group h3{display:none}
html[data-theme][data-layout] .workspace :is(.family-grid,.variant-options){display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(3,minmax(44px,1fr));align-content:start;align-items:stretch;gap:8px;height:100%;width:100%;min-height:0;min-width:0;margin:0;padding:0;background:none}
html[data-theme][data-layout] .workspace .variant-tray{position:relative;padding-left:16px;border-left:1px solid var(--picker-divider)}
html[data-theme][data-layout] .workspace .variant-options[data-count="1"]{grid-template-columns:1fr;grid-template-rows:1fr}
html[data-theme][data-layout] .workspace .variant-options[data-count="2"]{grid-template-columns:1fr;grid-template-rows:repeat(2,minmax(44px,1fr))}
html[data-theme][data-layout] .workspace .variant-options[data-count="3"]{grid-template-columns:1fr;grid-template-rows:repeat(3,minmax(44px,1fr))}
html[data-theme][data-layout] .workspace .variant-options[data-count="4"]{grid-template-rows:repeat(2,minmax(44px,1fr))}
html[data-theme][data-layout] .workspace .roster-choice{position:relative;display:flex;align-items:center;justify-content:center;min-width:0;min-height:44px;height:auto;width:100%;padding:8px 4px;border:1px solid transparent;border-radius:7px;background:var(--picker-wash);box-shadow:none;color:var(--text);font-family:var(--sans);text-align:center;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}
html[data-theme][data-layout] .workspace .roster-choice{transition:none}
html[data-theme][data-layout] .workspace .variant-choice{background:var(--panel);border-color:var(--picker-divider)}
html[data-theme][data-layout] .workspace .choice-copy{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:0;max-width:100%;pointer-events:none}
html[data-theme][data-layout] .workspace .choice-copy strong{font-size:20px;line-height:1.15;font-weight:600;letter-spacing:-.5px;white-space:normal;overflow-wrap:normal}
html[data-theme][data-layout] .workspace .variant-choice strong{font-size:17px;letter-spacing:-.35px}
html[data-theme][data-layout] .workspace .choice-copy small{font:10px var(--mono);line-height:1.2;letter-spacing:.1px;color:var(--muted);white-space:nowrap}
html[data-theme][data-layout] .workspace .family-choice small{font-family:var(--sans);letter-spacing:0}
html[data-theme][data-layout] .workspace .family-choice[aria-pressed=true]{background:var(--picker-selected);border-color:var(--picker-accent);color:var(--picker-accent);box-shadow:inset 0 -2px var(--picker-accent)}
html[data-theme][data-layout] .workspace .variant-choice[aria-pressed=true]{background:var(--picker-selected);border-color:var(--picker-accent);color:var(--picker-accent);box-shadow:inset 0 0 0 1px var(--picker-accent)}
.choice-check{position:absolute;right:3px;bottom:3px;display:grid;place-items:center;width:14px;height:14px;color:var(--picker-accent);visibility:hidden;pointer-events:none}
.choice-check .icon{width:12px;height:12px}
.variant-choice[aria-pressed=true] .choice-check{visibility:visible}
.picker-empty{position:absolute;inset:0 0 0 16px;display:grid;place-items:center;margin:0;color:var(--muted);font-size:13px;text-align:center}
html[data-theme][data-layout] .workspace :is(.maker-tab,.roster-choice):disabled{opacity:.65;cursor:wait}
html[data-theme][data-layout] .workspace :is(.maker-tab,.roster-choice):focus-visible{outline:2px solid var(--picker-accent);outline-offset:2px;z-index:1}
@media(hover:hover){html[data-theme][data-layout] .workspace .roster-choice:hover:not(:disabled){border-color:var(--picker-accent)}}
html[data-theme][data-layout] .workspace .roster-choice:active:not(:disabled){background:var(--picker-selected)}
html[data-theme][data-layout] .workspace .answer-action{display:flex;gap:12px;align-items:center;padding:0;margin-top:20px;border:0}
html[data-theme][data-layout] .workspace .answer-action #submit-guess{flex:1;width:auto;min-width:0;min-height:48px;margin:0;padding:12px 16px;font-size:14px;border-radius:7px;gap:6px;justify-content:space-between}
html[data-theme][data-layout] .workspace .answer-action #submit-guess:disabled{opacity:1;background:var(--picker-wash);border-color:transparent;color:var(--muted)}
html[data-theme][data-layout] .workspace .guess-bottom{display:flex;gap:4px;margin:0;min-height:44px;flex:none}
html[data-theme][data-layout] .workspace .guess-bottom button{display:flex;align-items:center;justify-content:center;gap:3px;padding:0;min-width:44px;width:44px;min-height:44px;height:44px;color:var(--muted);border:0;border-radius:6px;background:transparent}
html[data-theme][data-layout] .workspace .guess-bottom button:hover{background:var(--picker-wash);color:var(--text)}
html[data-theme][data-layout] .workspace .hint-button>span:not(.hint-cost){display:none}
html[data-theme][data-layout] .workspace .hint-button>.icon{width:17px;height:17px}
html[data-theme][data-layout] .workspace .picker-skip .icon{width:19px;height:19px}
html[data-theme][data-layout] .workspace .hint-cost{font:11px var(--sans)}
html[data-theme][data-layout=desktop] .workspace #guess-content{height:100%;display:flex;flex-direction:column;justify-content:center}
html[data-theme][data-layout=desktop] .workspace .guess-top{margin:0 0 16px}
html[data-theme][data-layout=desktop] .workspace .guess-top h2{font-size:24px}
html[data-theme][data-layout=desktop] .workspace .available-points{font-size:12px}
/* A fixed, readable thumb zone leaves the remaining phone height to the map. */
html[data-theme][data-layout=mobile] .workspace .guess-panel{--picker-height:156px;padding:8px 12px}
html[data-theme][data-layout=mobile] .workspace .picker-navigation{height:44px;margin-bottom:8px;gap:6px}
html[data-theme][data-layout=mobile] .workspace .maker-tab{font-size:13px}
html[data-theme][data-layout=mobile] .workspace .picker-space{gap:8px;grid-template-columns:minmax(0,2fr) minmax(0,3fr)}
html[data-theme][data-layout=mobile] .workspace .variant-tray{padding-left:8px}
html[data-theme][data-layout=mobile] .workspace :is(.family-grid,.variant-options){gap:6px}
html[data-theme][data-layout=mobile] .workspace .roster-choice{padding:3px;border-radius:5px}
html[data-theme][data-layout=mobile] .workspace .choice-copy{gap:3px}
html[data-theme][data-layout=mobile] .workspace .choice-copy strong{font-size:15px;letter-spacing:-.35px}
html[data-theme][data-layout=mobile] .workspace .variant-choice strong{font-size:14px;letter-spacing:-.3px}
html[data-theme][data-layout=mobile] .workspace .variant-options:is([data-count="1"],[data-count="2"],[data-count="3"]) strong{font-size:18px;letter-spacing:-.45px}
html[data-theme][data-layout=mobile] .workspace .choice-copy small{font-size:10px}
html[data-theme][data-layout=mobile] .workspace .family-choice small{font-size:9px}
html[data-theme][data-layout=mobile] .workspace .picker-empty{left:8px;font-size:12px}
html[data-theme][data-layout=mobile] .workspace .answer-action{margin-top:8px;gap:8px}
html[data-theme][data-layout=mobile] .workspace .answer-action #submit-guess{min-height:44px;padding:8px 10px;font-size:12px;border-radius:5px}
@media(max-height:550px){
 html[data-theme][data-layout=mobile] .workspace .guess-panel{--picker-height:132px;padding:4px 10px}
 html[data-theme][data-layout=mobile] .workspace .picker-navigation{margin-bottom:4px}
 html[data-theme][data-layout=mobile] .workspace :is(.family-grid,.variant-options){gap:0 4px}
 html[data-theme][data-layout=mobile] .workspace .roster-choice{border-radius:4px;padding:2px}
 html[data-theme][data-layout=mobile] .workspace .choice-copy{gap:1px}
 html[data-theme][data-layout=mobile] .workspace .variant-choice small{display:none}
 html[data-theme][data-layout=mobile] .workspace .answer-action{margin-top:4px}
}
@media(prefers-reduced-motion:no-preference){
 .maker-tab{transition:background-color .1s,border-color .1s,box-shadow .1s}
 html[data-theme][data-layout] .workspace .roster-choice:active:not(:disabled){transform:scale(.97)}
}

/* Family buttons are true squares: as large as two columns and three rows of the family panel allow. */
html[data-theme][data-layout=mobile] .workspace .family-group:not([hidden]){container-type:size}
html[data-theme][data-layout=mobile] .workspace .family-grid{--tile:min(calc((100cqw - 6px) / 2),calc((100cqh - 12px) / 3));gap:6px;grid-template-columns:repeat(2,var(--tile));grid-template-rows:none;grid-auto-rows:var(--tile);justify-content:start;align-content:start}
html[data-theme][data-layout=mobile] .workspace .family-choice{aspect-ratio:1/1;height:auto;min-height:0}
