/* Header */
header{margin-bottom:40px}
.header-top { display: flex; justify-content: space-between; align-items: center; margin-bottom: 6px; flex-wrap: wrap; gap: 12px;}
.logo{display:flex;align-items:center;gap:12px;margin-bottom:6px}
.logo-mark{width:34px;height:34px;background:var(--accent);border-radius:8px;display:flex;align-items:center;justify-content:center}
.logo-mark svg{width:18px;height:18px;color:#0f0f0f;}
.logo-text{font-size:17px;font-weight:600;letter-spacing:-.02em}
.header-sub{font-size:13px;color:var(--tm);margin-left:46px}

.privacy-badge{display:inline-flex;align-items:center;gap:6px;margin-left:46px;margin-top:6px;font-size:11px;color:var(--tm);border:1px solid var(--border);background:var(--surface);padding:4px 10px;border-radius:20px;font-weight:600;letter-spacing:.02em;transition:all 0.3s;}
.pdot{width:6px;height:6px;background:var(--success);border-radius:50%;}
:root[data-theme="light"] .privacy-badge{border-color:var(--bh); color: var(--text);}

.theme-btn, .lang-btn { width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--border); background: var(--surface); color: var(--text); display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all 0.2s; flex-shrink: 0;}
.theme-btn:hover, .lang-btn:hover { background: var(--s2); border-color: var(--bh); }
.lang-btn { font-size:11px; font-weight:700; letter-spacing:.02em; }
.theme-btn svg { width: 18px; height: 18px; }

/* Tabs */
.tab-bar{display:flex;gap:4px;margin-bottom:24px;background:var(--surface);padding:5px;border-radius:var(--r);border:1px solid var(--border);width:fit-content;}
.tab{padding:8px 18px;font-size:13px;font-weight:600;cursor:pointer;border-radius:6px;border:none;background:transparent;color:var(--tm);transition:all .15s;}
.tab:hover{color:var(--text)}
.tab.active{background:var(--s2);color:var(--text);border:1px solid var(--bh);box-shadow: 0 2px 8px rgba(0,0,0,0.05);}

/* Utilities */
.slabel{font-size:11px;color:var(--td);letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px;font-weight:600}
.hidden{display:none !important;}

/* Drop Zone */
.drop-zone{border:1.5px dashed var(--bh);border-radius:var(--r);padding:40px 20px;text-align:center;cursor:pointer;transition:all .15s;background:var(--surface);position:relative;overflow:hidden}
.drop-zone::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at center,rgba(232,255,71,.04) 0%,transparent 70%);pointer-events:none}
.drop-zone:hover,.drop-zone.over{border-color:rgba(232,255,71,.4);background:var(--s2)}
.drop-icon{font-size:36px;margin-bottom:12px;opacity:.7}
.drop-title{font-size:15px;font-weight:600;margin-bottom:4px}
.drop-hint{font-size:12px;color:var(--tm)}
.paste-hint{display:inline-flex;align-items:center;gap:6px;margin-top:16px;padding:6px 12px;background:var(--s2);border:1px solid var(--border);border-radius:20px;font-size:11px;color:var(--tm);}
.paste-hint kbd{font-family:monospace;background:var(--surface);border:1px solid var(--border);padding:2px 6px;border-radius:4px;color:var(--text);}

/* Camera Layout */
.camera-container{position:relative;width:100%;max-width:500px;margin:0 auto;aspect-ratio:4/3;background:#000;border-radius:var(--r);overflow:hidden;border:1px solid var(--border);box-shadow:0 8px 30px rgba(0,0,0,0.15);}
#camera-video{width:100%;height:100%;object-fit:cover;}
.scan-overlay{position:absolute;inset:0;pointer-events:none;display:flex;align-items:center;justify-content:center;}
.scan-box{width:60%;aspect-ratio:1/1;border:2px solid rgba(255,255,255,0.3);position:relative;box-shadow: 0 0 0 4000px rgba(0,0,0,0.4);}
.scan-box::before, .scan-box::after, .scan-box span::before, .scan-box span::after { content:''; position:absolute; width:20px; height:20px; border-color:var(--accent); border-style:solid; }
.scan-box::before { top:-2px; left:-2px; border-width:3px 0 0 3px; }
.scan-box::after { top:-2px; right:-2px; border-width:3px 3px 0 0; }
.scan-box span::before { bottom:-2px; left:-2px; border-width:0 0 3px 3px; }
.scan-box span::after { bottom:-2px; right:-2px; border-width:0 3px 3px 0; }
.scan-line{position:absolute;width:100%;height:2px;background:var(--accent);box-shadow:0 0 10px var(--accent);animation:scan 2s linear infinite;}
@keyframes scan { 0%{top:0%;} 50%{top:100%;} 100%{top:0%;} }
.camera-error{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--surface);color:var(--danger);font-size:13px;text-align:center;padding:20px;z-index:10;}

