﻿:root{color-scheme:dark;--bg:#0b1018;--panel:#161f2a;--line:#2c3e50;--text:#edf4fa;--mute:#97aabc;--cyan:#8ad8db}*{box-sizing:border-box}html{font-family:system-ui,Segoe UI,Arial,sans-serif}body{margin:0;color:var(--text);background:radial-gradient(ellipse 1000px 500px at 30% -20%,#1b3e57,transparent),var(--bg);user-select:none;-webkit-user-select:none}img,canvas{pointer-events:none;-webkit-user-drag:none}button,input,select{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--cyan)}.top{padding:16px 28px;min-height:83px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line)}.brand{display:flex;gap:15px;align-items:center}.star{font-size:38px;color:var(--cyan)}small,.eyebrow{font-size:10px;letter-spacing:1.8px;color:#97b3c8;font-weight:700}.brand h1{margin:4px 0;font:500 23px Georgia,serif}.right{display:flex;align-items:center;gap:16px}.pill{font-size:10px;letter-spacing:1px;border:1px solid #457278;padding:8px 12px;border-radius:20px;color:#b3e8df}.textbutton{border:1px solid var(--line);color:var(--text);background:#172534;border-radius:6px;padding:8px 12px}.shell{max-width:1650px;margin:auto;padding:0 24px}.hero{padding:44px 0 32px;display:flex;justify-content:space-between;gap:25px;align-items:end}.hero h2{font:400 clamp(30px,3.5vw,49px)/1.1 Georgia,serif;margin:12px 0}.hero em{color:var(--cyan)}.hero p{color:var(--mute);max-width:650px}.stats{display:flex;gap:12px}.stats>div{padding:14px 20px;border-left:1px solid var(--line)}.stats strong{display:block;font:500 30px Georgia,serif}.layout{display:grid;grid-template-columns:210px minmax(330px,1fr) 345px;gap:22px}.sidebar,.details{background:linear-gradient(150deg,#172330,#121a25);border:1px solid var(--line);border-radius:12px;padding:19px;align-self:start}.sidebar{position:sticky;top:20px}.sidebar label,.login label{display:block;color:#abbfce;margin:20px 0 7px;font-size:12px}.sidebar input,.sidebar select,.controls select,.login input{width:100%;background:#0c1621;border:1px solid #385064;color:var(--text);border-radius:7px;padding:11px;min-height:42px}.note,.notice{font-size:11px;color:#a9bac7;line-height:1.7;margin-top:28px;border-top:1px solid var(--line);padding-top:15px}.details{position:sticky;top:20px}.details h3{font:500 23px Georgia,serif;word-break:break-word}.muted{color:var(--mute);font-size:12px}.listheading{display:flex;justify-content:space-between;align-items:end;gap:15px;margin-bottom:19px}.listheading h3{font:500 27px Georgia,serif;margin:6px 0}.result{font-size:12px;color:var(--cyan);background:#192a36;padding:8px;border-radius:7px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(152px,1fr));gap:12px}.card{display:block;text-align:left;color:var(--text);border:1px solid #33475a;background:#151f2b;border-radius:10px;overflow:hidden;width:100%;padding:0;transition:border-color .2s}.card:hover,.card.active{border-color:#8bdcdc}.card .pic{height:142px;display:flex;justify-content:center;align-items:center;background:#1a2838;position:relative}.card canvas{height:100%;width:100%;image-rendering:pixelated}.card .tag{position:absolute;top:7px;left:7px;font-size:9px;letter-spacing:.5px;background:#0d1a27d8;padding:3px 6px;color:#a9f2ec;border-radius:4px}.card .bottom{padding:9px}.card strong{display:block;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card small{display:block;letter-spacing:0;font-weight:400;margin:6px 0;color:#92a9ba}.more{display:block;width:100%;padding:13px;background:#1d3041;border:1px solid #34586b;color:#b2e4e7;border-radius:8px;margin:20px 0}.more[hidden]{display:none}.canvaswrap{border:1px solid var(--line);border-radius:8px;background:#1b2732}.canvaswrap canvas{display:block;width:100%;aspect-ratio:460/400;image-rendering:pixelated}.controls{display:flex;gap:7px;margin-top:12px}.controls select{flex:1;min-width:0}.controls button{padding:10px;color:#e4f1f4;background:#204250;border:1px solid #436876;border-radius:6px}.progress{display:flex;align-items:center;gap:10px;margin-top:12px;color:#9bafbe;font-size:11px}.progress input{flex:1;accent-color:#7ad4d0}footer{border-top:1px solid var(--line);max-width:1650px;margin:55px auto 0;padding:25px;color:var(--mute);display:flex;justify-content:space-between;font-size:11px}.login-page{display:grid;place-items:center;min-height:100vh}.login{width:min(440px,94vw);background:#15212d;border:1px solid #3d5d70;border-radius:16px;padding:40px;box-shadow:0 25px 100px #0008}.login h1{font:500 30px Georgia,serif}.login p{color:var(--mute)}.login button{margin:20px 0;width:100%;background:#265769;color:#e8fcfd;border:1px solid #5c9ca0;border-radius:8px;padding:12px;font-weight:700}.login #error{color:#f4a5a5;font-size:12px;margin:4px 0}.login small{letter-spacing:0}.login label{margin-top:25px}@media(max-width:1120px){.layout{grid-template-columns:200px 1fr}.details{grid-column:1/-1;position:static}.hero{flex-direction:column;align-items:stretch}}@media(max-width:660px){.top{align-items:flex-start;flex-direction:column}.shell{padding:12px}.layout{display:block}.sidebar,.details{position:static;margin-bottom:24px}.grid{grid-template-columns:repeat(2,1fr)}.stats{margin-top:10px}.hero{padding:22px 0}.right{flex-wrap:wrap}footer{padding:16px}}
@media print{body{display:none!important}}
.reset-filters{display:block;width:100%;margin-top:16px;padding:10px;border:1px solid #3c6172;border-radius:8px;background:#1b3141;color:#d3eff1;transition:background .15s}
.reset-filters:hover{background:#294a5c}
.empty{padding:48px 16px;border:1px dashed #496273;border-radius:12px;color:var(--mute);text-align:center}
.empty[hidden]{display:none}
.snapshot{display:block;margin-top:5px;color:#9bb4c3;font-size:10px;letter-spacing:0;font-weight:500}
.view-settings{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px;margin-top:13px}
.view-settings label{font-size:11px;color:#b5c9d5}
.view-settings select{display:block;width:100%;min-width:0;min-height:40px;margin-top:6px;padding:9px;background:#0c1621;border:1px solid #385064;border-radius:7px;color:var(--text)}
.card{transition:border-color .15s,transform .15s,box-shadow .15s}
.card:hover{transform:translateY(-2px);box-shadow:0 10px 25px #0004}
.card.active{box-shadow:0 0 0 1px #8bdcdc99;background:#1b2c38}
.card:focus-visible,.reset-filters:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
.card .pic,.canvaswrap{background-image:linear-gradient(45deg,#ffffff08 25%,transparent 25%),linear-gradient(-45deg,#ffffff08 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#ffffff08 75%),linear-gradient(-45deg,transparent 75%,#ffffff08 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0}
@media(prefers-reduced-motion:reduce){.card,.reset-filters{transition:none}.card:hover{transform:none}}
