:root{--desk:#EEE5CE;--bg:#FAF3E0;--card:#FFFCF4;--line:#E1DED9;--line-2:#D3CDBF;--fg:#2B2B2A;--muted:#6A655B;--pine:#1F4F3D;--pine-soft:#DCE8E1;--amber:#D88C57;--amber-soft:#F6E1CF;--gold:#E5B64C;--gold-soft:#F7E7BF;--primary:#1F4F3D;--on-primary:#FAF3E0;--bar:#1F4F3D;--ok:#2C7A52;--ok-soft:#DDEFE3;--warn:#9A6312;--warn-soft:#F8E6C4;--bad:#B23A2E;--bad-soft:#F7DDD8;--f-display:"Bricolage Grotesque","Avenir Next","Segoe UI",system-ui,sans-serif;--f-body:"Figtree","Segoe UI",system-ui,-apple-system,sans-serif;--f-mono:"IBM Plex Mono",ui-monospace,"SF Mono",Menlo,monospace;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--desk:#0E100F;--bg:#151816;--card:#1E2320;--line:#2C322F;--line-2:#3A413D;--fg:#ECE6D8;--muted:#A79F90;--pine:#6CC39D;--pine-soft:#1E3A2E;--amber:#E79E6B;--amber-soft:#3D2A1D;--gold:#EDC566;--gold-soft:#3A3120;--bar:#173528;--primary:#E79E6B;--on-primary:#1A1310;--ok:#6CC39D;--ok-soft:#1C3328;--warn:#E8B055;--warn-soft:#382A14;--bad:#EE7B6C;--bad-soft:#3B1E1A;color-scheme:dark}}:root[data-theme=dark]{--desk:#0E100F;--bg:#151816;--card:#1E2320;--line:#2C322F;--line-2:#3A413D;--fg:#ECE6D8;--muted:#A79F90;--pine:#6CC39D;--pine-soft:#1E3A2E;--amber:#E79E6B;--amber-soft:#3D2A1D;--gold:#EDC566;--gold-soft:#3A3120;--bar:#173528;--primary:#E79E6B;--on-primary:#1A1310;--ok:#6CC39D;--ok-soft:#1C3328;--warn:#E8B055;--warn-soft:#382A14;--bad:#EE7B6C;--bad-soft:#3B1E1A;color-scheme:dark}*{box-sizing:border-box}body,html{margin:0}body{background:var(--desk);color:var(--fg);font-family:var(--f-body);font-size:15px;line-height:1.45;min-height:100svh}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--pine)}:focus-visible{outline:2px solid var(--amber);outline-offset:2px}.shell{max-width:560px;margin:0 auto;min-height:100svh;background:var(--bg);display:flex;flex-direction:column;box-shadow:0 0 0 1px var(--line)}.app-bar{background:var(--bar);color:#FAF3E0;position:relative;overflow:hidden;flex:none;padding:max(16px,env(safe-area-inset-top,0px)) 18px 14px}.app-bar:before{content:"";position:absolute;inset:-60px -40px auto auto;width:260px;height:260px;border-radius:50%;background:repeating-radial-gradient(circle at 60% 40%,transparent 0 13px,rgba(250,243,224,.09) 13px 14px);pointer-events:none}.app-top{display:flex;justify-content:space-between;align-items:center;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;opacity:.85;position:relative;gap:10px}.app-top a{color:inherit;text-decoration:none}.app-title{font-family:var(--f-display);font-weight:700;font-size:1.32rem;line-height:1.15;margin:6px 0 0;position:relative}.app-sub{font-size:.85rem;opacity:.85;position:relative;font-family:var(--f-mono);font-weight:500}.phase-pill{display:inline-flex;gap:6px;align-items:center;background:rgba(250,243,224,.16);border-radius:999px;padding:3px 9px;font-size:.72rem;text-transform:none;letter-spacing:0}.screen{flex:1 1;padding:16px 14px 96px;display:flex;flex-direction:column;gap:14px}.tabs{position:-webkit-sticky;position:sticky;bottom:0;display:flex;border-top:1px solid var(--line);background:var(--card);padding:6px 4px max(12px,env(safe-area-inset-bottom,0px))}.tabs a{flex:1 1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 0;font-size:.7rem;font-weight:600;color:var(--muted);text-decoration:none;border-radius:10px}.tabs a svg{width:22px;height:22px}.tabs a[aria-current=page]{color:var(--pine)}.tabs a[aria-current=page] svg{stroke-width:2.2}svg.i{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}h1.page{font-family:var(--f-display);font-weight:800;font-size:1.6rem;line-height:1.1;margin:4px 2px 0}.sec{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--muted);margin:6px 2px -6px;display:flex;justify-content:space-between;align-items:baseline}.card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px}.card h3{font-family:var(--f-display);font-weight:700;font-size:1.08rem;margin:0;line-height:1.2}.card p{margin:4px 0 0}.card>*+.stack,.card>*+form{margin-top:10px}.hero{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:16px;display:flex;flex-direction:column;gap:10px}.hero .big{font-family:var(--f-display);font-weight:800;font-size:2.2rem;line-height:1;letter-spacing:-.02em}.hero .big small{font-size:.95rem;font-weight:600;letter-spacing:0;margin-left:6px}.hero .big small,.muted{color:var(--muted)}.small{font-size:.85rem}.tiny{font-size:.76rem}.mono{font-family:var(--f-mono);font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.row.top{align-items:flex-start}.row.between{justify-content:space-between}.grow{flex:1 1;min-width:0}.stack{gap:10px}.list,.stack{display:flex;flex-direction:column}.list>.item{display:flex;gap:12px;align-items:center;padding:12px 2px;border-top:1px solid var(--line)}.list>.item:first-child{border-top:0;padding-top:2px}.list>.item:last-child{padding-bottom:2px}.item .t{font-weight:600}.item .s{font-size:.85rem;color:var(--muted)}.blaze{display:inline-flex;align-items:center;gap:6px;font-size:.74rem;font-weight:700;letter-spacing:.02em;padding:3px 8px 3px 6px;border-radius:4px;white-space:nowrap;background:var(--line);color:var(--fg)}.blaze:before{content:"";width:5px;height:12px;border-radius:1.5px;background:currentColor;opacity:.9}.blaze.ok{background:var(--ok-soft);color:var(--ok)}.blaze.warn{background:var(--warn-soft);color:var(--warn)}.blaze.bad{background:var(--bad-soft);color:var(--bad)}.blaze.info{background:var(--pine-soft);color:var(--pine)}.blaze.plain{background:transparent;color:var(--muted)}.blaze.plain,.btn{border:1px solid var(--line-2)}.btn{background:var(--card);border-radius:12px;padding:10px 14px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;text-align:center;text-decoration:none;color:var(--fg)}.btn.primary{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.btn.sm{padding:6px 11px;font-size:.84rem;border-radius:10px}.btn.block{width:100%}.btn[disabled]{opacity:.45;cursor:not-allowed}.btn.danger{color:var(--bad);border-color:var(--bad-soft)}.linkish{border:0;background:none;padding:0;color:var(--pine);font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.need{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line);color:inherit;text-decoration:none}.need:first-child{border-top:0;padding-top:0}.need:last-child{padding-bottom:0}.when{font-family:var(--f-mono);font-weight:500;font-size:.72rem;text-align:center;line-height:1.1;width:44px;padding:6px 0;border-radius:8px;background:var(--gold-soft)}.when b{display:block;font-family:var(--f-display);font-size:1.1rem;font-weight:800}.when.none{background:var(--pine-soft);color:var(--pine);font-size:1.1rem;padding:8px 0}.need .t{font-weight:600;line-height:1.25}.need .s{font-size:.84rem}.chev,.need .s{color:var(--muted)}.meter{height:8px;background:var(--line);overflow:hidden}.meter,.meter i{border-radius:999px}.meter i{display:block;height:100%;background:var(--pine)}.meter.warn i{background:var(--amber)}.stat{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:4px 10px;gap:4px 10px;align-items:baseline}.stat .v{font-family:var(--f-mono);font-weight:500;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat .meter{grid-column:1/-1}.stats{gap:14px}.stats,.tl{display:flex;flex-direction:column}.tl{list-style:none;margin:6px 0 0;padding:0}.tl li{display:grid;grid-template-columns:62px 16px minmax(0,1fr);grid-gap:8px;gap:8px;align-items:start;padding-bottom:12px;position:relative}.tl li:last-child{padding-bottom:0}.tl .tm{font-family:var(--f-mono);font-size:.78rem;padding-top:2px;color:var(--muted);text-align:right}.tl .dot{width:12px;height:12px;border-radius:50%;border:2px solid var(--pine);background:var(--card);margin-top:4px;position:relative;z-index:1}.tl li.now .dot{background:var(--pine)}.tl li:not(:last-child):after{content:"";position:absolute;left:77px;top:16px;bottom:0;width:2px;background:var(--line-2)}.tl .what{font-weight:600}.tl .what span{display:block;font-weight:400;color:var(--muted);font-size:.85rem}.seats{display:flex;gap:5px;flex-wrap:wrap}.seat{min-width:30px;height:30px;padding:0 8px;border-radius:8px;display:grid;place-items:center;font-size:.76rem;font-weight:700;background:var(--pine-soft);color:var(--pine)}.seat.empty{background:transparent;border:1.5px dashed var(--line-2);color:var(--muted)}.flag{display:flex;gap:8px;align-items:flex-start;font-size:.85rem;padding:8px 10px;border-radius:10px;margin-top:8px}.flag.bad{background:var(--bad-soft);color:var(--bad)}.flag.warn{background:var(--warn-soft);color:var(--warn)}.flag.ok{background:var(--ok-soft);color:var(--ok)}.bigbtns{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.bigbtns button{border:1px solid var(--line-2);background:var(--card);border-radius:16px;padding:16px 10px;font-family:var(--f-display);font-weight:700;font-size:1.05rem;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;width:100%}.bigbtns button span{font-family:var(--f-body);font-size:.75rem;font-weight:500;color:var(--muted)}.bigbtns button.go{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.bigbtns button.go span{color:inherit;opacity:.8}.field{display:flex;flex-direction:column;gap:5px}.field .lbl,.field label{font-size:.82rem;font-weight:600}.field input,.field select,.field textarea{border:1px solid var(--line-2);background:var(--bg);border-radius:10px;padding:10px 11px;width:100%}.field textarea{min-height:90px;resize:vertical}.grid2{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.check{display:flex;gap:10px;align-items:center;padding:6px 0;cursor:pointer}.check input{width:20px;height:20px;accent-color:var(--pine)}.money-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:2px 10px;gap:2px 10px;padding:10px 0;border-top:1px solid var(--line)}.money-row:first-child{border-top:0;padding-top:0}.money-row .amt{font-family:var(--f-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-align:right}.money-row .amt.plus{color:var(--ok)}.empty-note{text-align:center;color:var(--muted);padding:22px 12px;border:1.5px dashed var(--line-2);border-radius:16px}.notice{padding:10px 12px;border-radius:12px;font-size:.9rem}.notice.ok{background:var(--ok-soft);color:var(--ok)}.notice.bad{background:var(--bad-soft);color:var(--bad)}details.more{border-top:1px solid var(--line);padding-top:10px;margin-top:10px}details.more summary{cursor:pointer;font-weight:600;color:var(--pine)}details.more[open] summary{margin-bottom:10px}.center{display:flex;flex-direction:column;justify-content:center;min-height:100svh;padding:24px 18px;gap:16px;max-width:460px;margin:0 auto}.brand{font-family:var(--f-display);font-weight:800;font-size:2rem;line-height:1.05;letter-spacing:-.02em;margin:0}.brand small{display:block;font-size:.85rem;letter-spacing:.12em;text-transform:uppercase;color:var(--pine);margin-bottom:8px;font-weight:700}table.plain{width:100%;border-collapse:collapse;font-size:.9rem}table.plain th{text-align:left;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:6px 4px}table.plain td{padding:8px 4px;border-top:1px solid var(--line);vertical-align:top}.inline-form{display:inline}.money-row.total{border-top:1px solid var(--line-2);margin-top:4px;padding-top:8px;font-weight:600}.warn-text{color:var(--warn)}summary.money-row{list-style:none;cursor:pointer}summary.money-row::-webkit-details-marker{display:none}select{border:1px solid var(--line-2);border-radius:10px;padding:7px 9px;background:var(--bg);color:var(--fg);font:inherit}