:root{--ink:#10231b;--muted:#64736c;--green:#146c43;--lime:#b8f13c;--paper:#f5f8f4;--line:#dce5df;--white:#fff}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:var(--paper)}body.locked{overflow:hidden}.top{height:72px;padding:0 max(5vw,24px);display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.brand{display:flex;align-items:center;gap:10px;color:var(--ink);font-weight:850;font-size:21px;text-decoration:none}.brand span{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:var(--lime);font-size:14px}.primary,.button{border:0;border-radius:10px;background:var(--green);color:#fff;padding:12px 18px;font-weight:750;cursor:pointer;text-decoration:none;display:inline-block}.secondary{background:#e8eeea;color:var(--ink)}main{min-height:calc(100vh - 140px)}.hero{padding:78px max(5vw,24px) 62px;background:radial-gradient(circle at 84% 20%,#d9ff87 0,transparent 28%),linear-gradient(145deg,#0d2f21,#155f3e);color:#fff}.hero h1{max-width:720px;font-size:clamp(38px,6vw,72px);line-height:1.02;margin:8px 0 18px;letter-spacing:-.045em}.hero>p:not(.eyebrow){max-width:620px;color:#d8e8de;font-size:18px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:850;color:#82ad97}.hero .eyebrow{color:var(--lime)}.search{max-width:760px;margin-top:32px;display:flex;gap:10px}.search input{flex:1}.search input,input,select,textarea{width:100%;border:1px solid var(--line);border-radius:9px;padding:12px 13px;background:#fff;color:var(--ink);font:inherit}.ranking{padding:56px max(5vw,24px)}.section-title{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px}.section-title h2{margin:4px 0;font-size:32px}.tabs{display:flex;background:#e6ede8;padding:4px;border-radius:10px}.tabs button{border:0;background:transparent;padding:9px 12px;border-radius:7px;cursor:pointer}.tabs .active{background:#fff;font-weight:750;box-shadow:0 1px 5px #14231b18}.cards{display:grid;gap:12px}.card{display:grid;grid-template-columns:54px 1fr auto;align-items:center;gap:18px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:15px}.rank{font-weight:850;color:#84928b}.store{display:flex;align-items:center;gap:14px}.avatar{width:45px;height:45px;border-radius:12px;background:#e1f7b9;display:grid;place-items:center;font-weight:900;color:#27532f}.store h3{margin:0 0 5px}.store p,.score small{margin:0;color:var(--muted)}.score{text-align:right}.score strong{font-size:27px}.score span{color:var(--muted)}.score small{display:block}.notice{margin:24px max(5vw,24px) 0;padding:14px 18px;border-radius:10px}.success{background:#dff7e8;color:#155d38}.error{background:#ffe3e3;color:#8c2222}.modal[hidden]{display:none}.modal{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:18px}.backdrop{position:absolute;inset:0;background:#07150ec9}.dialog{position:relative;background:#fff;width:min(850px,100%);max-height:92vh;overflow:auto;border-radius:18px;padding:30px}.dialog h2{font-size:32px;margin:5px 0 24px}.close{position:absolute;right:18px;top:14px;border:0;background:none;font-size:30px;cursor:pointer}.grid{display:grid;gap:14px;margin-bottom:14px}.two{grid-template-columns:repeat(2,1fr)}.three{grid-template-columns:repeat(3,1fr)}label{display:grid;gap:7px;font-size:13px;font-weight:700;margin-bottom:14px}.privacy{font-size:12px;color:var(--muted);margin:-3px 0 18px}.consent{display:flex;grid-template-columns:20px 1fr;align-items:start;font-weight:500}.consent input{width:auto}.wide{width:100%}.admin{max-width:560px;margin:70px auto;padding:20px}.admin-box{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;margin-top:25px}.admin-box .button{margin-right:8px}footer{text-align:center;padding:28px;color:var(--muted)}.empty{text-align:center;color:var(--muted)}@media(max-width:680px){.top{height:64px}.top .primary{padding:10px}.hero{padding-top:54px}.search{flex-direction:column}.section-title{align-items:start;flex-direction:column}.tabs{width:100%}.tabs button{flex:1}.card{grid-template-columns:34px 1fr}.score{grid-column:2;text-align:left}.two,.three{grid-template-columns:1fr}.dialog{padding:24px 18px}}
