:root{--bg:#14161b;--panel:#1d2027;--fg:#e6e6e6;--muted:#8b93a1;--link:#7db8ff;--green:#3fb37f;--artist:#e8a33d;--character:#5bd17a;--general:#7db8ff;--meta:#e46fc4;--rating:#f2d15a}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:14px/1.45 system-ui,-apple-system,Segoe UI,sans-serif}
a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}
header.top{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:8px 14px;background:#0e1a14;border-bottom:2px solid #1e5b3d;position:sticky;top:0;z-index:5}
.logo{font-weight:800;font-size:18px;color:#c9e7d4;letter-spacing:.5px}
header nav a{margin-right:10px;color:#cfe}.search{position:relative;flex:1;display:flex;min-width:260px}
.search input{flex:1;padding:6px 8px;background:#0b0d10;border:1px solid #2f3a33;color:var(--fg);border-radius:4px 0 0 4px}
.search button{border-radius:0 4px 4px 0}
button,.btn{background:#1e5b3d;color:#fff;border:0;padding:6px 10px;border-radius:4px;cursor:pointer;font:inherit;display:inline-block}
button.link{background:none;color:var(--link);padding:0}button.danger{background:#8b2b2b}
.right{display:flex;gap:10px;align-items:center}.xtoggle{padding:3px 8px;border:1px solid #555;border-radius:12px;color:var(--muted)}
.xtoggle.on{border-color:#c44;color:#f88}.inline{display:inline}
main{padding:14px}footer{padding:20px;color:var(--muted);text-align:center;font-size:12px}
.layout{display:flex;gap:18px}.side{width:230px;flex-shrink:0}.results{flex:1;min-width:0}
.side h3{margin:14px 0 4px;font-size:13px;text-transform:uppercase;color:var(--muted)}
.taglist{list-style:none;margin:0;padding:0}.taglist li{padding:1px 0}.taglist .n{color:var(--muted);font-size:12px}
.pm{color:var(--muted);margin-right:4px;font-family:monospace}
.c-artist>a:not(.pm){color:var(--artist)}.c-character>a:not(.pm){color:var(--character)}.c-general>a:not(.pm){color:var(--general)}
.c-meta>a:not(.pm){color:var(--meta)}.c-rating>a{color:var(--rating)}
tr.c-artist a{color:var(--artist)}tr.c-character a{color:var(--character)}tr.c-meta a{color:var(--meta)}
.grid{display:flex;flex-wrap:wrap;gap:10px}.grid.small .thumb{width:110px;height:110px}
.thumb{position:relative;display:flex;align-items:center;justify-content:center;width:180px;height:200px;background:var(--panel);border-radius:6px;overflow:hidden;border:2px solid transparent}
.thumb img{max-width:100%;max-height:100%}.thumb.r-questionable{border-color:#b8962d}.thumb.r-explicit{border-color:#c33}
.thumb.o-ai{outline:2px dashed #8a6bd8;outline-offset:-4px}
.thumb .credit{position:absolute;bottom:0;left:0;right:0;background:#000a;font-size:11px;padding:2px 5px;color:#ddd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.badges{position:absolute;top:4px;right:4px;display:flex;gap:3px}.badges b{font-size:10px;padding:1px 4px;border-radius:3px;color:#fff}
.b-ai{background:#7451d6}.b-orig{background:#2e8b57}.b-unc{background:#555}.b-q{background:#a6831f}.b-e{background:#b52a2a}
.badge{display:inline-block;padding:1px 7px;border-radius:10px;font-size:12px;background:#333;color:#fff;margin-left:4px}
.badge.r-safe{background:#2b6b44}.badge.r-questionable{background:#a6831f}.badge.r-explicit{background:#b52a2a}
.full{max-width:100%;max-height:88vh;display:block;margin:8px 0;border-radius:4px}
.source-banner{background:var(--panel);padding:8px 12px;border-left:4px solid var(--artist);border-radius:4px}
.credit-box{background:var(--panel);padding:10px;border-radius:6px;display:flex;flex-direction:column;gap:3px}
.artist-big{font-size:18px;font-weight:700;color:var(--artist)}
.info{list-style:none;padding:0;margin:0}.info li{padding:2px 0;word-break:break-all}
.muted{color:var(--muted)}.err{color:#ff8a8a}.note{background:#1f2a22;padding:8px 12px;border-radius:4px}
.blocked{background:#2a1717;padding:40px;text-align:center;border-radius:6px;margin:10px 0}
.ptext{color:#bbb;border-left:3px solid #444;margin:8px 0;padding-left:10px;white-space:pre-wrap}
.pager{margin:16px 0;display:flex;gap:8px;flex-wrap:wrap}.postnav{display:flex;gap:14px;margin-bottom:8px}
.admin{background:#1b1f2a;border:1px solid #333b52;padding:10px;border-radius:6px;margin-top:16px}
.admin label,form.admin label{display:block;margin:6px 0;color:var(--muted)}
.admin input:not([type=checkbox]),.admin textarea,.admin select,.row input,.row select{width:100%;background:#0b0d10;color:var(--fg);border:1px solid #333;padding:5px;border-radius:4px;font:inherit}
.row{display:flex;gap:8px;align-items:end;flex-wrap:wrap;margin:6px 0}.row label{flex:1;min-width:140px}.row input,.row select{width:auto}
.narrow{max-width:360px}.tbl{border-collapse:collapse}.tbl td,.tbl th{padding:3px 10px;border-bottom:1px solid #2a2e36;text-align:left}
.fic{background:var(--panel);padding:10px 14px;border-radius:6px;margin-bottom:10px}.fic h2{margin:0 0 4px;font-size:17px}
.ficmeta{color:var(--muted);font-size:13px}.fictags a{display:inline-block;background:#252a33;margin:2px;padding:1px 7px;border-radius:10px;font-size:12px}
.artist-head{margin-bottom:12px}.links .btn{margin-right:6px}
.ac{position:absolute;top:100%;left:0;background:#0b0d10;border:1px solid #333;min-width:240px;display:none;z-index:9}
.ac div{padding:3px 8px;cursor:pointer}.ac div.sel,.ac div:hover{background:#1e5b3d}
@media(max-width:760px){.layout{flex-direction:column-reverse}.side{width:auto}.thumb{width:46vw;height:52vw}}
.badge.b-ai{background:#7451d6}.badge.b-orig{background:#2e8b57}.badge.b-unc{background:#555}
.thumb .play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:46px;height:46px;border-radius:50%;background:#000a;color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;padding-left:4px;pointer-events:none;border:2px solid #fffc}
.thumb .dur{position:absolute;top:4px;left:4px;background:#000c;color:#fff;font-size:11px;padding:1px 5px;border-radius:3px}
.thumb .dur:empty{display:none}
video.full{background:#000;height:auto;width:auto}
