:root{--bg: #0a0a0f;--surface: #12121a;--border: #1e1e2e;--text: #c8c8d4;--muted: #5a5a72;--green: #00e676;--red: #ff3b30;--amber: #ff9500;--blue: #0066ff;--radius: 12px;--font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--mono: "SF Mono", "Fira Code", "JetBrains Mono", "Courier New", monospace}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overflow:hidden}.app-container{height:100%;display:flex;flex-direction:column;max-width:480px;margin:0 auto}.location-screen{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 24px;text-align:center}.loc-icon{font-size:40px;margin-bottom:8px}.loc-title{font-size:24px;font-weight:700;color:var(--text);letter-spacing:-.02em;margin-bottom:4px}.loc-sub{font-size:13px;color:var(--muted);margin-bottom:32px}.loc-list{width:100%;max-width:320px;display:flex;flex-direction:column;gap:10px}.loc-btn{display:flex;align-items:center;gap:12px;width:100%;padding:14px 16px;border-radius:12px;background:var(--surface);border:1px solid var(--border);color:var(--text);font-size:15px;font-weight:500;cursor:pointer;text-align:left;transition:border-color .2s,background .2s;font-family:var(--font)}.loc-btn:active{background:#1a1a2a;border-color:var(--blue);transform:scale(.98)}.loc-dot{width:8px;height:8px;border-radius:50%;background:var(--muted);flex-shrink:0}.loc-footer{margin-top:auto;font-size:9px;color:var(--muted);letter-spacing:.2em;padding-bottom:12px}.auth-panel{padding:10px 16px;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px;flex-shrink:0}.location-group{flex:1;min-width:0}.auth-label{font-size:9px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;margin-bottom:2px;font-weight:600}.loc-display{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text)}.loc-display .loc-dot{background:var(--green)}.otp-box{flex-shrink:0;width:120px;background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:8px;text-align:center}.otp-label{font-size:7px;color:var(--muted);text-transform:uppercase;letter-spacing:.12em;font-weight:600;margin-bottom:3px}.otp-code{font-family:var(--mono);font-size:18px;font-weight:700;color:var(--green);letter-spacing:.1em}.otp-timer{margin-top:5px;height:2px;background:var(--border);border-radius:2px;overflow:hidden}.otp-timer-bar{height:100%;background:var(--blue);border-radius:2px;transition:width 1s linear}.terminal-panel{flex:1;display:flex;flex-direction:column;background:#0d0d14;min-height:0}.terminal-header{display:flex;align-items:center;gap:6px;padding:7px 12px;background:#16161e;border-bottom:1px solid var(--border);flex-shrink:0}.terminal-dot{width:9px;height:9px;border-radius:50%}.terminal-title{margin-left:auto;font-size:9px;color:var(--muted);font-family:var(--mono)}.terminal-body{flex:1;overflow-y:auto;padding:12px;font-family:var(--mono);font-size:13px;line-height:1.6;-webkit-overflow-scrolling:touch}.t-line{white-space:pre-wrap;word-break:break-word;min-height:1.4em}.t-green{color:var(--green)}.t-red{color:var(--red)}.t-amber{color:var(--amber)}.t-prompt{color:var(--green);white-space:pre}.t-input{background:none;border:none;color:var(--text);font-family:var(--mono);font-size:13px;outline:none;caret-color:var(--green);flex:1;min-width:0}.t-input::placeholder{color:var(--muted);opacity:.5;font-size:11px}.t-line form{display:flex;align-items:center;gap:0}.cursor-blink{color:var(--green);animation:blink 1s step-end infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.matrix-canvas{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;pointer-events:none}.access-banner{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#000000f0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;text-align:center;animation:fadeIn .6s ease}.access-icon{font-size:48px;margin-bottom:12px;animation:float 2s ease-in-out infinite}.access-title{font-size:24px;font-weight:700;color:var(--green);letter-spacing:.05em;margin-bottom:6px}.access-sub{font-size:12px;color:var(--muted);margin-bottom:24px}.access-detail{font-size:12px;color:var(--text);font-family:var(--mono);line-height:2;text-align:left;margin-bottom:32px}.reset-btn{padding:14px 40px;border-radius:10px;background:var(--green);color:#000;font-weight:700;font-size:15px;border:none;cursor:pointer;font-family:var(--font)}.reset-btn:active{transform:scale(.97)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}
