:root{color-scheme:dark;--bg:#101111;--panel:#191b1b;--border:#303434;--muted:#a6adaa;--ink:#f1f1e9;--accent:#d8f977;--red:#ffb39f;font-family:Inter,ui-sans-serif,system-ui,-apple-system,sans-serif;font-size:15px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink)}header{min-height:80px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:20px 4vw;gap:20px}.brand{font-size:21px;font-weight:750;letter-spacing:-.9px;color:var(--ink);text-decoration:none}.brand span{font-size:14px;color:var(--muted);font-weight:400;letter-spacing:0}main{max-width:1440px;margin:auto;padding:48px 4vw 70px}h1{font-size:clamp(36px,5vw,64px);font-weight:500;letter-spacing:-2.5px;line-height:1.05;margin:14px 0 20px}h2{font-size:24px;letter-spacing:-.7px;font-weight:500}h3{font-size:17px;font-weight:550}.eyebrow{font-family:ui-monospace,monospace;letter-spacing:2px;color:var(--accent);font-size:11px;text-transform:uppercase}.intro{max-width:650px;color:var(--muted);font-size:17px;line-height:1.6}button,.button{font:inherit;border:1px solid var(--border);border-radius:6px;padding:10px 16px;color:var(--ink);background:transparent;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;gap:7px}button:hover,.button:hover{border-color:var(--ink)}button.primary,.button.primary{background:var(--accent);border-color:var(--accent);color:#161c0b;font-weight:650}button:disabled{opacity:.4;cursor:wait}button.small,.button.small{padding:7px 11px;font-size:12px}.danger{color:var(--red)}.muted{color:var(--muted)}.row{display:flex;align-items:center;justify-content:space-between;gap:18px;flex-wrap:wrap}.actions{display:flex;gap:9px;align-items:center;flex-wrap:wrap}.panel{background:var(--panel);border:1px solid var(--border);border-radius:9px;padding:24px;margin:24px 0}.upload{border:1px dashed #637744;background:linear-gradient(120deg,#20271a,#171b18);padding:32px;border-radius:9px;margin:30px 0}.upload.drag{outline:2px solid var(--accent)}.upload h2{margin-top:0}.upload label{display:inline-flex;margin:8px 0}.upload input[type=file]{max-width:100%;font:inherit;color:var(--muted)}input::file-selector-button{font:inherit;background:#d8f977;border:0;border-radius:5px;padding:10px 15px;margin-right:12px;cursor:pointer}p{line-height:1.6}label{cursor:pointer}input,textarea,select{font:inherit;background:#121414;color:var(--ink);border:1px solid var(--border);border-radius:5px;padding:10px}textarea{width:100%;min-height:100px;resize:vertical}input[type=checkbox]{accent-color:var(--accent)}select{max-width:100%}.tabs{display:flex;gap:22px;border-bottom:1px solid var(--border);margin:40px 0 25px}.tabs button{border:0;border-bottom:2px solid transparent;border-radius:0;padding:12px 0;color:var(--muted)}.tabs button.active{color:var(--accent);border-color:var(--accent)}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:20px}.photo{background:var(--panel);border:1px solid var(--border);border-radius:7px;overflow:hidden;cursor:pointer;text-align:left;padding:0;display:block;width:100%}.photo:hover{border-color:#95a380}.photo img{width:100%;height:215px;object-fit:contain;background:#080909;display:block}.photo .caption{padding:16px}.photo h3{margin:0 0 7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.badge{display:inline-block;border:1px solid var(--border);border-radius:20px;padding:4px 9px;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--muted)}.badge.good{border-color:#53653c;color:var(--accent)}.badge.bad{border-color:#684735;color:var(--red)}progress{width:100%;height:3px;accent-color:var(--accent);margin-top:14px}.empty{border:1px solid var(--border);padding:48px 24px;border-radius:8px;text-align:center}.empty h3{font-size:22px}.model-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.model{border:1px solid var(--border);padding:16px;border-radius:6px}.model p{font-size:13px;color:var(--muted)}a{color:var(--accent)}summary{cursor:pointer;color:var(--muted);padding:12px 0}details>p{font-size:13px;color:var(--muted)}.detail-layout{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(400px,1.3fr);gap:36px;margin-top:28px}.detail-image{max-width:100%;max-height:70vh;object-fit:contain;display:block;margin:auto}.sticky{position:sticky;top:24px}.results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.result{border:1px solid var(--border);border-radius:6px;padding:18px;background:var(--panel)}.result h3{margin:6px 0}.score{font-family:ui-monospace,monospace;font-size:32px;letter-spacing:-1px;margin:16px 0 4px}.scale{font-size:11px;color:var(--muted)}.result p{font-size:13px;color:var(--muted);margin-bottom:0}.result .state{font-family:ui-monospace,monospace;font-size:12px;margin:16px 0}.section-label{margin-top:28px;border-bottom:1px solid var(--border);padding-bottom:10px}.attribute{display:grid;grid-template-columns:110px 1fr 45px;align-items:center;gap:10px;font-size:12px;margin:15px 0}.attribute progress{margin:0;height:5px}.scroll{overflow:auto}table{border-collapse:collapse;width:100%;font-size:13px;text-align:left}td,th{border-bottom:1px solid var(--border);padding:13px 12px;white-space:nowrap}th{color:var(--muted);font-weight:500}td:first-child{font-weight:600}td img{width:40px;height:40px;object-fit:cover;vertical-align:middle;margin-right:10px}th button{font-size:12px;padding:0;border:0;display:block}#notice{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);background:#d8f977;color:#1c240d;max-width:90vw;padding:15px 25px;border-radius:6px;display:none;z-index:9;white-space:pre-line;box-shadow:0 4px 30px #0006}footer{border-top:1px solid var(--border);padding:24px 4vw;color:var(--muted);font-size:10px;letter-spacing:1.5px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.login{padding:80px 0 120px;max-width:820px}.login .button{margin-top:20px}.note{border-left:2px solid #617144;padding:10px 16px;color:var(--muted);font-size:13px}.selection{display:flex;flex-wrap:wrap;gap:6px 16px;margin:12px 0 20px;font-size:13px}.selection label{display:flex;gap:6px;align-items:center}small{color:var(--muted);font-size:12px}#worker{font:11px ui-monospace,monospace;color:var(--muted)}.full{grid-column:1/-1}@media(max-width:850px){.detail-layout{grid-template-columns:1fr}.sticky{position:static}.detail-image{max-height:55vh}.brand span{display:block;font-size:11px;line-height:2}.results{grid-template-columns:1fr}main{padding-top:28px}header{padding:16px 4vw}.upload{padding:22px}.panel{padding:18px}.photo img{height:190px}}
