:root{--bg:#f7f9fc;--paper:#fff;--ink:#0f172a;--muted:#5b6577;--faint:#8a94a6;--line:#e5e9f0;--line-strong:#cfd6e2;--sea:#4f8cff;--teal:#38d6c4;--teal-ink:#1a9d8d;--err:#d64561;--ok:#1a9d8d;--radius:18px}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font:15px/1.55 -apple-system,Segoe UI,system-ui,Roboto,sans-serif}a{color:var(--sea);text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%}button,input,textarea{font:inherit;color:inherit}.wrap{width:min(1120px,100%);margin:0 auto;padding:0 24px}.mono{font-family:ui-monospace,Consolas,monospace;font-size:12px}.small{font-size:13px}.muted{color:var(--muted)}.grow{flex:1;min-width:0}code{background:#eef2f8;border-radius:6px;padding:1px 6px;font-family:ui-monospace,Consolas,monospace;font-size:12.5px}.top{z-index:10;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);background:#f7f9fcd9;position:sticky;top:0}.top .wrap{align-items:center;gap:24px;height:62px;display:flex}.brand{color:var(--ink);align-items:center;gap:10px;font-size:16px;font-weight:700;display:flex}.brand:hover{text-decoration:none}.brand .light{color:var(--muted);font-weight:500}.mark{background:linear-gradient(135deg, var(--sea), var(--teal));border-radius:50%;width:26px;height:26px;box-shadow:0 6px 16px -6px #4f8cffb3}.top nav{align-items:center;gap:18px;margin-left:auto;display:flex}.top nav a{color:var(--muted);font-weight:500}.top nav a.cta{background:linear-gradient(92deg, var(--sea), var(--teal));color:#fff;border-radius:999px;padding:8px 16px}.top nav a.cta:hover{filter:brightness(1.05);text-decoration:none}.foot{border-top:1px solid var(--line);color:var(--muted);margin-top:80px;padding:28px 0 40px;font-size:13px}.hero{max-width:720px;padding:64px 0 28px}.hero h1{letter-spacing:-.02em;margin:0 0 12px;font-size:40px}.hero p{color:var(--muted);margin:0 0 22px;font-size:17px}.search{gap:8px;max-width:520px;display:flex}.search input{border:1px solid var(--line-strong);background:var(--paper);border-radius:999px;outline:none;flex:1;padding:11px 18px}.search input:focus{border-color:var(--sea);box-shadow:0 0 0 4px #4f8cff1f}.search button{background:var(--ink);color:#fff;cursor:pointer;border:0;border-radius:999px;padding:0 18px;font-weight:600}.cats{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.cats a{border:1px solid var(--line);background:var(--paper);color:var(--muted);border-radius:999px;padding:6px 12px;font-size:13px}.cats a.on{background:var(--ink);color:#fff;border-color:var(--ink)}.cats a:hover{border-color:var(--line-strong);text-decoration:none}section h2{letter-spacing:-.01em;align-items:baseline;gap:10px;margin:34px 0 14px;font-size:20px;display:flex}.count{color:var(--faint);font-size:13px;font-weight:500}.grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;display:grid}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);align-items:flex-start;gap:14px;padding:16px;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex}.card:hover{border-color:var(--line-strong);text-decoration:none;transform:translateY(-2px);box-shadow:0 20px 40px -28px #0f172a59}.card img,.icon-ph{object-fit:contain;background:#eef2f8;border-radius:12px;flex:none;width:48px;height:48px}.card .name{align-items:center;gap:6px;font-weight:600;display:flex}.card .summary{color:var(--muted);margin-top:2px;font-size:13.5px;line-height:1.45}.card .meta{color:var(--faint);margin-top:8px;font-size:12px}.badge{color:var(--sea);align-items:center;gap:4px;display:inline-flex}.badge.big{vertical-align:middle;background:#4f8cff1a;border-radius:999px;padding:3px 10px;font-size:13px;font-weight:600}.empty{background:var(--paper);border:1px dashed var(--line-strong);border-radius:var(--radius);text-align:center;color:var(--muted);padding:40px}.listing{padding-top:40px}.headrow{align-items:flex-start;gap:22px;display:flex}.bigicon{object-fit:contain;background:#eef2f8;border-radius:22px;flex:none;width:88px;height:88px}.listing h1{letter-spacing:-.02em;flex-wrap:wrap;align-items:center;gap:12px;margin:0;font-size:32px;display:flex}.listing .summary{color:var(--muted);margin:6px 0 10px;font-size:17px}.listing .meta{color:var(--faint);flex-wrap:wrap;gap:14px;font-size:13px;display:flex}.listing .meta a{color:var(--sea)}.add{cursor:pointer;color:#fff;background:linear-gradient(92deg, var(--sea), var(--teal));white-space:nowrap;border:0;border-radius:999px;justify-content:center;align-items:center;padding:12px 22px;font-weight:600;display:inline-flex;box-shadow:0 12px 28px -14px #4f8cffe6}.add:hover{filter:brightness(1.05);text-decoration:none}.add:disabled{opacity:.7;cursor:default}.add.ghost{color:var(--faint);box-shadow:none;background:#eef2f8}.shots{gap:12px;margin:26px 0 6px;padding-bottom:6px;display:flex;overflow-x:auto}.shots img{border:1px solid var(--line);border-radius:14px;flex:none;height:280px}.cols{grid-template-columns:1fr 300px;gap:40px;margin-top:26px;display:grid}@media (max-width:800px){.cols{grid-template-columns:1fr}.headrow{flex-wrap:wrap}}.desc p{color:var(--ink);line-height:1.7}aside h3{text-transform:uppercase;letter-spacing:.06em;color:var(--faint);margin:22px 0 8px;font-size:13px}aside h3:first-child{margin-top:0}aside ul{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.page{width:min(920px,100%);margin:0 auto;padding:32px 24px 80px}.page .head{align-items:center;gap:14px;margin-bottom:18px;display:flex}.page .head h1{letter-spacing:-.02em;flex:1;margin:0;font-size:24px}.page h2{margin:0 0 6px;font-size:17px}.page h3{color:var(--muted);margin:22px 0 8px;font-size:14px}.page .card{margin-bottom:18px;padding:0;display:block;box-shadow:none!important;transform:none!important}.page .card.pad{padding:20px 22px}.page .sub{color:var(--muted);margin:0 0 12px;font-size:13px}.row{border-top:1px solid var(--line);color:var(--ink);align-items:center;gap:14px;padding:14px 20px;display:flex}.row:first-child{border-top:0}.row.link:hover{background:#f3f6fb;text-decoration:none}.row .icon{object-fit:contain;background:#eef2f8;border-radius:10px;width:36px;height:36px}.row .icon.placeholder{display:inline-block}.title{font-weight:600}.pill{color:var(--muted);white-space:nowrap;background:#eef2f8;border-radius:999px;padding:2px 10px;font-size:12px}.pill.ok{color:var(--teal-ink);background:#1a9d8d1f}.btn{background:var(--paper);border:1px solid var(--line-strong);cursor:pointer;color:var(--ink);white-space:nowrap;border-radius:999px;align-items:center;gap:8px;padding:8px 16px;font-weight:500;display:inline-flex}.btn:hover{background:#f3f6fb;text-decoration:none}.btn.primary{background:var(--ink);color:#fff;border-color:var(--ink)}.btn.primary:hover{background:#1e293b}.btn.danger:hover{background:var(--err);color:#fff;border-color:var(--err)}.btn.small{padding:5px 12px;font-size:13px}.btn:disabled{opacity:.5;cursor:default}.stack{flex-direction:column;gap:12px;display:flex}.field label,label{color:var(--muted);margin-bottom:5px;font-size:12.5px;display:block}input[type=text],input:not([type]),input[type=password],textarea{background:var(--paper);border:1px solid var(--line-strong);border-radius:10px;outline:none;width:100%;padding:9px 12px}input:focus,textarea:focus{border-color:var(--sea);box-shadow:0 0 0 4px #4f8cff1f}.grid2{grid-template-columns:1fr 1fr;gap:12px 16px;display:grid}.drop{border:1px dashed var(--line-strong);cursor:pointer;color:var(--muted);border-radius:12px;align-items:center;gap:12px;padding:16px;font-size:14px;display:flex}.drop input{opacity:0;width:1px;height:1px;position:absolute}.chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--line);cursor:pointer;color:var(--ink);border-radius:999px;align-items:center;gap:6px;margin:0;padding:5px 12px;font-size:13px;display:inline-flex}.chip:has(input:checked){border-color:var(--sea);color:var(--sea);background:#4f8cff1a}.chip input{margin:0}.actions{justify-content:flex-end;display:flex}.inline{align-items:center;gap:12px;margin-top:12px;display:flex}.shots .shot{flex:none;position:relative}.shots .shot form{position:absolute;bottom:8px;left:8px}.err{color:var(--err);margin:0;font-size:13px}.ok{color:var(--ok);margin:0;font-size:13px}.login{max-width:380px;margin:12vh auto}.login h1{font-size:22px}
