:root{--bg:#faf9f6;--surface:#fffefb;--ink:#26221c;--ink-2:#5d574d;--muted:#8a8378;--border:#e6e1d8;--border-strong:#cbc4b6;--accent:#0f766e;--accent-deep:#115e59;--on-accent:#fff;--ok:#4a7020;--ok-soft:#e4e9d9;--warn:#8a6508;--warn-soft:#eee7d5;--bad:#b03a44;--bad-soft:#f3e1e0;--neutral-soft:#edeae3;--radius:6px;--radius-card:10px;--font:"Plus Jakarta Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}*{box-sizing:border-box}html,body{margin:0}body{background:var(--bg);color:var(--ink);font:15px/1.55 var(--font)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.topbar{position:sticky;top:0;z-index:20;background:var(--surface);border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px;padding:3px 16px}.brand{font-weight:800;letter-spacing:-.02em;color:var(--accent);font-size:15px}.camp{font-weight:700;font-size:14px}.camp select{font:inherit;font-weight:700;border:1px solid var(--border);background:var(--bg);color:var(--ink);border-radius:var(--radius);padding:3px 7px;font-size:14px}.topbar .sp{flex:1}.topbar .me{color:var(--muted);font-size:13px}.wrap{max-width:1600px;margin:0;padding:4px 20px 80px}.wrap.shifted{margin-right:35rem}.controls{display:flex;flex-wrap:wrap;gap:7px;align-items:center;margin-bottom:8px}.controls input,.controls select{font:inherit;font-size:12.5px;background:var(--surface);color:var(--ink-2);border:1px solid var(--border);border-radius:var(--radius);padding:4px 7px}.controls input[type=search]{flex:none;width:230px;min-width:0}.seg{display:flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.seg button{font:inherit;font-size:12px;border:0;background:var(--surface);color:var(--ink-2);padding:4px 9px;cursor:pointer}.seg button.on{background:var(--accent);color:var(--on-accent)}.count{color:var(--muted);font-size:12.5px;margin:8px 2px 14px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:12px}.rows{display:flex;flex-direction:column;gap:7px}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-card);padding:15px 16px;display:flex;flex-direction:column;gap:7px;min-width:0}.card.warm{border-left:3px solid var(--ok)}.card.known{border-left:3px solid var(--warn)}.nm{font-weight:700;font-size:17px;letter-spacing:-.01em;line-height:1.25}.co{color:var(--ink-2);font-size:14px}.words{color:var(--ink-2);font-size:13.5px;line-height:1.5}.spacer{flex:1}.rel{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;border-radius:20px;padding:2px 10px;align-self:flex-start}.rel.warm{background:var(--ok-soft);color:var(--ok)}.rel.known{background:var(--warn-soft);color:var(--warn)}.rel.cold{background:var(--neutral-soft);color:var(--muted)}.foot{display:flex;flex-wrap:nowrap;gap:6px;align-items:center;border-top:1px solid var(--border);padding-top:7px;margin-top:2px;overflow:hidden;white-space:nowrap}.foot .city{color:var(--muted);font-size:12px;flex:0 0 auto}.foot .who{margin-left:auto}select.inline{font:inherit;font-size:12.5px;border:1px solid var(--border);background:var(--bg);color:var(--ink);border-radius:var(--radius);padding:3px 6px;max-width:150px}.rows .card{flex-direction:row;align-items:center;gap:14px;padding:9px 14px}.rows .card .main{flex:1;min-width:0}.rows .card .nm{font-size:15px;display:inline}.rows .card .co{display:inline;margin-left:8px}.rows .card .q{font-size:13.5px}.rows .card .rel{align-self:center}.rows .foot{border:0;padding:0;margin:0;flex:0 0 auto;gap:8px}.empty{text-align:center;color:var(--muted);padding:60px}.drawer{box-shadow:-8px 0 24px #26221c1a}.drawer{position:fixed;top:0;right:0;bottom:0;width:min(34rem,100%);background:var(--surface);border-left:1px solid var(--border);z-index:31;overflow:auto;padding:22px}.drawer h2{margin:0 0 3px;font-size:20px}.drawer .x{float:right;cursor:pointer;color:var(--muted);font-size:24px;line-height:1}.hist{margin-top:16px;border-top:1px solid var(--border);padding-top:14px}.msg{border-left:2px solid var(--border);padding:1px 0 12px 12px}.msg .h{font-size:12px;color:var(--muted)}.msg .b{font-size:13.5px;white-space:pre-wrap;color:var(--ink-2)}textarea.note{width:100%;font:inherit;font-size:13.5px;border:1px solid var(--border);border-radius:var(--radius);padding:8px;background:var(--bg);color:var(--ink);margin-top:10px}.btn{font:inherit;font-size:13.5px;border:1px solid var(--accent);background:var(--accent);color:var(--on-accent);border-radius:var(--radius);padding:7px 14px;cursor:pointer;margin-top:8px}.score{margin-left:auto;color:var(--muted);font-size:11.5px;font-variant-numeric:tabular-nums}.card .head{display:flex;align-items:flex-start;gap:8px}.q{font-size:14px;color:var(--ink-2);line-height:1.55;border-left:2px solid var(--border);padding-left:9px}.q a{font-size:12px}.linkline{font-size:12.5px;display:flex;flex-wrap:wrap;gap:10px}.crit-btn{font:inherit;font-size:13px;border:1px solid var(--border);background:var(--surface);color:var(--accent);border-radius:var(--radius);padding:5px 11px;cursor:pointer}.panel-bg{position:fixed;top:0;right:0;bottom:0;left:0;background:#26221c59;z-index:40}.panel{position:fixed;top:0;right:0;bottom:0;width:min(30rem,100%);background:var(--surface);border-left:1px solid var(--border);z-index:41;padding:20px;overflow:auto}.panel h3{margin:0 0 4px}.panel .x{float:right;cursor:pointer;color:var(--muted);font-size:22px}.panel textarea{width:100%;min-height:60vh;font:inherit;font-size:13.5px;line-height:1.5;border:1px solid var(--border);border-radius:var(--radius);padding:11px;background:var(--bg);color:var(--ink)}.touch{display:flex;flex-wrap:wrap;gap:10px;align-items:center;font-size:12.5px;color:var(--muted)}.touch .next{color:var(--ink-2)}.touch .due,.touch .next.due{color:var(--bad);font-weight:600}.touch .people{color:var(--accent)}.touch input[type=date]{font:inherit;font-size:12px;border:1px solid var(--border);background:var(--bg);color:var(--ink);border-radius:var(--radius);padding:2px 5px;margin-left:4px}.people{font-size:12.5px;color:var(--ink-2)}.nudge-btn{font:inherit;font-size:12.5px;border:1px solid var(--border);background:var(--surface);color:var(--muted);border-radius:var(--radius);padding:4px 9px;cursor:pointer}.nudge-btn.on{background:var(--bad);color:#fff;border-color:var(--bad)}.touch .cold{color:var(--muted);font-style:italic}.tag1{font-size:11px;font-weight:600;color:var(--accent);background:var(--neutral-soft);border-radius:20px;padding:2px 9px;margin-left:8px;vertical-align:middle}.card.known{border-left:3px solid var(--accent)}.reason{font-size:13.5px;color:var(--ink-2)}.rows .card .reason{font-size:13px}.card .head{position:relative}.rm{margin-left:auto;color:var(--muted);font-size:16px;line-height:1;cursor:pointer;opacity:0;padding:0 2px}.card:hover .rm{opacity:.5}.rm:hover{opacity:1;color:var(--bad)}.head{display:flex;align-items:center;gap:8px}.foot select.inline{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:1px solid transparent;background:transparent;color:var(--muted);font-size:12px;padding:2px 3px;max-width:120px;cursor:pointer}.foot select.inline:hover,.foot select.inline:focus{color:var(--ink-2);border-color:var(--border);background:var(--surface);outline:none}.ftype{font:inherit;font-size:12.5px;font-weight:600;background:var(--surface);color:var(--ink);border:1px solid var(--border-strong);border-radius:var(--radius);padding:4px 8px}.glass{border:1px solid transparent;background:transparent;font-size:14px;line-height:1;padding:4px 6px;cursor:pointer;opacity:.55;border-radius:var(--radius)}.glass:hover{opacity:1;background:var(--surface);border-color:var(--border)}.search{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);padding:2px 8px;flex:1;min-width:220px;max-width:560px}.search .gi{opacity:.5;font-size:13px}.search input{border:none;background:transparent;font:inherit;font-size:12.5px;color:var(--ink);padding:3px 2px;width:100%;outline:none}.foot .own{max-width:92px;overflow:hidden;text-overflow:ellipsis}.foot .stg{max-width:108px}.foot .city{margin-right:auto}.card{position:relative}.stage{cursor:pointer;font-size:15px;color:var(--accent);line-height:1;padding:2px 5px;border-radius:var(--radius)}.stage:hover{background:var(--surface)}.stagemenu{position:absolute;right:12px;bottom:12px;z-index:30;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);box-shadow:0 4px 16px #00000024;padding:4px;min-width:150px}.stagemenu .si{display:flex;align-items:center;gap:8px;padding:6px 9px;font-size:12.5px;color:var(--ink-2);cursor:pointer;border-radius:4px;white-space:nowrap}.stagemenu .si:hover{background:var(--bg)}.stagemenu .si.on{color:var(--accent);font-weight:600}.stagemenu .ic{color:var(--accent);width:14px;text-align:center}.addbtn{font:inherit;font-size:18px;line-height:1;border:1px solid transparent;background:transparent;color:var(--muted);border-radius:var(--radius);padding:1px 8px;cursor:pointer}.addbtn:hover{color:var(--accent);background:var(--surface);border-color:var(--border)}.addpanel label{display:block;font-size:12px;color:var(--muted);margin:10px 0 0}.addpanel input,.addpanel textarea{width:100%;font:inherit;font-size:13.5px;border:1px solid var(--border);border-radius:var(--radius);padding:8px;background:var(--bg);color:var(--ink);margin-top:3px}.addpanel textarea{min-height:auto;line-height:1.5}.addpanel .btn{margin-top:14px}
