:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}*{-webkit-tap-highlight-color:transparent}button,input,select{font:inherit}a{color:inherit}:focus-visible{outline-offset:2px;outline:2px solid #4dafff}:root{--bg:#0a0a0c;--surface:#15171c;--surface-2:#1d2129;--text:#e6e8ee;--muted:#9095a0;--accent:#4dafff;--accent-strong:#1f8cf0;--danger:#ff6464;--emergency-bg:#2a0e10;--emergency-fg:#ffd0cf;--border:#262a32;--radius:10px}.high-contrast{--bg:#000;--surface:#000;--surface-2:#0a0a0a;--text:#fff;--muted:#ccc;--accent:#ffd000;--accent-strong:#ffd000;--border:#fff}*{box-sizing:border-box}html,body{height:100%}#root{min-height:100%}body{background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,Roboto,Noto Sans,Ubuntu,Cantarell,Helvetica Neue,Apple SD Gothic Neo,Pretendard,Noto Sans KR,sans-serif;font-size:16px;line-height:1.5}.app{flex-direction:column;max-width:720px;min-height:100dvh;margin:0 auto;padding:16px;display:flex}@media (min-width:1024px){.app{max-width:960px}}.app-header h1{margin:0 0 4px;font-size:1.4rem}.tagline{color:var(--muted);margin:0;font-size:.95rem}.privacy-badge{border:1px solid var(--border);background:var(--surface-2);border-radius:999px;margin-top:8px;padding:4px 10px;font-size:.85rem;display:inline-block}.app-nav{flex-wrap:wrap;gap:4px;margin-top:12px;display:flex}.app-nav a{color:var(--muted);border-radius:var(--radius);padding:8px 12px;font-size:.95rem;text-decoration:none}.app-nav a.active{background:var(--surface-2);color:var(--text)}.app-main{flex:1;margin-top:16px}.app-footer{border-top:1px solid var(--border);margin-top:24px;padding:12px 0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);margin-bottom:16px;padding:16px}.card-inset{background:var(--surface-2);border:1px dashed var(--border);border-radius:var(--radius);margin-top:12px;padding:12px}.muted{color:var(--muted)}.small{font-size:.88rem}.btn{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);color:var(--text);cursor:pointer;justify-content:center;align-items:center;gap:4px;min-height:44px;padding:12px 16px;font-size:1rem;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent-strong);border-color:var(--accent);color:#0a0a0c;font-weight:600}.btn-row{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.camera-permission{text-align:center}.camera-permission .btn{margin-top:12px}.camera-permission.error h2{color:var(--danger)}.camera-stream{flex-direction:column;gap:8px;display:flex}.video-frame{border-radius:var(--radius);aspect-ratio:4/5;background:#000;max-height:70dvh;position:relative;overflow:hidden}.camera-video{object-fit:cover;width:100%;height:100%;display:block}.scan-overlay{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.scan-corner{border-color:var(--accent);border-style:solid;border-width:0;width:32px;height:32px;position:absolute}.scan-corner.tl{border-top-width:3px;border-left-width:3px;top:12%;left:8%}.scan-corner.tr{border-top-width:3px;border-right-width:3px;top:12%;right:8%}.scan-corner.bl{border-bottom-width:3px;border-left-width:3px;bottom:12%;left:8%}.scan-corner.br{border-bottom-width:3px;border-right-width:3px;bottom:12%;right:8%}.camera-tip{margin:4px 0}.result-header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.result-header h2{margin:0;font-size:1.15rem}.mode-badge{background:var(--surface-2);border:1px solid var(--border);border-radius:999px;padding:4px 10px;font-size:.8rem}.mode-badge.mode-static{background:#1f3a4d}.mode-badge.mode-dynamic{background:#2c2440}.mode-badge.mode-wiabook{background:#1f4a2d}.mode-badge.mode-qr_fallback{background:#4d3a1f}.mode-badge.mode-error{color:var(--danger);background:#3a1f1f}.result-body{flex-direction:column;gap:8px;display:flex}.result-body h3{margin:0 0 4px;font-size:1.05rem}.result-body.emergency{background:var(--emergency-bg);color:var(--emergency-fg);border-radius:var(--radius);padding:12px}.text-display{background:var(--surface-2);border-radius:var(--radius);white-space:pre-wrap;word-break:break-word;margin:0;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92rem}.url-display{word-break:break-all}.url-display a{color:var(--accent)}.raw-payload{background:var(--surface-2);border-radius:var(--radius);padding:8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.82rem;overflow-x:auto}.kv-list{grid-template-columns:max-content 1fr;gap:4px 12px;margin:0;display:grid}.kv-list dt{color:var(--muted)}.kv-list dd{word-break:break-all;margin:0}.result-meta{margin-top:12px}.result-footer{margin-top:16px}.settings-panel .row{align-items:center;gap:12px;margin:12px 0;display:flex}.settings-panel select{border-radius:var(--radius);background:var(--surface-2);color:var(--text);border:1px solid var(--border);min-height:44px;padding:8px}@media (min-width:768px){.video-frame{aspect-ratio:4/3}.app{padding:24px}}.hero{margin:0 0 8px;font-size:22px;line-height:1.3}.features{gap:12px;margin-top:12px;display:grid}.feature h3{margin:0 0 6px;font-size:15px}.feature p{opacity:.85;margin:0;font-size:13px;line-height:1.5}@media (min-width:768px){.features{grid-template-columns:repeat(3,1fr)}}.home-footer{text-align:center;opacity:.7;justify-content:center;gap:8px;margin-top:20px;font-size:12px;display:flex}.home-footer a{color:inherit}.orbit-showcase{background:radial-gradient(120% 140% at 10% 0,#0d2a20 0%,#0b0d10 55%);border:1px solid #1c4a38;border-radius:14px;margin-top:4px;margin-bottom:16px;padding:22px 18px;position:relative;overflow:hidden}.orbit-showcase:before{content:"";pointer-events:none;background:radial-gradient(circle,#00e6a040 0%,#0000 70%);width:220px;height:220px;position:absolute;top:-40%;bottom:auto;left:auto;right:-20%}.orbit-eyebrow{letter-spacing:1px;color:#00e6a0;text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:800}.orbit-headline{color:#eef2f5;margin:0 0 8px;font-size:24px;font-weight:800;line-height:1.3}.orbit-sub{color:#9aa4ad;margin:0 0 16px;font-size:14px;line-height:1.55}.orbit-stats{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px;display:grid}.orbit-stat{text-align:center;background:#00e6a00f;border:1px solid #1c4a38;border-radius:10px;padding:10px 8px}.orbit-stat-num{color:#00e6a0;font-size:19px;font-weight:800;display:block}.orbit-stat-label{color:#9aa4ad;margin-top:3px;font-size:10.5px;line-height:1.3;display:block}.orbit-proof{margin-bottom:16px}.orbit-proof img{border:1px solid #1c4a38;border-radius:10px;width:100%;display:block}.orbit-proof-caption{color:#6b7280;text-align:center;margin:6px 0 0;font-size:11.5px}.orbit-btn-row{flex-wrap:wrap;gap:8px;display:flex}.orbit-btn{border-radius:10px;flex:auto;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:12px 16px;font-size:14px;font-weight:700;text-decoration:none;display:inline-flex}.orbit-btn-primary{color:#06261c;background:#00e6a0;border:none}.orbit-btn-secondary{color:#eef2f5;background:0 0;border:1px solid #2a2f37}.orbit-btn-ghost{color:#9aa4ad;background:0 0;border:1px solid #2a2f37}@media (min-width:480px){.orbit-btn{flex:0 auto}}.family{margin-top:12px}.family h3{margin:0 0 6px;font-size:15px}.family p{opacity:.85;margin:0 0 10px;font-size:13px}.family-links{flex-direction:column;gap:8px;display:flex}.family-links a{color:inherit;border:1px solid #ffffff26;border-radius:10px;padding:10px 12px;font-size:14px;text-decoration:none}.family-links a:hover{border-color:#fff6}@media (min-width:768px){.family-links{flex-direction:row}.family-links a{text-align:center;flex:1}}.stream-progress{margin-top:12px}.stream-progress .bar{background:#ffffff1f;border-radius:6px;height:10px;margin-top:8px;overflow:hidden}.stream-progress .fill{background:#2f81f7;height:100%;transition:width .2s}.stream-text{white-space:pre-wrap;word-break:break-word;background:#ffffff0f;border-radius:10px;max-height:50vh;padding:12px;font-size:13px;line-height:1.6;overflow-y:auto}
