/* ICON A5 V3: permanent central AP command module + compact retractable editor.
   The validated V6.4 dials, needles and engine arcs remain untouched. */
@import url('https://fonts.cdnfonts.com/css/neuropol');
/* Single 2732 × 2048 artboard, fitted with the same xMidYMid meet rule as the SVG.
   Position ALL tactile controls relative to the artwork, never browser width. */
#a5-ui-plane{position:absolute;z-index:16;width:2732px;height:2048px;left:0;top:0;transform-origin:0 0;pointer-events:none;overflow:visible}
#a5-ui-plane #ap-console,#a5-ui-plane #ap-panel{pointer-events:auto}
#ap-console,#ap-panel,#a5-agl,#ap-toast{position:absolute;box-sizing:border-box;font-family:'Neuropol','Trebuchet MS',Arial,sans-serif}
#ap-console{z-index:18;left:31.3%;top:51.3%;width:37.4%;height:10.2%;padding:.45% .60% .38%;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.8%;align-items:center}
.ap-tile{display:flex;flex-direction:column;gap:5px;align-items:stretch;justify-content:center;min-width:0;height:100%}
.ap-tile button{touch-action:manipulation;-webkit-tap-highlight-color:transparent;min-width:0;font-family:inherit;cursor:pointer}
.ap-tile-mode{height:52%;min-height:0;background:linear-gradient(160deg,#30393f 0%,#161c20 55%,#101619 100%);border:1px solid #65737b;border-top-color:#86969e;border-radius:9px;color:#d7e2e6;box-shadow:inset 0 1px rgba(255,255,255,.11),0 3px 7px #000b;font-weight:400;font-size:42px;letter-spacing:.035em;transition:background .16s,border-color .16s,box-shadow .16s}
.ap-tile-mode.is-active{background:linear-gradient(165deg,#31583f,#193a2a 66%,#0b241a);border-color:#79ce98;color:#dff9e8;box-shadow:inset 0 1px #c4f4d049,0 0 11px #38b46d55}
.ap-tile-mode.is-armed{background:linear-gradient(#64502b,#2e2718);border-color:#c7a25d;color:#f2dfb5}
.ap-tile-mode:active{filter:brightness(1.28)}
.ap-tile-value{height:42%;min-height:30px;border:1px solid #38474d;border-radius:5px;background:linear-gradient(#06090c,#172126);box-shadow:inset 0 2px 6px #000b;color:#c5d0d4;font-size:32px;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;letter-spacing:0}
/* The longer VS unit is kept legible without cropping. */
#ap-value-vs{font-size:27px}
.ap-tile-value:not(.no-edit):active{border-color:#9cabaf}
.ap-tile-value.no-edit{cursor:default}
.ap-tile-mode:focus-visible,.ap-tile-value:focus-visible,.ap-close:focus-visible,.ap-editor button:focus-visible{outline:2px solid #c9dae0;outline-offset:1px}
#a5-agl{left:75.6%;top:32.3%;width:9.25%;height:5.1%;z-index:16;pointer-events:none;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:2px;background:linear-gradient(#030506,#11191c);border:2px solid #576168;border-radius:7px;box-shadow:inset 0 3px 9px #000,0 1px 2px #82919840;color:#c2cbd0;font-variant-numeric:tabular-nums}
#a5-agl .agl-label{font-size:19px;color:#aeb8be;letter-spacing:.12em;line-height:1}
#a5-agl .agl-reading{font-size:30px;line-height:1.05;white-space:nowrap}
#a5-agl .agl-reading small{font-size:.51em;color:#aeb8be;letter-spacing:.02em}
.ap-panel{z-index:17;left:30%;top:61.4%;width:40%;height:33.7%;min-width:0;overflow:hidden;display:flex;flex-direction:column;color:#d9e4e8;background:linear-gradient(165deg,#1b2529,#0a1114 60%,#131c20);border:2px solid #46535b;border-top:5px solid #69767d;border-radius:10px 10px 8px 8px;box-shadow:0 15px 28px #000c,inset 0 1px #ffffff15;transform:translate3d(0,-43px,0);clip-path:inset(0 0 100% 0 round 8px);visibility:hidden;pointer-events:none;transition:transform 300ms cubic-bezier(.22,.7,.16,1),clip-path 300ms cubic-bezier(.22,.7,.16,1),visibility 0s 300ms}
.ap-panel.is-open{transform:translate3d(0,0,0);clip-path:inset(0 0 0 0 round 8px);visibility:visible;pointer-events:auto;transition:transform 300ms cubic-bezier(.22,.7,.16,1),clip-path 300ms cubic-bezier(.22,.7,.16,1),visibility 0s}
.ap-header{height:14%;min-height:38px;display:flex;align-items:center;justify-content:space-between;padding:6px 3.2%;border-bottom:1px solid #3d4d54;gap:8px}
.ap-header h2{font-weight:400;font-size:33px;letter-spacing:.08em;margin:0}
.ap-subtitle{font:500 22px/1.2 system-ui,sans-serif;color:#a6b4b9;margin-left:auto;margin-right:6px}
.ap-close{width:78px;height:65px;flex:none;background:linear-gradient(#29353b,#11181b);color:#e3ecef;border:1px solid #65757d;border-radius:7px;font:28px/1 Arial,sans-serif;touch-action:manipulation;cursor:pointer}
.ap-editor{flex:1;min-height:0;display:grid;grid-template-columns:43% minmax(0,1fr);gap:2.1%;padding:1.25% 2.8% 1%}
.ap-editor-left{min-width:0;min-height:0;display:flex;flex-direction:column;gap:5px}
.ap-editor-title{font-size:23px;text-align:center;color:#aebec5}
.ap-editor-display{min-height:44px;border:1px solid #394951;background:#05090b;border-radius:7px;box-shadow:inset 0 3px 9px #000b;display:flex;align-items:center;justify-content:center;font-size:51px;color:#d8e3e7;font-variant-numeric:tabular-nums;white-space:nowrap}
.ap-step-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(34px,1fr));gap:5px;flex:1;min-height:0}
.ap-step-grid button,.ap-keypad button,.ap-editor-actions button{min-width:0;touch-action:manipulation;font-family:inherit;font-size:27px;border:1px solid #55656e;border-radius:7px;color:#dce7eb;background:linear-gradient(#303d44,#131d22)}
.ap-step-grid button:active,.ap-keypad button:active,.ap-editor-actions button:active{background:#45575f}
.ap-keypad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));gap:5px;min-height:0}
.ap-editor-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:3px 2.8% 1%;min-height:42px}
.ap-editor-message{font:500 19px/1.2 system-ui,sans-serif;color:#9fadba;max-width:53%}
.ap-editor-actions{display:flex;gap:6px}
.ap-editor-actions button{padding:9px 12px;min-height:37px;font-size:25px}
.ap-editor-actions .ap-confirm:not(:disabled){border-color:#6fa984;background:linear-gradient(#325e42,#1a3625)}
.ap-editor-actions button:disabled{opacity:.43;cursor:not-allowed}
#ap-toast{z-index:44;left:35%;top:62.1%;width:30%;padding:8px;text-align:center;line-height:1.3;color:#f3d9a2;background:#201c13;border:1px solid #8b7242;border-radius:6px;font-size:21px;pointer-events:none}
#ap-toast[hidden]{display:none!important}
/* Responsive behavior is now governed by artboard scale, not viewport breakpoints. */
@media(prefers-reduced-motion:reduce){.ap-panel,.ap-panel.is-open{transition:none}}
