:root{
  color-scheme:dark;
  --bg:#070b14;
  --panel:#111827;
  --panel2:#172033;
  --text:#f8fafc;
  --muted:#94a3b8;
  --line:rgba(255,255,255,.09);
  --accent:#7c5cff;
  --accent2:#b7a9ff;
  --success:#34d399;
  --danger:#fb7185;
  --board:#238b5e;
  --safe-top:env(safe-area-inset-top,0px);
  --safe-bottom:env(safe-area-inset-bottom,0px)
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;min-height:100%;background:radial-gradient(circle at top,rgba(124,92,255,.16),transparent 32%),var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Hiragino Sans","Yu Gothic UI",sans-serif;overflow-x:hidden}
body{min-height:100dvh}
button,select,input{font:inherit}
button{border:0;color:inherit;cursor:pointer;touch-action:manipulation}
button:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid rgba(124,92,255,.4);outline-offset:2px}
#app{width:100%;max-width:520px;min-height:100dvh;margin:0 auto;position:relative}
.screen{min-height:100dvh;padding:calc(var(--safe-top) + 18px) 18px calc(var(--safe-bottom) + 24px)}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:52px;margin-bottom:18px}
.brand{display:flex;align-items:center;gap:12px}
.logo{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:linear-gradient(145deg,var(--accent),#4f46e5);font-weight:800;box-shadow:0 10px 28px rgba(124,92,255,.28)}
h1,.page-title{margin:0;font-size:1.25rem}.brand p,.subtle{margin:2px 0 0;color:var(--muted);font-size:.82rem}
.icon-btn{width:44px;height:44px;display:grid;place-items:center;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid var(--line)}
.primary-button{width:100%;min-height:58px;border-radius:19px;background:linear-gradient(135deg,var(--accent),#5b4be0);font-weight:800;font-size:1rem;box-shadow:0 14px 34px rgba(124,92,255,.26)}
.secondary-button{min-height:54px;border-radius:18px;background:var(--panel);border:1px solid var(--line);font-weight:700}
.ghost-button{min-height:44px;padding:0 12px;border-radius:14px;background:rgba(255,255,255,.06);border:1px solid var(--line);font-weight:700}
.danger-button{min-height:54px;border-radius:18px;background:rgba(251,113,133,.12);border:1px solid rgba(251,113,133,.28);color:var(--danger);font-weight:700}
button:disabled{opacity:.38;cursor:default}
.toast{position:fixed;left:50%;bottom:calc(24px + var(--safe-bottom));transform:translateX(-50%);width:min(calc(100% - 32px),420px);padding:12px 16px;border-radius:14px;background:rgba(17,24,39,.96);border:1px solid var(--line);color:#fff;text-align:center;opacity:0;pointer-events:none;z-index:100}.toast.show{opacity:1}
.settings-list{display:grid;gap:12px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:68px;padding:14px 16px;background:var(--panel);border:1px solid var(--line);border-radius:20px}.setting-copy strong{display:block}.setting-copy span{display:block;margin-top:4px;font-size:.78rem;color:var(--muted)}
.setting-row select{width:45%;min-height:48px;padding:0 12px;color:var(--text);background:var(--panel2);border:1px solid var(--line);border-radius:14px}.setting-row input{width:24px;height:24px;accent-color:var(--accent)}
.settings-save{margin-top:20px}
.auth-screen{min-height:100dvh;display:grid;align-items:center;padding:calc(var(--safe-top) + 24px) 18px calc(var(--safe-bottom) + 24px)}
.auth-panel{width:100%;padding:28px 22px;border:1px solid var(--line);border-radius:28px;background:rgba(17,24,39,.9);box-shadow:0 24px 60px rgba(0,0,0,.28);backdrop-filter:blur(18px)}
.auth-logo{width:58px;height:58px;display:grid;place-items:center;margin-bottom:18px;border-radius:19px;background:linear-gradient(145deg,var(--accent),#4f46e5);font-size:1.08rem;font-weight:900;box-shadow:0 12px 30px rgba(124,92,255,.3)}
.auth-eyebrow{margin:0 0 8px;color:var(--accent2);font-size:.72rem;font-weight:800;letter-spacing:.16em}
.auth-panel h1{font-size:1.6rem}
.auth-description{margin:10px 0 24px;color:var(--muted);line-height:1.7}
.auth-form{display:grid;gap:10px}
.auth-form label{font-size:.86rem;font-weight:700}
.auth-password-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.auth-password-row input{width:100%;min-width:0;height:54px;padding:0 14px;color:var(--text);background:var(--panel2);border:1px solid var(--line);border-radius:16px}
.auth-visibility-button{min-width:68px;padding:0 12px;border-radius:16px;background:rgba(255,255,255,.06);border:1px solid var(--line);font-size:.82rem;font-weight:700}
.auth-message{min-height:1.5em;margin:0;color:var(--muted);font-size:.82rem}
.auth-message.error{color:var(--danger)}
.auth-note{margin:18px 0 0;color:var(--muted);font-size:.76rem;text-align:center}
@media(max-width:350px){.screen{padding-left:12px;padding-right:12px}.auth-screen{padding-left:12px;padding-right:12px}.auth-panel{padding:24px 18px}}

:root[data-theme="light"]{
  color-scheme:light;
  --bg:#eef2f7;
  --panel:#ffffff;
  --panel2:#e8edf5;
  --text:#111827;
  --muted:#64748b;
  --line:rgba(15,23,42,.12);
  --accent:#6d4aff;
  --accent2:#5b42c8;
  --success:#059669;
  --danger:#e11d48;
  --board:#2b9969;
}
:root[data-theme="light"] html,:root[data-theme="light"] body{background:radial-gradient(circle at top,rgba(109,74,255,.12),transparent 32%),var(--bg)}
:root[data-theme="light"] .icon-btn{background:rgba(255,255,255,.72)}
:root[data-theme="light"] .toast{background:rgba(255,255,255,.97);color:var(--text)}
:root[data-theme="light"] .auth-panel{background:rgba(255,255,255,.9);box-shadow:0 24px 60px rgba(15,23,42,.12)}
:root[data-theme="light"] .auth-visibility-button{background:rgba(255,255,255,.72)}
