:root{--paper:#f7f1e7;--card:#fffaf2;--ink:#2c2419;--ink-soft:#6b5d4b;--ink-faint:#998a73;--gold:#ad8947;--accent:#8b3c28;--line:#e7dcc8;--green:#4b6b47;--green-bg:#eaf0e4;--blue:#3a5a78;--blue-bg:#e7eef4;--gray-bg:#efe8da}*{box-sizing:border-box}body,html{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:Georgia,Times New Roman,serif;-webkit-font-smoothing:antialiased;line-height:1.5}a{color:var(--accent);text-decoration:none}.wrap{max-width:860px;margin:0 auto;padding:32px 20px 80px}.brand{letter-spacing:5px;font-size:12px;color:var(--gold);font-weight:600}.hero h1{font-size:clamp(26px,5vw,38px);font-weight:500;margin:10px 0 4px;line-height:1.15}.hero .impact{font-size:clamp(17px,3.4vw,21px);color:var(--ink-soft);margin:0}.hero .impact b{color:var(--accent);font-weight:600}.statrow{display:flex;gap:12px;flex-wrap:wrap;margin:22px 0 8px}.stat{flex:1 1 120px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px 18px}.stat .n{font-size:30px;font-weight:600;color:var(--ink);line-height:1}.stat .l{font-size:12.5px;color:var(--ink-faint);margin-top:6px;letter-spacing:.3px}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:20px;margin:18px 0}.card h2{font-size:18px;font-weight:600;margin:0 0 4px}.card .sub{color:var(--ink-soft);font-size:14px;margin:0 0 16px}label{display:block;font-size:12px;letter-spacing:.4px;color:var(--ink-faint);margin:0 0 6px;text-transform:uppercase}input{width:100%;font-family:inherit;font-size:16px;color:var(--ink);padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;margin-bottom:14px}input:focus{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold)}.btn{font-family:inherit;font-size:16px;font-weight:600;cursor:pointer;background:var(--accent);color:#fff;border:none;border-radius:11px;padding:13px 20px;width:100%}.btn:disabled{opacity:.6;cursor:default}.btn.ghost{background:transparent;color:var(--accent);border:1px solid var(--line)}.btn.small{width:auto;padding:7px 13px;font-size:13px;border-radius:9px}.formrow{display:flex;gap:12px}.formrow>div{flex:1 1}@media (max-width:520px){.formrow{flex-direction:column;gap:0}}.note{font-size:13px;padding:10px 13px;border-radius:10px;margin-top:4px}.note.ok{background:var(--green-bg);color:var(--green)}.note.err{background:#faeae4;color:var(--accent)}.people{margin-top:10px}.sectionhead{display:flex;justify-content:space-between;align-items:baseline;margin:28px 2px 6px}.sectionhead h2{font-size:20px;font-weight:500;margin:0}.sectionhead .count{color:var(--ink-faint);font-size:13px}.person{gap:14px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px;margin:10px 0}.avatar,.person{display:flex;align-items:center}.avatar{flex:0 0 auto;width:42px;height:42px;border-radius:50%;justify-content:center;font-size:15px;font-weight:600;letter-spacing:.5px;background:var(--gray-bg);color:var(--ink-soft);border:1px solid var(--line)}.avatar.recording{background:var(--green-bg);color:var(--green);border-color:#cfdcc4}.avatar.joined{background:var(--blue-bg);color:var(--blue);border-color:#cdddea}.person .main{flex:1 1;min-width:0}.person .name{font-size:17px;font-weight:600}.person .meta{font-size:13px;color:var(--ink-faint);margin-top:2px}.person .actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}@media (max-width:560px){.person{flex-wrap:wrap}.person .actions{width:100%;justify-content:flex-start;margin-top:6px}}.chip{font-size:12px;font-weight:600;padding:5px 11px;border-radius:999px;white-space:nowrap}.chip.invited{background:var(--gray-bg);color:var(--ink-soft)}.chip.joined{background:var(--blue-bg);color:var(--blue)}.chip.recording{background:var(--green-bg);color:var(--green)}.chip.fail{background:#faeae4;color:var(--accent)}.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.topbar form{margin:0}.linkbtn{background:none;border:none;color:var(--ink-faint);font-family:inherit;font-size:13px;cursor:pointer;text-decoration:underline}.toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%);background:var(--ink);color:#fff;padding:12px 20px;border-radius:12px;font-size:14px;box-shadow:0 8px 24px rgba(0,0,0,.2);z-index:50;max-width:90vw}.empty{padding:28px;font-size:15px}.empty,.foot{text-align:center;color:var(--ink-faint)}.foot{font-size:12px;margin-top:40px}