:root{--bg:#e8edf1;--surface:#f7f9fb;--ink:#13202b;--muted:#566574;--line:#cdd6de;--blue:#2346d8;--red:#b3261e;--head:'Bricolage Grotesque',system-ui,sans-serif;--body:'IBM Plex Sans',system-ui,sans-serif}
@media(prefers-color-scheme:dark){:root{--bg:#0f171e;--surface:#17222c;--ink:#e8eef3;--muted:#94a3b0;--line:#2a3947;--blue:#6d8bff;--red:#ff8a80}}
*{box-sizing:border-box;margin:0}body{background:var(--bg);color:var(--ink);font:16px/1.65 var(--body)}
a{color:inherit}:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.wrap{max-width:860px;margin:0 auto;padding:0 20px}
h1,h2{font-family:var(--head);letter-spacing:-.02em;line-height:1.15}
header{padding:22px 0 0}header .top{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:var(--muted)}
header .top a{text-decoration:none}
h1{font-size:clamp(32px,6vw,52px);font-weight:800;margin:18px 0 14px}
.tabs{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid var(--line)}
.tabs a{padding:8px 14px;text-decoration:none;color:var(--muted);border-bottom:3px solid transparent;margin-bottom:-1px}
.tabs a.on{color:var(--ink);border-color:var(--blue);font-weight:500}
main{padding:28px 0 60px}
.entry{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:20px 22px;margin-bottom:18px}
.meta{font-size:13.5px;color:var(--muted)}
.entry h2{font-size:23px;margin:2px 0 8px}.body{white-space:normal;max-width:68ch}
.pics{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px;margin-top:14px}
.pics img,.gal img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px;cursor:zoom-in;display:block;background:var(--line)}
.gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.gal figure{background:var(--surface);border:1px solid var(--line);border-radius:10px;overflow:hidden}
.gal figcaption{padding:6px 10px;font-size:13px;color:var(--muted)}
.acts{display:flex;gap:10px;margin-top:14px;font-size:14px}
.btn,button{font:500 15px var(--body);background:var(--blue);color:#fff;border:0;border-radius:8px;padding:9px 16px;cursor:pointer;text-decoration:none;display:inline-block}
.btn.ghost,button.ghost{background:transparent;color:var(--ink);border:1px solid var(--line)}button.del{background:transparent;color:var(--red);border:1px solid var(--line)}
details{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:14px 20px;margin-bottom:22px}
summary{cursor:pointer;font-weight:500}
form.f{display:grid;gap:12px;margin-top:14px}
label{font-size:14px;color:var(--muted);display:grid;gap:4px}
input,select,textarea{font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:9px 11px;width:100%}
textarea{min-height:150px;resize:vertical}.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.rm{display:flex;gap:10px;flex-wrap:wrap}.rm label{display:block;font-size:12px;width:84px}.rm img{width:84px;height:84px;object-fit:cover;border-radius:6px;display:block}
.err{color:var(--red);margin:10px 0}.empty{color:var(--muted);padding:30px 0;text-align:center}
footer{border-top:1px solid var(--line);padding:22px 0;font-size:14px;color:var(--muted)}
#lb{position:fixed;inset:0;background:rgba(0,0,0,.88);display:none;place-items:center;z-index:9;cursor:zoom-out}#lb.on{display:grid}#lb img{max-width:94vw;max-height:92vh;border-radius:6px}
@media(max-width:560px){.row{grid-template-columns:1fr}}

/* ===== tema developer (selaras dengan dashboard) ===== */
:root,:root{--bg:#0b1219;--surface:#132230;--ink:#e7eef5;--muted:#8da0b2;--line:#213445;--blue:#5b9dff;--accent2:#7ee0c3;--red:#ff8a80;--head:'Sora',system-ui,sans-serif;--body:'DM Sans',system-ui,sans-serif;--ease:cubic-bezier(.22,1,.36,1)}
@media(prefers-color-scheme:light){:root{--bg:#eef2f6;--surface:#fff;--ink:#0f1c28;--muted:#5a6c7d;--line:#d3dce5;--blue:#2563eb;--accent2:#0f9d7a;--red:#b3261e}}
html{scroll-behavior:smooth}
header{position:sticky;top:0;z-index:10;backdrop-filter:blur(14px);background:color-mix(in srgb,var(--bg) 78%,transparent);padding-bottom:0}
h1{font-weight:800;background:linear-gradient(100deg,var(--ink),var(--blue) 60%,var(--accent2));-webkit-background-clip:text;background-clip:text;color:transparent;font-size:clamp(28px,5vw,44px);margin:10px 0 10px}
.tabs a{transition:color .25s,border-color .25s;border-radius:8px 8px 0 0}.tabs a:hover{color:var(--ink)}
.btn,button{transition:transform .3s var(--ease),box-shadow .3s}.btn:hover,button:hover{transform:translateY(-2px);box-shadow:0 8px 22px color-mix(in srgb,var(--blue) 30%,transparent)}
.entry{border-radius:16px;position:relative;opacity:0;transform:translateY(18px);animation:up .8s var(--ease) forwards;transition:border-color .3s,transform .4s var(--ease)}
.entry:nth-of-type(2){animation-delay:.07s}.entry:nth-of-type(3){animation-delay:.14s}.entry:nth-of-type(n+4){animation-delay:.2s}
.entry:hover{border-color:var(--blue)}
.entry h2{font-weight:700}
.meta{font-family:ui-monospace,'JetBrains Mono',monospace;font-size:13px}
.pics img,.gal img{transition:transform .6s var(--ease),filter .3s}.pics img:hover,.gal img:hover{transform:scale(1.04)}
.gal figure{border-radius:14px;opacity:0;animation:up .8s var(--ease) forwards;transition:transform .4s var(--ease),border-color .3s}.gal figure:hover{transform:translateY(-4px);border-color:var(--blue)}
.gal figure:nth-child(2n){animation-delay:.08s}.gal figure:nth-child(3n){animation-delay:.16s}
details{border-radius:16px}form.f{animation:up .5s var(--ease)}
#lb{backdrop-filter:blur(6px)}#lb.on img{animation:zoom .45s var(--ease)}
@keyframes up{to{opacity:1;transform:none}}@keyframes zoom{from{opacity:0;transform:scale(.92)}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-delay:0s!important;transition-duration:.01ms!important}.entry,.gal figure{opacity:1;transform:none}}

/* ===== penyempurnaan: palet & ikon SVG ===== */
:root{--bg:#101216;--surface:#15181e;--ink:#eceff4;--muted:#8b93a1;--line:#262b34;--blue:#8b7cff;--accent2:#ffcf5a}
@media(prefers-color-scheme:light){:root{--bg:#f3f4f7;--surface:#fff;--ink:#14161c;--muted:#5b6270;--line:#d9dce4;--blue:#5b45e0}}
.ic{width:1.15em;height:1.15em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.btn,button{display:inline-flex;align-items:center;gap:9px}
h1{background:none;-webkit-background-clip:initial;background-clip:initial;color:var(--ink)}
.btn,button{color:#fff}.btn.ghost,button.ghost{color:var(--ink)}button.del{color:var(--red)}
header .top a,header .top button{display:inline-flex;align-items:center;gap:7px}
.tabs a{display:inline-flex;align-items:center;gap:8px}
summary{display:flex;align-items:center;gap:10px;list-style:none}summary::-webkit-details-marker{display:none}summary .ic{color:var(--blue)}
.entry,details{border-radius:10px}.gal figure{border-radius:10px}
@media(max-width:560px){.tabs a span{display:none}.tabs a{padding:10px 16px}}
