:root{--paper:#f4efe4;--ink:#1a1917;--muted:#6b665c;--rule:#cfc8b8;--rule-strong:#1a1917;--paper-on-ink:#f4efe4;--muted-on-ink:#b8b2a4;--accent-1:#c2410c;--accent-2:#0f766e;--accent-3:#1d4ed8;--accent-4:#7c2d12;--font-mono:"IBM Plex Mono", "Courier New", monospace;--font-sans:"IBM Plex Sans", "Helvetica Neue", Arial, sans-serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:28px;--tap:44px;--page-max:560px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.4}h1,h2,h3,p,fieldset{margin:0}fieldset{border:0;min-width:0;padding:0}legend{padding:0}a{color:var(--ink)}button{font:inherit;color:inherit}.page{max-width:var(--page-max);min-height:100dvh;padding-bottom:calc(var(--tap) + var(--space-6) + env(safe-area-inset-bottom));flex-direction:column;margin:0 auto;display:flex}.page--signin{padding-bottom:var(--space-6)}.content{flex:1}.mono{font-family:var(--font-mono)}.caps{letter-spacing:.18em;text-transform:uppercase;font-size:12px;font-weight:600}.muted{color:var(--muted)}.quiet{padding:var(--space-6) var(--space-5);color:var(--muted);font-style:italic}.error{padding:var(--space-3) var(--space-4);border:1px solid var(--accent-1);color:var(--accent-1);font-size:14px}.notice{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--rule);color:var(--muted);font-style:italic}.topbar{padding:var(--space-4) var(--space-5) 0;justify-content:space-between;align-items:baseline;display:flex}.topbar__brand{text-decoration:none}.masthead{gap:var(--space-2);padding:var(--space-4) var(--space-5) var(--space-4);border-bottom:2px solid var(--rule-strong);flex-direction:column;display:flex}.masthead__row{justify-content:space-between;align-items:baseline;display:flex}.masthead__day{letter-spacing:-.02em;margin-top:var(--space-2);font-size:44px;font-weight:700;line-height:1}.masthead__day--small{font-size:32px}.tagline{padding:var(--space-5);color:var(--muted);font-style:italic}.legend{gap:var(--space-4);padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--rule-strong);flex-wrap:wrap;font-size:12px;display:flex}.legend__item{align-items:center;gap:var(--space-2);display:inline-flex}.swatch{flex-shrink:0;width:12px;height:12px;display:inline-block}.swatches{flex-shrink:0;gap:2px;display:inline-flex}.swatches--v{flex-direction:column;height:100%}.swatches--v .swatch{flex:1;width:4px;height:auto}.nextup{gap:var(--space-3);padding:var(--space-5);background:var(--ink);color:var(--paper-on-ink);flex-direction:column;display:flex}.nextup__label{color:var(--muted-on-ink)}.nextup__row{align-items:flex-start;gap:14px;display:flex}.nextup__time{font-size:34px;font-weight:500;line-height:1}.nextup__body{gap:var(--space-2);flex-direction:column;display:flex}.nextup__title{color:inherit;font-size:20px;font-weight:600;line-height:1.2;text-decoration:none}.nextup--empty .nextup__title{font-size:18px;font-style:italic;font-weight:400}.nextup__notes{color:var(--muted-on-ink);font-size:14px}.chips{gap:var(--space-2);align-items:center;display:flex}.chip{letter-spacing:.08em;color:var(--paper-on-ink);padding:3px 6px;font-size:11px}.tag{letter-spacing:.08em;border:1px solid var(--ink);margin-left:var(--space-2);padding:1px 5px;font-size:10px}.tag--onink{border-color:var(--paper-on-ink);margin-left:0;padding:2px 6px;font-size:11px}.rows{flex-direction:column;display:flex}.rows__head{padding:var(--space-4) var(--space-5) var(--space-2);justify-content:space-between;display:flex}.row{gap:var(--space-3);padding:var(--space-3) var(--space-5);min-height:var(--tap);border-top:1px solid var(--rule);align-items:stretch;text-decoration:none;display:flex}.row:last-child{border-bottom:2px solid var(--rule-strong)}.row--static{align-items:center}.row__time{flex-shrink:0;width:52px;padding-top:2px;font-size:15px;font-weight:500}.row__bar{background:var(--rule);flex-shrink:0;width:4px}.row__body{gap:var(--space-1);flex-direction:column;flex:1;min-width:0;display:flex}.row__title{font-size:16px;font-weight:600}.row__notes{font-size:13px}.dayrow{gap:var(--space-3);padding:10px var(--space-5);border-top:1px solid var(--rule);min-height:var(--tap);align-items:center;display:flex}.dayrow:last-child{border-bottom:1px solid var(--rule)}.dayrow__chip{flex-shrink:0;width:52px;font-size:13px}.dayrow__events{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.dayrow__event{gap:var(--space-2);align-items:center;min-height:24px;font-size:15px;text-decoration:none;display:flex}.dayrow__event .swatch{width:10px;height:10px}.dayrow__empty{font-size:13px;font-style:italic}.actionbar{gap:var(--space-2);padding:var(--space-3) var(--space-5) calc(var(--space-3) + env(safe-area-inset-bottom));max-width:var(--page-max);background:var(--paper);border-top:1px solid var(--rule);margin:0 auto;display:flex;position:fixed;bottom:0;left:0;right:0}.btn{min-height:48px;padding:0 var(--space-4);border:1px solid var(--ink);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:0 0;justify-content:center;align-items:center;font-size:13px;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.5;cursor:default}.btn--primary{background:var(--ink);color:var(--paper-on-ink);flex:1}.btn--square{flex-shrink:0;width:48px;padding:0}.btn--square.is-active{background:var(--ink);color:var(--paper-on-ink)}.btn--small{min-height:36px;padding:0 var(--space-3);font-size:11px}.btn--danger{border-color:var(--accent-1);color:var(--accent-1)}.form{gap:var(--space-5);padding:var(--space-5);flex-direction:column;display:flex}.field{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.field-row{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.field-row .field:first-child{grid-column:span 3}@media (min-width:420px){.field-row .field:first-child{grid-column:span 1}}.field input,.field select,.field textarea{font:inherit;color:var(--ink);border:0;border-bottom:1px solid var(--ink);padding:var(--space-2) 0;min-height:var(--tap);background:0 0;border-radius:0;width:100%;font-size:16px}.field textarea{resize:vertical;min-height:72px}.field input:focus,.field select:focus,.field textarea:focus{border-bottom-width:2px;outline:none}.hint{color:var(--muted);font-size:13px}.choices{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.choice{min-height:var(--tap);padding:0 var(--space-4);border:1px solid var(--ink);cursor:pointer;background:0 0}.choice.is-on{background:var(--ink);color:var(--paper-on-ink)}.choice--tag{letter-spacing:.08em;min-height:36px;padding:0 var(--space-3);font-size:11px}.swatch--pick{width:var(--tap);height:var(--tap);cursor:pointer;border:2px solid #0000;padding:0}.swatch--pick.is-on{border-color:var(--ink);outline:2px solid var(--paper);outline-offset:-4px}.form__actions{gap:var(--space-2);display:flex}.form__actions--pad{padding:var(--space-5)}.form__actions .btn--primary{flex:1}.topbar__link{text-decoration:none}.banner{gap:var(--space-1);padding:var(--space-4) var(--space-5);background:var(--accent-1);color:var(--paper-on-ink);flex-direction:column;font-size:15px;text-decoration:none;display:flex}.prose{padding:var(--space-4) var(--space-5) 0;color:var(--muted);font-size:15px}.keyrow{justify-content:space-between;align-items:center;gap:var(--space-3);min-height:var(--tap);border-bottom:1px solid var(--ink);padding:var(--space-2) 0;display:flex}.or{text-align:center}.row--tick{cursor:pointer;align-items:flex-start}.row--tick input[type=checkbox]{width:24px;height:24px;accent-color:var(--ink);flex-shrink:0;margin:2px 0 0}.row--tick.is-off .row__body{opacity:.5}.flag{color:var(--accent-1)}.addressbox{align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);background:var(--ink);color:var(--paper-on-ink);display:flex}.address{word-break:break-all;flex:1;min-width:0;font-size:15px;line-height:1.3}.addressbox .btn{border-color:var(--paper-on-ink);color:var(--paper-on-ink);flex-shrink:0}.linkish{font:inherit;color:var(--accent-1);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.help{gap:var(--space-1);margin-top:var(--space-4);padding:var(--space-4);border:1px solid var(--rule);flex-direction:column;display:flex}.help p{margin:0}.help p+.mono{margin-top:var(--space-3)}
