@font-face{font-family:"Exo 2";src:url(/fonts/exo2/Exo2-VariableFont_wght.woff2) format("woff2"),url(/fonts/exo2/Exo2-VariableFont_wght.woff) format("woff");font-weight:100 900;font-style:normal;font-display:swap}@font-face{font-family:"Exo 2";src:url(/fonts/exo2/Exo2-Italic-VariableFont_wght.woff2) format("woff2"),url(/fonts/exo2/Exo2-Italic-VariableFont_wght.woff) format("woff");font-weight:100 900;font-style:italic;font-display:swap}:root{--bg: #0b0f1a;--bg-soft: #121829;--surface: #161d31;--surface-2: #1d2640;--border: #283150;--text: #e8ecf6;--text-muted: #9aa6c4;--primary: #5b8cff;--primary-2: #8a6cff;--accent: #36d1c4;--danger: #ff5d6c;--radius: 18px;--radius-sm: 12px;--shadow: 0 18px 40px -18px rgba(0, 0, 0, .65);--maxw: 1180px;--font: "Exo 2", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--nav-bg: rgba(11, 15, 26, .72);--nav-bg-solid: rgba(11, 15, 26, .97);--inset: rgba(0, 0, 0, .15);--code-bg: rgba(0, 0, 0, .4);--pre-bg: #0a0e18;--tag-text: #b9caff;--danger-soft-text: #ffb3bb;--accent-soft-text: #8af0e6;--hero-tint-1: rgba(91, 140, 255, .16);--hero-tint-2: rgba(138, 108, 255, .14);color-scheme:dark}:root[data-theme=light]{--bg: #f5f7fc;--bg-soft: #eef2f9;--surface: #ffffff;--surface-2: #e9eefb;--border: #dbe2ef;--text: #18233f;--text-muted: #5b6884;--primary: #3a66e8;--primary-2: #7a54e8;--accent: #129b8f;--danger: #e23a4e;--shadow: 0 16px 38px -22px rgba(20, 32, 60, .22);--nav-bg: rgba(255, 255, 255, .78);--nav-bg-solid: rgba(255, 255, 255, .98);--inset: rgba(20, 30, 60, .04);--code-bg: rgba(20, 30, 60, .08);--pre-bg: #eef2f9;--tag-text: #2f55cc;--danger-soft-text: #b3203a;--accent-soft-text: #0b7d72;--hero-tint-1: rgba(58, 102, 232, .1);--hero-tint-2: rgba(122, 84, 232, .08);color-scheme:light}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;background-image:radial-gradient(900px 500px at 12% -8%,var(--hero-tint-1),transparent 60%),radial-gradient(800px 500px at 100% 0%,var(--hero-tint-2),transparent 55%);background-attachment:fixed;transition:background-color .25s ease,color .25s ease}a{color:var(--primary);text-decoration:none}a:hover{color:var(--accent)}h1,h2,h3,h4{line-height:1.15;margin:0 0 .5em;font-weight:700;letter-spacing:-.01em}img{max-width:100%;display:block}.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 22px}.page-loading{min-height:60vh;display:grid;place-items:center;color:var(--text-muted)}.text-muted{color:var(--text-muted)}.gradient-text{background:linear-gradient(100deg,var(--primary),var(--accent));-webkit-background-clip:text;background-clip:text;color:transparent}.btn{display:inline-flex;align-items:center;gap:.5em;border:1px solid transparent;border-radius:999px;padding:.7em 1.3em;font:inherit;font-weight:600;cursor:pointer;transition:transform .12s ease,background .2s ease,border-color .2s ease;color:var(--text);background:var(--surface-2)}.btn:hover{transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{background:linear-gradient(100deg,var(--primary),var(--primary-2));color:#fff}.btn-ghost{background:transparent;border-color:var(--border);color:var(--text)}.btn-ghost:hover{border-color:var(--primary);color:var(--text)}.btn-danger{background:#ff5d6c24;color:var(--danger);border-color:#ff5d6c59}.btn-sm{padding:.4em .9em;font-size:.85rem}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.nav{position:sticky;top:0;z-index:50;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:var(--nav-bg);border-bottom:1px solid var(--border)}.nav-inner{display:flex;align-items:center;justify-content:space-between;height:68px}.nav-brand{display:flex;align-items:center;gap:.6em;font-weight:800;font-size:1.1rem;color:var(--text);letter-spacing:-.02em}.nav-brand img{height:30px}.nav-actions{display:flex;align-items:center;gap:.5em}.nav-links{display:flex;align-items:center;gap:.4em}.theme-toggle{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;background:none;border:1px solid var(--border);color:var(--text);border-radius:10px;font-size:1.05rem;line-height:1;cursor:pointer;transition:border-color .2s ease,color .2s ease}.theme-toggle:hover{border-color:var(--primary);color:var(--primary)}.nav-links a{color:var(--text-muted);padding:.45em .9em;border-radius:999px;font-weight:600;font-size:.95rem}.nav-links a:hover,.nav-links a.active{color:var(--text);background:var(--surface)}.nav-toggle{display:none;background:none;border:1px solid var(--border);color:var(--text);border-radius:10px;padding:.4em .6em;font-size:1.2rem;cursor:pointer}@media (max-width: 760px){.nav-toggle{display:inline-flex}.nav-links{position:absolute;top:68px;left:0;right:0;flex-direction:column;align-items:stretch;gap:.2em;padding:14px 22px 20px;background:var(--nav-bg-solid);border-bottom:1px solid var(--border);transform:translateY(-130%);transition:transform .25s ease}.nav-links.open{transform:translateY(0)}}.footer{border-top:1px solid var(--border);margin-top:80px;padding:40px 0;color:var(--text-muted)}.footer-inner{display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;align-items:center}.footer a{color:var(--text-muted)}.footer a:hover{color:var(--text)}.hero{display:grid;grid-template-columns:1.2fr .8fr;gap:36px;align-items:center;padding:60px 0 30px}.hero h1{font-size:clamp(2.2rem,5vw,3.6rem);margin-bottom:.3em}.hero .lead{font-size:1.18rem;color:var(--text-muted);max-width:36ch}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.eyebrow{display:inline-flex;align-items:center;gap:.5em;font-size:.85rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:14px}.eyebrow .dot{width:8px;height:8px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px #36d1c42e}.hero-photo{position:relative;justify-self:center}.hero-photo .frame{width:min(360px,80vw);aspect-ratio:4 / 5;border-radius:26px;overflow:hidden;border:1px solid var(--border);box-shadow:var(--shadow);background:var(--surface)}.hero-photo .frame img{width:100%;height:100%;object-fit:cover}.hero-photo .glow{position:absolute;top:-20px;right:-20px;bottom:-20px;left:-20px;z-index:-1;background:radial-gradient(closest-side,rgba(91,140,255,.35),transparent);filter:blur(20px)}@media (max-width: 860px){.hero{grid-template-columns:1fr;text-align:center;padding-top:36px}.hero .lead{margin-inline:auto}.hero-actions{justify-content:center}.hero-photo{order:-1}}.tiles{display:grid;grid-template-columns:repeat(12,1fr);gap:20px;margin-top:24px}.tile{background:linear-gradient(180deg,var(--surface),var(--bg-soft));border:1px solid var(--border);border-radius:var(--radius);padding:22px;box-shadow:var(--shadow);position:relative;overflow:hidden}.tile.span-7{grid-column:span 7}.tile.span-5{grid-column:span 5}.tile.span-6{grid-column:span 6}.tile.span-4{grid-column:span 4}.tile.span-12{grid-column:span 12}.tile-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;gap:12px}.tile-head h2{font-size:1.25rem;margin:0}.tile-head .link{font-size:.9rem;font-weight:600;white-space:nowrap}@media (max-width: 960px){.tile.span-7,.tile.span-5,.tile.span-6,.tile.span-4{grid-column:span 12}}.contact-tile{background:linear-gradient(140deg,#5b8cff2e,#8a6cff1f)}.contact-links{display:flex;flex-direction:column;gap:10px;margin-top:8px}.contact-links a{display:flex;align-items:center;gap:.6em;color:var(--text);padding:10px 12px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--inset);font-weight:600}.contact-links a:hover{border-color:var(--primary)}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.stat{border:1px solid var(--border);border-radius:var(--radius-sm);padding:14px;background:var(--inset)}.stat .num{font-size:1.6rem;font-weight:800}.stat .label{color:var(--text-muted);font-size:.85rem}.card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;height:100%;transition:transform .15s ease,border-color .2s ease}.card:hover{transform:translateY(-3px);border-color:var(--primary)}.card-media{aspect-ratio:16 / 9;background:var(--surface-2);display:grid;place-items:center;overflow:hidden}.card-media img{width:100%;height:100%;object-fit:cover}.card-media .placeholder{font-size:2.4rem;opacity:.4}.card-body{padding:18px;display:flex;flex-direction:column;gap:10px;flex:1}.card-body h3{margin:0;font-size:1.15rem}.card-body p{margin:0;color:var(--text-muted);font-size:.95rem}.card-foot{margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:8px}.tags{display:flex;flex-wrap:wrap;gap:6px}.tag{font-size:.72rem;font-weight:600;letter-spacing:.02em;padding:3px 9px;border-radius:999px;background:#5b8cff24;color:var(--tag-text);border:1px solid rgba(91,140,255,.22)}.embla,.embla-viewport{overflow:hidden}.embla-container{display:flex;gap:18px}.embla-slide{flex:0 0 78%;min-width:0}@media (min-width: 640px){.embla-slide{flex-basis:45%}}.carousel-controls{display:flex;gap:8px}.carousel-btn{width:34px;height:34px;border-radius:50%;border:1px solid var(--border);background:var(--surface-2);color:var(--text);cursor:pointer;display:grid;place-items:center;font-size:1rem}.carousel-btn:hover{border-color:var(--primary);color:var(--text)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:22px}.page-head{padding:56px 0 12px}.page-head h1{font-size:clamp(2rem,4vw,2.8rem)}.page-head p{color:var(--text-muted);font-size:1.1rem;max-width:60ch}.article{max-width:780px;margin:0 auto;padding:40px 0 0}.article-cover{border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);margin:24px 0;max-height:420px}.article-cover img{width:100%;object-fit:cover}.article-meta{color:var(--text-muted);font-size:.9rem;display:flex;gap:14px;flex-wrap:wrap;align-items:center}.prose{font-size:1.06rem;color:var(--text)}.prose h2{margin-top:1.6em;font-size:1.5rem}.prose h3{margin-top:1.4em;font-size:1.2rem}.prose p{margin:1em 0}.prose ul,.prose ol{padding-left:1.4em}.prose li{margin:.35em 0}.prose a{text-decoration:underline;text-underline-offset:3px}.prose img{border-radius:var(--radius-sm);margin:1.2em 0;border:1px solid var(--border)}.prose blockquote{border-left:3px solid var(--primary);margin:1.2em 0;padding:.2em 1em;color:var(--text-muted)}.prose code{background:var(--code-bg);padding:.15em .4em;border-radius:6px;font-size:.9em}.prose pre{background:var(--pre-bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:16px;overflow-x:auto}.prose pre code{background:none;padding:0}.prose table{width:100%;border-collapse:collapse;margin:1.2em 0}.prose th,.prose td{border:1px solid var(--border);padding:8px 12px;text-align:left}.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin:24px 0}.gallery img{border-radius:var(--radius-sm);border:1px solid var(--border);width:100%;aspect-ratio:4 / 3;object-fit:cover}.back-link{display:inline-flex;align-items:center;gap:.4em;color:var(--text-muted);font-weight:600;margin-bottom:8px}.form{display:flex;flex-direction:column;gap:16px}.field{display:flex;flex-direction:column;gap:6px}.field label{font-weight:600;font-size:.9rem}.field .hint{color:var(--text-muted);font-size:.8rem}input,textarea,select{font:inherit;color:var(--text);background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.7em .9em;width:100%}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #5b8cff33}textarea{resize:vertical;min-height:120px}.checkbox{flex-direction:row;align-items:center;gap:10px}.checkbox input{width:auto}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media (max-width: 620px){.form-row{grid-template-columns:1fr}}.alert{padding:12px 16px;border-radius:var(--radius-sm);font-size:.95rem}.alert-error{background:#ff5d6c1f;border:1px solid rgba(255,93,108,.4);color:var(--danger-soft-text)}.alert-success{background:#36d1c41f;border:1px solid rgba(54,209,196,.4);color:var(--accent-soft-text)}.admin-shell{min-height:100vh;display:grid;grid-template-columns:240px 1fr}.admin-side{background:var(--bg-soft);border-right:1px solid var(--border);padding:24px 18px;display:flex;flex-direction:column;gap:6px}.admin-side .brand{font-weight:800;margin-bottom:18px}.admin-side a{color:var(--text-muted);padding:.6em .8em;border-radius:var(--radius-sm);font-weight:600}.admin-side a:hover,.admin-side a.active{color:var(--text);background:var(--surface)}.admin-side .spacer{flex:1}.admin-main{padding:30px;overflow-x:hidden}@media (max-width: 720px){.admin-shell{grid-template-columns:1fr}.admin-side{flex-direction:row;flex-wrap:wrap;align-items:center}.admin-side .spacer{flex:0}}.admin-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px;flex-wrap:wrap}.table{width:100%;border-collapse:collapse;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.table th,.table td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--border)}.table th{color:var(--text-muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.table tr:last-child td{border-bottom:none}.table .row-actions{display:flex;gap:8px;justify-content:flex-end}.badge{font-size:.72rem;font-weight:700;padding:2px 8px;border-radius:999px}.badge-on{background:#36d1c429;color:var(--accent-soft-text)}.badge-off{background:#9aa6c429;color:var(--text-muted)}.login-wrap{min-height:100vh;display:grid;place-items:center;padding:20px}.login-card{width:100%;max-width:380px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:30px;box-shadow:var(--shadow)}.uploader{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.uploader .preview{width:64px;height:64px;border-radius:var(--radius-sm);border:1px solid var(--border);object-fit:cover}.empty{text-align:center;color:var(--text-muted);padding:60px 20px;border:1px dashed var(--border);border-radius:var(--radius)}.section-pad{padding-top:28px}
