:root{--ink: #4a2408;--cream: #fff6e6;--gold: #ffcc33;--brown: #7a3d12;--panel: rgba(255, 246, 230, .94);--shadow: 0 4px 16px rgba(74, 36, 8, .18);font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink)}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;overscroll-behavior:none;background:linear-gradient(180deg,#f9e3b9,#f3c98f 55%,#e9b27a);-webkit-tap-highlight-color:transparent}#app{position:fixed;top:0;right:0;bottom:0;left:0}#gl,#labels{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block}#gl{touch-action:none}#labels{pointer-events:none}.top{position:absolute;top:calc(env(safe-area-inset-top) + 10px);left:12px;right:12px;padding:10px 14px;background:var(--panel);border-radius:16px;box-shadow:var(--shadow);max-width:520px}.brand{display:flex;align-items:center;justify-content:space-between;gap:8px}h1{margin:0;font-size:20px;font-weight:900;letter-spacing:.2px}.chip{border:2px solid var(--brown);background:transparent;color:var(--brown);border-radius:999px;font-weight:800;font-size:12px;padding:3px 10px;cursor:pointer}.join{margin:4px 0 8px;font-size:13px;line-height:1.3}.goal-row{display:flex;align-items:baseline;gap:8px;font-size:13px}.goal-row b{font-size:18px;font-weight:900}.bar{height:10px;margin:5px 0 4px;border-radius:999px;background:#7a3d1226;overflow:hidden}.bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,#f0a030,var(--gold));border-radius:999px;transition:width .8s ease}.goal small{font-size:11px;opacity:.8}.demo{margin-left:auto;padding:2px 8px;border-radius:999px;background:#3d8fb8;color:#fff;font-weight:800;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.demo[hidden]{display:none}.empty,.toast{position:absolute;left:50%;transform:translate(-50%);padding:6px 14px;border-radius:999px;font-weight:800;font-size:13px;box-shadow:var(--shadow);white-space:nowrap}.empty{top:45%;background:var(--panel)}.toast{bottom:calc(env(safe-area-inset-bottom) + 170px);background:var(--ink);color:var(--cream)}.bottom{position:absolute;left:12px;right:12px;bottom:calc(env(safe-area-inset-bottom) + 8px);max-width:520px;display:flex;flex-direction:column;gap:8px}.board{background:var(--panel);border-radius:16px;box-shadow:var(--shadow);overflow:hidden}.board-head{width:100%;display:flex;justify-content:space-between;align-items:center;border:0;background:transparent;color:var(--ink);font-weight:900;font-size:15px;padding:10px 14px;cursor:pointer}.caret{transition:transform .2s}.board.open .caret{transform:rotate(180deg)}.board ol{list-style:none;margin:0;padding:0 8px 8px;max-height:0;overflow-y:auto;transition:max-height .25s ease}.board.open ol{max-height:42vh}.board li{display:grid;grid-template-columns:26px 1fr auto;align-items:center;gap:6px;padding:7px 6px;border-radius:10px;font-size:14px;cursor:pointer}.board li:active,.board li:hover{background:#7a3d1214}.board li .rank{font-weight:900;text-align:center}.board li .count{font-weight:800;font-variant-numeric:tabular-nums}.board li .kg{font-weight:500;opacity:.7;font-size:12px;margin-left:4px}.search{display:flex;gap:6px;background:var(--panel);border-radius:16px;box-shadow:var(--shadow);padding:6px}.search input{flex:1;min-width:0;border:2px solid rgba(122,61,18,.25);border-radius:12px;padding:9px 10px;font-size:16px;background:#fff;color:var(--ink)}.search button{border:0;border-radius:12px;padding:0 12px;font-weight:800;font-size:14px;background:var(--brown);color:var(--cream);cursor:pointer;white-space:nowrap}.search button.share{background:var(--gold);color:var(--ink)}.attr{font-size:10px;opacity:.65;text-align:center}.loading{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;font-weight:900;font-size:18px;background:linear-gradient(180deg,#f9e3b9,#f3c98f);transition:opacity .4s}.loading.done{opacity:0;pointer-events:none}@media (max-width: 480px){.top{padding:8px 12px}h1{font-size:18px}.join{font-size:12px;margin:2px 0 6px}.goal small{display:block;font-size:10px;line-height:1.25}}@media (min-width: 900px){.bottom{left:auto;right:16px;width:380px}.board.open ol{max-height:60vh}}
