:root{--bg:#f6f3ea;--surface:#fffdf7;--surface2:#efebdd;--ink:#22271f;--ink-soft:#575e4d;--line:#d5cfbc;--jade:#1e6b50;--jade-dark:#14503b;--jade-soft:#dce9e0;--red:#a93a2c;--red-soft:#f4e0dc;--brass:#8a6d2f;--focus:#1e6b50}*{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:18px;line-height:1.55}.wrap{max-width:1080px;margin:0 auto;padding:20px 18px 64px}.wrap.narrow{max-width:560px}.topbar{background:var(--surface);border-bottom:3px solid var(--jade);justify-content:space-between;align-items:center;gap:18px;padding:14px 18px;display:flex}.topbar .brand{color:var(--jade);white-space:nowrap;font-family:Georgia,Times New Roman,serif;font-size:24px;text-decoration:none}.topbar .topbar-main{flex-wrap:wrap;flex:1;align-items:center;gap:18px;min-width:0;display:flex}.topbar .who{color:var(--ink-soft);align-items:center;gap:14px;font-size:16px;display:flex}.topbar .who-name{color:inherit;font-weight:600;text-decoration:none}.topbar .areas{flex-wrap:wrap;align-items:center;gap:4px;font-size:17px;display:flex}.topbar .area,.topbar .menu>summary{color:var(--ink-soft);cursor:pointer;border-radius:999px;padding:6px 12px;font-weight:600;line-height:1.3;text-decoration:none;list-style:none;display:inline-block}.topbar .menu>summary::-webkit-details-marker{display:none}.topbar .menu>summary:after{content:" ▾";font-size:13px}.topbar .area.on,.topbar .menu.on>summary{background:var(--jade-soft);color:var(--jade-dark)}.topbar .area:hover,.topbar .menu>summary:hover{background:var(--surface2)}.topbar .menu{position:relative}.topbar .menu[open]>summary{background:var(--jade-soft);color:var(--jade-dark)}.topbar .menu .panel{z-index:30;background:var(--surface);border:1px solid var(--line);border-radius:12px;min-width:260px;max-width:360px;padding:8px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 8px 24px #22271f24}.topbar .menu .item{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;border-radius:8px;padding:10px 12px;font-size:18px;font-weight:500;text-decoration:none;display:block;overflow:hidden}.topbar .menu .item:hover{background:var(--surface2)}.topbar .menu .item.add,.topbar .menu .item.buy{color:var(--jade-dark);border-top:1px solid var(--line);border-radius:0 0 8px 8px;margin-top:4px}.topbar .menu .item .note{color:var(--ink-soft);white-space:normal;font-size:14px;font-weight:400;display:block}h1{margin:22px 0 6px;font-family:Georgia,serif;font-size:34px;font-weight:400}h2{margin:28px 0 8px;font-family:Georgia,serif;font-size:26px;font-weight:400}h3{margin:20px 0 8px;font-size:20px}p.lead{color:var(--ink-soft);margin:0 0 18px}a{color:var(--jade)}.card{background:var(--surface);border:1px solid var(--line);border-radius:10px;margin:16px 0;padding:20px 22px}.card h2:first-child,.card h3:first-child{margin-top:0}table.data{border-collapse:collapse;background:var(--surface);width:100%}table.data.people td{border-bottom:1px solid var(--line);padding:12px 8px}table.data th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);border-bottom:2px solid var(--line);padding:10px 12px;font-size:15px}table.data td{border-bottom:1px solid var(--line);padding:12px;font-size:18px}table.data tr:last-child td{border-bottom:none}.tablewrap{border:1px solid var(--line);border-radius:10px;overflow-x:auto}label{margin:16px 0 6px;font-weight:600;display:block}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=color]):not([type=file]):not([type=submit]):not([type=button]),select,textarea{width:100%;font:inherit;border:2px solid var(--line);min-height:54px;color:var(--ink);box-sizing:border-box;background:#fff;border-radius:8px;padding:12px 14px;font-size:20px;line-height:1.3}select{padding-right:40px}textarea{resize:vertical;min-height:96px;line-height:1.45}input[type=date],input[type=time],input[type=month]{width:auto;min-width:200px}input[type=time]{min-width:150px}input[type=number]{width:auto;min-width:120px}input[type=color]{border:2px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;width:64px;height:54px;padding:4px}input[type=file]{width:100%;font:inherit;box-sizing:border-box;border:2px dashed var(--line);min-height:54px;color:var(--ink);background:#fff;border-radius:8px;padding:11px 14px;font-size:17px}input[type=file]::file-selector-button{font:inherit;border:2px solid var(--jade);background:var(--surface);color:var(--jade);cursor:pointer;border-radius:6px;margin-right:12px;padding:6px 12px;font-size:16px;font-weight:600}input::placeholder,textarea::placeholder{color:#8a8f80;opacity:1}input[type=checkbox],input[type=radio]{width:22px;height:22px;accent-color:var(--jade);vertical-align:middle;cursor:pointer;flex:none;margin:0}label.check,.choices label{cursor:pointer;align-items:center;gap:10px;margin:6px 0;padding:6px 0;font-weight:500;display:flex}label.check input,.choices label input{margin:0}fieldset{border:0;min-width:0;margin:12px 0;padding:0}fieldset legend,.choices .legend{margin:16px 0 4px;padding:0;font-weight:600;display:block}.choices.nested{margin-left:32px}.hint{color:var(--ink-soft);margin:-2px 0 10px;font-size:15px;display:block}.fields{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));align-items:end;gap:12px 16px;display:grid}.fields>*>label:first-child{margin-top:0}input:focus,select:focus,textarea:focus,button:focus,a:focus{outline:3px solid var(--focus);outline-offset:2px}button,.btn{cursor:pointer;border:2px solid var(--jade);background:var(--jade);color:#fff;border-radius:8px;min-height:52px;padding:13px 22px;font-size:19px;font-weight:600;text-decoration:none;display:inline-block}button:hover,.btn:hover{background:var(--jade-dark);color:#fff}.btn.secondary,button.secondary{background:var(--surface);color:var(--jade)}.btn.danger,button.danger{background:var(--red);border-color:var(--red);color:#fff}.btn.quiet,button.quiet{color:var(--jade);background:0 0;border-color:#0000;min-height:44px;padding:10px;font-size:17px;text-decoration:underline}.btn.quiet:hover,button.quiet:hover{background:var(--surface2);color:var(--jade-dark)}.btn.small,button.small{min-height:40px;padding:8px 14px;font-size:16px}button:disabled{opacity:.5;cursor:not-allowed}form.inline{display:inline}.pill{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:4px 12px;font-size:14px;font-weight:700;display:inline-block}.pill.expected{background:var(--surface2);color:var(--ink-soft)}.pill.captured{color:var(--brass);background:#f3e8cf}.pill.posted{background:var(--jade);color:#fff}.pill.exception,.pill.open{background:var(--red-soft);color:var(--red)}.pill.resolved,.pill.checked_in{background:var(--jade-soft);color:var(--jade)}.pill.no_show{background:var(--red-soft);color:var(--red)}.pill.walk_up{color:var(--brass);background:#f3e8cf}.msg-error{background:var(--red-soft);border:1px solid var(--red);color:var(--red);border-radius:8px;margin:12px 0;padding:12px 16px;font-weight:600}.msg-ok{background:var(--jade-soft);border:1px solid var(--jade);color:var(--jade-dark);border-radius:8px;margin:12px 0;padding:12px 16px;font-weight:600}.ledger{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.ledger a{text-decoration:none}.ledger .cell{border:2px solid var(--line);background:var(--surface);text-align:center;color:var(--ink);border-radius:10px;padding:12px}.ledger .cell .t{font-size:22px;font-weight:700}.score-grid input[type=number]{text-align:center;font-variant-numeric:tabular-nums;padding:10px 6px;font-size:24px}.score-grid td,.score-grid th{text-align:center}.score-grid .total{font-variant-numeric:tabular-nums;font-size:24px;font-weight:700}.big-rank{color:var(--jade);font-family:Georgia,serif;font-size:64px;line-height:1}.statrow{flex-wrap:wrap;gap:12px;display:flex}.stat{background:var(--surface);border:1px solid var(--line);border-radius:10px;flex:150px;padding:14px}.stat .v{font-variant-numeric:tabular-nums;font-size:30px;font-weight:700}.stat .l{color:var(--ink-soft);font-size:15px}.board-surface{color:#e8e4d5;background:#14201a;min-height:100vh}.board-surface h1,.board-surface h2{color:#e8e4d5}.board-surface table.data{color:#e8e4d5;background:#1f2620}.board-surface table.data td{color:#e8e4d5;border-color:#39443a}.board-surface table.data th{color:#a7ad99;border-color:#39443a}.board-timer{font-variant-numeric:tabular-nums;font-size:96px;font-weight:700}@media (max-width:640px){html,body{font-size:17px}h1{font-size:28px}.topbar{flex-wrap:wrap;gap:6px 10px;padding:10px 12px 8px}.topbar .brand{order:1;font-size:20px}.topbar .who{order:2;gap:8px;margin-left:auto;font-size:15px}.topbar .who .who-settings{display:none}.topbar .who button.small{padding:4px 10px;font-size:14px}.topbar .topbar-main{flex-basis:100%;order:3;gap:0}.topbar .areas{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;width:100%;padding-bottom:2px;font-size:16px;overflow-x:auto}.topbar .area,.topbar .menu>summary{white-space:nowrap;padding:6px 11px}.topbar .menu .panel{max-width:none;position:fixed;top:auto;left:10px;right:10px}}.brandband{background:var(--brand,var(--jade));color:var(--brand-ink,#fff);border-radius:14px;margin:14px 0 12px;overflow:hidden}.brandband .cover{aspect-ratio:4;object-fit:cover;width:100%;display:block}.brandband .row{align-items:center;gap:20px;padding:22px 26px;display:flex}.brandband.compact .row{gap:14px;padding:14px 20px}.brandband .logo{object-fit:contain;background:#fff;border:2px solid #ffffffb3;border-radius:12px;flex:none}.brandband .logo.mark{width:84px;height:84px;color:var(--brand,var(--jade));background:#ffffffeb;justify-content:center;align-items:center;font-family:Georgia,serif;font-size:40px;display:inline-flex}.brandband.compact .logo.mark{width:56px;height:56px;font-size:28px}.brandband .words{min-width:0}.brandband .kicker{letter-spacing:.06em;text-transform:uppercase;opacity:.85;font-size:15px;font-weight:600}.brandband h1{color:inherit;margin:2px 0 0;font-size:36px;line-height:1.15}.brandband.compact h1{font-size:28px}.brandband .line{opacity:.92;margin-top:4px;font-size:18px}.brandband .line a{color:inherit}.tabs{flex-wrap:wrap;gap:6px;margin:6px 0 18px;display:flex}.tabs a{border:2px solid var(--brand-line,var(--line));color:var(--ink);background:0 0;border-radius:999px;padding:8px 16px;font-size:17px;font-weight:600;text-decoration:none}.tabs a.on{background:var(--brand,var(--jade));color:var(--brand-ink,#fff);border-color:var(--brand,var(--jade))}.tabs a:hover:not(.on){background:var(--brand-soft,var(--jade-soft))}
