/* Garmin G3000 (TBM 930) · PFD, MFD map, GMC 710 AFCS controller, GTC 580 touchscreen */
.deck[data-suite="g3000"],.g3-gmc{--g3g:#2cff3c;--g3c:#22e8f0;--g3m:#ff45f2;--g3y:#ffe01a;--g3a:#ffdc24;--g3font:"DejaVu Sans",Verdana,"Segoe UI",Tahoma,Arial,sans-serif}
.g3-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- PFD ---------- */
.deck[data-suite="g3000"] #pfd,.deck[data-suite="g3000"] #nd{container-type:inline-size;background:none;padding:0;border:0;outline:0;box-shadow:none;border-radius:12px;overflow:visible}
.g3-gdu{height:100%;display:flex;flex-direction:column;padding:4px 12px 8px;border-radius:12px;border:1px solid #0b0c0d;background:linear-gradient(180deg,#3a3d41,#2a2c30 30%,#232528);box-shadow:inset 0 1px 0 #ffffff1c,inset 0 -2px 3px #0008,0 4px 10px #0009}
.g3-gdu-top{display:flex;justify-content:center;padding:1px 0 4px}
.g3-gdu-top span{font:700 9px/1 var(--g3font);letter-spacing:.34em;color:#c9ccd0;opacity:.85}
.g3-pfd,.g3-mfd{border:2px solid #050607;border-radius:3px;box-shadow:0 0 0 1px #45494e}
.g3-mfd{flex:1;display:flex;min-height:0;background:#000;overflow:hidden}
.g3-gdu-keys{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:6px;padding:7px 4px 0}
.g3-hwsk{height:15px;border-radius:4px;border:1px solid #0d0e10;background:linear-gradient(#4a4e54,#2c2f33);box-shadow:inset 0 1px 0 #ffffff26,0 2px 0 #0b0c0d;cursor:pointer}
.g3-hwsk:disabled{cursor:default}
.g3-hwsk:not(:disabled):active{transform:translateY(1px);box-shadow:inset 0 1px 2px #000c}
@container (max-width:520px){.g3-gdu{padding:3px 5px 5px;border-radius:9px}.g3-gdu-keys{display:none}.g3-gdu-top{padding:0 0 3px}.g3-gdu-top span{font-size:7px}}
.g3-pfd{background:#000;overflow:hidden;font-family:var(--g3font)}
.g3-pfd-svg{display:block;width:100%;height:auto;font-family:var(--g3font);font-weight:700;user-select:none}
@container (max-width:520px){.g3-pfd-svg{width:133.4%;margin-left:-16.7%}}
.g3-pfd text{paint-order:stroke;stroke-linejoin:round}
.g3-horizon{stroke:#fff;stroke-width:2}
.g3-ladder path{stroke:#fff;stroke-width:2.2}
.g3-ladder text{fill:#fff;font-size:17px;stroke:#0008;stroke-width:2}
.g3-roll path{stroke:#fff;stroke-width:2.4;fill:none}
.g3-roll .g3-hollow{fill:none;stroke-width:2}
.g3-roll .g3-index{fill:#fff;stroke:#000;stroke-width:1}
.g3-roll .g3-lowbank{stroke:var(--g3g);stroke-width:5;stroke-linecap:round}
.g3-fdbars path{fill:var(--g3m);stroke:#000;stroke-width:1.4;stroke-linejoin:round}
.g3-acsym-hi{fill:var(--g3y);stroke:#000;stroke-width:1.5;stroke-linejoin:round}
.g3-acsym-lo{fill:#9c8200;stroke:#000;stroke-width:.8}
.g3-acsym rect{fill:var(--g3y);stroke:#000;stroke-width:1.5}
.g3-tapebg,.g3-vsibg{fill:rgba(24,26,30,.6)}
.g3-scale path{stroke:#fff;stroke-width:2;fill:none}
.g3-scale text{fill:#fff;font-size:21px;stroke:#0009;stroke-width:2}
.g3-altscale .g3-big{font-size:21px}
.g3-altscale .g3-sm{font-size:15px}
.g3-ptr{fill:#000;stroke:#fff;stroke-width:1.8;stroke-linejoin:round}
.g3-ptr-txt,.g3-ptr-txt text{fill:#fff;font-size:26px;stroke:none}
.g3-drum2 text{font-size:19px}
.g3-bug{fill:var(--g3c);stroke:#000;stroke-width:.9}
.g3-refbox rect,.g3-subbox rect{fill:rgba(0,0,0,.82);stroke:#565c64;stroke-width:1.2}
.g3-refbox text{fill:var(--g3c);font-size:19px}
.g3-refbox.g3-alert rect{fill:var(--g3c);stroke:var(--g3c)}
.g3-refbox.g3-alert text{fill:#000}
.g3-refbox.g3-alert .g3-bug{fill:#000;stroke:none}
.g3-subbox text{fill:#fff;font-size:16px}
.g3-baro text{fill:var(--g3c)}
.g3-vsiscale path{stroke:#fff;stroke-width:2}
.g3-vsiscale text{fill:#fff;font-size:15px}
.g3-vs-txt{fill:#fff;font-size:16px;stroke:none}
.g3-vdi>rect{fill:rgba(20,22,26,.55)}
.g3-vdi .g3-vdi-dots circle{fill:none;stroke:#fff;stroke-width:1.8}
.g3-vdi>path:not([data-g3]){stroke:#fff;stroke-width:1.5}
.g3-vdi .g3-vdi-flag{fill:#000;stroke:#565c64}
.g3-vdi text{font-size:13px;fill:var(--g3m)}
.g3-vdi [data-g3="vdiMark"]{fill:var(--g3m);stroke:#000;stroke-width:1}
.g3-vdi[data-kind="GS"] text,.g3-vdi[data-kind="GS"] [data-g3="vdiMark"]{fill:var(--g3g)}
.g3-rosebg{fill:rgba(28,26,24,.58)}
.g3-rose path{stroke:#fff;stroke-width:1.7}
.g3-rose text{fill:#fff;font-size:16px;text-anchor:middle;dominant-baseline:central;stroke:none}
.g3-rose .g3-card{font-size:19px}
.g3-pfd [data-g3="spdBug"],.g3-pfd [data-g3="altBug"],.g3-pfd [data-g3="vsBug"],.g3-pfd [data-g3="cdiBar"],.g3-pfd [data-g3="vdiMark"]{transition:transform .22s ease-out}
.g3-pfd [data-g3="hdgBugG"],.g3-pfd [data-g3="crsG"]{transform-box:view-box;transform-origin:400px 378px;transition:transform .22s ease-out}
.g3-trend{stroke:var(--g3m);stroke-width:4;fill:none}
.g3-crs path{stroke:var(--g3m);stroke-width:4.5;fill:none}
.g3-crs .g3-crs-head{fill:var(--g3m);stroke:#000;stroke-width:.8}
.g3-crs .g3-cdibar{stroke:var(--g3m);stroke-width:5}
.g3-cdidots circle{fill:none;stroke:#fff;stroke-width:1.7}
.g3-own{stroke:#fff;stroke-width:4.5;fill:none;stroke-linecap:round}
.g3-navsrc{fill:var(--g3m);font-size:16px;stroke:#000;stroke-width:2}
.g3-phase{fill:var(--g3m);font-size:14px;stroke:#000;stroke-width:2}
.g3-radio .g3-crs path,.g3-radio .g3-crs .g3-cdibar{stroke:var(--g3g)}
.g3-radio .g3-crs .g3-crs-head{fill:var(--g3g)}
.g3-radio .g3-navsrc,.g3-radio [data-g3="crsTxt"]{fill:var(--g3g)}
.g3-lubber{fill:#fff;stroke:#000}
.g3-hdgbox{fill:#000;stroke:#fff;stroke-width:1.8}
.g3-hdgtxt{fill:#fff;font-size:21px;stroke:none}
.g3-sidebox rect{fill:rgba(0,0,0,.74);stroke:#4b5058}
.g3-sidebox text{fill:#fff;font-size:15px;stroke:none}
.g3-sidebox .g3-lbl{font-size:12.5px}
.g3-pfd .g3-c{fill:var(--g3c)}
.g3-pfd .g3-g{fill:var(--g3g)}
.g3-pfd .g3-m,.g3-pfd [data-g3="crsTxt"]{fill:var(--g3m);color:var(--g3m)}
.g3-navstatus path{fill:rgba(10,12,16,.84);stroke:#4b5058}
.g3-navstatus text{fill:var(--g3m);font-size:16px;stroke:none}
.g3-navstatus .g3-small{fill:#fff;font-size:12px}
.g3-dto{overflow:visible}
.g3-dto path{stroke:currentColor;stroke-width:2.6;fill:none}
.g3-dto .g3-dto-head{fill:currentColor;stroke:none}
.g3-ra rect{fill:rgba(0,0,0,.76);stroke:#4b5058}
.g3-ra text{fill:#fff;font-size:15px;stroke:none}
.g3-fma text{font-size:22px;fill:var(--g3g);stroke:none}
.g3-fma .g3-armed{font-size:17px;fill:#fff}
.g3-fma .g3-unit{font-size:15px}
.g3-fma-sep{stroke:#000;stroke-width:1.6}
.g3-fdarrow{stroke:var(--g3g);stroke-width:3;fill:var(--g3g)}
.g3-vsarrow{fill:var(--g3g)}
.g3-slot rect{fill:transparent}
.g3-slot.g3-flash rect{animation:g3-flash-bg 1s step-end 10}
.g3-slot.g3-flash text{animation:g3-flash-fg 1s step-end 10}
@keyframes g3-flash-bg{0%{fill:var(--g3g)}75%{fill:transparent}}
@keyframes g3-flash-fg{0%{fill:#000}75%{fill:var(--g3g)}}
.g3-trendv{stroke:var(--g3m);stroke-width:4;fill:none}
.g3-mslot rect{fill:transparent}
.g3-mslot.g3-disc rect{animation:g3-disc-bg 1s step-end 5}
.g3-mslot.g3-disc text{fill:var(--g3y);animation:g3-disc-fg 1s step-end 5}
@keyframes g3-disc-bg{0%{fill:var(--g3y)}75%{fill:transparent}}
@keyframes g3-disc-fg{0%{fill:#000}75%{fill:var(--g3y)}}
.g3-navstatus.g3-msg [data-g3="nsLeg"]{fill:#fff}
@container (max-width:520px){.g3-com{display:none}}
.g3-com rect{fill:rgba(0,0,0,.76);stroke:#4b5058}
.g3-com text{font-size:15px;fill:#fff;stroke:none}
.g3-small{font-size:12px}
.g3-databar{fill:#07090c}
.g3-databar-txt text{fill:#fff;font-size:13.5px;font-weight:600;stroke:none}
.g3-softkeys{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:2px;padding:2px 2px 3px;background:#000}
.g3-sk{min-width:0;min-height:36px;padding:2px 1px;border:1px solid #3f3f3f;border-bottom:0;border-radius:5px 5px 0 0;background:linear-gradient(to top,#000 40%,#202020);color:#f4f4f4;font:600 9.5px/1.12 var(--g3font);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;cursor:pointer;overflow:hidden}
.g3-sk b{color:var(--g3c);font-size:10px;font-weight:600}
.g3-sk:disabled{cursor:default;color:#d6d6d6}
.g3-sk:disabled b{color:#1fb8bf}
.g3-sk.g3-sk-blank{background:linear-gradient(to top,#000 40%,#141414)}
.g3-sk:not(:disabled):hover{border-color:#6b7580}
.g3-sk:not(:disabled):active{background:linear-gradient(#091429,#36576e)}
.g3-sk.focus-control{box-shadow:inset 0 0 0 2px var(--amber),0 0 14px #f4bd5f88;border-color:var(--amber)}
@container (max-width:520px){
 .g3-softkeys{grid-template-columns:repeat(6,minmax(0,1fr))}
 .g3-sk-0,.g3-sk-1,.g3-sk-8,.g3-sk-9,.g3-sk-10,.g3-sk-11{display:none}
 .g3-sk{min-height:40px;font-size:10px}
}

/* ---------- MFD navigation map (ND slot) ---------- */
.deck[data-suite="g3000"] #nd .g3-nd-svg{display:block;width:100%;height:100%;max-height:none;min-height:260px;flex:1;font-family:var(--g3font);font-weight:700}
.g3-databar-nd text{fill:#fff;font-size:10.5px}
.g3-databar-nd .g3-m{fill:var(--g3m);font-size:12.5px}
.g3-topo path{fill:#2d3a1f;stroke:none;opacity:.8}
.g3-topo .g3-hill{fill:#4a4a2a;opacity:.85}
.g3-topo .g3-peak{fill:#6b5b36;opacity:.9}
.g3-river{fill:none;stroke:#2f6fb8;stroke-width:1.4;vector-effect:non-scaling-stroke}
.g3-topo .g3-ridge{fill:none;stroke:#5b5530;stroke-width:1.2;vector-effect:non-scaling-stroke}
.g3-water{fill:#1c4f8f;stroke:#3e76b8;stroke-width:.8;vector-effect:non-scaling-stroke}
.g3-leg{stroke:#fff;stroke-width:2.4;fill:none;vector-effect:non-scaling-stroke}
.g3-leg-active{stroke:var(--g3m);stroke-width:3.4;fill:none;vector-effect:non-scaling-stroke}
.g3-hdgline{stroke:var(--g3c);stroke-width:1.6;stroke-dasharray:5 4;vector-effect:non-scaling-stroke}
.g3-rwy{stroke:#fff;stroke-width:4;vector-effect:non-scaling-stroke}
.g3-maplabels text{fill:#fff;font-size:10.5px;paint-order:stroke;stroke:#000;stroke-width:2.5}
.g3-apt{fill:none;stroke:#35d7ea;stroke-width:1.6}
.g3-apt-rwy{stroke:#35d7ea;stroke-width:2.4}
.g3-vor{fill:none;stroke:#35d7ea;stroke-width:1.6}
.g3-int{fill:#35d7ea}
.g3-ring{fill:none;stroke:#e8e8e8;stroke-width:1.2;opacity:.85}
.g3-ring2{stroke-dasharray:3 4;opacity:.55}
.g3-maptag rect{fill:#000c;stroke:#6a727c}
.g3-maptag text{fill:#fff;font-size:9.5px}
.g3-ownship{fill:#fff;stroke:#000;stroke-width:1}
.g3-mapcompass{stroke:#fff;stroke-width:2}
.g3-maphdg{fill:#fff;font-size:11px;paint-order:stroke;stroke:#000;stroke-width:3}
.g3-pane-sel{fill:none;stroke:var(--g3c);stroke-width:2}
.g3-panetab{fill:#0e2b45;stroke:var(--g3c);stroke-width:1.2}
.g3-panetab-txt{fill:#fff;font-size:8.5px;letter-spacing:.06em}

/* ---------- GMC 710 AFCS controller ---------- */
.deck[data-panel="gmc710"] .glareshield{background:linear-gradient(#1a1c1f,#121315);border-radius:10px;padding:10px 12px 12px}
.deck[data-panel="gmc710"] #hardwarePanel{padding:0;border:0;background:none;box-shadow:none}
.g3-gmc{display:grid;gap:8px;font-family:var(--g3font);color:#f3f4ef}
.g3-glare{display:flex;align-items:center;gap:14px;padding:0 28px}
.g3-lvl-btn{min-width:56px;min-height:28px;border-radius:4px;border:1px solid #0b1422;background:linear-gradient(#2b5b8e,#1b3f68);color:#e8f2ff;font:700 12px/1 var(--g3font);letter-spacing:.08em;box-shadow:inset 0 1px #ffffff30,0 2px 2px #000a;cursor:pointer}
.g3-lvl-btn.focus-control{box-shadow:0 0 0 2px var(--amber),0 0 16px #f4bd5f99}
.g3-lvl-btn:disabled{cursor:not-allowed;filter:saturate(.6) brightness(.8)}
.g3-placard{padding:3px 12px;background:#0b0c0d;border:1px solid #3d4045;border-radius:2px;color:#d9dadc;font:600 12px/1.2 var(--g3font);letter-spacing:.16em}
.g3-face{position:relative;display:grid;grid-template-columns:29.5fr 7.7fr 15.6fr 33fr 14.2fr;padding:9px 28px 8px;border-radius:14px;border:1px solid #121314;background:linear-gradient(180deg,#474948,#3d3f3e 38%,#363837);box-shadow:inset 0 1px 0 #ffffff22,inset 0 -2px 4px #0007,0 4px 10px #000a}
.g3-screw{position:absolute;width:15px;height:15px;border-radius:50%;background:radial-gradient(circle at 38% 32%,#9a9c9e,#55585a 58%,#2e3032);box-shadow:0 1px 1px #000b,inset 0 0 0 1px #0006}
.g3-screw:after{content:"";position:absolute;left:3px;right:3px;top:6.5px;height:2px;border-radius:1px;background:#1c1d1e;transform:rotate(-28deg)}
.g3-s1{left:7px;top:14px}.g3-s2{left:7px;bottom:14px}.g3-s3{right:7px;top:14px}.g3-s4{right:7px;bottom:14px}
.g3-sec{display:grid;grid-template-rows:36px 22px 58px 16px;align-items:center;justify-items:center;padding:0 5px;border-left:2px solid #ecede7d9;min-width:0}
.g3-sec-lat{border-left:0;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"k1 k2 k3" "hc . cc" "hn k5 cn" "hl . cl"}
.g3-sec-fd{grid-template-areas:"k1" "." "k5" "."}
.g3-sec-ap{grid-template-areas:"xfr" "lens" "apyd" "."}
.g3-sec-vert{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) 34px 30px minmax(0,1fr);grid-template-areas:"k1 k2 wh du k4" "ac . wh du ." "an k5 wh du k6" ". . wh du ."}
.g3-sec-crs2{grid-template-areas:"." "xc" "xn" "xl"}
.g3-a-k1{grid-area:k1}.g3-a-k2{grid-area:k2}.g3-a-k3{grid-area:k3}.g3-a-k4{grid-area:k4}.g3-a-k5{grid-area:k5}.g3-a-k6{grid-area:k6}
.g3-a-hc{grid-area:hc}.g3-a-hn{grid-area:hn}.g3-a-hl{grid-area:hl}.g3-a-cc{grid-area:cc}.g3-a-cn{grid-area:cn}.g3-a-cl{grid-area:cl}
.g3-a-ac{grid-area:ac}.g3-a-an{grid-area:an}.g3-a-xc{grid-area:xc}.g3-a-xn{grid-area:xn}.g3-a-xl{grid-area:xl}
.g3-a-wheel{grid-area:wh}.g3-a-dnup{grid-area:du}
.g3-xfr{grid-area:xfr;display:flex;align-items:center;gap:6px}
.g3-lens{grid-area:lens;width:15px;height:15px;border-radius:50%;background:radial-gradient(circle at 40% 34%,#f5d0a4,#d49c64 55%,#8e6038);box-shadow:inset 0 0 2px #000a,0 0 0 2px #2a2b2a}
.g3-apyd{grid-area:apyd;display:flex;gap:10px}
.g3-kw{display:inline-flex;align-items:center;gap:5px}
.g3-kw-fd,.g3-kw-xfr,.g3-kw-spd{padding-right:10px}
.g3-kw-xfr{padding:0}
.g3-key{min-width:52px;height:30px;padding:0 7px;border-radius:5px;border:1px solid #1a1b19;background:linear-gradient(#5d5e59,#4a4b46 52%,#40413d);box-shadow:inset 0 1px 0 #ffffff2b,inset 0 -1px 0 #0006,0 2px 2px #000b;color:#f6f7f2;font:700 12px/1 var(--g3font);letter-spacing:.04em;cursor:pointer;transition:transform .06s,box-shadow .06s}
.g3-key:hover:not(:disabled){background:linear-gradient(#666762,#50514c 52%,#454641)}
.g3-key:active:not(:disabled){transform:translateY(1px);box-shadow:inset 0 2px 3px #000b}
.g3-key:disabled{cursor:not-allowed;color:#9fa19b;background:linear-gradient(#50514c,#41423e)}
.g3-key-box span{display:inline-block;padding:2px 4px;border:1.5px solid currentColor;border-radius:1px}
.g3-key.active{color:#fff}
.g3-key.focus-control,.g3-push.focus-control{box-shadow:0 0 0 2px var(--amber),0 0 16px #f4bd5f99;color:#ffe3a8}
.g3-led{flex:none;width:5px;height:22px;border-radius:1.5px;background:#6c6f73;box-shadow:inset 0 1px 1px #0009;transition:background .15s,box-shadow .15s}
.g3-led.on,.g3-led.armed{background:#f7f8f3;box-shadow:0 0 5px #fff,0 0 12px #ffffff80,inset 0 0 2px #fff}
.g3-arrow{width:0;height:0;border:7px solid transparent;transition:border-color .15s,filter .15s}
.g3-arrow-l{border-right:10px solid #6c6f73;border-left-width:0}
.g3-arrow-r{border-left:10px solid #6c6f73;border-right-width:0}
.g3-arrow-l.on{border-right-color:#f7f8f3;filter:drop-shadow(0 0 4px #fff)}
.g3-arrow-r.on{border-left-color:#f7f8f3;filter:drop-shadow(0 0 4px #fff)}
.g3-cap{font-size:15px;font-weight:600;letter-spacing:.03em;white-space:nowrap;color:#f3f4ef}
.g3-legend-cell{display:flex;justify-content:center}
.g3-legend,.g3-push{font:600 8.5px/1 var(--g3font);letter-spacing:.07em;color:#e6e7e1;white-space:nowrap}
.g3-push{background:none;border:0;border-radius:3px;padding:3px 5px;cursor:pointer}
.g3-push:disabled{cursor:default;color:#e6e7e1}
.g3-push:not(:disabled):hover{background:#ffffff14}
.g3-kcell{display:flex;align-items:center;justify-content:center}
.g3-gmc .av-knob{padding:0;gap:0;border-radius:50%}
.g3-gmc .av-knob-body{position:relative;display:block;gap:0}
.g3-gmc .av-turn{position:absolute;bottom:-5px;z-index:2;min-width:0;min-height:0;width:22px;height:22px;padding:0;border-radius:50%;border:1px solid #6d7074;background:linear-gradient(#55585c,#2c2e31);font-size:14px;line-height:1;color:#f1f2ee;box-shadow:0 1px 2px #000c}
.g3-gmc .av-turn:first-child{left:-19px}
.g3-gmc .av-turn:last-child{right:-19px}
.g3-gmc .av-turn small{display:none}
.g3-gmc .av-cap{box-shadow:0 4px 6px #000b,inset 0 1px 1px #ffffff2a,0 0 0 2px #1c1d1e}
.g3-knob-static{position:relative;width:46px;height:46px;border-radius:50%;background:repeating-conic-gradient(#17191c 0 5deg,#2a2d31 5deg 10deg);box-shadow:0 4px 6px #000b,0 0 0 2px #1c1d1e}
.g3-knob-static:before{content:"";position:absolute;inset:14%;border-radius:50%;background:radial-gradient(circle at 38% 30%,#50555c,#23272c 62%,#16181b)}
.g3-scallop .av-cap:after,.g3-knob-static.g3-scallop:after{content:"";position:absolute;inset:0;border-radius:50%;transform:rotate(var(--turn,0deg));background:radial-gradient(circle at 50% 13%,#000a 0 12%,transparent 13%),radial-gradient(circle at 87% 50%,#000a 0 12%,transparent 13%),radial-gradient(circle at 50% 87%,#000a 0 12%,transparent 13%),radial-gradient(circle at 13% 50%,#000a 0 12%,transparent 13%)}
.g3-wheel{position:relative;width:26px;height:122px;border-radius:11px;background:#151617;box-shadow:inset 0 2px 6px #000,0 1px 0 #ffffff18;display:grid;grid-template-rows:1fr 1fr;overflow:hidden}
.g3-wheel-half{position:relative;z-index:1;border:0;background:transparent;cursor:pointer;border-radius:0}
.g3-wheel-half:disabled{cursor:not-allowed}
.g3-wheel-half:not(:disabled):hover{background:#ffffff10}
.g3-wheel-half.focus-control{box-shadow:inset 0 0 0 2px var(--amber),inset 0 0 16px #f4bd5f99}
.g3-wheel:has(.focus-control){box-shadow:inset 0 2px 6px #000,0 0 0 2px var(--amber),0 0 16px #f4bd5f88}
.g3-roller{position:absolute;inset:3px 4px;border-radius:8px;background:repeating-linear-gradient(0deg,#26282a 0 2px,#55585b 2px 4px,#1d1e20 4px 6px);background-position:0 var(--roll,0);box-shadow:inset 0 12px 10px #000c,inset 0 -12px 10px #000c;pointer-events:none;transition:background-position .18s ease-out}
.g3-a-dnup{display:flex;flex-direction:column;align-items:center;justify-content:space-between;height:112px}
.g3-a-dnup b{font-size:12px;font-weight:700;letter-spacing:.04em}
.g3-a-dnup i{position:relative;flex:1;width:2px;margin:4px 0;background:#f3f4ef}
.g3-a-dnup i:before,.g3-a-dnup i:after{content:"";position:absolute;left:-4px;border:5px solid transparent}
.g3-a-dnup i:before{top:-6px;border-bottom:7px solid #f3f4ef;border-top-width:0}
.g3-a-dnup i:after{bottom:-6px;border-top:7px solid #f3f4ef;border-bottom-width:0}
.g3-lower{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch}
.g3-lower>.g3-refstrip{flex:1 1 auto}
.g3-lever{display:flex;align-items:center;gap:10px;padding:5px 12px;background:#0b0e12;border:1px solid #2b323b;border-radius:6px}
.g3-lever small{color:#8e9aaa;font:600 10px/1.2 var(--mono);letter-spacing:.08em;max-width:90px}
.g3-lever-handle{position:relative;display:flex;align-items:center;justify-content:flex-end;width:112px;height:44px;padding-right:12px;border-radius:14px 14px 9px 9px;background:linear-gradient(#45484d,#26282c 55%,#1a1c1f);box-shadow:inset 0 1px 0 #ffffff2a,inset 0 -2px 3px #0009,0 3px 6px #000b}
.g3-lever-handle span{color:#c9cdd2;font:700 9px/1 var(--g3font);letter-spacing:.16em}
.g3-ga{position:absolute;left:6px;top:50%;width:36px;height:36px;transform:translateY(-50%);border-radius:50%;border:2px solid #0a0b0c;background:radial-gradient(circle at 40% 32%,#5a5e64,#1f2124 70%);box-shadow:0 2px 3px #000c,inset 0 1px 1px #ffffff30;color:#fff;font:800 11px/1 var(--g3font);cursor:pointer}
.g3-ga:active{transform:translateY(-50%) scale(.94)}
.g3-ga.focus-control{box-shadow:0 0 0 2px var(--amber),0 0 16px #f4bd5f99}
.g3-refstrip{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:6px 10px;background:#0b0e12;border:1px solid #2b323b;border-radius:6px}
.g3-ref-title{color:#8e9aaa;font:600 10px/1 var(--mono);letter-spacing:.14em}
.g3-ref{display:flex;align-items:center;gap:6px;padding:3px 8px;background:#000;border:1px solid #3a424d;border-radius:4px}
.g3-ref label{display:flex;align-items:baseline;gap:4px;color:#e2e8ee;font:700 11px/1 var(--g3font);white-space:nowrap}
.g3-ref label span{color:#8b96a3;font-size:9px}
.g3-ref .g3-ref-input{width:66px;min-height:30px;color:var(--g3c);font:700 16px/1.2 "DejaVu Sans Mono",var(--mono);text-align:right}
.g3-ref-adj{width:30px;height:30px;border-radius:4px;border:1px solid #4a5563;background:linear-gradient(#27303b,#151b22);color:#e8eef5;font:600 16px/1 var(--mono);cursor:pointer}
.g3-ref-adj:active{background:#36576e}
.g3-ref-adj.g3-coarse{width:auto;min-width:38px;padding:0 5px;font-size:11px;color:#b9c6d4}
.g3-ref.focus-control{box-shadow:0 0 0 2px var(--amber),0 0 14px #f4bd5f66;border-color:var(--amber)}
@container (max-width:640px){
 .g3-glare{display:none}
 .g3-face{grid-template-columns:repeat(12,minmax(0,1fr));padding:10px 12px;row-gap:0;border-radius:12px}
 .g3-sec{padding:0 3px;grid-template-rows:42px 20px 56px 14px}
 .g3-sec-lat{grid-column:1/7;grid-row:1}
 .g3-sec-fd{grid-column:7/9;grid-row:1}
 .g3-sec-ap{grid-column:9/13;grid-row:1}
 .g3-sec-vert{grid-column:1/10;grid-row:2;border-left:0;border-top:2px solid #ecede7d9;padding-top:8px;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr) 28px 24px minmax(0,1fr)}
 .g3-sec-crs2{grid-column:10/13;grid-row:2;border-top:2px solid #ecede7d9;padding-top:8px}
 .g3-key{min-width:44px;height:38px;padding:0 4px;font-size:11px}
 .g3-kw{gap:3px}
 .g3-kw-fd,.g3-kw-spd{padding-right:0}
 .g3-led{width:4px;height:20px}
 .g3-apyd{gap:4px}
 .g3-xfr{gap:2px}
 .g3-arrow{border-width:6px}
 .g3-arrow-l{border-right-width:8px;border-left-width:0}
 .g3-arrow-r{border-left-width:8px;border-right-width:0}
 .g3-cap{font-size:12px}
 .g3-screw{width:11px;height:11px;display:none}
 .g3-wheel{width:24px;height:128px}
 .g3-a-dnup{height:120px}
 .g3-a-dnup b{font-size:10px}
 .g3-gmc .av-turn{width:26px;height:26px;bottom:-8px}
 .g3-gmc .av-turn:first-child{left:-15px}
 .g3-gmc .av-turn:last-child{right:-15px}
 .g3-refstrip{gap:6px}
 .g3-ref{flex:1 1 140px;justify-content:space-between}
 .g3-ref-adj{width:36px;height:36px}
}

/* ---------- GTC 580 touchscreen controller ---------- */
.deck[data-suite="g3000"] #computerPanel{background:linear-gradient(135deg,#2c3036,#1a1c20);border-color:#0b0c0e}
.deck[data-suite="g3000"] #computerPanel>header b{font-family:var(--g3font);letter-spacing:.06em}
.deck[data-suite="g3000"] #computerPanel .computer-body{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:0;align-items:stretch;max-width:900px;margin:0 auto;padding:18px 14px 18px 18px;border-radius:18px;border:1px solid #0a0b0c;background:linear-gradient(180deg,#34373c,#23262a 55%,#1c1e22);box-shadow:inset 0 1px 0 #ffffff1a,inset 0 -2px 4px #0008,0 6px 14px #0009}
.deck[data-suite="g3000"] #computerScreen{min-height:0;padding:0;margin:0;background:none;border:0;border-radius:0;box-shadow:none;color:#fff;font:600 13px/1.2 var(--g3font);min-width:0}
.deck[data-suite="g3000"] #computerKeys{display:flex;gap:0;align-items:stretch}
.g3t-glass{position:relative;display:flex;flex-direction:column;height:100%;min-height:380px;border:2px solid #040506;border-right:0;border-radius:6px 0 0 6px;background:radial-gradient(circle,#30343a 0 .9px,transparent 1.2px) 0 0/7px 7px,linear-gradient(#1b1d21,#141619);font-family:var(--g3font);overflow:hidden}
.g3t-title{display:flex;justify-content:center}
.g3t-title span{display:block;min-width:46%;padding:0 1.5px 1.5px;background:#a9bed2;clip-path:polygon(0 0,100% 0,95% 100%,5% 100%)}
.g3t-title b{display:block;padding:5px 30px 7px;background:linear-gradient(#0b2a48,#17507f 55%,#2166a0);clip-path:polygon(0 0,100% 0,95% 100%,5% 100%);color:#fff;text-align:center;font:600 16px/1 var(--g3font)}
.g3t-body{flex:1;display:flex;flex-direction:column;padding:10px 12px 12px;min-height:0}
.g3t-btn{position:relative;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:62px;padding:6px 4px;border-radius:5px;border:1px solid #73808d;background:linear-gradient(#506b85 0,#2a3947 3px,#141b23 7px,#030405 14px,#000 24px);box-shadow:0 1px 0 #000,inset 0 0 0 1px #000;color:#fff;font:600 13px/1.15 var(--g3font);text-align:center;cursor:pointer;transition:filter .1s}
.g3t-btn small{font-size:.72em}
.g3t-btn:not(:disabled):active,.g3t-key:not(:disabled):active,.g3t-barbtn:not(:disabled):active{background:linear-gradient(#73ccf2,#005594);color:#fff}
.g3t-btn.sel{background:linear-gradient(#00dcf5,#007ca7);color:#000;border-color:#9ff3ff}
.g3t-btn.sel .g3t-val{color:#000}
.g3t-special{box-shadow:inset 0 0 0 2px #000,inset 0 0 0 3.5px #7ff7f8,0 0 10px #7ff7f855}
.g3t-btn:disabled{cursor:default;filter:brightness(.4)}
.g3t-btn.g3t-inert{filter:brightness(.7) saturate(.85)}
.g3t-btn.focus-control{box-shadow:0 0 0 2px var(--amber),0 0 16px #f4bd5f88}
.g3t-val{color:var(--g3c);font-size:15px;line-height:1.15}
.g3t-c{color:var(--g3c)}.g3t-g{color:var(--g3g)}.g3t-w{color:#fff}
.g3t-ico{width:46px;height:36px;flex:none}
.g3t-home,.g3t-pfdhome{display:grid;gap:8px;align-content:center;flex:1}
.g3t-row4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.g3t-row3{display:grid;grid-template-columns:repeat(3,calc((100% - 24px) / 4));justify-content:center;gap:8px}
.g3t-home .g3t-btn{min-height:78px}
.g3t-dir .g3t-lbl{font-size:13px}
.g3t-kb{display:grid;gap:7px}
.g3t-kb-top{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.g3t-entry-wrap{display:flex;align-items:center;padding:2px 6px;background:#2d3239;border:1px solid #5b6674;border-radius:2px}
.g3t-entry{width:120px;min-height:34px;border:0;background:transparent;color:var(--g3c);font:700 21px/1 "DejaVu Sans Mono",var(--mono);letter-spacing:.08em;text-transform:uppercase;outline:none}
.g3t-entry:focus{box-shadow:0 0 0 2px var(--g3c)}
.g3t-cursor{width:13px;height:22px;background:var(--g3c);animation:g3-blink 1s steps(1) infinite}
@keyframes g3-blink{50%{opacity:0}}
.g3t-kb-title{font-size:14px;color:#fff}
.g3t-kb-hint{font-size:13px;color:#e5e9ee;min-height:18px}
.g3t-kb-hint b{font-size:15px}
.g3t-kb-fn{display:grid;grid-template-columns:1fr 1fr 2fr;gap:6px}
.g3t-alpha{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:6px}
.g3t-key{min-width:0;min-height:44px;border-radius:4px;border:1px solid #5c6672;background:linear-gradient(#44505d 0,#222a33 4px,#0c0f13 14px,#000 26px);color:#fff;font:600 19px/1 var(--g3font);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px}
.g3t-key:disabled{color:#666;cursor:default}
.g3t-spc,.g3t-abc,.g3t-bksp{font-size:14px}
.g3t-bksp i{width:22px;height:2px;background:#fff;position:relative}
.g3t-bksp i:before{content:"";position:absolute;left:-2px;top:-4px;border:5px solid transparent;border-right:7px solid #fff;border-left-width:0}
.g3t-numpad{display:grid;grid-template-columns:1fr 3fr;gap:14px}
.g3t-nsew{display:grid;gap:6px}
.g3t-digits{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.g3t-zero{grid-column:2}
.g3t-find{width:22px;height:18px}
.g3t-dto-page{display:grid;grid-template-columns:92px minmax(0,1fr);gap:10px;flex:1}
.g3t-tabs{display:grid;gap:6px;align-content:start}
.g3t-tab{min-height:62px;padding:4px;border-radius:7px 0 0 7px;border:1px solid #b7cde0;background:linear-gradient(#8fb4d3,#6a93b9);color:#08121c;font:700 13px/1.15 var(--g3font);cursor:default}
.g3t-tab.sel{background:linear-gradient(#f3f9fd,#dbe9f3);color:#000}
.g3t-dto-main{display:grid;gap:8px;align-content:start;min-width:0}
.g3t-wptbtn{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;justify-items:start;align-items:center;text-align:left;padding:8px 14px;min-height:72px}
.g3t-wptbtn b{font-size:27px;letter-spacing:.03em}
.g3t-wptbtn span{grid-row:2;font-size:14px}
.g3t-aptico{grid-row:1/3;grid-column:2;width:28px;height:24px;color:var(--g3c)}
.g3t-info{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:6px;padding:5px 8px;border:1.5px solid #b8c1ca;border-radius:2px;font-size:12.5px;line-height:1.35}
.g3t-info b{font-size:15px}.g3t-info small{font-size:10px}
.g3t-grid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.g3t-actions{margin-top:4px;padding-top:9px;border-top:2px solid #d5dce3;grid-template-columns:repeat(3,minmax(0,1fr))}
.g3t-actions .g3t-btn{min-height:64px;font-size:12.5px}
.g3t-dto-page .g3-dto,.g3t-actions .g3-dto{width:30px;height:14px;vertical-align:-2px;color:#fff}
.g3t-fpl{display:grid;grid-template-columns:88px minmax(0,1fr);gap:8px;flex:1}
.g3t-fpl-left{display:grid;gap:6px;align-content:start}
.g3t-fpl-left .g3t-btn{min-height:54px;font-size:12.5px}
.g3t-dtobig{width:38px;height:18px;color:#fff}
.g3t-fpl-main{min-width:0}
.g3t-fpl-head{display:grid;grid-template-columns:minmax(0,1fr) 84px 84px;padding:2px 8px 4px;border-bottom:1.5px solid #c9d1d9;font-size:13px}
.g3t-leg{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 84px 84px;align-items:center;min-height:54px;margin-top:6px;padding:4px 8px 4px 18px;border:1px solid #73808d;border-radius:5px;background:linear-gradient(#3a4a5a 0,#1a232c 3px,#06080a 12px,#000 22px)}
.g3t-legid{font-size:21px;color:#fff}
.g3t-legid small{display:block;font-size:11px;color:#d9dde2}
.g3t-leg.active .g3t-legid{color:var(--g3m)}
.g3t-legarrow{position:absolute;left:4px;top:8px;bottom:8px;width:9px;border:3px solid var(--g3m);border-right:0;border-radius:3px 0 0 3px}
.g3t-legarrow:after{content:"";position:absolute;right:-9px;bottom:-7px;border:6px solid transparent;border-left:9px solid var(--g3m)}
.g3t-legalt{font-size:14px;color:#fff}
.g3t-legdtk{font-size:14px;text-align:right;line-height:1.3}
.g3t-empty{grid-template-columns:1fr;gap:8px;text-align:center;color:#c9d1d9;font-size:14px}
.g3t-add{color:var(--g3c)}
.g3t-apphead{margin-top:6px;padding:9px 8px;border:1px solid #73808d;border-radius:5px;background:#000;color:var(--g3c);text-align:center;font-size:15px}
.g3t-apphead small,.g3t-val small{font-size:.66em;vertical-align:.35em}
.g3t-proc{display:grid;gap:8px;align-content:start;flex:1;padding:0 6%}
.g3t-wide{display:grid;grid-template-columns:52px 1fr;grid-template-rows:auto auto;column-gap:6px;min-height:60px;justify-items:center}
.g3t-wide .g3t-ico{grid-row:1/3}
.g3t-wide .g3t-val{font-size:15px}
.g3t-proc .g3t-actions{padding-left:0;padding-right:0}
.g3t-list{display:grid;gap:7px;align-content:start;flex:1;padding:0 10%}
.g3t-listbtn{min-height:50px;font-size:17px}
.g3t-note{margin:4px 0 0;color:#aeb8c3;font-size:11.5px;text-align:center}
.g3t-apsel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-areas:"a b c" "d e s" "o o s";gap:8px;flex:1}
.g3t-apsel>.g3t-btn:nth-child(1){grid-area:a}.g3t-apsel>.g3t-btn:nth-child(2){grid-area:b}.g3t-apsel>.g3t-btn:nth-child(3){grid-area:c}.g3t-apsel>.g3t-btn:nth-child(4){grid-area:d}.g3t-apsel>.g3t-btn:nth-child(5){grid-area:e}
.g3t-apsel .g3t-val .g3t-name{display:block;font-size:11px;color:#fff;vertical-align:0}
.g3t-seq{grid-area:s;display:flex;flex-direction:column;gap:3px;padding:6px 10px;border:1px solid #73808d;border-radius:5px;background:#000;font-size:14px}
.g3t-seq small{font-size:11px}
.g3t-seqt{display:block;text-align:center;font-size:13px;margin-bottom:3px}
.g3t-opts{grid-area:o;display:grid;gap:6px;padding:6px;border:1px solid #73808d;border-radius:5px;background:#0006}
.g3t-opts .g3t-row3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g3t-navcom{display:grid;grid-template-columns:1fr 1.4fr;gap:10px;flex:1}
.g3t-nc-col{display:grid;gap:8px;align-content:start}
.g3t-radio{display:grid;grid-template-columns:52px 1fr;grid-template-rows:auto auto;padding:6px 10px;border:1px solid #73808d;border-radius:5px;background:#000}
.g3t-radio small{grid-row:1/3;align-self:center;font-size:12px}
.g3t-radio b{font-size:20px}
.g3t-radio span{font-size:13px}
.g3t-navcom .g3t-note{grid-column:1/-1}
.g3t-bar{width:80px;display:flex;flex-direction:column;gap:6px;padding:8px 6px;background:linear-gradient(90deg,#4f88a2,#3f7590);border:2px solid #040506;border-left:1px solid #22333f;border-right:0}
.g3t-barbtn{min-height:62px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:4px 2px;border-radius:5px;border:2px solid #8495a6;background:linear-gradient(#3b4754 0,#141a20 10px,#000 28px);color:#fff;font:600 12px/1 var(--g3font);cursor:pointer}
.g3t-barbtn .g3t-ico{width:30px;height:26px}
.g3t-barbtn:disabled{cursor:default;filter:brightness(.45)}
.g3t-msg b{display:inline-grid;place-items:center;width:26px;height:24px;border:2px solid #fff;border-radius:2px;background:#1b62a5;font:800 17px/1 var(--g3font)}
.g3t-enter{margin-top:auto;min-height:92px}
.g3t-enter.focus-control,.g3t-special.focus-control{box-shadow:0 0 0 2px var(--amber),0 0 16px #f4bd5f88}
.g3t-labels{width:86px;display:flex;flex-direction:column;background:#b2c0c9;border:2px solid #040506;border-left:1px solid #6d7b86;border-radius:0 6px 6px 0;overflow:hidden}
.g3t-knoblbl{flex:1.25;display:flex;align-items:center;justify-content:center;padding:4px;border-bottom:1px solid #7d8b96;color:#000;font:600 10px/1.25 var(--g3font);text-align:center}
.g3t-knoblbl:last-child{border-bottom:0}
.g3t-mode{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;border:0;border-bottom:1px solid #7d8b96;background:transparent;color:#000;font:700 12px/1.1 var(--g3font);cursor:pointer;text-align:left}
.g3t-mode i{width:0;height:0;border:5px solid transparent;border-left:8px solid #000;border-right-width:0}
.g3t-mode.sel{margin:3px;border:0;border-radius:2px;background:#000;color:#fff}
.g3t-mode.sel i{border-left-color:#35e03a}
.g3t-mode:not(.sel):hover{background:#c9d4db}
.g3t-hw{width:66px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:2px 0 2px 12px}
.g3t-hwknob{width:44px;height:44px;border-radius:50%;background:repeating-conic-gradient(#16181b 0 6deg,#2b2e33 6deg 12deg);box-shadow:0 3px 5px #000b,0 0 0 2px #0d0e10}
.g3t-dual{width:54px;height:54px;background:radial-gradient(circle,#2f3338 0 36%,#0d0e10 37% 40%,transparent 41%),repeating-conic-gradient(#16181b 0 6deg,#2b2e33 6deg 12deg)}
.g3t-hwkey{width:42px;height:32px;border-radius:5px;border:1px solid #0b0c0e;background:linear-gradient(#41464c,#26292d);box-shadow:inset 0 1px #ffffff1c,0 2px 3px #000b}
@media(max-width:800px){
 .deck[data-suite="g3000"] #computerPanel .computer-body{padding:10px 8px 10px 10px;border-radius:12px}
 .g3t-hw,.g3t-labels{display:none}
 .g3t-bar{width:58px;border-right:2px solid #040506;border-radius:0 6px 6px 0;padding:6px 4px}
 .g3t-barbtn{min-height:52px;font-size:10.5px}
 .g3t-barbtn .g3t-ico{width:24px;height:22px}
 .g3t-enter{min-height:76px}
 .g3t-glass{min-height:340px}
 .g3t-title b{font-size:14px;padding:4px 18px 6px}
 .g3t-body{padding:8px 7px 9px}
 .g3t-btn{font-size:11px;min-height:58px;padding:5px 2px}
 .g3t-home .g3t-btn{min-height:66px}
 .g3t-dir .g3t-lbl{font-size:10.5px}
 .g3t-ico{width:34px;height:28px}
 .g3t-row4,.g3t-home,.g3t-pfdhome{gap:5px}
 .g3t-row3{grid-template-columns:repeat(3,calc((100% - 15px) / 4));gap:5px}
 .g3t-val{font-size:13px}
 .g3t-alpha{gap:4px}
 .g3t-key{font-size:16px;min-height:42px}
 .g3t-entry{width:100px;font-size:18px}
 .g3t-kb-title{font-size:12px}
 .g3t-dto-page{grid-template-columns:minmax(0,1fr)}
 .g3t-tabs{grid-template-columns:repeat(4,1fr)}
 .g3t-tab{min-height:40px;border-radius:7px 7px 0 0;font-size:10.5px}
 .g3t-wptbtn b{font-size:22px}
 .g3t-info{font-size:11px}
 .g3t-actions .g3t-btn{font-size:10.5px}
 .g3t-fpl{grid-template-columns:minmax(0,1fr)}
 .g3t-fpl-left{grid-template-columns:repeat(5,minmax(0,1fr))}
 .g3t-fpl-left .g3t-btn{min-height:46px;font-size:9.5px}
 .g3t-fpl-head,.g3t-leg{grid-template-columns:minmax(0,1fr) 62px 70px}
 .g3t-legid{font-size:17px}
 .g3t-legalt,.g3t-legdtk{font-size:12px}
 .g3t-proc,.g3t-list{padding:0}
 .g3t-apsel{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-areas:"a b" "c d" "e s" "o o"}
 .g3t-navcom{grid-template-columns:minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){
 .g3-slot.g3-flash rect,.g3-slot.g3-flash text,.g3-mslot.g3-disc rect,.g3-mslot.g3-disc text,.g3t-cursor{animation:none}
 .g3-slot.g3-flash rect{fill:var(--g3g)}.g3-slot.g3-flash text{fill:#000}.g3-mslot.g3-disc rect{fill:var(--g3y)}.g3-mslot.g3-disc text{fill:#000}
 .g3-pfd [data-g3],.g3-roller,.g3-led,.g3-arrow{transition:none!important}
}
