@import"https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;700&display=swap";:root{--accent: #00bfff;--bg: #0a0a0a;--bg-root: #0b0d12;--card: #141414;--card-alt: #0a0f15;--border: #2a2a2a;--border-soft: #1f1f1f;--text: #ffffff;--text-secondary: #c9ced4;--text-muted: #7c7c7c;--placeholder: #6c6c6c;--danger: #f64d4d;--warning: #e0a846;--success: #2f8b57;--radius: 14px;--nav-h: 64px}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{margin:0;background:var(--bg-root);color:var(--text);font-family:Montserrat,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;overflow-x:hidden}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}input,button,textarea{font-family:inherit}.app-shell{width:100%;max-width:720px;margin:0 auto;min-height:var(--app-h, 100%);background:var(--bg);display:flex;flex-direction:column}.screen{flex:1;padding:16px 20px calc(var(--nav-h) + 24px)}.screen-title{font-size:22px;font-weight:700;margin:8px 0 16px}.card{background:var(--card);border-radius:var(--radius);border:1px solid var(--border-soft)}.row{display:flex;align-items:center}.spacer{flex:1}.field-label{font-size:13px;color:var(--text-secondary);margin:14px 0 6px;font-weight:500}.input{width:100%;background:var(--card);border:1px solid var(--border);border-radius:12px;color:var(--text);font-size:16px;padding:14px 16px;outline:none}.input::placeholder{color:var(--placeholder)}.input:focus{border-color:var(--accent)}.btn{width:100%;border:none;border-radius:12px;padding:16px;font-size:16px;font-weight:600;color:#04121a;background:var(--accent)}.btn:disabled{opacity:.45}.btn-ghost{background:transparent;border:1px solid var(--border);color:var(--text)}.btn-danger{background:var(--danger);color:#fff}.hint{font-size:12px;color:var(--text-muted)}.error-text{color:var(--danger);font-size:13px;margin-top:8px}.chip{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font-size:12px;font-weight:600}.center-fill{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:32px;text-align:center}.spinner{width:34px;height:34px;border:3px solid rgba(255,255,255,.15);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loader{--color-1: #fff;--color-2: #0a0a0a;--size: 1.6px;position:relative;width:calc(108 * var(--size));display:flex;justify-content:space-between}.loader:after,.loader:before{content:"";display:inline-block;width:calc(48 * var(--size));height:calc(48 * var(--size));background-color:var(--color-1);background-image:radial-gradient(circle calc(14 * var(--size)),var(--color-2) 100%,transparent 0);background-repeat:no-repeat;border-radius:50%;animation:eyeMove 10s infinite,blink 10s infinite}@keyframes eyeMove{0%,10%{background-position:0 0}13%,40%{background-position:calc(-15 * var(--size)) 0}43%,70%{background-position:calc(15 * var(--size)) 0}73%,90%{background-position:0 calc(15 * var(--size))}93%,to{background-position:0 0}}@keyframes blink{0%,10%,12%,20%,22%,40%,42%,60%,62%,70%,72%,90%,92%,98%,to{height:calc(48 * var(--size))}11%,21%,41%,61%,71%,91%,99%{height:calc(18 * var(--size))}}@keyframes shk{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes routeFwd{0%{opacity:0;transform:translate(22px)}to{opacity:1;transform:translate(0)}}@keyframes routeBack{0%{opacity:0;transform:translate(-22px)}to{opacity:1;transform:translate(0)}}.route-anim{animation-duration:.28s;animation-timing-function:cubic-bezier(.22,.61,.36,1)}.route-anim.fwd{animation-name:routeFwd}.route-anim.back{animation-name:routeBack}@keyframes overlayFade{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.route-anim{animation:none}}.preset-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.preset{padding:14px 0;border-radius:12px;background:var(--card);border:1px solid var(--border);color:var(--text);font-weight:600;font-size:15px}.preset.active{border-color:var(--accent);color:var(--accent)}
