@import"https://fonts.googleapis.com/css2?family=Share+Tech+Mono&family=Space+Mono:wght@400;700&display=swap";:root{font-family:Share Tech Mono,Space Mono,Courier New,monospace;line-height:1.5;font-weight:400;color:#e4ffe6;background-color:#010603;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--slider-pad: .35rem;--slider-gap: .2rem;--slider-dash-height: 12px}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#010603}#root{min-height:100vh}.app-shell{position:relative;min-height:100vh;color:#dbffe6;background:radial-gradient(circle at top,#042113,#020c07 45%,#010402);font-family:Share Tech Mono,Space Mono,Courier New,monospace;overflow:hidden}.canvas-shell{position:absolute;inset:0;min-height:100vh;box-shadow:inset 0 0 60px #10ff9624}.canvas-shell canvas{width:100%!important;height:100%!important}.canvas-tip{position:absolute;bottom:1.25rem;left:50%;transform:translate(-50%);padding:.35rem .85rem;border:1px solid rgba(32,255,138,.7);background:#03120ab3;color:#8dffd2;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;pointer-events:none;box-shadow:0 0 22px #1cff8e40,inset 0 0 12px #0009}.canvas-loader{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-transform:uppercase;letter-spacing:.2em;color:#35ff8d;background:#030a07d1;font-size:.8rem}.canvas-stats{left:auto!important;right:1rem!important;top:1rem!important}.control-panel{width:360px;padding:1.5rem;border-left:2px solid #0f5a35;background:#03120a59;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);display:flex;flex-direction:column;gap:1rem;position:absolute;top:0;right:0;bottom:0;z-index:2;overflow-y:auto;scrollbar-color:rgba(32,255,138,.8) rgba(2,10,7,.8);scrollbar-width:thin}.control-panel::-webkit-scrollbar{width:8px}.control-panel::-webkit-scrollbar-track{background:#020a07bf;border-radius:4px}.control-panel::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#20ff8ad9,#0a3c24e6);border-radius:4px;box-shadow:0 0 8px #20ff8a66}.control-panel::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#5fffbaf2,#125030f2)}.panel-header h1{margin:0;font-size:1.5rem;color:#56ff9a;letter-spacing:.08em;text-transform:uppercase}.panel-header p{margin:.3rem 0 0;font-size:.8rem;color:#a4ffd3}.panel-section{display:flex;flex-direction:column;gap:.4rem}.panel-label{font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;color:#6fffaf}.select-shell{border:none;border-radius:4px;background:transparent;box-shadow:none;padding:0}.panel-grid{display:flex;flex-direction:column}.preset-save{display:grid;grid-template-columns:minmax(0,1fr) 96px;gap:.5rem;align-items:stretch}.preset-input{padding:.55rem .65rem;border-radius:4px;border:1px solid #1ea45d;background:#02130bcc;color:#c4ffe0;font-family:inherit;letter-spacing:.06em}.preset-input::placeholder{color:#5cad7f}.preset-list{display:flex;flex-direction:column;gap:.35rem;margin-top:.45rem}.preset-list__item{display:flex;align-items:center;justify-content:space-between;padding:.4rem .6rem;border:1px solid #20824e;border-radius:4px;background:#071b1299}.preset-list__item span{font-size:.8rem;letter-spacing:.08em;color:#9dffd1;text-transform:uppercase}.preset-list__actions{display:flex;gap:.3rem}.preset-list__delete{border-color:#ff5d5d;color:#ff8383;box-shadow:0 0 12px #ff5e5e40}.preset-list__empty{margin:0;font-size:.75rem;letter-spacing:.08em;color:#4f8b67}.panel-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.panel-actions.panel-actions--grid button{height:3.1rem}.toggle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.select-field{display:flex;flex-direction:column;gap:.35rem;position:relative}.select-field__label{text-transform:uppercase;letter-spacing:.1em}.select-trigger{width:100%;padding:.55rem .75rem;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(180deg,#062a1af2,#041e13f2);border:1px solid rgba(31,255,138,.85);border-radius:6px;color:#65ffb7;font-family:inherit;font-size:.92rem;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 0 14px #18ff914d,inset 0 0 12px #00000080;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}.select-trigger svg path{stroke:currentColor}.select-trigger--open{border-color:#5fffbaf2;box-shadow:0 0 18px #5effba66,inset 0 0 16px #0000008c}.select-options{position:absolute;top:calc(100% + .35rem);left:0;right:0;background:#020a07eb;border:1px solid rgba(31,255,138,.65);border-radius:6px;box-shadow:0 12px 24px #00000073,0 0 20px #18ff9140;padding:.3rem 0;display:flex;flex-direction:column;gap:.15rem;z-index:4;max-height:12rem;overflow-y:auto}.select-option{width:100%;padding:.55rem .9rem;background:transparent;border:none;text-align:left;font-family:inherit;font-size:.9rem;color:#65ffb7;letter-spacing:.08em;cursor:pointer;text-transform:uppercase}.select-option:hover,.select-option--selected{background:#072317f2}select{width:100%;padding:.55rem;appearance:none;-webkit-appearance:none;background:linear-gradient(180deg,#062a1af2,#041e13f2);border:1px solid rgba(31,255,138,.85);border-radius:6px;color:#65ffb7;font-family:inherit;font-size:.95rem;letter-spacing:.08em;text-transform:uppercase;box-shadow:0 0 14px #18ff914d,inset 0 0 12px #00000080;transition:border-color .2s ease,box-shadow .2s ease}select:focus{outline:none;background-color:#000000fa;border-color:#5fffbaf2;box-shadow:0 0 22px #5effba80,inset 0 0 16px #00000080}button{background:#0c2f1c;color:#65ffb7;border:1px solid #1fff8a;padding:.65rem .8rem;font-family:inherit;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;box-shadow:0 0 14px #18ff9140;transition:transform .2s ease,box-shadow .2s ease}button:hover{transform:translateY(-2px);box-shadow:0 0 18px #2fff8073}@media(max-width:960px){.canvas-shell{position:relative}.control-panel{position:relative;width:100%;height:auto;border-left:none;border-top:2px solid #0f5a35;overflow-y:visible}}option{background:#000;color:#65ffb7}.select-options::-webkit-scrollbar{width:8px}.select-options::-webkit-scrollbar-track{background:#020a07cc;border-radius:4px}.select-options::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#20ff8ad9,#0a3c24e6);border-radius:4px;box-shadow:0 0 8px #20ff8a66}.select-options::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#5fffbaf2,#125030f2)}.select-options{scrollbar-color:rgba(32,255,138,.8) rgba(2,10,7,.8);scrollbar-width:thin}.cyber-slider{display:block;position:relative;padding-bottom:.5rem}.cyber-slider__header{display:flex;justify-content:space-between;font-size:.8rem;letter-spacing:.12em;color:#89ffd0;text-transform:uppercase}.cyber-slider__body{position:relative;margin-top:var(--slider-pad);padding-bottom:calc(var(--slider-pad) + var(--slider-dash-height))}.cyber-slider__track{margin-top:0;border:1px solid #2fe683;border-radius:8px;padding:var(--slider-pad);background:#04180de6;display:grid;grid-template-columns:repeat(18,1fr);gap:var(--slider-gap);position:relative;box-shadow:inset 0 0 20px #0fff8f40}.cyber-slider__dash{display:block;height:var(--slider-dash-height);border-radius:2px;background:#052616;transition:background .2s ease}.cyber-slider__dash--filled{background:#45ff99;box-shadow:0 0 8px #31ff99b3}.cyber-slider__input{width:auto;position:absolute;left:calc(var(--slider-pad) + 1px);right:calc(var(--slider-pad) + 1px);top:calc(var(--slider-pad) + 1px);height:var(--slider-dash-height);-webkit-appearance:none;background:transparent;cursor:pointer;margin:0;padding:0}.cyber-slider__input::-webkit-slider-runnable-track{height:var(--slider-dash-height);background:transparent}.cyber-slider__input::-webkit-slider-thumb{-webkit-appearance:none;width:calc((100% - (17 * var(--slider-gap))) / 18);height:var(--slider-dash-height);background:#ff3030;border:2px solid #ff9898;border-radius:4px;box-shadow:0 0 10px #ff3030cc}.cyber-slider__input::-moz-range-thumb{width:calc((100% - (17 * var(--slider-gap))) / 18);height:var(--slider-dash-height);background:#ff3030;border:2px solid #ff9898;border-radius:4px;box-shadow:0 0 10px #ff3030cc}.cyber-slider__input::-moz-range-track{height:var(--slider-dash-height);background:transparent}.cyber-slider__value{color:#f2fffb}
