*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,"Noto Sans JP",sans-serif;background:#f5f8f6;color:#1b352f}header{background:linear-gradient(135deg,#0d352e,#26594b);color:white;padding:35px max(20px,calc((100vw - 1050px)/2))}header a{color:#bfe8d3}h1{font-size:clamp(1.65rem,4vw,2.6rem);line-height:1.4}main{max-width:1060px;margin:auto;padding:22px 15px 80px}.lead{color:#365a51;line-height:1.8}.panel{background:white;border:1px solid #dce8e1;border-radius:18px;padding:18px;margin:18px 0;box-shadow:0 6px 28px #14382a0a}.controls{display:flex;gap:12px;flex-wrap:wrap;align-items:end}.controls label{flex:1 1 170px}label{font-weight:700;font-size:.92rem}input,select,button{font:inherit}input,select{width:100%;padding:11px;border:1px solid #aec9bb;border-radius:10px;margin-top:6px;min-width:0}button{border:0;border-radius:11px;background:#175f4b;color:white;padding:11px 14px;cursor:pointer;font-weight:700}button.secondary{background:#e5f1eb;color:#134d3d}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #e4b44d}.actions{display:flex;flex-wrap:wrap;gap:9px}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,285px),1fr));gap:14px}.card{background:white;border:1px solid #dce8e1;border-radius:16px;padding:17px;min-width:0}.card h2{font-size:1.12rem;line-height:1.5;margin:7px 0}.meta{color:#45685b;font-size:.85rem}.scores{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:14px}.scores label{font-size:.79rem}.scores select{padding:9px 5px}.result{display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid #dce8e1;margin-top:14px;padding-top:11px;font-weight:800}.result strong{font-size:1.4rem;color:#0c664c}.card a{color:#0d664f;overflow-wrap:anywhere}.note{font-size:.83rem;color:#476a5b}.muted{color:#567266}#vote-status{min-height:1.3em}.empty{padding:28px;text-align:center}.pill{border-radius:99px;background:#e5f3e9;padding:5px 9px;font-size:.78rem}.warn{background:#fff6dc;border-left:4px solid #d9a443;padding:13px;line-height:1.7}@media(max-width:390px){header{padding:24px 16px}.panel{padding:14px}.scores{gap:5px}.scores select{padding:8px 3px}.controls{gap:8px}.actions button{flex:1 1 42%}}