:root{color-scheme:light}
*{box-sizing:border-box}
body{margin:0;font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
     background:#f6f7f9;color:#1b1d21}
header{padding:20px 20px 12px;max-width:1200px;margin:0 auto}
h1{margin:0 0 4px;font-size:22px;font-weight:650;letter-spacing:-.01em}
h1 a{color:inherit;text-decoration:none}
.sub{color:#697080;font-size:13px}
nav.top{max-width:1200px;margin:0 auto;padding:0 20px 14px;display:flex;gap:14px}
nav.top a{color:#4a5160;font-size:13px;text-decoration:none;padding:5px 0;border-bottom:2px solid transparent}
nav.top a.on,nav.top a:hover{color:#1b1d21;border-color:#1b1d21}
.bar{position:sticky;top:0;z-index:20;background:rgba(246,247,249,.94);
     backdrop-filter:blur(8px);border-bottom:1px solid #e3e6ea;padding:10px 20px}
.bar .in{max-width:1200px;margin:0 auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
label{font-size:13px;color:#697080}
select,input,button,textarea{font:inherit;font-size:13px;padding:6px 9px;border:1px solid #d3d8de;
     border-radius:7px;background:#fff;color:#1b1d21}
button{cursor:pointer}
button.on{background:#1b1d21;color:#fff;border-color:#1b1d21}
.grid{max-width:1200px;margin:0 auto;padding:18px 20px 60px;
      columns:4 260px;column-gap:18px}
@media(max-width:700px){.grid{columns:1}}
.card{background:#fff;border:1px solid #e3e6ea;border-radius:12px;overflow:hidden;
      box-shadow:0 1px 2px rgba(20,24,31,.05);break-inside:avoid;margin:0 0 18px}
.card img{width:100%;display:block;background:#0b0d10;cursor:zoom-in}
.meta{padding:11px 13px 13px}
.t{font-weight:600;font-size:14px;margin-bottom:2px}
.o{font-size:12px;color:#697080}
.tags{margin-top:8px;display:flex;gap:6px;flex-wrap:wrap}
.tag{font-size:11px;background:#eef1f5;color:#4a5160;border-radius:5px;padding:2px 6px}
.notes{margin-top:8px;font-size:12.5px;color:#4a5160}
.credit{margin-top:8px;font-size:12px;color:#8a91a0;font-style:italic}
table{max-width:1200px;margin:0 auto;padding:0 20px 60px;border-collapse:collapse;width:100%}
td,th{padding:7px 10px;border-bottom:1px solid #e3e6ea;text-align:left;font-size:13px;white-space:nowrap}
th{cursor:pointer;color:#697080;font-weight:600;user-select:none}
th:hover{color:#1b1d21}
td.n{white-space:normal}
tbody tr:hover{background:#fff}
#lb{position:fixed;inset:0;background:rgba(12,14,18,.94);display:none;z-index:50;
    align-items:center;justify-content:center;flex-direction:column;padding:16px}
#lb.open{display:flex}
#lb img{max-width:100%;max-height:calc(100% - 52px);object-fit:contain}
#lb .cap{color:#dfe3e9;font-size:13px;margin-top:10px;text-align:center}
#lb .cap a{color:#8fb8ff}
.empty{max-width:1200px;margin:40px auto;padding:0 20px;color:#697080}

.panel{max-width:640px;margin:0 auto;padding:10px 20px 60px}
.panel .card{padding:18px 20px;box-shadow:0 1px 2px rgba(20,24,31,.05)}
.field{margin-bottom:14px}
.field label{display:block;margin-bottom:5px;font-weight:600;color:#1b1d21}
.field input,.field textarea{width:100%}
.field textarea{min-height:110px;resize:vertical}
.hint{color:#697080;font-size:12px;margin-top:4px}
.hp{position:absolute;left:-9999px;top:-9999px}
.error{background:#fdecec;border:1px solid #f3b9b9;color:#8a1f1f;border-radius:8px;
       padding:10px 13px;margin-bottom:14px;font-size:13px}
.notice{background:#eaf3ea;border:1px solid #b9d9b9;color:#215a21;border-radius:8px;
        padding:10px 13px;margin-bottom:14px;font-size:13px}
.badge{display:inline-block;font-size:11px;font-weight:600;border-radius:5px;padding:3px 8px;
       text-transform:uppercase;letter-spacing:.02em}
.badge.new{background:#eef1f5;color:#4a5160}
.badge.accepted{background:#eaf1fb;color:#2358a0}
.badge.scheduled{background:#fbf3df;color:#8a641a}
.badge.done{background:#eaf3ea;color:#215a21}
.badge.rejected{background:#fdecec;color:#8a1f1f}
.qrow{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-bottom:1px solid #e3e6ea}
.qrow:last-child{border-bottom:none}
.qrow img{width:110px;height:74px;object-fit:cover;border-radius:8px;background:#0b0d10;flex:none}
.qrow .body{flex:1;min-width:0}
.qrow .who{font-size:12px;color:#697080;margin-top:2px}
.qprompt{margin-top:6px;font-size:13.5px}

.like{margin-top:10px;display:inline-flex;align-items:center;gap:5px;font-size:12px;
      padding:4px 9px;border:1px solid #d3d8de;border-radius:999px;background:#fff;color:#4a5160}
.like:hover{border-color:#c0c6cd}
.like .heart{color:#c2c8d0;font-size:13px;line-height:1}
.like.on{background:#fdeef0;border-color:#f3c2ca;color:#b0304a}
.like.on .heart{color:#e0455f}
.like .n{font-variant-numeric:tabular-nums}
.like[disabled]{opacity:.6;cursor:default}
.like.capped{animation:likeShake .4s}
@keyframes likeShake{0%,100%{transform:translateX(0)}25%{transform:translateX(-3px)}75%{transform:translateX(3px)}}
