:root{--clay:#b4552d;--sand:#f7f4ef;--card:#fff;--ink:#201a15;--ink-soft:#6d6259;--line:#e4dbd0;--green:#2f6b4f;--amber:#9a6b1f;--red:#b23b3b}*{box-sizing:border-box}body{background:var(--sand);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}button{font:inherit;cursor:pointer}.state{min-height:100dvh;color:var(--ink-soft);text-align:center;place-content:center;padding:24px;display:grid}.login{place-content:center;min-height:100dvh;padding:24px;display:grid}.login form{background:var(--card);border:1px solid var(--line);border-radius:14px;flex-direction:column;gap:6px;width:min(340px,90vw);padding:28px;display:flex}.login h1{margin:0;font-size:22px}.login__sub{color:var(--ink-soft);margin:0 0 14px;font-size:14px}.login label{margin-top:8px;font-size:13px;font-weight:600}.login input{border:1px solid var(--line);font:inherit;border-radius:8px;padding:9px 11px}.login button[type=submit]{background:var(--clay);color:#fff;border:0;border-radius:8px;margin-top:16px;padding:10px;font-weight:600}.login__switch{color:var(--ink-soft);background:0 0;border:0;margin-top:8px;font-size:13px;text-decoration:underline}.login__error{color:var(--red);margin:10px 0 0;font-size:13px}.login__notice{color:var(--green);margin:10px 0 0;font-size:13px}.page{max-width:1100px;margin:0 auto;padding:24px 20px 80px}.head{border-bottom:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:18px;display:flex}.head h1{margin:0;font-size:26px}.head__sub{color:var(--ink-soft);margin:2px 0 0;font-size:14px}.head__right{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.head__right button{border:1px solid var(--line);background:var(--card);border-radius:8px;padding:7px 13px;font-size:14px}.head__right button:hover{border-color:var(--clay);color:var(--clay)}.score{flex-direction:column;align-items:flex-end;margin-right:6px;line-height:1.2;display:flex}.score strong{color:var(--clay);font-size:24px}.score span{color:var(--ink-soft);font-size:12px}.gaps{background:#fdf7ef;border:1px solid #e8d5b8;border-radius:12px;margin:22px 0;padding:16px 18px}.gaps h2{color:var(--amber);margin:0 0 8px;font-size:15px}.gaps ul{columns:2;column-gap:28px;margin:0;padding:0;font-size:14px;list-style:none}.gaps li{break-inside:avoid;padding:2px 0}.gaps__where{color:var(--ink-soft);margin-right:6px}.gaps__where:after{content:" ›"}.block{margin-top:34px}.block__head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.block__head h2{margin:0;font-size:20px}.block__meta{align-items:center;gap:10px;display:flex}.block__count{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:13px}.pill{border-radius:99px;padding:3px 10px;font-size:12px}.pill--done{color:var(--green);background:#e6f0ea}.pill--partial{color:var(--amber);background:#fdf1dd}.pill--empty{color:var(--ink-soft);background:#f0ebe4}.stack{flex-direction:column;gap:16px;display:flex}.card{background:var(--card);border:1px solid var(--line);break-inside:avoid;border-radius:12px;padding:18px}.card__title{margin:0 0 14px;font-size:17px}.facts{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px 22px;margin:14px 0 0;display:grid}.fact--wide{grid-column:1/-1}.facts dt{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.03em;align-items:baseline;gap:6px;font-size:12.5px;font-weight:600;display:flex}.fact__opt{text-transform:none;letter-spacing:0;opacity:.7;font-weight:400}.facts dd{white-space:pre-wrap;margin:3px 0 0}.missing{color:#b58a5a;font-style:italic}.photos{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin:4px 0 0;display:grid}.photo{border:1px solid var(--line);background:var(--sand);border-radius:9px;margin:0;overflow:hidden}.photo img{aspect-ratio:10/7;object-fit:cover;width:100%;display:block}.photo__video{aspect-ratio:10/7;color:#fff;background:#2b2620;place-content:center;font-size:13px;display:grid}.photo figcaption{background:var(--card);justify-content:space-between;align-items:center;gap:8px;padding:5px 8px;font-size:12px;display:flex}.photo__meta{color:var(--ink-soft);font-variant-numeric:tabular-nums}.photo__dl{color:var(--clay);font-weight:600;text-decoration:none}.photo__dl:hover{text-decoration:underline}@media print{body{background:#fff}.head__right,.photo__dl{display:none}.page{max-width:none;padding:0}.card,.block{break-inside:avoid}.gaps{background:#fff}}@media (width<=700px){.gaps ul{columns:1}}
