:root{--bg-primary:#646464;--bg-secondary:#4a4a4a;--text-primary:#fff;--text-secondary:#d8d8d8;--border:#7a7a7a;--accent:#4da3ff;--input-bg:#3d3d3d;--button-bg:#2b7fd4;--button-text:#fff;--danger:#ffb3b3;--success:#86e6b0;--font-ui:system-ui, "Segoe UI", Roboto, sans-serif;--font-mono:ui-monospace, Consolas, "SFMono-Regular", Menlo, monospace;--shadow:0 1px 2px #0000004d;--radius:8px;--danger-bg:#4a2a2a;--danger-fg:#ffd0d0;--danger-border:#8a4a4a;--warn-bg:#4a412a;--warn-fg:#ffe6a8;--warn-border:#8a7a4a;--bubble-in:#4f4f4f;--bubble-out:#2f5b8a;--app-scrim:#646464db;font:15px/1.5 var(--font-ui);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text-primary);background:var(--bg-primary);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root[data-theme=night]{--bg-primary:#0f1319;--bg-secondary:#161c25;--text-primary:#e9eef5;--text-secondary:#a3b2c4;--border:#28323e;--accent:#4da3ff;--input-bg:#121924;--button-bg:#2f7fd6;--button-text:#fff;--danger:#ff8f8f;--success:#5ddc9a;--shadow:0 1px 3px #00000080;--danger-bg:#3a1c1c;--danger-fg:#ffc9c9;--danger-border:#7a2e2e;--warn-bg:#3a2f12;--warn-fg:#ffe08a;--warn-border:#7a5f1f;--bubble-in:#1b232e;--bubble-out:#1d3a5c;--app-scrim:#0a0d12a8}:root[data-theme=green-terminal]{--bg-primary:#05100a;--bg-secondary:#0a1f13;--text-primary:#4dff9a;--text-secondary:#2f9c68;--border:#1c4a30;--accent:#4dff9a;--input-bg:#05150d;--button-bg:#123822;--button-text:#6dffb0;--danger:#ff5f5f;--success:#4dff9a;--font-ui:var(--font-mono);--font-mono:ui-monospace, "Cascadia Mono", Consolas, "Courier New", monospace;--shadow:0 0 6px #4dff9a59;--radius:2px;--danger-bg:#2a0f0f;--danger-fg:#ff9a9a;--danger-border:#6a2323;--warn-bg:#2a2410;--warn-fg:#e0d074;--warn-border:#6a5a1f;--bubble-in:#0a1f13;--bubble-out:#123822;--app-scrim:#05100ae6}*{box-sizing:border-box}body{background-color:var(--bg-primary);background-image:url(/shadoo/background.jpg);background-position:50%;background-repeat:no-repeat;background-size:cover;background-attachment:fixed;margin:0}#root{flex-direction:column;min-height:100svh;display:flex}.app{background:var(--app-scrim);width:100%;max-width:480px;height:100dvh;color:var(--text-primary);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);flex-direction:column;margin:0 auto;display:flex}.app-loading{height:100dvh;color:var(--text-secondary);justify-content:center;align-items:center;display:flex}.app-header{padding:10px 12px;padding-top:calc(10px + env(safe-area-inset-top));border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--bg-secondary) 82%, transparent);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.app-header h1{margin:0;font-size:1.05rem}.app-title{cursor:pointer;background:0 0;border:none;margin:0;padding:0;line-height:0}.app-title__logo{mix-blend-mode:screen;width:auto;height:2.2rem;display:block}.app-header__actions{gap:4px;display:flex}.icon-btn{border-radius:var(--radius);cursor:pointer;color:var(--text-secondary);background:0 0;border:none;padding:6px 10px;font-size:1.1rem;line-height:1}.icon-btn:hover,.icon-btn--active{background:var(--bg-secondary)}.app-main,.app-route{flex-direction:column;flex:1;min-height:0;display:flex}.app-route[hidden]{display:none}.dialog-backdrop{z-index:50;background:color-mix(in srgb, var(--bg-primary) 75%, transparent);justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.dialog{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-secondary);width:min(100%,360px);box-shadow:var(--shadow);padding:20px}.dialog__title{color:var(--text-primary);margin:0 0 8px;font-size:1.05rem;line-height:1.3}.dialog__text{color:var(--text-secondary);margin:0 0 18px;font-size:.92rem;line-height:1.4}.dialog__actions{flex-direction:column;gap:10px;display:flex}.home{min-height:0;padding:24px 20px calc(28px + env(safe-area-inset-bottom));flex-direction:column;flex:1;justify-content:center;gap:28px;display:flex}.home__tagline{text-align:center;color:var(--text-secondary);margin:0;font-size:.95rem}.home__actions{flex-direction:column;gap:14px;display:flex}.flow{flex-direction:column;flex:1;min-height:0;display:flex}.flow__head{flex-shrink:0;align-items:flex-start;gap:8px;padding:14px 16px 10px;display:flex}.flow__back{flex-shrink:0;padding:2px 8px;font-size:1.3rem}[dir=rtl] .flow__back{transform:scaleX(-1)}.flow__title{color:var(--text-primary);margin:0;font-size:1.1rem;line-height:1.3}.flow__subtitle{color:var(--text-secondary);margin:6px 0 0;font-size:.85rem}.flow__body{flex-direction:column;flex:1;gap:10px;min-height:0;padding:0 16px 12px;display:flex}.flow__body--scroll{overflow:hidden auto}.flow__actions{padding:12px 16px calc(14px + env(safe-area-inset-bottom));border-top:1px solid var(--border);background:color-mix(in srgb, var(--bg-secondary) 92%, transparent);flex-direction:column;flex-shrink:0;gap:10px;display:flex}.flow__input{font:inherit;border:1px solid var(--border);border-radius:var(--radius);background:var(--input-bg);width:100%;color:var(--text-primary);resize:vertical;padding:12px;font-family:inherit}.big-btn{font:inherit;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;text-align:center;width:100%;padding:16px 18px;font-size:1.02rem}.big-btn--primary{background:var(--button-bg);border-color:var(--button-bg);color:var(--button-text);box-shadow:var(--shadow);font-weight:600}.big-btn--selected{border-color:var(--accent);outline:2px solid var(--accent);outline-offset:-2px}.big-btn:disabled{opacity:.45;cursor:not-allowed}.choice-row{flex-direction:column;gap:10px;display:flex}.preset-list{flex-direction:column;gap:8px;margin:4px 0 0;padding:0;list-style:none;display:flex}.preset-btn{font:inherit;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-secondary);width:100%;color:var(--text-primary);cursor:pointer;text-align:start;padding:13px 16px}.preset-btn--selected{border-color:var(--accent);color:var(--accent)}.token-box{font-family:var(--font-mono);overflow-wrap:anywhere;border:1px solid var(--border);border-radius:var(--radius);background:var(--input-bg);max-height:34vh;color:var(--text-secondary);padding:10px;font-size:.72rem;line-height:1.5;display:block;overflow-y:auto}.plaintext-box{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius);background:var(--bubble-in);margin:0;padding:12px;font-size:1rem}.hint--warn{color:var(--warn-fg)}.screen{min-height:0;padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom));flex:1;overflow-y:auto}.screen h2{margin-top:0;font-size:1.1rem}.form{flex-direction:column;gap:12px;display:flex}.field{flex-direction:column;gap:4px;font-size:.85rem;display:flex}.field--row{flex-direction:row;align-items:center;gap:8px}.field input,.field select,.field textarea{font:inherit;border:1px solid var(--border);border-radius:var(--radius);background:var(--input-bg);color:var(--text-primary);padding:8px 10px}.field textarea{resize:vertical;font-family:inherit}.btn{font:inherit;border-radius:var(--radius);cursor:pointer;border:1px solid #0000;padding:10px 14px}.btn--primary{background:var(--button-bg);color:var(--button-text);box-shadow:var(--shadow)}.btn--secondary{background:var(--bg-secondary);border-color:var(--border);color:var(--text-primary)}.btn--ghost{color:var(--text-secondary);background:0 0}.btn--danger{background:var(--danger);color:var(--button-text)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-mini{font:inherit;border-radius:calc(var(--radius) - 2px);border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);cursor:pointer;padding:3px 8px;font-size:.72rem}.actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.hint{color:var(--text-secondary);margin:0;font-size:.8rem}.hint--error{color:var(--danger)}.hint--ok{color:var(--success)}.qr-wrap{flex-direction:column;align-items:center;gap:8px;margin-top:8px;display:flex}.qr-code{border-radius:var(--radius);background:#fff;width:280px;max-width:100%;height:auto;padding:8px}.settings-section{margin-bottom:24px}.settings-section h3{margin-bottom:8px;font-size:.95rem}.help-steps{color:var(--text-secondary);flex-direction:column;gap:6px;margin:0;padding-inline-start:1.3em;font-size:.85rem;display:flex}.visually-hidden{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.secure-keyboard{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-primary);flex-direction:column;gap:6px;padding:8px;display:flex}.secure-keyboard--rtl{direction:rtl}.secure-keyboard__toolbar{align-items:center;gap:6px;display:flex}.secure-keyboard__toolbar-gap{flex:1}.secure-keyboard__display{border-radius:calc(var(--radius) - 2px);background:var(--input-bg);min-height:3em;max-height:3em;font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;-webkit-user-select:none;user-select:none;padding:6px 8px;overflow-y:auto}.secure-keyboard__keys{flex-direction:column;gap:4px;display:flex}.secure-keyboard__row{justify-content:center;gap:4px;display:flex}.secure-key{border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);background:var(--bg-secondary);min-width:0;color:var(--text-primary);font:inherit;cursor:pointer;flex:1;padding:8px 0}@media (height<=780px){.secure-keyboard{gap:4px;padding:6px}.secure-keyboard__display{min-height:2.2em;max-height:2.2em}.secure-key{padding:6px 0}}.secure-key:disabled{opacity:.4;cursor:not-allowed}.secure-key--wide{flex:1.6}.secure-key--space{flex:3}.secure-key--active{background:var(--button-bg);color:var(--button-text)}.strict-gate{border-top:1px solid var(--border);background:var(--bg-secondary);padding:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom));flex-shrink:0;overflow-y:auto}.strict-gate h3{margin-top:0;font-size:1rem}.strict-gate__checklist{flex-direction:column;gap:6px;margin:8px 0;padding:0;list-style:none;display:flex}.strict-gate__network-warning{border-radius:var(--radius);background:var(--danger-bg);border:1px solid var(--danger-border);margin:10px 0;padding:8px 10px}
