@import "https://fonts.googleapis.com/css2?family=Fira+Code:wght@300;400;500;600;700&family=Outfit:wght@300;400;500;600;700&family=Share+Tech+Mono&family=Source+Code+Pro:ital,wght@0,300..900;1,300..900&display=swap";:root{--font-family:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--bg-dark:#090a0f;--bg-glass:#0f121ca6;--bg-glass-hover:#161a29bf;--border-glass:#ffffff14;--border-glass-active:#ffffff26;--text-primary:#fff;--text-secondary:#f3f4f6;--text-muted:#cbd5e1;--accent:#3b82f6;--accent-glow:#3b82f659;--panel-width:380px;--panel-radius:20px;--panel-shadow:0 20px 40px -15px #000000b3, 0 0 0 1px #ffffff0d;--transition-speed:.3s}*{box-sizing:border-box;margin:0;padding:0}html,body{background-color:var(--bg-dark);width:100vw;height:100vh;font-family:var(--font-family);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-user-select:none;user-select:none;overflow:hidden}#root{text-align:left;border-inline:none;width:100%;max-width:none;height:100%;min-height:0;margin:0;padding:0}.app-container{background-color:var(--bg-dark);justify-content:center;align-items:center;width:100vw;height:100vh;display:flex;position:relative;overflow:hidden}.light-surface{z-index:1;width:100%;height:100%;transition:background-color var(--transition-speed) ease;justify-content:center;align-items:center;display:flex;position:absolute;top:0;left:0}.light-surface.shape-mode{background-color:#000}.shape-svg{width:100%;height:100%;display:block}.ui-overlay{z-index:10;pointer-events:none;box-sizing:border-box;width:100%;height:100%;transition:opacity var(--transition-speed) cubic-bezier(.4, 0, .2, 1);justify-content:space-between;padding:24px;display:flex;position:absolute;top:0;left:0}.ui-overlay.hidden{opacity:0}.glass-panel{pointer-events:auto;background:var(--bg-glass);-webkit-backdrop-filter:blur(20px)saturate(180%);border:1px solid var(--border-glass);border-radius:var(--panel-radius);box-shadow:var(--panel-shadow);color:var(--text-primary);transition:background var(--transition-speed) ease, border-color var(--transition-speed) ease, transform var(--transition-speed) ease;flex-direction:column;display:flex}.glass-panel:hover{background:var(--bg-glass-hover);border-color:var(--border-glass-active)}.control-panel{width:var(--panel-width);max-height:calc(100vh - 48px);padding:24px;overflow-y:auto}.control-panel::-webkit-scrollbar{width:6px}.control-panel::-webkit-scrollbar-track{background:0 0}.control-panel::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:3px}.control-panel::-webkit-scrollbar-thumb:hover{background:#fff3}.right-panel-group{pointer-events:none;flex-direction:column;gap:20px;width:320px;display:flex}.right-panel-group>*{pointer-events:auto}h1.panel-title{letter-spacing:-.5px;background:linear-gradient(135deg,#fff 0%,#a5b4fc 100%);-webkit-text-fill-color:transparent;text-align:left;-webkit-background-clip:text;margin-bottom:4px;font-size:24px;font-weight:700}.panel-subtitle{color:var(--text-secondary);margin-bottom:24px;font-size:13px;font-weight:300}h3.section-title{text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary);align-items:center;gap:8px;margin:20px 0 12px;font-size:14px;font-weight:600;display:flex}h3.section-title:first-of-type{margin-top:0}.setting-group{flex-direction:column;gap:8px;margin-bottom:18px;display:flex}.setting-header{color:var(--text-primary);justify-content:space-between;font-size:13px;font-weight:500;display:flex}.setting-value{color:var(--text-secondary);font-family:monospace;font-size:12px}.custom-range{-webkit-appearance:none;width:100%;height:6px;transition:background var(--transition-speed);background:#ffffff26;border-radius:3px;outline:none}.custom-range::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .1s,background-color .1s;box-shadow:0 2px 4px #00000080}.custom-range::-webkit-slider-thumb:hover{background:var(--text-primary);transform:scale(1.2)}.temp-slider-track{background:linear-gradient(to right, ff3800 0%, #ff8b3d 25%, #ffc48c 50%, #fff 75%, #b0e0e6 100%)}.hue-slider-track{background:linear-gradient(90deg,red 0%,#ff0 17%,#0f0 33%,#0ff 50%,#00f 67%,#f0f 83%,red 100%)}.toggle-row{background:#0003;border:1px solid #ffffff0d;border-radius:12px;padding:4px;display:flex}.toggle-button{color:var(--text-secondary);cursor:pointer;transition:all var(--transition-speed) ease;background:0 0;border:none;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:13px;font-weight:500;display:flex}.toggle-button.active{color:var(--text-primary);background:#ffffff1a;box-shadow:0 2px 4px #0003}.shapes-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.shape-btn{cursor:pointer;color:var(--text-secondary);transition:all var(--transition-speed) ease;background:#ffffff08;border:1px solid #ffffff0d;border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:12px 6px;font-size:11px;font-weight:500;display:flex}.shape-btn:hover{color:var(--text-primary);background:#ffffff12;border-color:#ffffff1a}.shape-btn.active{background:var(--accent-glow);border-color:var(--accent);color:var(--text-primary)}.shape-icon-svg{stroke:currentColor;stroke-width:1.5px;fill:none;width:24px;height:24px}.camera-panel{flex-direction:column;gap:12px;width:100%;padding:16px;display:flex}.camera-header{justify-content:space-between;align-items:center;display:flex}.camera-title-group{align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.camera-preview-window{aspect-ratio:4/3;background:#000;border:1px solid #ffffff1a;border-radius:12px;width:100%;position:relative;overflow:hidden}.camera-video{object-fit:cover;width:100%;height:100%;transform:scaleX(-1)}.camera-placeholder{width:100%;height:100%;color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:16px;font-size:12px;display:flex;position:absolute;top:0;left:0}.presets-container{flex-direction:column;gap:12px;display:flex}.preset-list{flex-wrap:wrap;gap:6px;max-height:120px;padding-right:4px;display:flex;overflow-y:auto}.preset-chip{color:var(--text-secondary);cursor:pointer;transition:all var(--transition-speed) ease;background:#ffffff0d;border:1px solid #ffffff12;border-radius:16px;align-items:center;gap:6px;padding:6px 12px;font-size:12px;display:flex}.preset-chip:hover{color:var(--text-primary);background:#ffffff1a}.preset-chip.active{color:var(--text-primary);background:#fff3;border-color:#ffffff4d}.delete-preset-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:2px;display:flex}.delete-preset-btn:hover{color:#ef4444;background:#ef44441a}.save-preset-form{gap:6px;margin-top:4px;display:flex}.preset-input{color:var(--text-primary);transition:border-color var(--transition-speed);background:#0003;border:1px solid #ffffff1a;border-radius:8px;outline:none;flex:1;padding:8px 12px;font-family:inherit;font-size:13px}.preset-input:focus{border-color:var(--accent)}.save-btn{background:var(--accent);color:#fff;cursor:pointer;transition:background var(--transition-speed);border:none;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:500}.save-btn:hover{background:#2563eb}.floating-actions{z-index:100;pointer-events:auto;gap:12px;display:flex;position:absolute;bottom:24px;right:24px}.circle-btn{background:var(--bg-glass);-webkit-backdrop-filter:blur(20px);border:1px solid var(--border-glass);width:46px;height:46px;box-shadow:var(--panel-shadow);color:var(--text-primary);cursor:pointer;transition:all var(--transition-speed) ease;border-radius:50%;justify-content:center;align-items:center;display:flex}.circle-btn:hover{background:var(--bg-glass-hover);border-color:var(--border-glass-active);transform:translateY(-2px)}.circle-btn.hidden-mode{background:#ffffff26;border-color:#fff3}.hud-trigger-bubble{z-index:99;pointer-events:auto;opacity:.8;position:absolute;top:24px;right:24px}.hud-trigger-bubble:hover{opacity:1}.info-panel{color:var(--text-secondary);padding:16px;font-size:12px;line-height:1.5}.info-panel p{margin-bottom:8px}.info-panel p:last-child{margin-bottom:0}.info-key{color:var(--text-primary);background:#ffffff1a;border-radius:4px;padding:2px 5px;font-family:monospace}.switch-group{justify-content:space-between;align-items:center;display:flex}.switch-label{color:var(--text-primary);font-size:13px;font-weight:500}.switch-control{width:44px;height:22px;display:inline-block;position:relative}.switch-control input{opacity:0;width:0;height:0}.switch-slider{cursor:pointer;background-color:#ffffff26;border-radius:34px;transition:all .4s;position:absolute;inset:0}.switch-slider:before{content:"";background-color:#fff;border-radius:50%;width:16px;height:16px;transition:all .4s;position:absolute;bottom:3px;left:3px}input:checked+.switch-slider{background-color:var(--accent)}input:checked+.switch-slider:before{transform:translate(22px)}.pulse-indicator{background:#10b981;border-radius:50%;width:8px;height:8px;display:inline-block;box-shadow:0 0 8px #10b981}.pulse-indicator.off{background:var(--text-muted);box-shadow:none}.hacker-container{z-index:1;background-color:#000;width:100vw;height:100vh;position:absolute;top:0;left:0;overflow:hidden}.hacker-canvas{width:100%;height:100%;display:block;position:absolute;top:0;left:0}.hacker-terminal{box-sizing:border-box;text-align:left;white-space:pre-wrap;word-break:break-all;scrollbar-width:none;width:100%;height:100%;padding:40px;position:absolute;top:0;left:0;overflow-y:auto}.hacker-terminal::-webkit-scrollbar{display:none}.terminal-cursor{vertical-align:middle;background-color:currentColor;width:8px;height:1.2em;margin-left:4px;animation:1s step-end infinite cursor-blink;display:inline-block}@keyframes cursor-blink{0%,to{background-color:#0000}50%{background-color:currentColor}}.file-upload-row{flex-direction:column;gap:8px;margin-top:4px;display:flex}.file-input-label{color:var(--text-secondary);cursor:pointer;transition:all var(--transition-speed) ease;background:#ffffff0d;border:1px dashed #fff3;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:10px;font-size:12px;display:flex}.file-input-label:hover{border-color:var(--accent);color:var(--text-primary);background:#ffffff14}.file-input-hidden{display:none}.file-name-indicator{color:var(--text-muted);text-align:left;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.rotating-group{transform-origin:500px 500px;transition:transform .15s ease-out}@keyframes spin-cw{0%{transform:rotate(var(--start-angle,0deg))}to{transform:rotate(calc(var(--start-angle,0deg) + 360deg))}}@keyframes spin-ccw{0%{transform:rotate(var(--start-angle,0deg))}to{transform:rotate(calc(var(--start-angle,0deg) - 360deg))}}.toast-notification{-webkit-backdrop-filter:blur(20px);color:var(--text-primary);z-index:1000;pointer-events:none;background:#0f0f0fd9;border:1px solid #ffffff1f;border-radius:12px;align-items:center;gap:12px;padding:14px 24px;font-size:13px;font-weight:500;animation:.4s cubic-bezier(.16,1,.3,1) forwards toast-slide-up;display:flex;position:absolute;bottom:95px;left:50%;transform:translate(-50%);box-shadow:0 16px 40px #0009}@keyframes toast-slide-up{0%{opacity:0;bottom:75px}to{opacity:1;bottom:95px}}.hacker-terminal h1,.hacker-terminal h2,.hacker-terminal h3,.hacker-terminal h4{color:inherit;margin-top:16px;margin-bottom:8px;font-weight:700;line-height:1.25}.hacker-terminal h1{border-bottom:1px solid #80808040;padding-bottom:6px;font-size:1.6em}.hacker-terminal h2{border-bottom:1px solid #80808026;padding-bottom:4px;font-size:1.4em}.hacker-terminal h3{font-size:1.2em}.hacker-terminal h4{font-size:1.1em}.hacker-terminal hr{border:0;border-top:1px dashed #8080804d;margin:20px 0}.hacker-terminal strong{color:inherit;filter:brightness(1.2);font-weight:700}.hacker-terminal em{opacity:.9;font-style:italic}.terminal-inline-code{background:#80808026;border-radius:4px;padding:2px 6px;font-family:monospace;font-size:.9em}.terminal-code-block{white-space:pre;background:#0003;border:1px solid #80808033;border-radius:8px;margin:16px 0;padding:14px;font-family:monospace;font-size:.95em;line-height:1.4;overflow-x:auto}
