@font-face{font-family:"Geist";src:url(fonts/geist.woff2) format("woff2");font-weight:100 900;font-display:swap}
@font-face{font-family:"Geist Mono";src:url(fonts/geistmono.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{--bg:#0a0c11;--ink:#e7eaf2;--mut:#7e8597;--line:#e7eaf21c;--acc:#ffc46b;--card:#141821;--sans:"Geist",system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"Geist Mono",ui-monospace,"Cascadia Code",Consolas,monospace;--pad:clamp(14px,2.6vw,28px);color-scheme:dark}
#s,#fmt{display:none}
*{box-sizing:border-box}[hidden]{display:none!important}
::selection{background:var(--acc);color:#0a0c11}
body{margin:0;min-height:100vh;background:var(--bg);color:var(--ink);font:15px/1.5 var(--sans);-webkit-font-smoothing:antialiased}
body::before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;z-index:50;pointer-events:none;opacity:.05;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .9 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>")}
.nav{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:20px;flex-wrap:wrap;padding:12px var(--pad);background:var(--bg);border-bottom:1px solid var(--line)}
.wm{display:flex;align-items:center;gap:9px;margin-right:auto;font:700 1.55rem/1 var(--sans);letter-spacing:-.05em;color:var(--ink);text-decoration:none;user-select:none;-webkit-user-select:none}
.moon{width:14px;height:14px;border-radius:50%;box-shadow:inset -5px -1px 0 0 var(--acc);transform:rotate(-15deg)}
.ctl{display:flex;align-items:center;gap:22px;flex-wrap:wrap}
.nav input,.nav select{background:none;color:var(--ink);border:0;font:inherit;font-size:.9rem;outline:0;-webkit-appearance:none;appearance:none}
.nav input{width:150px;padding:5px 0;border-bottom:1px solid var(--line);border-radius:0}.nav input:focus{border-color:var(--ink)}
.nav input::placeholder{color:var(--mut)}
.nav select{color:var(--mut);cursor:pointer;padding:5px 0}.nav select:hover{color:var(--ink)}.nav option{color:#000;background:#fff}
.seg{display:flex;gap:16px}.seg button{background:none;border:0;border-bottom:1px solid transparent;color:var(--mut);padding:5px 0;font:inherit;font-size:.9rem;cursor:pointer}
.seg button:hover{color:var(--ink)}.seg .on{color:var(--ink);border-color:var(--acc)}
.intro{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;padding:clamp(28px,5vw,60px) var(--pad) clamp(20px,3vw,34px)}
h1{margin:0;max-width:15ch;font:600 clamp(2.2rem,5.8vw,4.8rem)/.98 var(--sans);letter-spacing:-.05em}
h1 em{font-style:normal;color:var(--acc)}
.meta{display:flex;flex-direction:column;align-items:flex-end;gap:3px;font:12px var(--mono);color:var(--mut)}
#g{display:flex;flex-wrap:wrap;align-items:flex-start;gap:10px;padding:0 var(--pad) 56px}
.c{position:relative;flex:none;border-radius:10px;overflow:hidden;background:var(--card);cursor:zoom-in;transition:opacity .3s}
.c.an{animation:in .7s cubic-bezier(.2,.7,.2,1) backwards;animation-delay:calc(var(--i)*50ms)}
.c img{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .4s,transform .8s cubic-bezier(.2,.7,.2,1)}.c.ok img{opacity:1}.c:hover img{transform:scale(1.035)}
.c figcaption{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;gap:10px;padding:26px 12px 10px;font:11px var(--mono);color:#fff;background:linear-gradient(transparent,#000a);opacity:0;transform:translateY(6px);transition:opacity .25s,transform .25s}
.c figcaption span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.c figcaption span:last-child{flex:none;opacity:.7}
.c:hover figcaption,.c:focus-within figcaption{opacity:1;transform:none}
.tg{position:absolute;top:8px;left:8px;display:flex;gap:4px;font:11px var(--mono)}
.tg span{background:#0a0c11cc;color:#e7eaf2;padding:2px 7px;border-radius:4px}.tg .b{color:#ffc46b;text-transform:uppercase}
.tg .no{opacity:0;transition:opacity .25s}.c:hover .no{opacity:1}
.cp{position:absolute;top:8px;right:8px;background:#0a0c11cc;color:#e7eaf2;border:0;border-radius:4px;padding:3px 8px;font:11px var(--mono);cursor:pointer;opacity:0;transition:opacity .25s}
.c:hover .cp,.cp:focus-visible{opacity:1}
:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
#empty{padding:40px var(--pad) 90px;font:600 clamp(1.6rem,3.6vw,2.6rem)/1.1 var(--sans);letter-spacing:-.04em;color:var(--mut)}
footer{position:relative;overflow:hidden;border-top:1px solid var(--line);padding:22px var(--pad) 0}
.fl{display:flex;justify-content:space-between;font:12px var(--mono);color:var(--mut)}.fl a{color:var(--mut);text-decoration:none}.fl a:hover{color:var(--ink)}
.fw{margin:26px 0 -.17em;font:700 clamp(9rem,40vw,36rem)/.78 var(--sans);letter-spacing:-.08em;color:var(--line);user-select:none;-webkit-user-select:none;pointer-events:none;white-space:nowrap}
#lb{position:fixed;top:0;left:0;right:0;bottom:0;z-index:20;display:flex;flex-direction:column;background:var(--bg);color:var(--ink);animation:fd .2s}
.top{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px var(--pad);border-bottom:1px solid var(--line)}
#nm{font:600 1.3rem/1.1 var(--sans);letter-spacing:-.03em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#mt{margin-top:4px;font:12px var(--mono);color:var(--mut)}
.x,.nv{background:none;color:var(--ink);border:1px solid var(--line);cursor:pointer;font:12px var(--mono)}.x{padding:8px 14px;border-radius:8px;flex:none}
.nv{width:44px;height:44px;border-radius:50%;font-size:1.1rem;flex:none}.x:hover,.nv:hover{border-color:var(--ink)}
.stage{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;gap:12px;padding:16px var(--pad)}
#big{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;animation:zm .3s cubic-bezier(.2,.7,.2,1)}
.tools{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;padding:12px var(--pad) 16px;border-top:1px solid var(--line)}
.tools select,.tools input,.tools button,.tools a{background:none;color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:8px 14px;font:13px var(--mono);text-decoration:none;cursor:pointer}
.tools input{width:min(340px,90vw);cursor:text}.tools option{color:#000;background:#fff}.tools .pr{background:var(--acc);color:#0a0c11;border-color:var(--acc);font-weight:600}
.tools select:hover,.tools a:hover{border-color:var(--ink)}
#t{position:fixed;left:50%;bottom:28px;transform:translate(-50%,16px);background:var(--ink);color:var(--bg);padding:9px 16px;border-radius:8px;font:12px var(--mono);opacity:0;pointer-events:none;transition:.25s;z-index:30}
#t.on{opacity:1;transform:translate(-50%,0)}
@keyframes in{from{opacity:0;transform:translateY(18px)}}@keyframes fd{from{opacity:0}}@keyframes zm{from{opacity:0;transform:scale(.98)}}
@media(max-width:700px){.nv{display:none}.nav{gap:10px}.ctl{order:3;width:100%;gap:18px}.nav input{width:110px;flex:none}#g{gap:6px}.c{border-radius:8px}.intro{flex-direction:column;align-items:flex-start}.meta{align-items:flex-start}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important}}
.dd{position:relative}
.ddb{display:flex;align-items:center;gap:7px;background:none;border:0;color:var(--mut);font:inherit;font-size:.9rem;padding:5px 0;cursor:pointer}
.ddb::after{content:"";width:5px;height:5px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px)}
.ddb:hover{color:var(--ink)}
.ddl{position:absolute;top:calc(100% + 10px);right:0;z-index:30;min-width:160px;margin:0;padding:6px;list-style:none;background:#12151d;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 50px #000a}
.dd.up .ddl{top:auto;bottom:calc(100% + 10px);left:0;right:auto}
.ddl li{padding:8px 12px;border-radius:8px;font-size:.9rem;color:var(--mut);cursor:pointer;white-space:nowrap}
.ddl li:hover{background:var(--line);color:var(--ink)}.ddl li.on{color:var(--acc)}
.tools .ddb{color:var(--ink);border:1px solid var(--line);border-radius:8px;padding:8px 14px;font:13px var(--mono)}.tools .ddb:hover{border-color:var(--ink)}
.c::after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:inherit;box-shadow:inset 0 0 0 0 var(--acc);transition:box-shadow .25s;pointer-events:none}.c:hover::after{box-shadow:inset 0 0 0 2px var(--acc)}
.lg{flex:none}
.albums{display:flex;flex-wrap:wrap;gap:8px;padding:0 var(--pad) 22px}
.ab{display:flex;gap:8px;align-items:center;background:none;border:1px solid var(--line);color:var(--mut);border-radius:99px;padding:6px 14px;font:13px var(--sans);cursor:pointer;transition:border-color .2s,color .2s}
.ab span{font:11px var(--mono);opacity:.6}.ab:hover{color:var(--ink);border-color:var(--mut)}
.ab.on{color:var(--ink);border-color:var(--acc)}.ab.on span{color:var(--acc);opacity:1}
