:root{--green:#164a3e;--gold:#b18126;--text:#283d36;--muted:#64706d;--border:#e0e6e3;--gray:#eceeed;--serif:Georgia,'Times New Roman',serif}*{box-sizing:border-box}body{margin:0;background:white;color:var(--text);font:16px/1.5 'Segoe UI',Arial,sans-serif}button,input,select{font:inherit}button,a,input,select,summary{-webkit-tap-highlight-color:transparent}a{color:var(--green);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer}button:disabled{cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #c7a34f;outline-offset:3px}button{color:var(--green)}.demo-note{text-align:center;font-size:12px;color:#596761;padding:9px 16px;background:#f3f5f4;border-bottom:1px solid var(--border)}header{max-width:920px;margin:auto;padding:22px 28px;display:flex;justify-content:space-between;gap:16px;align-items:center;border-bottom:1px solid var(--border)}.brand{display:flex;align-items:center;gap:13px;font-family:var(--serif);font-size:28px;font-weight:bold;white-space:nowrap}.sprig{font-size:43px;line-height:1;font-weight:normal;transform:rotate(-20deg);color:#547953}.header-link{font-size:13px;white-space:nowrap}.header-link span{margin-left:6px}h1,h2,h3,p,figure{margin:0}h1,h2{font-family:var(--serif);font-weight:600;line-height:1.08;letter-spacing:-1.1px;color:var(--green)}h1{font-size:43px}h2{font-size:35px}h3{font-size:16px;line-height:1.4;color:var(--green)}.public-page{max-width:640px;margin:0 auto;padding:40px 30px 0}.intro{padding-bottom:24px}.price-line{font:25px/1.3 var(--serif);color:var(--gold);margin-top:16px}.intro-copy{color:#52615b;margin-top:15px;font-size:16px}.board{display:grid;grid-template-columns:repeat(10,minmax(0,1fr));gap:5px}.number{aspect-ratio:1.12;display:flex;align-items:center;justify-content:center;border:1px solid var(--green);border-radius:4px;font-size:16px;color:#123f33;font-weight:500;background:white}.number.occupied{border-color:#c4c9c7;color:#7b817f;background:#e6e8e7}.number s{text-decoration-thickness:2px}.legend{display:flex;justify-content:center;gap:34px;padding:22px 0 26px;color:#57605b;font-size:14px}.legend span{display:flex;align-items:center;gap:9px}.legend i{width:22px;height:22px;border:1px solid var(--green);border-radius:3px}.legend i.taken{border-color:#c4c9c7;background:#e6e8e7}.basket-feature{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:center;border-top:1px solid var(--gold);padding-top:32px}.bow{position:absolute;top:-22px;left:calc(50% - 22px);padding:0 9px;background:white;color:var(--gold);font-size:30px}.basket-feature img{width:100%;height:auto;display:block}.basket-feature figure{align-self:start}.basket-feature figcaption{text-align:center;color:#77817b;font-size:10px;margin-top:6px}.gold-lead{font:25px/1.14 var(--serif);color:var(--gold);margin:7px 0 14px}.muted{color:var(--muted);font-size:14px}.draw-note{border-top:1px solid #d6bd89;margin-top:22px;padding-top:14px}.draw-note p{font-size:12px;color:#626d66;margin-top:6px}.draw-note h3{font-size:13px}.contents{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:18px 0;margin:30px 0}.contents summary{display:flex;justify-content:space-between;align-items:center;cursor:pointer;font-size:14px;color:var(--green);font-weight:600;list-style:none}.contents summary span{font-size:23px;font-weight:400}.contents li{font-size:14px;color:#57675e;margin-bottom:10px}.contents ul{padding-left:22px}.contents>.muted{font-size:12px}footer{text-align:center;padding:4px 0 30px;font-size:14px;color:#637169}footer a{display:inline-block;margin:16px 0;font-weight:600;font-size:13px}.fine{font-size:12px;line-height:1.55;color:#6c7772}.team-page{max-width:860px;padding:30px 28px 50px;margin:auto}.team-heading{display:flex;justify-content:space-between;gap:16px;align-items:center}.team-heading h1{font-size:35px}.profile{font-size:11px;color:var(--muted);display:grid;gap:4px}.profile select{background:white;border:1px solid var(--border);padding:8px;border-radius:5px;color:var(--green);font-size:14px}.team-warning{background:#f4f7f5;border-left:3px solid var(--green);padding:12px 15px;margin:22px 0 28px;font-size:12px;color:#65756c;display:grid;gap:4px}.team-warning strong{color:var(--green);font-weight:600}.basket-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.basket-heading h2{font-size:32px}.subtle-state{font-size:12px;color:var(--muted)}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.metrics>div{border:1px solid var(--border);border-radius:6px;background:#fafbfa;padding:14px 16px}.metrics span{display:block;font-size:12px;color:var(--muted)}.metrics strong{font-size:31px;font-weight:500;line-height:1.3;color:var(--green);white-space:nowrap}.metrics small{font-size:20px}.metrics .gold{color:var(--gold)}.tabs{display:flex;gap:24px;border-bottom:1px solid var(--border);margin:24px 0 20px}.tabs button{padding:10px 0 13px;background:none;border:0;border-bottom:3px solid transparent;font-size:14px;color:#67716d;white-space:nowrap}.tabs button.active{border-bottom-color:var(--green);color:var(--green);font-weight:600}.search{display:flex;align-items:center;gap:10px;background:#fafbfa;border:1px solid #d6ded9;border-radius:6px;padding:0 12px;margin-bottom:12px}.search span{font-size:25px;color:#6c7a71}.search input{width:100%;border:0;padding:12px 0;background:none;outline-offset:0;font-size:14px;color:var(--text)}.row-labels,.entry-row{display:grid;grid-template-columns:70px minmax(0,1fr) 105px;gap:12px;text-align:left;align-items:center}.row-labels{font-size:12px;color:#63716a;padding:12px 14px;border-bottom:1px solid var(--border);font-weight:600}.entry-row{padding:13px 14px;width:100%;min-height:49px;background:white;border:0;border-bottom:1px solid #edf0ee;font-size:14px}.entry-row:hover{background:#f4f8f5}.entry-row:disabled{color:#7d8581}.row-number{font-weight:500;font-variant-numeric:tabular-nums}.row-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#627067}.reserved .row-name{color:#394b42}.payment{font-size:11px;border-radius:20px;padding:4px 9px;display:inline-block;line-height:1.4}.payment.paid{background:#ddefe5;color:#1c5c43}.payment.pending{background:#f9edcf;color:#845d17}.dash{color:#929b96}#row-count{margin-top:15px}.primary,.secondary,.danger{border-radius:5px;padding:12px 18px;border:1px solid var(--green);font-size:14px;font-weight:500;min-height:44px}.primary{background:var(--green);color:white}.primary:hover{background:#0d392e}.secondary{background:white;color:var(--green)}.primary:disabled,.secondary:disabled{background:#e4e7e5;color:#808983;border-color:#e4e7e5}.wide{width:100%}.text-button{background:none;border:0;padding:14px;font-size:14px}.danger{background:white;color:#a0473e;border-color:#e7d8d5;margin-top:12px}.next-area{border-top:1px solid var(--border);padding-top:22px;margin-top:28px;text-align:center}.next-area .fine{margin:10px 0}.demo-tools{margin:28px 0;padding:15px 0;border-top:1px solid var(--border);color:var(--muted);font-size:13px}.demo-tools summary{cursor:pointer}.demo-tools p{margin:15px 0}.back-public{font-size:13px}.history-item{background:white;border:0;border-bottom:1px solid var(--border);display:flex;width:100%;justify-content:space-between;align-items:center;gap:15px;padding:18px 4px;text-align:left;font-size:14px}.history-item small{display:block;color:var(--muted);margin-top:6px;font-size:12px}.history-item>span:last-child{font-size:12px}.section-intro{margin:16px 0}.section-intro p{font-size:13px;margin-top:7px;color:var(--muted)}.empty{text-align:center;padding:35px 12px}.empty>span{font-size:50px;color:#7a9b84}.empty p{margin:7px 0}.settings-form{padding:8px 0 25px}.settings-form h3{font-family:var(--serif);font-size:24px;margin-bottom:18px}.settings-form label,dialog label:not(.check){display:grid;gap:6px;font-size:13px;color:#59665f;margin:14px 0}.settings-form input,dialog input:not([type=checkbox]){width:100%;border:1px solid #d4dcd7;border-radius:5px;padding:10px 12px;min-height:44px;color:var(--text);background:white}.settings-form .fine{margin:12px 0}.form-columns{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.accounting{border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:20px 0;margin-bottom:25px}.accounting>div{display:flex;justify-content:space-between;gap:20px;font-size:13px;margin:9px 0}.accounting strong{white-space:nowrap}.accounting .fine{margin-top:15px}.winner{text-align:center;background:#eff6f0;padding:25px;margin:15px 0;color:var(--green);border-radius:6px}.winner>strong{display:block;font:65px/1.2 var(--serif)}dialog{padding:27px 25px 20px;border:1px solid var(--border);border-radius:15px;width:min(500px,calc(100% - 24px));max-height:92dvh;color:var(--text);box-shadow:0 20px 100px #0b30273a}dialog::backdrop{background:#132d2859;backdrop-filter:blur(3px)}dialog h2{font-size:32px;margin-top:10px}.dialog-handle{height:5px;width:42px;background:#c8cecb;border-radius:10px;margin:0 auto 20px}.check{display:flex;align-items:center;gap:9px;margin:22px 0;font-size:14px}.check input{width:20px;height:20px;accent-color:var(--green)}.form-error{color:#a14337;font-size:13px;margin:10px 0}.form-error:empty{margin:0}#notice{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--green);color:white;padding:12px 20px;border-radius:7px;max-width:calc(100% - 30px);width:max-content;font-size:13px;box-shadow:0 4px 20px #0002;z-index:10;display:none}#notice.visible{display:block}#notice.error{background:#8f4636}@media(min-width:900px){.public-page{padding-top:48px}.public-page h1{font-size:46px}.number{font-size:17px}.team-page{padding-top:35px}body{padding-bottom:30px}}@media(max-width:600px){header{padding:16px 19px}.brand{font-size:23px;gap:7px}.sprig{font-size:35px}.header-link{font-size:11px}.demo-note{font-size:10px;padding:7px 15px}.public-page{padding:29px 18px 0}h1{font-size:34px;letter-spacing:-.9px}.desktop-break{display:none}.price-line{font-size:22px;margin-top:12px}.intro-copy{font-size:14px;margin-top:13px}.intro{padding-bottom:20px}.board{gap:3px}.number{font-size:12px;aspect-ratio:1.05;border-radius:3px}.legend{font-size:12px;gap:28px;padding:18px 0 25px}.legend i{width:19px;height:19px}.basket-feature{gap:12px;padding-top:27px;align-items:start}.basket-feature h2{font-size:30px}.gold-lead{font-size:22px;margin-top:8px}.basket-story>.muted{font-size:12px}.draw-note{margin-top:16px;padding-top:12px}.draw-note p{font-size:11px}.draw-note h3{font-size:12px}.basket-feature figure{margin-top:8px}.team-page{padding:24px 16px 35px}.team-heading h1{font-size:28px}.profile select{font-size:12px;max-width:132px}.team-warning{margin:20px 0;font-size:11px;padding:11px 12px}.basket-heading h2{font-size:29px}.subtle-state{font-size:11px}.metrics{gap:7px}.metrics>div{padding:10px 9px}.metrics span{font-size:11px}.metrics strong{font-size:25px}.metrics small{font-size:17px}.tabs{gap:0;justify-content:space-between;margin:18px 0}.tabs button{font-size:12px;padding-bottom:10px}.row-labels,.entry-row{grid-template-columns:42px minmax(0,1fr) 79px;gap:7px;padding-left:8px;padding-right:7px}.row-labels{font-size:11px}.entry-row{font-size:12px;min-height:47px}.payment{font-size:10px;padding:3px 7px}.form-columns{gap:8px}.form-columns label{font-size:11px}.form-columns input{padding:9px 7px}.accounting>div{font-size:12px}dialog{margin:auto auto 10px;border-radius:15px 15px 8px 8px}.contents{margin:25px 0}.contents summary{font-size:13px}}@media(prefers-reduced-motion:no-preference){.public-page,.team-page{animation:enter .25s ease-out}@keyframes enter{from{opacity:.6;transform:translateY(5px)}to{opacity:1;transform:none}}}
.buyer-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.row-author{display:block;margin-top:3px;font-size:11px;line-height:1.4;color:var(--muted);font-weight:400}.entry-row.reserved{min-height:58px}@media(max-width:600px){.row-author{font-size:10px}.entry-row.reserved{min-height:57px}}

.session-controls{display:flex;align-items:center;gap:8px;font-size:13px}.team-toolbar{display:flex;justify-content:flex-end;margin:8px 0 20px}.auth-page{max-width:480px;margin:45px auto;padding:0 22px}.auth-page h1{font-size:35px;margin-bottom:16px}.auth-page .muted{margin-bottom:25px}.auth-page label{display:grid;gap:7px;margin:18px 0;font-size:14px}.auth-page input,.auth-page select{width:100%;padding:12px;border:1px solid var(--border);border-radius:5px;min-height:45px}.auth-page input:invalid:not(:placeholder-shown){box-shadow:none}.setup-accounts{border-top:1px solid var(--border);margin-top:25px}.setup-accounts h2{font-size:25px;margin-top:25px}.auth-page .back-public{display:block;margin-top:25px}
