:root{font-family:Inter,ui-sans-serif,system-ui,Arial,sans-serif;color:#172137;background:#f5f7fa}*{box-sizing:border-box}body{margin:0}a{color:#1869a5;text-decoration:none}a:hover{text-decoration:underline}.shell{max-width:1200px;margin:auto;padding:0 24px}header{background:#fff;border-bottom:1px solid #e1e7ed}nav{min-height:76px;display:flex;justify-content:space-between;align-items:center;gap:16px}.brand{font-size:21px;font-weight:800;color:#172137;display:flex;align-items:center;gap:14px}.mark{background:#e62629;color:#fff;border:3px solid #f9c331;padding:8px 7px;font-size:14px;border-radius:5px;box-shadow:2px 2px 0 #c30d10}.navlinks{display:flex;align-items:center;gap:24px}.navlinks a{color:#27334a}.navlinks form{margin:0}.linkbtn{background:none;color:#1769a5;padding:0}.hero{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:42px 0 24px}.hero h1,h1{font-size:36px;line-height:1.15;margin:8px 0}.hero p{color:#667389}.eyebrow{font-size:12px;letter-spacing:2px;color:#d48d08!important;font-weight:800}.stats{display:grid;grid-template-columns:auto auto;gap:6px 15px;align-items:center;background:#fff;border:1px solid #e5e9ef;padding:22px 28px;border-radius:16px}.stats strong{font-size:26px}.stats span{color:#657289}.filters{display:flex;gap:12px;background:#fff;padding:16px;border:1px solid #e5e9ef;border-radius:14px;flex-wrap:wrap}input,select,textarea{padding:12px 14px;font:inherit;border:1px solid #d4dce6;border-radius:8px;background:#fff;color:#1e2c3e;min-width:0}textarea{width:100%;resize:vertical}input[name=q]{flex:1;min-width:200px}button,.secondary,.secondarybtn{background:#e52629;color:white;border:0;border-radius:8px;padding:12px 20px;font-weight:700;font-size:14px;cursor:pointer}.secondary,.secondarybtn{background:#e9edf3;color:#23364b;display:inline-flex;align-items:center}.muted{color:#758197;font-size:14px}.tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:22px;margin:22px 0 52px}.tile{background:#fff;border:1px solid #e6ebf0;border-radius:15px;overflow:hidden;color:inherit;box-shadow:0 5px 18px #1b355012;transition:transform .2s}.tile:hover{transform:translateY(-4px);text-decoration:none;box-shadow:0 10px 25px #1b355021}.photo{height:210px;display:flex;justify-content:center;align-items:center;background:#fff;padding:14px}.photo img,.detailphoto img{width:100%;height:100%;object-fit:contain}.placeholder{font-size:80px;opacity:.55}.tilebody{padding:16px}.chip{display:inline-block;background:#e7f1ff;border-radius:20px;font-weight:700;font-size:12px;padding:5px 11px;color:#286cb1}.tile h2{font-size:17px;line-height:1.35;min-height:44px;margin:12px 0}.sub{display:flex;justify-content:space-between;gap:10px;margin-top:9px;font-size:13px;color:#758197}.sub b{color:#172137}.detail{display:grid;grid-template-columns:1fr 1fr;gap:42px;margin:30px 0 80px}.detailphoto{height:480px;background:white;border-radius:20px;border:1px solid #e6eaf0;padding:26px;display:flex;align-items:center}.facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:26px 0}.facts div{background:white;border:1px solid #e5e9ef;padding:16px;border-radius:10px;display:grid;gap:8px}.facts small{color:#708097}.auth{max-width:430px;background:#fff;margin:70px auto;padding:30px;border-radius:14px}.auth label{display:grid;gap:8px;margin:18px 0}.auth input{width:100%}.panel{background:white;padding:25px;border-radius:14px;border:1px solid #e1e8ee;margin:22px 0 40px}.adminrow{display:flex;gap:20px;background:#fff;padding:20px;border:1px solid #e1e8ee;border-radius:12px;margin:13px 0}.mini{width:110px;height:95px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:40px}.mini img{width:100%;height:100%;object-fit:contain}.grow{flex:1;min-width:0}.grow h3{margin:0}.editform,.uploadform{display:flex;gap:8px;align-items:end;flex-wrap:wrap;margin:15px 0}.editform label,.uploadform label{font-size:13px;display:grid;gap:4px}.editform input[name=quantity]{width:80px}.editform input[name=theme]{width:160px}.editform input[name=notes]{width:230px}.danger{background:#fff;color:#c03b42;border:1px solid #f3c7c9;padding:7px 12px}.alert{margin-top:20px;padding:14px 18px;background:#e9f8ed;border-radius:8px}.alert.error{background:#ffe8e8}footer{padding-top:30px!important;padding-bottom:30px!important;color:#8b95a7;border-top:1px solid #e3e7ed;font-size:12px}@media(max-width:700px){.hero,.detail{display:block}.hero h1{font-size:29px}.stats{margin-top:18px}.detailphoto{height:280px}.navlinks{gap:12px}.brand{font-size:17px}.shell{padding:0 16px}}

/* Secondary box image shown on hover/focus, with accessible touch fallback. */
.tile .photo{position:relative;overflow:hidden}
.tile .photo img{position:absolute;inset:14px;width:calc(100% - 28px);height:calc(100% - 28px);object-fit:contain;transition:opacity .22s ease}
.tile .photo .model-image{opacity:1}
.tile .photo .box-image{opacity:0}
@media(hover:hover){.tile:hover .photo .model-image:has(+ .box-image),.tile:focus-visible .photo .model-image:has(+ .box-image){opacity:0}.tile:hover .photo .box-image,.tile:focus-visible .photo .box-image{opacity:1}}
.box-preview{width:220px;max-width:100%;height:180px;background:#fff;border:1px solid #e6ebf0;border-radius:12px;padding:12px}
.box-preview img{width:100%;height:100%;object-fit:contain}
@media(prefers-reduced-motion:reduce){.tile .photo img{transition:none}}

/* v1.2.6: compact, legible collection counters */
.stats{grid-template-columns:repeat(2,minmax(130px,1fr));gap:4px 22px;min-width:320px}.stats strong{font-size:25px;font-variant-numeric:tabular-nums}.stats span{font-size:12px;margin-bottom:10px}.hero{align-items:center}@media(max-width:700px){.stats{min-width:0;width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}}
