:root{color-scheme:dark;--bg:#101711;--panel:#1b251e;--line:#344538;--gold:#edc96e;--muted:#aebcb0}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:#f5f4e9;font:16px/1.75 system-ui,sans-serif}header,main{max-width:1240px;margin:auto;padding:24px}header{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:12px}h1{font-size:clamp(22px,4vw,36px);line-height:1.35;margin:8px 0}h2{font-size:26px}h3{line-height:1.5}p{margin:8px 0 18px}.eyebrow{font-size:11px;letter-spacing:.2em;color:var(--gold);font-weight:800}.muted,small{color:var(--muted)}button,input,select{font:inherit;border-radius:9px;padding:10px 16px;border:1px solid var(--line);background:#243027;color:inherit}button{cursor:pointer;font-weight:700}button:hover{border-color:var(--gold)}button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:3px}button:disabled{opacity:.45;cursor:default}.gold,button.selected{background:var(--gold);color:#181c15;border-color:var(--gold)}.tools{display:flex;gap:12px;flex-wrap:wrap;margin:24px 0}.tools input{flex:1;min-width:180px}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding-bottom:110px}.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;overflow:hidden}.card.chosen{border:2px solid var(--gold)}.photo{width:100%;height:230px;background:#efeee5;object-fit:contain;display:block}.body{padding:20px}.body h3{margin:8px 0}.card .body p{font-size:14px;color:var(--muted)}.actions{display:flex;gap:8px;flex-wrap:wrap}.actions button{flex:1}.dock{position:fixed;bottom:0;left:0;right:0;padding:14px 24px;background:#172119f5;backdrop-filter:blur(12px);border-top:1px solid var(--line);display:flex;justify-content:center;align-items:center;gap:24px;z-index:5}.badge{border:1px solid var(--line);padding:6px 12px;border-radius:24px;white-space:nowrap;color:var(--gold)}.notice{padding:16px 22px;background:#2b3525;border:1px solid #526043;border-radius:12px;margin:16px 0}.hidden{display:none!important}dialog{max-width:920px;width:calc(100% - 32px);max-height:92dvh;border:1px solid var(--line);border-radius:20px;background:var(--bg);color:inherit;padding:24px}dialog::backdrop{background:#000b}dialog img{max-height:45dvh;width:100%;object-fit:contain;background:#efeee5}dialog .close{float:right;margin-bottom:12px}a{color:var(--gold)}.panel{padding:24px;background:var(--panel);border:1px solid var(--line);border-radius:16px;margin:20px 0}.stats{font-size:44px;color:var(--gold)}table{border-collapse:collapse;width:100%;margin:16px 0}td,th{text-align:left;padding:12px;border-bottom:1px solid var(--line)}.error{color:#ffb4a4}.codes{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.code{padding:18px;border:1px dashed var(--line);font-family:monospace;overflow-wrap:anywhere}.toast{position:fixed;top:16px;left:50%;transform:translateX(-50%);background:#f2dba6;color:#171d15;padding:14px 22px;border-radius:12px;z-index:30;box-shadow:0 8px 30px #0009;max-width:90vw}label{display:block;margin:12px 0}footer{padding:24px;text-align:center;color:var(--muted);font-size:12px}@media(max-width:900px){.grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:570px){header,main{padding:18px}header{display:block}.badge{display:inline-block;margin-top:10px}.grid{grid-template-columns:1fr}.photo{height:260px}.dock{padding:12px;gap:12px;font-size:14px}.codes{grid-template-columns:1fr}.tools>*{width:100%}dialog{padding:18px}td,th{padding:8px}.body{padding:18px}}@media print{body{background:white;color:black}body>*:not(main){display:none}main>*:not(#codePanel){display:none!important}#codePanel{display:block!important;background:white;border:0}#codePanel button,#codePanel p{display:none}.codes{grid-template-columns:repeat(2,1fr)}.code{break-inside:avoid;color:black;border-color:black}}

.announcement{margin:20px 0;padding:20px 24px;border:2px solid var(--gold);border-left-width:6px;border-radius:12px;background:#293324;color:#f5f4e9;font-size:clamp(18px,2.5vw,23px);font-weight:700;line-height:1.7}.announcement strong{color:var(--gold)}.announcement a{color:var(--gold);text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px}.announcement a:hover{color:#fff3cf}