/* Results Area */
.result-panel{background:var(--surface);border:1px solid var(--accent);border-radius:var(--r);padding:24px;margin-top:24px;box-shadow:0 8px 30px rgba(0,0,0,0.08); animation: fadeIn 0.3s ease;}
@keyframes fadeIn { from{opacity:0;transform:translateY(10px);} to{opacity:1;transform:translateY(0);} }
.result-header{display:flex;align-items:center;gap:8px;font-size:16px;font-weight:700;color:var(--text);margin-bottom:16px;}
.result-header svg{width:20px;height:20px;color:var(--success);}
.result-text{width:100%;min-height:80px;background:var(--s2);border:1px solid var(--border);border-radius:var(--rs);padding:12px;color:var(--text);font-family:monospace;font-size:13px;line-height:1.6;resize:vertical;outline:none;}
.result-text:focus{border-color:var(--bh);}

/* OTP Specific Result */
.otp-card{background:var(--adim);border:1px solid rgba(232,255,71,.3);border-radius:var(--rs);padding:16px;margin-bottom:16px;}
:root[data-theme="light"] .otp-card{border-color:rgba(163,180,10,0.3);}
.otp-header{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;color:var(--accent);margin-bottom:12px;}
.otp-grid{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;font-size:13px;}
.otp-label{color:var(--tm);font-weight:500;}
.otp-val{color:var(--text);font-family:monospace;word-break:break-all;}
.otp-secret-row{display:flex;align-items:center;gap:8px;background:var(--surface);padding:6px 10px;border-radius:4px;border:1px solid var(--border);}
.otp-secret-val{font-size:16px;font-weight:700;letter-spacing:1px;color:var(--text);}
.btn-icon{background:transparent;border:none;color:var(--tm);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:4px;border-radius:4px;transition:all 0.15s;}
.btn-icon:hover{background:var(--s3);color:var(--text);}
.btn-icon svg{width:16px;height:16px;}

/* Buttons */
.btns{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.btn{padding:9px 18px;border-radius:var(--rs);font-size:13px;font-weight:500;font-family:inherit;cursor:pointer;border:1px solid var(--border);background:var(--surface);color:var(--text);transition:all .15s;display:inline-flex;align-items:center;gap:6px}
.btn:hover{border-color:var(--bh);background:var(--s2)}
.btn:active{transform:scale(.98)}
.btn.primary{background:var(--accent);color:#0f0f0f;border-color:var(--accent);font-weight:600}
.btn.primary:hover{background:#d4e83e;border-color:#d4e83e}
:root[data-theme="light"] .btn.primary:hover{background:#b8cb0b;border-color:#b8cb0b;}

/* Footer */
.global-footer-rich { margin-top: 50px; padding-top: 36px; border-top: 1px solid var(--border); }
.gf-features { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
@media (max-width: 640px) { .gf-features { grid-template-columns: 1fr; } }
.gf-feat { background: var(--surface); border: 1px solid var(--border); border-radius: var(--r); padding: 18px 20px; transition: border-color 0.2s; }
.gf-feat:hover { border-color: var(--bh); }
.gf-feat-icon { font-size: 22px; margin-bottom: 8px; }
.gf-feat-title { font-size: 13px; font-weight: 600; margin-bottom: 6px; color: var(--text); }
.gf-feat-desc { font-size: 12px; color: var(--tm); line-height: 1.65; }
.gf-bottom { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px; margin-top: 20px; padding: 14px 18px; background: var(--surface); border: 1px solid var(--border); border-radius: var(--rs); font-size: 11.5px; color: var(--tm); }
.gf-home-link { font-size: 12px; color: var(--accent); text-decoration: none; font-weight: 600; transition: opacity 0.15s; }
.gf-home-link:hover { opacity: 0.75; }

/* Message Toast */
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--surface);color:var(--text);padding:10px 20px;border-radius:20px;border:1px solid var(--border);font-size:13px;font-weight:500;box-shadow:0 10px 30px rgba(0,0,0,0.2);opacity:0;visibility:hidden;transition:all 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275);z-index:999;}
.toast.show{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}