:root{--bg:#F7F3EE;--ac:#5B8F7B;--ac2:#6B8FA3;--tx:#2C2F33;--ur:#C47B6A;--card:#fff}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--tx);font:17px/1.5 'Source Sans 3',system-ui,sans-serif;padding-bottom:84px}
h1,h2,h3,.brand{font-family:Manrope,sans-serif;margin:.4em 0}h1{font-size:28px}h2{font-size:22px}h3{font-size:18px}
main{max-width:720px;margin:0 auto;padding:16px 16px 24px}
.card{background:var(--card);border-radius:16px;padding:16px;margin:12px 0;box-shadow:0 1px 3px rgba(0,0,0,.05)}
.btn{display:block;width:100%;border:0;border-radius:14px;padding:16px;font:700 17px Manrope,sans-serif;background:var(--ac);color:#fff;margin:10px 0;cursor:pointer;text-align:center;text-decoration:none}
.btn.sec{background:#fff;color:var(--ac);border:2px solid var(--ac)}.btn.blue{background:var(--ac2)}.btn.ur{background:var(--ur)}.btn.sm{display:inline-block;width:auto;padding:8px 14px;font-size:14px;margin:4px 4px 4px 0}
input,textarea,select{width:100%;font:inherit;border:1px solid #ddd5cb;border-radius:12px;padding:12px;background:#fff;margin:6px 0}textarea{min-height:90px}
label{font-weight:600;font-size:15px}.muted{color:#7a7d80;font-size:14px}
.hero{text-align:center;padding:40px 0 10px}.hero .brand{font-size:38px;color:var(--ac);font-weight:800}
.code{font:800 44px Manrope;letter-spacing:8px;text-align:center;color:var(--ac);padding:12px}
.scores{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.scores button,.chip{border:2px solid #e3dcd2;background:#fff;border-radius:12px;padding:12px 0;font:700 18px Manrope;cursor:pointer}
.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{padding:8px 14px;font:600 15px 'Source Sans 3'}.sel{background:var(--ac)!important;color:#fff;border-color:var(--ac)!important}
.chip.neg.sel{background:var(--ac2)!important;border-color:var(--ac2)!important}
nav{position:fixed;bottom:0;left:0;right:0;background:#fff;display:flex;border-top:1px solid #eee;padding-bottom:env(safe-area-inset-bottom)}nav:empty{display:none}
nav a{flex:1;text-align:center;padding:10px 0 12px;color:#888;text-decoration:none;font:700 13px Manrope;position:relative}nav a span{display:block;font-size:22px}nav a.on{color:var(--ac)}
.badge{background:var(--ur);color:#fff;border-radius:10px;padding:1px 7px;font-size:12px;font-weight:700;margin-left:6px}nav .badge{position:absolute;top:4px;right:22%}
.net{position:sticky;top:0;z-index:9;text-align:center;font-size:13px;padding:4px;display:none}.net.off{display:block;background:var(--ur);color:#fff}.net.sync{display:block;background:var(--ac2);color:#fff}.net.ok{display:block;background:#e6efe9;color:var(--ac)}
.msgs{display:flex;flex-direction:column;gap:6px}.m{max-width:80%;padding:10px 14px;border-radius:16px;background:#fff;white-space:pre-wrap}.m.me{align-self:flex-end;background:var(--ac);color:#fff}.m small{display:block;opacity:.7;font-size:12px}
.row{display:flex;gap:8px;align-items:center}.row>*{flex:1}.li{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #f0ebe4;cursor:pointer}
.tabs{display:flex;gap:6px;overflow:auto;margin:8px 0}.tabs button{border:0;border-radius:20px;padding:8px 14px;background:#fff;font:600 14px Manrope;white-space:nowrap}.tabs .sel{color:#fff}
.bars{display:flex;align-items:flex-end;gap:3px;height:90px;margin:8px 0}.bars div{flex:1;background:var(--ac);border-radius:4px 4px 0 0;min-width:4px}
.pend{opacity:.6}.top{display:flex;justify-content:space-between;align-items:center}

.stale{position:absolute;top:-8px;right:10px;background:var(--ur);color:#fff;font:700 12px Manrope;padding:3px 10px;border-radius:10px}.stale:before{content:'● '}
nav a{font-size:12px}
.hdr{margin-bottom:6px}.lg{display:flex;align-items:center;gap:8px;font-family:Manrope}.lg small{font-size:12px}
.bell{position:relative;border:0;background:#fff;border-radius:12px;font-size:20px;padding:6px 10px;margin-right:4px;cursor:pointer}.bell .badge{position:absolute;top:-4px;right:-6px;margin:0}
.shade{position:fixed;inset:0;background:rgba(44,47,51,.35);z-index:20;opacity:0;transition:.2s}.shade.on{opacity:1}.shp{background:var(--bg);max-width:720px;margin:0 auto;padding:16px;border-radius:0 0 18px 18px;max-height:80vh;overflow:auto;transform:translateY(-100%);transition:.25s}.shade.on .shp{transform:none}
.li.nw{background:#eef5f1;border-radius:10px;padding-left:8px}
/* v0.5 compact */
body{font-size:16px;line-height:1.4}main{padding:10px 12px 20px}h1{font-size:22px}h2{font-size:19px}h3{font-size:16px;margin:.2em 0 .4em}
.card{padding:12px;margin:8px 0;border-radius:14px}.btn{padding:12px;margin:6px 0;font-size:16px;border-radius:12px}.btn.sm{padding:6px 12px;font-size:13px}
input,textarea,select{padding:10px;margin:4px 0}textarea{min-height:70px}.li{padding:8px 0}.hero{padding:24px 0 6px}
.scores button{padding:10px 0}.chip{padding:6px 12px}.bars{height:60px}.code{font-size:36px}
details.card>summary{cursor:pointer;font:700 15px Manrope;color:var(--ac);list-style:none}details.card>summary::before{content:'＋ '}details[open].card>summary::before{content:'− '}
