*{box-sizing:border-box} [hidden]{display:none!important} :root{font:16px system-ui,sans-serif;color:#153c32;background:#f3f6f4}body{margin:0}button,input,select{font:inherit}button,a,input,select{touch-action:manipulation}button{cursor:pointer}button,input,select,.link{min-height:44px;border:1px solid #bbc9c2;border-radius:12px;background:white;color:inherit;padding:10px 14px}button:hover{background:#e6eee9}button:disabled{opacity:.55;cursor:wait}:focus-visible{outline:3px solid #d88422;outline-offset:3px}.shell{max-width:680px;margin:auto;padding:24px 18px}header,.bar,.row{display:flex;align-items:center;justify-content:space-between;gap:8px}header{margin-bottom:24px}header strong{font-size:22px}h1{font-size:28px;margin:0 0 16px}h2{font-size:18px;margin:0}p{line-height:1.5}.muted,small{color:#53685e}.primary,[aria-pressed=true]{background:#123f35;color:white;border-color:#123f35}.primary:hover,[aria-pressed=true]:hover{background:#205a49}form{display:grid;gap:8px}input{width:100%;min-width:0;height:52px}.search{display:grid;grid-template-columns:1fr auto;gap:8px}.bar{margin:16px 0;flex-wrap:wrap}.bar>div{display:flex;gap:8px}.hint{font-size:13px;margin:8px 0}.status{padding:12px 0;min-height:24px}.cards{display:grid;gap:8px}.card{display:flex;align-items:center;gap:16px;text-align:left;width:100%;min-height:112px;padding:16px}.card .main{flex:1;min-width:0}.card strong,.card small{display:block;overflow-wrap:anywhere}.card strong{font-size:17px;margin-bottom:4px}.badge{flex:none;width:76px;min-height:72px;border-radius:12px;background:#e2eee6;display:flex;align-items:center;justify-content:center;flex-direction:column;padding:8px;font-size:28px;font-weight:750}.badge.text{font-size:12px;text-align:center;overflow-wrap:anywhere}.badge small{font-size:11px;font-weight:400}.poor{background:#fbe4de;color:#7b2f20}.fair{background:#fff0ca;color:#664c00}.neutral{background:#e9edef}.empty{text-align:center;padding:32px 8px}.plot{height:340px;position:relative;overflow:hidden;border:1px solid #bbc9c2;border-radius:16px;background:linear-gradient(90deg,transparent 49.7%,#c1d4c8 50%,transparent 50.3%),linear-gradient(transparent 49.7%,#c1d4c8 50%,transparent 50.3%),#e6eee7}.pin{position:absolute;transform:translate(-50%,-50%);min-width:44px;min-height:44px;padding:5px;border:2px solid white;background:#123f35;color:white;border-radius:50%;box-shadow:0 1px 4px #4567}.pin:focus,.pin:hover{z-index:2;background:#28674f}.north{position:absolute;top:8px;left:12px;font-size:12px}.preview-banner{background:#fff0ca;padding:10px 14px;border-radius:12px;font-size:13px;margin-bottom:16px}dialog{border:0;border-radius:20px;padding:24px;max-width:520px;width:calc(100% - 24px);max-height:90dvh;color:inherit}dialog::backdrop{background:#10251db3}dialog form{margin-top:16px}label{display:grid;gap:8px}dialog h2{padding-right:8px}dialog .bar{margin-top:0}.score{font-size:48px;font-weight:800;margin:16px 0}.link{display:inline-flex;align-items:center;text-decoration:none}footer{font-size:12px;line-height:1.5;margin-top:32px}#recent-section{margin-top:24px}#recent-section h2{margin-bottom:8px}@media(max-width:360px){.shell{padding-top:16px}.card{gap:8px;padding:12px}.badge{width:64px}.bar>div{gap:4px}button{padding:10px}header strong{font-size:20px}}