*,::after,::before{margin:0;padding:0;box-sizing:border-box}:root{--bg:#0a0e17;--bg2:#111827;--cyan:#00e5ff;--cyan-dim:#00e5ff44;--green:#39ff14;--green-dim:#39ff1433;--red:#ff1744;--amber:#ffab00;--text:#c8d6e5;--text-dim:#576574;--mono:'JetBrains Mono',monospace;--display:'Orbitron',sans-serif}body{background:var(--bg);color:var(--text);font-family:var(--mono);min-height:100vh;overflow:hidden;cursor:crosshair}#boot-screen{position:fixed;inset:0;background:#000;z-index:1000;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:opacity .8s}#boot-screen.hidden{opacity:0;pointer-events:none}.boot-logo{font-family:var(--display);font-size:2.4rem;font-weight:900;color:var(--cyan);letter-spacing:.3em;text-shadow:0 0 30px var(--cyan-dim),0 0 60px var(--cyan-dim);margin-bottom:.5rem}.boot-sub{font-size:.7rem;color:var(--text-dim);letter-spacing:.15em;margin-bottom:2.5rem;text-transform:uppercase}.boot-log{width:520px;max-width:90vw;font-size:.65rem;color:var(--green);line-height:1.8;opacity:.8}.boot-log .fail{color:var(--amber)}.boot-bar-wrap{width:520px;max-width:90vw;height:3px;background:#1a1a2e;margin-top:1.5rem;border-radius:2px;overflow:hidden}.boot-bar{height:100%;width:0%;background:linear-gradient(90deg,var(--cyan),var(--green));transition:width .3s}#main-ui{display:none;height:100vh;flex-direction:column}#main-ui.active{display:flex}.topbar{height:42px;background:#0d1321;border-bottom:1px solid #1a2332;display:flex;align-items:center;padding:0 1rem;gap:1rem;flex-shrink:0}.topbar-brand{font-family:var(--display);font-size:.65rem;font-weight:700;color:var(--cyan);letter-spacing:.15em}.topbar-sep{width:1px;height:20px;background:#1a2332}.topbar-status{font-size:.6rem;color:var(--text-dim);display:flex;align-items:center;gap:.4rem}.status-dot{width:6px;height:6px;border-radius:50%;background:var(--green);animation:pulse-dot 1.5s infinite}@keyframes pulse-dot{0%,100%{opacity:1}50%{opacity:.3}}.topbar-right{margin-left:auto;font-size:.55rem;color:var(--text-dim);letter-spacing:.05em}.content{flex:1;display:flex;overflow:hidden}.panel-left{width:260px;background:var(--bg2);border-right:1px solid #1a2332;padding:1rem;display:flex;flex-direction:column;gap:1rem;overflow-y:auto;flex-shrink:0}.panel-section-title{font-size:.55rem;text-transform:uppercase;letter-spacing:.2em;color:var(--cyan);margin-bottom:.5rem;font-weight:600}.param-row{display:flex;justify-content:space-between;font-size:.6rem;margin-bottom:.3rem}.param-label{color:var(--text-dim)}.param-value{color:var(--text);font-weight:500}.param-value.good{color:var(--green)}.param-value.warn{color:var(--amber)}.sensor-bar{height:4px;background:#1a2332;border-radius:2px;margin-top:.2rem;overflow:hidden}.sensor-fill{height:100%;border-radius:2px;transition:width 1s}.viewport{flex:1;display:flex;align-items:center;justify-content:center;position:relative;background:#080c14;overflow:hidden}.scan-overlay{position:absolute;inset:0;pointer-events:none}.scan-line{position:absolute;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--cyan),transparent);opacity:0;animation:scanDown 3s linear infinite}@keyframes scanDown{0%{top:0;opacity:0}5%{opacity:.6}95%{opacity:.6}100%{top:100%;opacity:0}}.corner-bracket{position:absolute;width:30px;height:30px;border-color:var(--cyan);border-style:solid;border-width:0;opacity:.5}.corner-bracket.tl{top:20px;left:20px;border-top-width:2px;border-left-width:2px}.corner-bracket.tr{top:20px;right:20px;border-top-width:2px;border-right-width:2px}.corner-bracket.bl{bottom:20px;left:20px;border-bottom-width:2px;border-left-width:2px}.corner-bracket.br{bottom:20px;right:20px;border-bottom-width:2px;border-right-width:2px}.viewport-label{position:absolute;top:26px;left:60px;font-size:.55rem;color:var(--cyan);opacity:.5;letter-spacing:.1em}.center-prompt{text-align:center;z-index:10;max-width:500px;padding:2rem}.prompt-icon{font-size:4rem;margin-bottom:1rem;filter:drop-shadow(0 0 20px var(--cyan-dim))}.prompt-title{font-family:var(--display);font-size:1.3rem;font-weight:700;color:#fff;margin-bottom:.6rem;letter-spacing:.08em}.prompt-desc{font-size:.85rem;color:var(--text-dim);line-height:1.8;margin-bottom:1.5rem}.prompt-desc strong{color:var(--text);font-weight:500}.btn-capture{font-family:var(--display);font-size:.75rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:#000;background:var(--cyan);border:none;padding:.9rem 2.5rem;cursor:pointer;position:relative;overflow:hidden;transition:all .3s;clip-path:polygon(8px 0,100% 0,calc(100% - 8px) 100%,0 100%)}.btn-capture:hover{background:#fff;transform:scale(1.05);box-shadow:0 0 30px var(--cyan-dim)}.btn-capture:disabled{opacity:.3;cursor:not-allowed;transform:none}.calibration-text{font-size:.65rem;color:var(--amber);margin-top:1rem;display:none;animation:blink .8s infinite}@keyframes blink{0%,100%{opacity:1}50%{opacity:.3}}.countdown-display{display:none;font-family:var(--display);font-size:8rem;font-weight:900;color:var(--cyan);text-shadow:0 0 60px var(--cyan-dim),0 0 120px var(--cyan-dim);animation:countPulse 1s ease-in-out infinite}@keyframes countPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.08)}}.countdown-sub{font-size:.7rem;color:var(--red);letter-spacing:.2em;text-transform:uppercase;margin-top:.5rem;animation:blink .5s infinite}#flash-overlay{position:fixed;inset:0;background:#fff;z-index:9999;opacity:0;pointer-events:none;transition:opacity 50ms}#flash-overlay.fire{opacity:1;transition:opacity 50ms}#flash-overlay.fade{opacity:0;transition:opacity 1.2s ease-out}.processing-view{display:none;width:100%;padding:2rem}.proc-header{font-family:var(--display);font-size:.8rem;color:var(--cyan);letter-spacing:.15em;margin-bottom:1rem}.proc-terminal{background:#000;border:1px solid #1a2332;border-radius:4px;padding:1rem;height:220px;overflow-y:auto;font-size:.58rem;line-height:1.6;margin-bottom:1rem;scroll-behavior:smooth}.proc-terminal .line-ok{color:var(--green)}.proc-terminal .line-info{color:var(--cyan)}.proc-terminal .line-warn{color:var(--amber)}.proc-terminal .line-dim{color:var(--text-dim)}.proc-progress-wrap{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.proc-progress-bar{flex:1;height:6px;background:#1a2332;border-radius:3px;overflow:hidden}.proc-progress-fill{height:100%;width:0%;background:linear-gradient(90deg,var(--cyan),var(--green));border-radius:3px;transition:width .4s}.proc-progress-pct{font-size:.7rem;font-weight:600;color:var(--cyan);min-width:3rem;text-align:right}.develop-view{display:none;flex-direction:column;align-items:center;justify-content:center;width:100%}.polaroid{background:#f5f5f0;padding:12px 12px 50px 12px;box-shadow:0 8px 40px rgba(0,0,0,.5),0 0 80px rgba(0,229,255,.1);transform:rotate(-2deg);transition:transform .6s ease;max-width:340px;width:80%}.polaroid:hover{transform:rotate(0) scale(1.02)}.polaroid-img-wrap{width:100%;aspect-ratio:1;background:#e8e4dc;overflow:hidden;position:relative}.polaroid-img-wrap img{width:100%;height:100%;object-fit:cover;opacity:0;filter:brightness(3) contrast(.2) sepia(1);transition:opacity 3s,filter 3s}.polaroid-img-wrap img.developing{opacity:1;filter:brightness(1) contrast(1) sepia(.15)}.polaroid-img-wrap .dev-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(255,255,240,.9),rgba(255,255,240,.6));transition:opacity 3s}.polaroid-img-wrap .dev-overlay.fade{opacity:0}.polaroid-caption{text-align:center;font-family:'Segoe UI',sans-serif;font-size:.8rem;color:#444;margin-top:12px;font-style:italic}.develop-label{font-size:.6rem;color:var(--text-dim);margin-top:1rem;letter-spacing:.1em}.ad-slot{flex-shrink:0;width:100%;max-width:728px;margin:0 auto}.ad-label{font-size:.45rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.15em;text-align:center;margin-bottom:.3rem;opacity:.6}.ad-content{background:#0a0e17;border:1px solid #1a2332;border-radius:3px;height:90px;overflow:hidden}.ad-placeholder{font-size:.55rem;color:var(--text-dim);opacity:.4;letter-spacing:.05em}.develop-actions{display:none;gap:.6rem;margin-top:1.5rem;flex-wrap:wrap;justify-content:center}.btn-action{font-family:var(--mono);font-size:.65rem;color:var(--cyan);background:0 0;border:1px solid var(--cyan-dim);padding:.5rem 1.2rem;cursor:pointer;transition:all .3s}.btn-action:hover{background:var(--cyan);color:#000}.btn-action-dim{color:var(--text-dim);border-color:#1a2332}.btn-action-dim:hover{background:#1a2332;color:var(--text)}.panel-right{width:220px;background:var(--bg2);border-left:1px solid #1a2332;padding:1rem;font-size:.58rem;flex-shrink:0;overflow-y:auto}.log-entry{padding:.3rem 0;border-bottom:1px solid #1a233222;color:var(--text-dim)}.log-entry .log-time{color:var(--text-dim);margin-right:.4rem}.log-entry .log-msg{color:var(--text)}.log-entry.log-ok .log-msg{color:var(--green)}.log-entry.log-warn .log-msg{color:var(--amber)}.bottombar{min-height:28px;background:#0d1321;border-top:1px solid #1a2332;display:flex;align-items:center;justify-content:center;padding:.4rem 1rem;font-size:.5rem;color:var(--text-dim);gap:.6rem 1.5rem;flex-shrink:0;flex-wrap:wrap}.bottombar-link{color:var(--cyan);text-decoration:none;font-weight:600;letter-spacing:.08em;text-transform:uppercase;padding:.15rem .5rem;border:1px solid var(--cyan-dim);border-radius:2px;transition:all .3s}.bottombar-link:hover{background:var(--cyan);color:#000;box-shadow:0 0 12px var(--cyan-dim)}.grid-overlay{position:absolute;inset:0;background-image:linear-gradient(rgba(0,229,255,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(0,229,255,.03) 1px,transparent 1px);background-size:40px 40px;pointer-events:none}.crosshair{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;opacity:.3}.crosshair::after,.crosshair::before{content:'';position:absolute;background:var(--cyan)}.crosshair::before{width:1px;height:40px;top:-20px;left:0}.crosshair::after{width:40px;height:1px;top:0;left:-20px}@media (max-width:900px){.panel-left,.panel-right{display:none}}@media (max-width:600px){.bottombar{font-size:.45rem;gap:.3rem .6rem;padding:.4rem .5rem}.bottombar .sep{display:none}}.wave-dots{display:flex;gap:4px;justify-content:center;margin-top:.8rem}.wave-dots span{display:block;width:4px;height:4px;background:var(--cyan);border-radius:50%;animation:wave 1.2s ease-in-out infinite}.wave-dots span:nth-child(2){animation-delay:.1s}.wave-dots span:nth-child(3){animation-delay:.2s}.wave-dots span:nth-child(4){animation-delay:.3s}.wave-dots span:nth-child(5){animation-delay:.4s}@keyframes wave{0%,100%{transform:scaleY(1);opacity:.4}50%{transform:scaleY(3);opacity:1}}