:root{color-scheme:dark;--brand: #4f46e5;--brand-light: #6366f1;--bg: #0b1020;--text: #f1f5f9;--muted: #94a3b8;--surface: #131a30;--border: #26304d}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100%}body{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}.landing{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:space-between;min-height:100dvh;padding:24px 24px 16px;overflow:hidden}.landing__bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:radial-gradient(60% 40% at 50% 0%,rgba(99,102,241,.35),transparent 70%),radial-gradient(40% 30% at 85% 100%,rgba(124,58,237,.25),transparent 70%),linear-gradient(180deg,#0b1020,#0e1430);pointer-events:none}.landing__brand{position:relative;z-index:1;display:flex;align-items:center;gap:10px;align-self:flex-start;margin-bottom:8vh}.landing__brand-logo{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:linear-gradient(180deg,var(--brand) 0%,var(--brand-light) 100%);color:#fff}.landing__brand-name{font-size:18px;font-weight:700;letter-spacing:.02em}.landing__hero{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;text-align:center;width:100%;max-width:420px}.landing__headline{font-size:clamp(34px,9vw,52px);line-height:1.05;letter-spacing:-.02em;margin:0 0 16px;font-weight:800}.landing__subheadline{color:var(--muted);font-size:17px;line-height:1.5;margin:0 0 32px;max-width:340px}.landing__cta{width:100%;max-width:340px}.cta{display:block;width:100%;padding:17px 24px;border:none;border-radius:16px;background:linear-gradient(180deg,var(--brand) 0%,#4338ca 100%);color:#fff;font-size:18px;font-weight:700;letter-spacing:.01em;text-align:center;text-decoration:none;cursor:pointer;box-shadow:0 10px 30px -8px #4f46e599;transition:transform .12s ease,box-shadow .12s ease;touch-action:manipulation}.cta:active{transform:scale(.97);box-shadow:0 6px 18px -8px #4f46e580}.landing__hint{margin:18px auto 0;max-width:320px;color:var(--muted);font-size:14px;line-height:1.45}.landing__footer{position:relative;z-index:1;color:#475569;font-size:13px;padding-top:16px}.ios-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:end center}.ios-modal__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:none;background:#020617b8;cursor:pointer;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.ios-modal__card{position:relative;width:100%;max-width:420px;border-radius:22px 22px 0 0;background:var(--surface);border:1px solid var(--border);border-bottom:none;padding:24px 22px 34px;animation:ios-up .22s ease}@keyframes ios-up{0%{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}.ios-modal__close{position:absolute;top:14px;right:16px;border:none;background:transparent;color:var(--muted);font-size:20px;cursor:pointer;padding:6px}.ios-modal__title{margin:0 0 22px;font-size:21px;font-weight:800;text-align:center}.ios-modal__steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;align-items:center;gap:14px}.ios-modal__step{display:flex;align-items:center;gap:16px;width:100%;padding:14px 16px;border-radius:14px;background:#0f172a;border:1px solid var(--border);text-align:left}.ios-modal__icon{flex-shrink:0;display:grid;place-items:center;color:#a5b4fc}.ios-modal__step-title{margin:0 0 2px;font-size:16px;font-weight:700}.ios-modal__step-text{margin:0;color:var(--muted);font-size:13px;line-height:1.4}.ios-modal__arrow{color:var(--muted);line-height:0}.app-placeholder{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-align:center;padding:24px}.app-placeholder p{color:var(--muted);margin:0}.auth{position:relative;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 20px}.auth__bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;background:radial-gradient(60% 40% at 50% 0%,rgba(99,102,241,.3),transparent 70%),radial-gradient(40% 30% at 85% 100%,rgba(124,58,237,.2),transparent 70%),linear-gradient(180deg,#0b1020,#0e1430);pointer-events:none}.auth__card{position:relative;z-index:1;width:100%;max-width:400px;background:var(--surface);border:1px solid var(--border);border-radius:22px;padding:28px 22px}.auth__header{margin-bottom:20px}.auth__title{margin:0;font-size:24px;font-weight:800;letter-spacing:-.01em}.auth__subtitle{margin:6px 0 0;color:var(--muted);font-size:15px;line-height:1.4}.auth-form{display:flex;flex-direction:column;gap:16px}.field{display:flex;flex-direction:column;gap:6px}.field__label{font-size:13px;font-weight:600;color:var(--muted)}.field input{width:100%;padding:14px 16px;border-radius:14px;border:1px solid var(--border);background:#0b1020;color:var(--text);font-size:16px;outline:none;transition:border-color .12s ease,box-shadow .12s ease}.field input::placeholder{color:#475569}.field input:focus{border-color:var(--brand-light);box-shadow:0 0 0 3px #6366f140}.field__error{color:#f87171;font-size:13px;line-height:1.35}.form-error{margin:0;padding:12px 14px;border-radius:12px;background:#f871711f;border:1px solid rgba(248,113,113,.35);color:#fecaca;font-size:14px;line-height:1.4}.auth-notice{margin:0 0 16px;padding:12px 14px;border-radius:12px;background:#3b82f61f;border:1px solid rgba(59,130,246,.35);color:#bfdbfe;font-size:14px;line-height:1.4}.auth-cta{margin-top:4px}.cta:disabled{opacity:.6;cursor:default;transform:none}.auth-switch{margin:18px 0 0;text-align:center;font-size:14px;color:var(--muted)}.auth-switch a{color:var(--brand-light);font-weight:600;text-decoration:none}.auth-help{margin:10px 0 0;text-align:center;font-size:13px;color:#64748b}.restore-screen{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:var(--muted);font-size:14px}.restore-screen__spinner{width:26px;height:26px;border:3px solid var(--border);border-top-color:var(--brand-light);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.app-placeholder__logout{margin-top:8px;max-width:220px}
