:root{--bg: #0b1220;--panel: #111a2e;--text: #eaf0ff;--muted: #9fb0d7;--line: #243251;--accent: #67b8ff;--accent-2: #84f4d5;--ok: #3fd48c;--warn: #f7c66a}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);background:radial-gradient(circle at top right,#132647 0%,var(--bg) 40%);line-height:1.55}a{color:inherit;text-decoration:none}.container{width:min(1080px,92vw);margin:0 auto}.narrow{width:min(760px,92vw)}.site-header{position:sticky;top:0;z-index:30;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0b1220b3;border-bottom:1px solid rgba(255,255,255,.08)}.nav{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:1rem}.brand{font-weight:800}nav{display:flex;gap:1rem;flex-wrap:wrap}nav a{color:var(--muted);font-weight:500}.hero{padding:5rem 0 2rem}.hero-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:1.25rem}.eyebrow{color:var(--accent-2);font-weight:600;margin-bottom:.5rem}h1{font-size:clamp(1.9rem,3vw,3.1rem);line-height:1.15;margin:0}.lead{color:var(--muted);font-size:1.05rem;margin-top:1rem}.actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.25rem}.btn{border:1px solid var(--line);padding:.68rem 1rem;border-radius:.7rem;font-weight:600}.btn:hover{border-color:var(--accent)}.btn.primary{background:linear-gradient(120deg,var(--accent),#6de2ff);color:#03142c;border-color:transparent}.section{padding:2.3rem 0}.section-subtitle{color:var(--muted);margin-top:-.4rem;margin-bottom:1.15rem}.muted{background:#080d1899;border-top:1px solid rgba(255,255,255,.05);border-bottom:1px solid rgba(255,255,255,.05)}.card{background:linear-gradient(180deg,#ffffff08,#ffffff03);border:1px solid var(--line);border-radius:1rem;padding:1rem 1.1rem}.quick-facts ul,.project ul,.contact-list{margin:.5rem 0 0;padding-left:1rem}.project{margin-top:1rem}.project-link{display:block;margin-top:1rem}.project-link .project{margin-top:0;transition:transform .2s ease,border-color .2s ease}.project-link:hover .project,.project-link:focus-visible .project{transform:translateY(-2px);border-color:var(--accent)}.project-head{display:flex;justify-content:space-between;align-items:center;gap:.75rem;flex-wrap:wrap}.project h3{margin:0}.tag{font-size:.78rem;border-radius:999px;padding:.2rem .55rem;border:1px solid;white-space:nowrap}.tag.implemented{border-color:#3fd48c8c;color:var(--ok)}.tag.mixed{border-color:#f7c66a8c;color:var(--warn)}.links{color:var(--muted);font-size:.92rem}.skills-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.site-footer{padding:1.5rem 0 2rem;color:var(--muted);font-size:.92rem}.project-page{padding:4rem 0 2.5rem}.back-link{display:inline-block;color:var(--accent-2);margin-bottom:1rem;font-weight:600}.project-meta{display:flex;flex-wrap:wrap;gap:.6rem;margin:.75rem 0 1rem}.meta-pill{border:1px solid var(--line);border-radius:999px;padding:.2rem .6rem;font-size:.82rem;color:var(--muted)}.content-stack{display:grid;gap:.9rem}.content-stack h2,.content-stack h3{margin:0 0 .4rem}.image-placeholder{border:1px dashed var(--line);border-radius:.9rem;padding:1.1rem;color:var(--muted)}.image-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}.image-slot{border:1px dashed var(--line);border-radius:.8rem;min-height:170px;position:relative;display:grid;place-items:center;overflow:hidden;background:#ffffff05;color:var(--muted);text-align:center;padding:.75rem}.image-slot img{width:100%;height:100%;object-fit:cover}.gallery-carousel{display:grid;gap:.65rem}.gallery-frame{border:1px solid var(--line);border-radius:.8rem;overflow:hidden;min-height:280px;background:#ffffff05}.gallery-frame img{width:100%;height:100%;min-height:280px;object-fit:cover;display:block}.gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.gallery-controls .btn{padding:.45rem .75rem}.gallery-counter{color:var(--muted);font-size:.9rem}.inline-edit-btn{border:1px solid var(--line);background:#0e1729eb;color:var(--accent-2);border-radius:.45rem;font-size:.78rem;padding:.1rem .4rem;cursor:pointer;margin-left:.45rem}.inline-edit-btn:hover{border-color:var(--accent)}.image-slot .inline-edit-btn{position:absolute;top:.45rem;right:.45rem;margin-left:0;z-index:2}.inline-toolbar{position:fixed;right:1rem;bottom:1rem;z-index:50;border:1px solid var(--line);border-radius:.85rem;background:#080d18f5;padding:.75rem;display:grid;gap:.55rem;width:min(360px,92vw)}.inline-toolbar .title{margin:0;font-size:.92rem;color:var(--accent-2)}.inline-toolbar .row{display:flex;flex-wrap:wrap;gap:.45rem}.inline-toolbar .status{margin:0;color:var(--muted);font-size:.82rem}.auth-shell{min-height:100vh;display:grid;place-items:center;padding:2rem 1rem}.auth-card{width:min(520px,92vw)}.field{margin-top:.85rem}.field label{display:block;font-weight:600;margin-bottom:.35rem}.field input,.field textarea{width:100%;border:1px solid var(--line);border-radius:.6rem;background:#0000002e;color:var(--text);padding:.65rem .75rem;font:inherit}.field textarea{min-height:280px;resize:vertical}.admin-row{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.9rem}.notice{margin-top:.75rem;color:var(--muted);font-size:.93rem}.notice.error{color:#ff9ca2}.notice.success{color:#8bf2c8}@media(max-width:860px){.hero-grid,.skills-grid,.image-grid{grid-template-columns:1fr}.hero{padding-top:3rem}}.inline-delete-btn{border:1px solid #a14758;background:#471822eb;color:#ffb5bf;border-radius:.45rem;font-size:.78rem;padding:.1rem .4rem;cursor:pointer;margin-left:.3rem}.inline-delete-btn:hover{border-color:#e15f79}.image-slot .inline-delete-btn{position:absolute;top:.45rem;right:2.3rem;margin-left:0;z-index:2}.custom-section-head{display:flex;align-items:center;flex-wrap:wrap;gap:.35rem;margin-bottom:.5rem}.custom-section-head h2{margin:0}
