:root{font-family:Orbitron,monospace;line-height:1.5;font-weight:400;color-scheme:dark;color:#0f0;background-color:#0a0a0a;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;padding:0;min-width:320px;min-height:100vh;background-color:#0a0a0a}#root{min-height:100vh;margin:0;padding:0}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}*{box-sizing:border-box}body{margin:0;padding:0;background:#0a0a0a;font-family:Consolas,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace;overflow-x:hidden}.dsky-container{min-height:100vh;background:#0a0a0a;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:clamp(20px,4vmin,40px);font-family:Consolas,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace}.dsky-main{width:clamp(400px,90vw,1200px);min-height:fit-content;height:auto;max-width:1200px;background:#2a2a2a;border:clamp(4px,1vmin,8px) solid #1a1a1a;border-radius:clamp(6px,1.5vmin,12px);padding:clamp(15px,3vmin,25px);box-shadow:0 0 30px #00ff4133,inset 0 0 30px #000000b3;display:flex;flex-direction:column;gap:clamp(12px,2.5vmin,20px);position:relative;margin:clamp(20px,4vmin,40px) auto}.dsky-body{display:flex;flex-direction:column;gap:clamp(12px,2.5vmin,20px);width:100%}.dsky-controls{display:flex;flex-direction:column;gap:clamp(8px,2vmin,15px);width:100%}.dsky-top-row{display:flex;gap:clamp(12px,2.5vmin,20px);align-items:stretch;min-height:clamp(280px,45vmin,400px);height:auto;width:100%}.dsky-header{min-height:clamp(50px,8vmin,70px);height:auto;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#1a1a1a;border:clamp(2px,.5vmin,3px) solid #333;border-radius:clamp(3px,.75vmin,6px);padding:clamp(4px,1vmin,8px);gap:clamp(2px,.5vmin,4px)}.dsky-header-title{color:#00ff41;font-size:clamp(12px,2.2vmin,18px);font-weight:900;text-shadow:0 0 12px #00ff41,0 0 24px #00ff41,0 1px 0 rgba(0,0,0,.8);letter-spacing:clamp(1px,.4vmin,2px);line-height:1;font-family:Consolas,Monaco,Lucida Console,monospace}.dsky-header-subtitle{color:#00ff41;font-size:clamp(8px,1.4vmin,12px);font-weight:700;text-shadow:0 0 8px #00ff41,0 0 16px #00ff41,0 1px 0 rgba(0,0,0,.8);letter-spacing:clamp(.5px,.3vmin,1.5px);opacity:.9;line-height:1;font-family:Consolas,Monaco,Lucida Console,monospace}.dsky-status-indicators{flex:0 0 clamp(180px,30vmin,250px);background:#0a0a0a;border:clamp(2px,.4vmin,3px) solid #333;border-radius:clamp(3px,.6vmin,5px);padding:clamp(8px,1.5vmin,15px);display:flex;flex-direction:column;justify-content:space-between;align-items:stretch;height:100%;overflow:visible}.dsky-status-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:repeat(7,1fr);gap:clamp(4px,.8vmin,8px);height:100%;align-content:stretch}.dsky-status-light{background:#0a0a0a;border:1px solid #333;border-radius:clamp(2px,.4vmin,3px);display:flex;align-items:center;justify-content:center;font-size:clamp(9px,1.4vmin,14px);color:#666;text-align:center;padding:clamp(4px,.8vmin,8px);height:100%;transition:all .3s ease;font-weight:800;letter-spacing:.2px;line-height:1.1;font-family:Consolas,Monaco,Lucida Console,monospace;text-shadow:0 1px 0 rgba(0,0,0,.5);overflow:visible;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.dsky-status-light.active{background:#f44;color:#fff;box-shadow:0 0 10px #f44,inset 0 0 5px #ffffff4d;border-color:#f66;font-weight:900;text-shadow:0 0 4px #ffffff,0 1px 0 rgba(0,0,0,.8)}.dsky-status-light.status-comp-acty.active{background:#00ff41;color:#000;box-shadow:0 0 10px #00ff41,inset 0 0 5px #ffffff4d;font-weight:900;text-shadow:0 0 2px #000000,0 1px 0 rgba(255,255,255,.3)}.dsky-status-light.status-uplink-acty.active{background:#fa0;color:#000;box-shadow:0 0 10px #fa0,inset 0 0 5px #ffffff4d;font-weight:900;text-shadow:0 0 2px #000000,0 1px 0 rgba(255,255,255,.3)}.dsky-display-area{flex:1;background:#000;border:clamp(2px,.5vmin,3px) solid #333;border-radius:clamp(2px,.5vmin,4px);padding:clamp(12px,2.2vmin,18px);display:grid;grid-template-areas:"prog-label prog-value verb-label verb-value noun-label noun-value" "r1-label r1-value r1-value r1-value r1-value r1-value" "r2-label r2-value r2-value r2-value r2-value r2-value" "r3-label r3-value r3-value r3-value r3-value r3-value";grid-template-columns:minmax(40px,1fr) minmax(60px,1.5fr) minmax(40px,1fr) minmax(60px,1.5fr) minmax(40px,1fr) minmax(60px,1.5fr);grid-template-rows:1fr repeat(3,1.2fr);gap:clamp(6px,1.4vmin,12px);align-items:center;align-content:stretch;height:100%}.dsky-display-label{color:#00ff41;font-size:clamp(12px,2vmin,18px);font-weight:900;text-align:center;text-shadow:0 0 4px #00ff41,0 0 8px #00ff41,0 1px 0 rgba(0,0,0,.8);font-family:Consolas,Monaco,Lucida Console,monospace;letter-spacing:.5px}.dsky-display-value{background:#000;color:#00ff41;font-family:Consolas,Monaco,Lucida Console,Liberation Mono,DejaVu Sans Mono,Bitstream Vera Sans Mono,Courier New,monospace;font-size:clamp(18px,3.2vmin,26px);font-weight:800;text-align:center;padding:clamp(6px,1.4vmin,12px) clamp(8px,1.6vmin,14px);border:clamp(2px,.4vmin,3px) solid #333;border-radius:clamp(2px,.4vmin,3px);text-shadow:0 0 8px #00ff41,0 0 16px #00ff41,0 1px 0 rgba(0,0,0,.8);min-height:clamp(36px,6vmin,50px);display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 12px #000c,0 0 6px #00ff4166;letter-spacing:clamp(1px,.3vmin,3px);position:relative}.dsky-display-value:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 0%,rgba(0,255,65,.05) 50%,transparent 100%);pointer-events:none;border-radius:2px}.dsky-display-value.input-mode{background:#010;border-color:#00ff41;animation:input-pulse 2s infinite;color:#6f8}@keyframes input-pulse{0%,to{box-shadow:inset 0 0 8px #000c,0 0 6px #00ff4166}50%{box-shadow:inset 0 0 8px #000c,0 0 12px #00ff41b3}}.dsky-prog-label{grid-area:prog-label}.dsky-prog-value{grid-area:prog-value}.dsky-verb-label{grid-area:verb-label}.dsky-verb-value{grid-area:verb-value}.dsky-noun-label{grid-area:noun-label}.dsky-noun-value{grid-area:noun-value}.dsky-r1-label{grid-area:r1-label}.dsky-r1-value{grid-area:r1-value}.dsky-r2-label{grid-area:r2-label}.dsky-r2-value{grid-area:r2-value}.dsky-r3-label{grid-area:r3-label}.dsky-r3-value{grid-area:r3-value}.dsky-keypad{min-height:clamp(130px,20vmin,180px);height:auto;background:#1a1a1a;border:clamp(1px,.25vmin,2px) solid #333;border-radius:clamp(2px,.5vmin,4px);padding:clamp(6px,1.2vmin,10px);display:grid;grid-template-areas:"verb noun pro rset" "plus seven eight nine" "minus four five six" "zero one two three" "blank key-rel entr clr";grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(5,minmax(auto,1fr));gap:clamp(3px,.6vmin,5px);flex-shrink:0;overflow:visible;box-sizing:border-box}.dsky-button{background:linear-gradient(145deg,#4a4a4a,#2a2a2a);border:clamp(1px,.25vmin,2px) solid #666;border-radius:clamp(2px,.5vmin,4px);color:#fff;font-size:clamp(9px,1.6vmin,16px);font-weight:900;text-align:center;cursor:pointer;transition:all .1s;display:flex;align-items:center;justify-content:center;-webkit-user-select:none;user-select:none;text-transform:uppercase;letter-spacing:.6px;min-height:clamp(24px,4vmin,36px);height:auto;box-shadow:0 2px 4px #0006,inset 0 1px #ffffff1a;position:relative;font-family:Consolas,Monaco,Lucida Console,monospace;text-shadow:0 1px 0 rgba(0,0,0,.5);overflow:visible;box-sizing:border-box;padding:clamp(4px,.8vmin,8px)}.dsky-button:before{content:"";position:absolute;inset:1px 1px 50%;background:linear-gradient(180deg,rgba(255,255,255,.1),transparent);border-radius:2px;pointer-events:none}.dsky-button:hover{background:linear-gradient(145deg,#5a5a5a,#3a3a3a);border-color:#00ff41;box-shadow:0 0 6px #00ff4180,0 2px 4px #0006,inset 0 1px #fff3}.dsky-button:active{background:linear-gradient(145deg,#2a2a2a,#4a4a4a);transform:translateY(1px);box-shadow:0 1px 2px #0006,inset 0 0 4px #00000080}.btn-verb,.btn-noun{background:linear-gradient(145deg,#060,#040);border-color:#080}.btn-verb:hover,.btn-noun:hover{background:linear-gradient(145deg,#080,#060);box-shadow:0 0 8px #0f09,0 2px 4px #0006,inset 0 1px #fff3}.btn-proc{background:linear-gradient(145deg,#660,#440);border-color:#880}.btn-proc:hover{background:linear-gradient(145deg,#880,#660);box-shadow:0 0 8px #ff09,0 2px 4px #0006,inset 0 1px #fff3}.btn-rset{background:linear-gradient(145deg,#600,#400);border-color:#800}.btn-rset:hover{background:linear-gradient(145deg,#800,#600);box-shadow:0 0 8px #f009,0 2px 4px #0006,inset 0 1px #fff3}.btn-key-rel{background:linear-gradient(145deg,#606,#404);border-color:#808;font-size:clamp(6px,1vmin,10px)}.btn-key-rel:hover{background:linear-gradient(145deg,#808,#606);box-shadow:0 0 8px #f0f9,0 2px 4px #0006,inset 0 1px #fff3}.btn-entr,.btn-clr{background:linear-gradient(145deg,#066,#044);border-color:#088}.btn-entr:hover,.btn-clr:hover{background:linear-gradient(145deg,#088,#066);box-shadow:0 0 8px #0ff9,0 2px 4px #0006,inset 0 1px #fff3}.btn-0,.btn-1,.btn-2,.btn-3,.btn-4,.btn-5,.btn-6,.btn-7,.btn-8,.btn-9{font-size:clamp(10px,1.6vmin,16px);font-weight:900}.btn-plus,.btn-minus{font-size:clamp(12px,1.8vmin,18px);font-weight:900}.dsky-output{background:#0a0a0a;border:clamp(1px,.25vmin,2px) solid #333;border-radius:clamp(2px,.5vmin,4px);padding:clamp(8px,1.8vmin,15px);min-height:clamp(80px,12vmin,120px);height:auto;max-height:none;overflow-y:visible;overflow-x:hidden;flex-shrink:0;display:flex;flex-direction:column}.dsky-output-title{color:#00ff41;font-size:clamp(8px,1.5vmin,12px);font-weight:900;text-transform:uppercase;margin-bottom:clamp(4px,1vmin,8px);text-shadow:0 0 6px #00ff41,0 0 12px #00ff41,0 1px 0 rgba(0,0,0,.8);border-bottom:1px solid #333;padding-bottom:clamp(2px,.5vmin,4px);font-family:Consolas,Monaco,Lucida Console,monospace}.dsky-output-content{display:flex;flex-direction:column;gap:clamp(2px,.5vmin,4px);flex:1;overflow:visible}.dsky-output-content>div{color:#ccc;font-size:clamp(8px,1.4vmin,12px);font-family:Consolas,Monaco,Lucida Console,Liberation Mono,Courier New,monospace;padding:clamp(2px,.4vmin,3px) 0;font-weight:700;text-shadow:0 1px 0 rgba(0,0,0,.5);word-wrap:break-word;word-break:break-word;-webkit-hyphens:auto;hyphens:auto;white-space:normal;overflow:visible}.output-separator{color:#555;font-size:clamp(6px,1vmin,9px);margin:clamp(2px,.5vmin,4px) 0}.output-message{color:#fa0!important;font-size:clamp(6px,1vmin,9px)!important;padding:clamp(1px,.25vmin,2px) clamp(2px,.5vmin,4px)!important;background:#ffaa000d;border-left:clamp(1px,.25vmin,2px) solid #ffaa00;border-radius:0 clamp(1px,.25vmin,2px) clamp(1px,.25vmin,2px) 0}.dsky-output::-webkit-scrollbar{width:clamp(3px,.75vmin,6px)}.dsky-output::-webkit-scrollbar-track{background:#1a1a1a;border-radius:clamp(1px,.25vmin,3px)}.dsky-output::-webkit-scrollbar-thumb{background:#333;border-radius:clamp(1px,.25vmin,3px)}.dsky-output::-webkit-scrollbar-thumb:hover{background:#555}@media (max-width: 768px){.dsky-top-row{flex-direction:column;min-height:auto;height:auto}.dsky-status-indicators{flex:none;height:auto;min-height:clamp(120px,20vmin,160px);grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(4,minmax(auto,1fr))}}@media (max-width: 480px){.dsky-main{width:95vw;padding:clamp(12px,2.5vmin,20px)}.dsky-keypad{min-height:clamp(120px,20vmin,160px);height:auto}}.App{min-height:100vh;margin:0;padding:0}
