/* Kayıt / Giriş sayfaları ortak stilleri */
*{box-sizing:border-box}
body{margin:0;background: var(--bg);font-family:'Plus Jakarta Sans',ui-sans-serif,system-ui,sans-serif;color: var(--ink)}
a{color: var(--ink);text-decoration:none}a:hover{color: var(--accent)}
@keyframes up{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.up{animation:up .6s cubic-bezier(.2,.7,.2,1) both}
.wrap{min-height:100vh;padding:14px;display:flex;flex-wrap:wrap;gap:14px}

/* Sol görsel panel */
.visual{position:relative;flex:1 1 460px;min-height:560px;border-radius: 28px;overflow:hidden;background:#0b1230;color:#fff;display:flex;flex-direction:column;justify-content:space-between;padding:40px}
.visual .grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.06) 1px,transparent 1px);background-size:44px 44px}
.visual .orb{position:absolute;left:50%;top:36%;width:640px;height:640px;margin:-320px 0 0 -320px;border-radius: 50%;background:radial-gradient(closest-side,rgba(96,165,250,.5),rgba(96,165,250,0))}
.visual .hills{position:absolute;left:0;right:0;bottom:0;height:42%;display:flex;align-items:flex-end}
.visual .hills span{flex:1;background:#101a3e}
.visual .mark{position:absolute;left:50%;top:36%;transform:translate(-50%,-50%);font-size:190px;font-weight:800;letter-spacing:-.09em;line-height:1}
.brand{position:relative;display:flex;align-items:center;gap:10px;color:#fff}
.brand:hover{color:#fff}
.brand b{width:38px;height:38px;border-radius: 11px;background: var(--bg);color: var(--ink);display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:800;letter-spacing:-.06em}
.brand span{font-size:18px;font-weight:800;letter-spacing:-.04em}
.visual h2{margin:0;font-size:42px;line-height:1.08;font-weight:800;letter-spacing:-.05em}
.perks{display:flex;flex-direction:column;gap:10px;font-size:15.5px;color:#dbeafe;font-weight:500;margin-top:18px}
.perks span::before{content:"✓";color:#93c5fd;margin-right:10px}
.visual .bottom{position:relative}

/* Sağ form alanı */
.side{flex:1 1 440px;display:flex;flex-direction:column;padding:18px 24px}
.top{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;font-size:14.5px;color: var(--muted)}
.back{display:inline-flex;align-items:center;gap:8px;background: var(--soft);border: 1px solid var(--line);font-size:14px;font-weight:700;padding:11px 16px;border-radius: 999px}
.back:hover{background: var(--soft3);color: var(--ink)}
.center{flex:1;display:flex;align-items:center;justify-content:center;padding:36px 0}
form{width:100%;max-width:440px;display:flex;flex-direction:column;gap:16px}
h1{margin:0;font-size:44px;font-weight:800;letter-spacing:-.05em}
.sub{font-size:15.5px;color: var(--muted);margin-top:8px}
.btn{font-family:inherit;cursor:pointer;border: none;display:flex;align-items:center;justify-content:center;gap:12px;font-size:16px;font-weight:700;padding:15px;border-radius: 999px;min-height:52px;transition:background .15s,transform .15s}
.btn:hover{transform:translateY(-1px)}
.btn:disabled{opacity:.6;cursor:wait;transform:none}
.btn-dark{background: var(--ink);color: var(--on-ink)}.btn-dark:hover{background: var(--ink-hover)}
.btn-blue{background: var(--accent);color: var(--on-accent);box-shadow:0 14px 30px -14px rgba(37,99,235,.7)}.btn-blue:hover{background: var(--accent-hover)}
.btn-gray{background: var(--soft);color: var(--ink);border: 1px solid var(--line)}.btn-gray:hover{background: var(--soft3)}
.g{width:22px;height:22px;border-radius: 50%;background: var(--bg);color: var(--ink);display:flex;align-items:center;justify-content:center;font-weight:800;font-size:13px}
.or{display:flex;align-items:center;gap:12px;font-size:13.5px;color: var(--muted2)}
.or::before,.or::after{content:"";flex:1;height:1px;background: var(--soft3)}
.field{display:flex;flex-direction:column;gap:7px;font-size:14.5px;font-weight:700}
.row{display:flex;justify-content:space-between;align-items:center}
.row a{font-size:14px;font-weight:600;color: var(--muted)}
.box{position:relative;display:flex}
.box svg.ico{position:absolute;left:16px;top:50%;transform:translateY(-50%);color: var(--muted2);pointer-events:none}
.in{font-family:inherit;font-size:15.5px;font-weight:500;padding:14px 16px 14px 46px;border: 1px solid var(--line);background: var(--soft2);border-radius: 14px;color: var(--ink);width:100%;transition:border-color .15s,background .15s}
.in:focus{outline: none;border-color: #2563eb;background: var(--bg);box-shadow:0 0 0 4px rgba(37,99,235,.14)}
.in.bad{border-color: #dc2626;background:#fef2f2}
.in.pw{padding-right:56px}
.eye{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:44px;height:44px;border: none;background:none;cursor:pointer;color: var(--muted);display:flex;align-items:center;justify-content:center}
.err{font-size:13.5px;font-weight:600;color: var(--bad)}
.err:empty{display:none}
.alert{background:#fef2f2;border: 1px solid #fecaca;color:#991b1b;font-size:14px;font-weight:600;padding:12px 14px;border-radius: 12px}
.alert:empty{display:none}
.check{display:flex;align-items:flex-start;gap:11px;font-size:14px;line-height:1.5;color: var(--text2);cursor:pointer;font-weight:500}
.check input{width:20px;height:20px;margin:1px 0 0;accent-color:#2563eb;flex:none}
.check a{font-weight:700;text-decoration:underline;text-underline-offset:3px}
.meter{display:flex;align-items:center;gap:10px;margin-top:2px}
.bars{flex:1;display:flex;gap:5px}
.bars span{flex:1;height:5px;border-radius: 3px;background: var(--soft3);transition:background .2s}
.meter b{font-size:12.5px;min-width:64px;text-align:right}
.rules{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px}
.rules span{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color: var(--muted2)}
.rules span::before{content:"○";width:16px;text-align:center}
.rules span.ok{color: var(--ok)}
.rules span.ok::before{content:"✓"}
.foot{text-align:center;font-size:13.5px;color: var(--muted2)}
.foot a{color: var(--muted)}
.done{width:100%;max-width:440px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px}
.done .tick{width:76px;height:76px;border-radius: 50%;background: var(--ok-bg);color: var(--ok);display:flex;align-items:center;justify-content:center}
.done p{margin:0;font-size:16px;line-height:1.6;color: var(--muted)}
.note{font-size:13px;color: var(--muted2);line-height:1.5}
[hidden]{display:none !important}

:root,[data-theme="light"]{--bg:#ffffff;--ink:#0a0a0a;--on-ink:#ffffff;--ink-hover:#27272a;--surface:#fafafa;--soft:#f0f0f2;--soft2:#f4f5f7;--soft3:#e4e4e7;--line:#e4e4e7;--line2:#ececef;--line-strong:#d4d4d8;--muted:#52525b;--muted2:#71717a;--text2:#3f3f46;--accent:#2563eb;--accent-hover:#1d4ed8;--accent-text:#1d4ed8;--accent-soft:#dbeafe;--on-accent:#ffffff;--ok:#15803d;--ok-bg:#f0fdf4;--ok-line:#bbf7d0;--bad:#b91c1c;--grid:#eceef2;--navbg:rgba(255,255,255,.82);--glow:rgba(59,130,246,.22);color-scheme:light}
[data-theme="dark"]{--bg:#09090b;--ink:#fafafa;--on-ink:#09090b;--ink-hover:#d4d4d8;--surface:#111114;--soft:#1c1c21;--soft2:#141418;--soft3:#27272a;--line:#27272a;--line2:#1f1f23;--line-strong:#3f3f46;--muted:#a1a1aa;--muted2:#8b8b94;--text2:#d4d4d8;--accent:#60a5fa;--accent-hover:#93c5fd;--accent-text:#93c5fd;--accent-soft:#172554;--on-accent:#09090b;--ok:#4ade80;--ok-bg:#052e16;--ok-line:#14532d;--bad:#f87171;--grid:#18181c;--navbg:rgba(9,9,11,.8);--glow:rgba(59,130,246,.18);color-scheme:dark}
[data-theme="blue"]{--bg:#0a1428;--ink:#eaf1ff;--on-ink:#0a1428;--ink-hover:#bfd3f5;--surface:#0f1c36;--soft:#172848;--soft2:#12213f;--soft3:#1e3358;--line:#1f3459;--line2:#192c4d;--line-strong:#2b4573;--muted:#a3b6d6;--muted2:#8aa0c4;--text2:#d0dcf0;--accent:#60a5fa;--accent-hover:#93c5fd;--accent-text:#93c5fd;--accent-soft:#1e3a8a;--on-accent:#0a1428;--ok:#4ade80;--ok-bg:#06301f;--ok-line:#14532d;--bad:#f87171;--grid:#13234a;--navbg:rgba(10,20,40,.8);--glow:rgba(96,165,250,.25);color-scheme:dark}
[data-theme="purple"]{--bg:#110b1f;--ink:#f4f0ff;--on-ink:#110b1f;--ink-hover:#d8ccff;--surface:#181030;--soft:#22183f;--soft2:#1c1438;--soft3:#2d2152;--line:#2e2350;--line2:#261c45;--line-strong:#44357a;--muted:#b8acd9;--muted2:#9d90c4;--text2:#e0d8fb;--accent:#a78bfa;--accent-hover:#c4b5fd;--accent-text:#c4b5fd;--accent-soft:#3b2a77;--on-accent:#110b1f;--ok:#4ade80;--ok-bg:#0b2e1c;--ok-line:#14532d;--bad:#f87171;--grid:#1c1436;--navbg:rgba(17,11,31,.8);--glow:rgba(167,139,250,.25);color-scheme:dark}
.thm{display:flex;align-items:center;gap:2px;padding:3px;border:1px solid var(--line);border-radius:999px;background:var(--surface)}.thb{width:38px;height:38px;border:none;background:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}.thb:hover{background:var(--soft)}.thb span{width:20px;height:20px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(127,127,127,.35)}.thb[aria-pressed="true"] span{outline:2px solid var(--accent);outline-offset:3px}
