*{box-sizing:border-box;margin:0;padding:0}:root{--bg:#f5f7fb;--surface:#fff;--surface-2:#f8fafc;--text:#111827;--text-2:#374151;--muted:#6b7280;--border:rgba(15,23,42,.10);--blue:#185FA5;--blue-2:#378ADD;--blue-bg:#E6F1FB;--green:#3B6D11;--green-bg:#EAF3DE;--red:#E24B4A;--red-bg:#FCEBEB;--warn:#BA7517;--warn-bg:#FAEEDA;--shadow:0 12px 36px rgba(15,23,42,.08);--shadow-soft:0 1px 3px rgba(15,23,42,.06),0 1px 2px rgba(15,23,42,.04)}html[data-theme="dark"]{--bg:#0f172a;--surface:#111827;--surface-2:#1f2937;--text:#f8fafc;--text-2:#cbd5e1;--muted:#94a3b8;--border:rgba(255,255,255,.12);--blue:#93c5fd;--blue-2:#3b82f6;--blue-bg:rgba(59,130,246,.14);--green:#86efac;--green-bg:rgba(34,197,94,.12);--red:#fca5a5;--red-bg:rgba(239,68,68,.13);--warn:#facc15;--warn-bg:rgba(250,204,21,.12);--shadow:0 12px 36px rgba(0,0,0,.32);--shadow-soft:0 1px 3px rgba(0,0,0,.35),0 1px 2px rgba(0,0,0,.25)}body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;background:radial-gradient(circle at top left,rgba(55,138,221,.16),transparent 340px),linear-gradient(180deg,var(--surface) 0%,var(--bg) 100%);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased}html[data-theme="dark"] body{background:radial-gradient(circle at top left,rgba(59,130,246,.18),transparent 340px),linear-gradient(180deg,#0f172a 0%,var(--bg) 100%)}a{color:inherit}.nav{min-height:58px;background:var(--surface);border-bottom:.5px solid var(--border);display:flex;align-items:center;gap:16px;padding:10px 24px;position:sticky;top:0;z-index:100}.nav-brand{display:flex;align-items:center;gap:9px;text-decoration:none;flex-shrink:0}.nav-icon{width:31px;height:31px;background:var(--blue-bg);color:var(--blue);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:17px}.nav-logo{font-size:17px;font-weight:700;color:var(--text);letter-spacing:-.3px}.nav-logo span{color:var(--blue)}.nav-sep{width:.5px;height:22px;background:var(--border);flex-shrink:0}.nav-menu{display:flex;align-items:center;gap:4px;flex-shrink:0}.nav-menu a{color:var(--muted);text-decoration:none;font-size:13px;font-weight:600;padding:8px 9px;border-radius:8px;display:flex;align-items:center;gap:5px;white-space:nowrap}.nav-menu a:hover{color:var(--blue);background:var(--blue-bg)}.theme-toggle{margin-left:auto;width:35px;height:35px;border:.5px solid var(--border);background:var(--surface-2);color:var(--muted);border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:18px;flex-shrink:0}.mobile-toggle{display:none;margin-left:auto;width:36px;height:36px;border:.5px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:9px;align-items:center;justify-content:center;font-size:20px;cursor:pointer}.container{max-width:1180px;margin:0 auto;padding:42px 20px}.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:28px;align-items:center;padding:36px 0 34px}.hero-badge{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border:1px solid var(--border);background:var(--blue-bg);color:var(--blue);border-radius:999px;font-size:13px;font-weight:700;margin-bottom:18px}.hero h1{font-size:56px;line-height:1.05;letter-spacing:-2px;margin-bottom:16px}.hero p{color:var(--muted);font-size:17px;max-width:680px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.btn{border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:12px;padding:11px 16px;font-size:14px;font-weight:800;text-decoration:none;display:inline-flex;align-items:center;gap:8px;cursor:pointer}.btn.primary{background:#185FA5;color:#fff;border-color:#185FA5}html[data-theme="dark"] .btn.primary{background:#2563eb;border-color:#2563eb}.profile-card,.card,.admin-card{background:var(--surface);border:1px solid var(--border);border-radius:22px;padding:22px;box-shadow:var(--shadow)}.profile-card{display:grid;gap:14px}.avatar{width:76px;height:76px;border-radius:22px;background:var(--blue-bg);color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:34px}.profile-card h2{font-size:22px}.profile-card p{color:var(--muted);font-size:14px}.profile-tags{display:flex;flex-wrap:wrap;gap:8px}.tag{background:var(--surface-2);border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:5px 9px;font-size:12px;font-weight:700;text-decoration:none}.section{padding:28px 0}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:16px}.section-head h2{font-size:28px;letter-spacing:-.8px}.section-head p{color:var(--muted);font-size:14px}.project-card{background:var(--surface);border:1px solid var(--border);border-radius:22px;padding:22px;box-shadow:var(--shadow);display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center}.project-icon{width:52px;height:52px;border-radius:16px;background:var(--blue-bg);color:var(--blue);display:flex;align-items:center;justify-content:center;font-size:27px}.project-card h3{font-size:20px;margin-bottom:5px}.project-card p{color:var(--muted);font-size:14px}.posts-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.post-card{background:var(--surface);border:1px solid var(--border);border-radius:20px;overflow:hidden;box-shadow:var(--shadow-soft);text-decoration:none;display:flex;flex-direction:column;min-height:230px}.post-cover{height:110px;background:linear-gradient(135deg,var(--blue-bg),var(--surface-2));display:flex;align-items:center;justify-content:center;color:var(--blue);font-size:38px}.post-body{padding:16px;display:grid;gap:8px}.post-meta{color:var(--muted);font-size:12px;display:flex;gap:8px;flex-wrap:wrap}.post-body h3{font-size:17px;line-height:1.3}.post-body p{color:var(--muted);font-size:13px}.article{max-width:860px;margin:0 auto;background:var(--surface);border:1px solid var(--border);border-radius:24px;padding:28px;box-shadow:var(--shadow)}.article h1{font-size:42px;line-height:1.1;margin:12px 0}.article-content{color:var(--text-2);font-size:16px;line-height:1.8;margin-top:22px}.article-content pre,.article-content code{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;padding:12px;display:block;overflow:auto}.form-grid{display:grid;gap:14px}.form-row{display:grid;gap:7px}label{font-size:13px;font-weight:800;color:var(--muted)}input,select,textarea{width:100%;border:1px solid var(--border);background:var(--surface-2);color:var(--text);border-radius:12px;padding:12px 13px;font-size:14px;outline:none}textarea{min-height:260px;resize:vertical;font-family:Consolas,monospace}.admin-layout{display:grid;grid-template-columns:230px 1fr;gap:18px}.admin-menu{background:var(--surface);border:1px solid var(--border);border-radius:20px;padding:12px;box-shadow:var(--shadow-soft);height:max-content}.admin-menu a{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:12px;color:var(--muted);text-decoration:none;font-size:14px;font-weight:700}.admin-menu a:hover{background:var(--blue-bg);color:var(--blue)}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px;border-bottom:1px solid var(--border);text-align:left;font-size:14px}.table th{color:var(--muted);font-size:12px;text-transform:uppercase}.notice{padding:12px 14px;border-radius:14px;background:var(--green-bg);color:var(--green);margin-bottom:14px;font-weight:700;font-size:14px}.error{padding:12px 14px;border-radius:14px;background:var(--red-bg);color:var(--red);margin-bottom:14px;font-weight:700;font-size:14px}
.bio-card{
    background:var(--surface);
    border:1px solid var(--border);
    border-radius:24px;
    padding:22px;
    box-shadow:var(--shadow);
    display:grid;
    grid-template-columns:320px 1fr;
    gap:24px;
    align-items:stretch;
}

.bio-profile{
    background:var(--surface-2);
    border:1px solid var(--border);
    border-radius:20px;
    padding:18px;
    display:flex;
    flex-direction:column;
    gap:14px;
}

.bio-photo{
    width:100%;
    aspect-ratio:1 / 1;
    border-radius:18px;
    background:linear-gradient(135deg,var(--blue-bg),var(--surface));
    border:1px solid var(--border);
    display:flex;
    align-items:center;
    justify-content:center;
    color:var(--blue);
    font-size:74px;
    overflow:hidden;
}

.bio-photo img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.bio-profile h3{
    font-size:22px;
    margin-bottom:4px;
}

.bio-profile p{
    color:var(--muted);
    font-size:14px;
}

.bio-content{
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.bio-content h3{
    font-size:28px;
    line-height:1.25;
    letter-spacing:-.8px;
    margin-bottom:14px;
}

.bio-content p{
    color:var(--text-2);
    font-size:15px;
    line-height:1.75;
    margin-bottom:12px;
}

@media(max-width:980px){
    .bio-card{
        grid-template-columns:1fr;
    }

    .bio-photo{
        max-height:380px;
    }

    .bio-content h3{
        font-size:24px;
    }
}

.footer{max-width:1180px;margin:42px auto 0;border-top:1px solid var(--border);padding:26px 20px;color:var(--muted);font-size:13px;display:flex;justify-content:space-between;gap:20px}@media(max-width:980px){.nav{display:grid;grid-template-columns:auto 1fr auto;gap:12px;padding:10px 16px}.nav-brand{grid-column:1;grid-row:1}.theme-toggle{grid-column:2;grid-row:1;margin-left:auto}.mobile-toggle{display:flex;grid-column:3;grid-row:1;margin-left:0}.nav-sep{display:none}.nav-menu{display:none;grid-column:1/-1;grid-row:2;flex-direction:column;align-items:stretch;gap:4px;background:var(--surface-2);border:.5px solid var(--border);border-radius:12px;padding:8px;width:100%;margin:0}.nav-menu.open{display:flex}.nav-menu a{padding:10px 12px}.hero,.project-card,.admin-layout{grid-template-columns:1fr}.hero h1{font-size:38px}.posts-grid{grid-template-columns:1fr}.section-head,.footer{flex-direction:column;align-items:flex-start}.article{padding:20px}.article h1{font-size:30px}}
