:root{--bg: #0b0b10;--surface: #16161d;--surface-2: #20202a;--border: #2c2c38;--text: #f2f2f5;--muted: #9a9aab;--accent: #e5484d;--accent-hover: #f2555a;--accent-text: #ffffff;--danger: #ff6369;--ok: #3dd68c;--warn: #ffb224;--info: #70b8ff;--ok-bg: rgba(61, 214, 140, .12);--warn-bg: rgba(255, 178, 36, .12);--error-bg: rgba(255, 99, 105, .14);--info-bg: rgba(112, 184, 255, .1);--radius: 14px;--gutter: 16px;color-scheme:dark}@media(prefers-color-scheme:light){:root{--bg: #f5f5f7;--surface: #ffffff;--surface-2: #ececf1;--border: #dcdce4;--text: #17171c;--muted: #63636f;--accent: #d93d42;--accent-hover: #c5343a;--danger: #c9282f;--ok: #18794e;--warn: #9a5b00;--info: #0b68cb;--ok-bg: rgba(24, 121, 78, .1);--warn-bg: rgba(154, 91, 0, .1);--error-bg: rgba(201, 40, 47, .09);--info-bg: rgba(11, 104, 203, .08);color-scheme:light}}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font:16px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;overflow-x:hidden}#root{min-height:100vh;min-height:100dvh}h1,h2,h3{margin:0;line-height:1.2}h1{font-size:1.5rem}h2{font-size:1.2rem}h3{font-size:1rem}p{margin:0}button,input,select{font:inherit;color:inherit}.app{max-width:640px;margin:0 auto;padding-bottom:calc(32px + env(safe-area-inset-bottom))}.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;justify-content:space-between;padding:calc(8px + env(safe-area-inset-top)) var(--gutter) 8px;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:1.1rem}.brand img{border-radius:8px}.brand-btn{background:none;border:0;padding:0;min-height:44px;cursor:pointer}.tabs{display:flex;gap:4px;margin:4px var(--gutter) 16px;padding:4px;background:var(--surface);border-radius:12px;border:1px solid var(--border)}.tab{flex:1;min-height:44px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-weight:600;cursor:pointer}.tab-on{background:var(--surface-2);color:var(--text)}.content{padding:0 var(--gutter);display:flex;flex-direction:column;gap:16px}.center{min-height:60vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--gutter)}.narrow{max-width:420px;margin:0 auto}.center-text{text-align:center}.auth{max-width:440px;margin:0 auto;padding:calc(32px + env(safe-area-inset-top)) var(--gutter) 32px;display:flex;flex-direction:column;gap:20px}.auth .brand{justify-content:center;font-size:1.3rem}.auth-card,.stack{display:flex;flex-direction:column;gap:14px}.stack-sm{display:flex;flex-direction:column;gap:8px}.stack-lg{display:flex;flex-direction:column;gap:24px}.row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.row-end{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.grow{flex:1;min-width:0}.section-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.card.empty{display:flex;flex-direction:column;gap:12px;align-items:flex-start;color:var(--muted)}.callout{display:flex;flex-direction:column;gap:10px;border-color:var(--accent)}.list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}.list-item{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.list-item.bare{flex-wrap:nowrap}.title{font-weight:600}.muted{color:var(--muted)}.small{font-size:.875rem}.block{display:block}.ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.danger-text{color:var(--danger)!important}fieldset{border:0;margin:0;padding:0;min-width:0}legend{padding:0;margin-bottom:8px}.sub{padding-left:12px;border-left:2px solid var(--border)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 18px;border-radius:12px;border:1px solid transparent;font-weight:600;cursor:pointer;text-decoration:none;transition:background .15s,opacity .15s}.btn:disabled{opacity:.5;cursor:default}.btn-sm{min-height:44px;padding:0 12px;font-size:.925rem}.btn-block{width:100%}.btn-primary{background:var(--accent);color:var(--accent-text)}.btn-primary:not(:disabled):hover{background:var(--accent-hover)}.btn-secondary{background:var(--surface-2);border-color:var(--border)}.btn-ghost{background:transparent;color:var(--text)}.btn-ghost:not(:disabled):hover{background:var(--surface-2)}.btn-danger{background:var(--danger);color:#fff}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-size:.875rem;font-weight:600;color:var(--muted)}.field-hint{font-size:.8rem;color:var(--muted)}.field input,.field select{width:100%;min-height:48px;padding:0 14px;border-radius:12px;border:1px solid var(--border);background:var(--bg);font-size:16px}.field input:focus,.field select:focus{border-color:var(--accent);outline:none}.pw{position:relative;display:block}.pw input{padding-right:72px}.pw-toggle{position:absolute;right:4px;top:50%;transform:translateY(-50%);min-height:40px;min-width:60px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-size:.875rem;font-weight:600;cursor:pointer}.check{display:flex;align-items:center;gap:12px;min-height:44px;cursor:pointer}.check input{width:22px;height:22px;accent-color:var(--accent);flex:none}.option{display:flex;align-items:center;gap:12px;min-height:56px;padding:10px 14px;border:1px solid var(--border);border-radius:12px;background:var(--bg);cursor:pointer}.option.on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--bg))}.option input{width:20px;height:20px;accent-color:var(--accent);flex:none}.seg{display:flex;gap:4px;padding:4px;background:var(--bg);border:1px solid var(--border);border-radius:12px}.seg button{flex:1;min-height:40px;border:0;border-radius:9px;background:transparent;color:var(--muted);font-weight:600;font-size:.9rem;cursor:pointer}.seg button.on{background:var(--surface-2);color:var(--text)}.notice{padding:12px 14px;border-radius:12px;font-size:.95rem;border:1px solid transparent}.notice-info{background:var(--info-bg);border-color:color-mix(in srgb,var(--info) 30%,transparent)}.notice-ok{background:var(--ok-bg);border-color:color-mix(in srgb,var(--ok) 30%,transparent)}.notice-warn{background:var(--warn-bg);border-color:color-mix(in srgb,var(--warn) 35%,transparent)}.notice-error{background:var(--error-bg);border-color:color-mix(in srgb,var(--danger) 45%,transparent);color:var(--text)}.notice-btn{margin-top:10px;display:flex}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:.78rem;font-weight:700;background:var(--surface-2);color:var(--muted)}.badge-standard{background:var(--info-bg);color:var(--info)}.badge-kids{background:var(--ok-bg);color:var(--ok)}.avatar{display:inline-flex;align-items:center;justify-content:center;flex:none;border-radius:50%;background:var(--surface-2);line-height:1}.avatar-initial{color:#fff;font-weight:700;background:var(--muted)}.avatar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:8px}.avatar-pick{display:flex;align-items:center;justify-content:center;min-height:52px;border:2px solid transparent;border-radius:14px;background:transparent;cursor:pointer}.avatar-pick.on{border-color:var(--accent)}.tv-icon{font-size:28px;width:44px;text-align:center;flex:none}.big-icon{font-size:48px;color:var(--ok)}.recovery-key{font:600 1.15rem/1.6 ui-monospace,SF Mono,Menlo,Consolas,monospace;letter-spacing:.04em;text-align:center;padding:16px;border-radius:12px;background:var(--bg);border:1px dashed var(--border);word-break:break-word;user-select:all;-webkit-user-select:all}.spinner-wrap{display:inline-flex;align-items:center;gap:10px}.spinner{width:18px;height:18px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.modal-back{position:fixed;inset:0;z-index:20;background:#0009;display:flex;align-items:flex-end;justify-content:center;padding:var(--gutter);padding-bottom:calc(var(--gutter) + env(safe-area-inset-bottom))}.modal{width:100%;max-width:440px;background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:20px;display:flex;flex-direction:column;gap:14px}.modal-body{color:var(--muted)}@media(min-width:600px){.modal-back{align-items:center}}@media(prefers-reduced-motion:reduce){.spinner{animation-duration:2s}}
