.display{position:relative;min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;overflow:hidden;text-align:center;transition:background .9s ease,color .9s ease}.phase-base{background:var(--base-bg);color:var(--base-fg)}.phase-warn{background:var(--warn-bg);color:var(--warn-fg)}.phase-final{background:var(--final-bg);color:var(--final-fg)}.phase-done{background:var(--done-bg);color:var(--done-fg)}.display.is-shaking{animation:shake .45s linear infinite}.masthead{position:absolute;top:5vh;left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:10px;z-index:2}.masthead .wordmark{height:30px;transition:filter .9s ease}.phase-final .masthead .wordmark,.phase-done .masthead .wordmark{filter:brightness(0) invert(1)}.masthead-sub{font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:.45em;padding-left:.45em;text-transform:uppercase;opacity:.55}.hero{font-size:clamp(56px,8vw,104px);line-height:1;z-index:1;transition:filter .9s ease}.hero--base,.hero--warn,.hero--resting{animation:heroBob 3.4s ease-in-out infinite}.hero--final{animation:heroPanic .5s ease-in-out infinite}.hero--done{animation:wobble 1.6s ease-in-out infinite;filter:grayscale(.4) brightness(.55)}.clock{display:flex;align-items:baseline;justify-content:center;font-family:var(--serif);font-weight:500;font-size:clamp(104px,19vw,260px);line-height:.95;z-index:1}.clock .d{display:inline-block;width:.62em;text-align:center}.clock .colon{display:inline-block;width:.34em;text-align:center}.clock .colon.is-ticking{animation:blink 1s steps(1) infinite}.clock.is-wide{font-size:clamp(72px,13vw,180px)}.clock--warn{animation:wobble 2.4s ease-in-out infinite}.clock--final{animation:pulseTime 1s ease-in-out infinite}.clock--done{animation:blink 1.1s steps(1) infinite}.message{font-family:var(--serif);margin:0;padding:0 24px;min-height:1.4em;white-space:nowrap;font-size:min(clamp(15px,2.9vw,32px),4.6vw);transition:font-size .4s ease;z-index:1}.message--final,.message--done{font-size:min(clamp(20px,4.2vw,48px),4.6vw);animation:bounceMsg .7s ease-in-out infinite}.buns{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:center;max-width:80vw;z-index:1}.bun{font-size:26px;line-height:1;transition:opacity .5s ease,filter .5s ease}.bun.is-spent{opacity:.25;filter:grayscale(1) brightness(.5)}.bun.is-popping{animation:bunPop 1s ease-in-out infinite}.pair{display:flex;flex-direction:column;align-items:center;gap:4px;z-index:1}.qr-box{background:#fff;border:3px solid currentColor;border-radius:16px;padding:14px;line-height:0}.pin{font-family:var(--serif);font-weight:500;font-size:clamp(40px,4.6vw,68px);letter-spacing:.14em;padding-left:.14em;margin-top:18px}.hint{font-family:var(--sans);font-size:clamp(13px,1.5vw,18px);font-weight:500;letter-spacing:.02em;opacity:.6;margin:0;z-index:1}.presence{position:absolute;bottom:6vh;left:0;right:0;font-family:var(--sans);font-size:clamp(12px,1.4vw,16px);font-weight:500;letter-spacing:.16em;text-transform:uppercase;opacity:.55;z-index:1}.presence .dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:currentColor;margin-right:10px;vertical-align:middle;animation:blink 1.4s ease-in-out infinite}.presence.is-ready{opacity:.85}.presence.is-ready .dot{background:#2f6f4e;animation:none}.link-lost{position:absolute;top:4vh;right:4vh;background:var(--red);color:#fff;border-radius:999px;padding:8px 18px;font-family:var(--sans);font-size:13px;font-weight:500;letter-spacing:.08em;z-index:6}.rejoin{position:absolute;top:3vh;left:50%;transform:translate(-50%);display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:14px;max-width:min(92vw,560px);padding:14px 18px;border:2px solid color-mix(in srgb,currentColor 22%,transparent);border-radius:18px;background:color-mix(in srgb,var(--base-bg) 88%,transparent);z-index:7}.rejoin-copy{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left}.rejoin-note{font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;opacity:.5}.rejoin-pin{font-family:var(--serif);font-weight:500;font-size:24px;letter-spacing:.1em;line-height:1.1}.rejoin-row{display:flex;gap:10px}.rejoin .pill{padding:11px 22px;font-size:12px;letter-spacing:.16em}.fallback{position:absolute;bottom:4vh;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;z-index:6}.fallback-rejoin{display:flex;align-items:center;gap:16px;padding:12px 18px 12px 12px;border:2px solid color-mix(in srgb,currentColor 22%,transparent);border-radius:18px}.fallback-qr{background:#fff;border-radius:10px;padding:7px;line-height:0;flex:none}.fallback-copy{display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left}.fallback-note{font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;opacity:.5}.fallback-pin{font-family:var(--serif);font-weight:500;font-size:26px;letter-spacing:.1em;line-height:1.1}.fallback-sub{font-family:var(--sans);font-size:12px;font-weight:500;opacity:.55}.fallback-row{display:flex;gap:12px}.pill{padding:13px 30px;border:2px solid currentColor;border-radius:999px;background:transparent;color:inherit;font-family:var(--sans);font-weight:500;font-size:13px;letter-spacing:.22em;text-transform:uppercase;transition:opacity .2s ease}.pill:hover{opacity:.65}.pill--quiet{border-color:transparent;opacity:.55}.pill--quiet:hover{opacity:1}.fs-nudge{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;border:0;background:#0000008c;color:#fff;display:grid;place-items:center;font-family:var(--sans);font-size:clamp(16px,1.8vw,22px);font-weight:500;letter-spacing:.06em;z-index:10}.agenda-kicker{font-family:var(--sans);font-size:clamp(13px,1.6vw,18px);font-weight:500;letter-spacing:.14em;text-transform:uppercase;opacity:.6;margin:0;z-index:1}.agenda-heading{display:flex;flex-direction:column;align-items:center;gap:4px;z-index:1}.agenda-title{font-family:var(--serif);font-weight:500;font-size:clamp(20px,3.4vw,40px)}.agenda-who{font-family:var(--sans);font-size:clamp(12px,1.4vw,16px);font-weight:500;opacity:.6}.agenda-next{font-family:var(--sans);font-size:clamp(13px,1.6vw,18px);font-weight:500;letter-spacing:.06em;padding:10px 22px;border:2px solid color-mix(in srgb,currentColor 26%,transparent);border-radius:999px;opacity:.85;z-index:1}.agenda-hold-badge{position:absolute;top:4vh;left:4vh;background:color-mix(in srgb,currentColor 16%,transparent);border-radius:999px;padding:8px 18px;font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;z-index:6}.floaters,.rain{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.floaters{z-index:0}.floaters span{position:absolute;opacity:.13;animation-name:drift;animation-timing-function:ease-in-out;animation-iteration-count:infinite}.rain{z-index:5}.rain span{position:absolute;top:-60px;animation-name:emojiFall;animation-timing-function:linear;animation-iteration-count:infinite}.modes{display:grid;gap:14px;margin-top:6px}.mode{display:block;width:100%;text-align:left;background:transparent;border:2px solid color-mix(in srgb,currentColor 30%,transparent);border-radius:20px;padding:20px 20px 18px;color:inherit;transition:border-color .16s ease,background .16s ease}.mode:hover{border-color:var(--red)}.mode-hero{font-size:34px;line-height:1}.mode-title{display:block;font-family:var(--serif);font-weight:500;font-size:23px;margin:8px 0 4px}.mode-sub{display:block;font-family:var(--sans);font-size:13px;line-height:1.45;opacity:.6}.sources{display:grid;gap:10px;margin-bottom:22px}.source{display:flex;align-items:center;gap:12px;border:2px solid color-mix(in srgb,currentColor 30%,transparent);border-radius:16px;padding:15px 16px;background:transparent;color:inherit;width:100%;text-align:left;font-family:var(--sans);font-size:15px;transition:border-color .16s ease}.source:hover{border-color:var(--red)}.source input[type=file]{display:none}.source-emoji{font-size:22px;line-height:1}.textarea{width:100%;min-height:128px;font-size:16px;font-family:var(--sans);line-height:1.45;padding:14px;border:2px solid color-mix(in srgb,currentColor 30%,transparent);border-radius:13px;background:transparent;color:inherit;resize:vertical;margin-bottom:14px}.textarea:focus{outline:none;border-color:var(--red)}.textarea::placeholder{color:currentColor;opacity:.38}.working{flex:1;display:grid;place-items:center;text-align:center;padding:0 26px}.working-hero{font-size:46px;line-height:1;animation:heroBob 3.4s ease-in-out infinite}.working h2{font-family:var(--serif);font-weight:500;font-size:24px;margin:14px 0 6px}.saved{display:grid;gap:10px;margin-bottom:20px}.saved-row{display:flex;align-items:center;gap:10px;border:2px solid color-mix(in srgb,currentColor 30%,transparent);border-radius:16px;padding:12px 12px 12px 16px}.saved-open{flex:1;background:transparent;border:none;color:inherit;text-align:left;padding:0}.saved-name{display:block;font-family:var(--serif);font-weight:500;font-size:18px}.saved-meta{display:block;font-family:var(--sans);font-size:12px;opacity:.55;margin-top:2px}.saved-del{background:transparent;border:2px solid color-mix(in srgb,currentColor 26%,transparent);border-radius:999px;color:inherit;font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:9px 13px}.saved-del:hover{border-color:var(--red);color:var(--red)}.rows{display:grid;gap:12px;margin-bottom:16px}.row{border:2px solid color-mix(in srgb,currentColor 22%,transparent);border-radius:18px;padding:12px 13px 13px}.row.is-bad{border-color:var(--red)}.row--break{background:color-mix(in srgb,currentColor 6%,transparent)}.row-times{display:flex;align-items:center;gap:8px;margin-bottom:9px}.row-field{font-size:16px;font-family:var(--sans);padding:9px 10px;border:2px solid color-mix(in srgb,currentColor 26%,transparent);border-radius:11px;background:transparent;color:inherit;min-width:0}.row-field:focus{outline:none;border-color:var(--red)}.row-field--time{width:108px}.row-field--mins{width:74px}.row-field--full{width:100%}.row-ends{font-family:var(--sans);font-size:12px;opacity:.55;white-space:nowrap}.row-del{margin-left:auto;background:transparent;border:none;color:inherit;opacity:.5;font-size:18px;line-height:1;padding:6px 4px}.row-del:hover{opacity:1;color:var(--red)}.row-title{margin-bottom:8px}.row-foot{display:flex;align-items:center;gap:8px;margin-top:9px}.row-who{flex:1}.row-kind{border-radius:999px;border:2px solid color-mix(in srgb,currentColor 26%,transparent);background:transparent;color:inherit;font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:10px 14px;white-space:nowrap}.row-kind[aria-pressed=true]{background:var(--red);border-color:var(--red);color:#fff}.row-error{font-family:var(--sans);font-size:12px;font-weight:500;color:var(--red);margin:8px 0 0}.remote--final .row-error,.remote--done .row-error{color:inherit}.stack{display:grid;gap:10px;width:100%}.agenda-kicker{font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;opacity:.5;margin:4px 0}.agenda-title{font-family:var(--serif);font-weight:500;font-size:25px;line-height:1.2;margin:0 0 2px;text-align:center}.agenda-who{font-family:var(--sans);font-size:13px;opacity:.6;margin:0 0 4px}.agenda-next{font-family:var(--sans);font-size:13px;opacity:.62;margin:0 0 18px;text-align:center}.agenda-held{font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;border:2px solid currentColor;border-radius:999px;padding:5px 12px;margin-bottom:10px;opacity:.8}.agenda-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%;margin-bottom:14px}.sheet{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;flex-direction:column;justify-content:flex-end;background:color-mix(in srgb,#241d14 55%,transparent)}.sheet-panel{background:var(--base-bg);color:var(--base-fg);border-radius:22px 22px 0 0;max-height:82vh;display:flex;flex-direction:column;padding:16px 16px calc(16px + env(safe-area-inset-bottom));animation:sheetUp .22s ease-out}@keyframes sheetUp{0%{transform:translateY(14px);opacity:0}to{transform:translateY(0);opacity:1}}.sheet-list{overflow:auto;display:grid;gap:8px;margin:10px 0 14px}.sheet-item{display:flex;align-items:baseline;gap:12px;width:100%;text-align:left;background:transparent;border:2px solid color-mix(in srgb,currentColor 22%,transparent);border-radius:14px;padding:12px 14px;color:inherit}.sheet-item[aria-current=true]{border-color:var(--red)}.sheet-time{font-family:var(--sans);font-size:12px;letter-spacing:.1em;opacity:.6;min-width:46px}.sheet-title{font-family:var(--serif);font-weight:500;font-size:17px}.sheet-who{font-family:var(--sans);font-size:12px;opacity:.55;margin-left:auto}.link{background:transparent;border:none;color:inherit;font-family:var(--sans);font-size:13px;opacity:.6;padding:12px 0;text-decoration:underline;align-self:center}.link:hover{opacity:1}.remote{min-height:100%;display:flex;flex-direction:column;background:var(--base-bg);color:var(--base-fg);transition:background .9s ease,color .9s ease;padding-bottom:env(safe-area-inset-bottom)}.remote--warn{background:var(--warn-bg);color:var(--warn-fg)}.remote--final{background:var(--final-bg);color:var(--final-fg)}.remote--done{background:var(--done-bg);color:var(--done-fg)}.bar{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid currentColor;border-bottom-color:color-mix(in srgb,currentColor 18%,transparent)}.bar .wordmark{height:22px;transition:filter .9s ease}.remote--final .bar .wordmark,.remote--done .bar .wordmark{filter:brightness(0) invert(1)}.room{font-family:var(--sans);font-size:12px;font-weight:500;letter-spacing:.22em;opacity:.55}.badge{display:inline-flex;align-items:center;gap:7px;font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;opacity:.75}.badge-dot{width:7px;height:7px;border-radius:50%;background:#2f6f4e}.remote--final .badge-dot,.remote--done .badge-dot{background:currentColor}.badge--lost{padding:5px 12px;border-radius:999px;background:var(--red);color:#fff;opacity:1}.badge--lost .badge-dot{background:#fff;animation:blink 1.4s ease-in-out infinite}.remote--final .badge--lost .badge-dot,.remote--done .badge--lost .badge-dot{background:#fff}.body{flex:1;padding:22px 18px;overflow:auto}.body--running{display:flex;flex-direction:column;align-items:center;text-align:center}.foot{padding:14px 18px 18px;border-top:1px solid color-mix(in srgb,currentColor 18%,transparent);display:flex;gap:12px}.label{display:block;font-family:var(--sans);font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;opacity:.5;margin-bottom:9px}.label--centre{margin-top:6px}.presets{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:22px}.preset{background:transparent;border:2px solid color-mix(in srgb,currentColor 30%,transparent);border-radius:16px;padding:15px 6px;text-align:center;color:inherit;transition:border-color .16s ease,background .16s ease,color .16s ease}.preset strong{display:block;font-family:var(--serif);font-weight:500;font-size:27px;line-height:1}.preset span{font-family:var(--sans);font-size:10px;font-weight:500;letter-spacing:.16em;text-transform:uppercase;opacity:.6}.preset[aria-pressed=true]{background:var(--red);border-color:var(--red);color:#fff}.preset[aria-pressed=true] span{opacity:.8}.field{width:100%;font-size:16px;font-family:var(--sans);padding:14px;border:2px solid color-mix(in srgb,currentColor 30%,transparent);border-radius:13px;background:transparent;color:inherit;margin-bottom:20px}.field::placeholder{color:currentColor;opacity:.38}.field:focus{outline:none;border-color:var(--red)}.field--code{text-align:center;letter-spacing:.28em}.btn{border-radius:999px;padding:15px 28px;font-family:var(--sans);font-weight:500;font-size:13px;letter-spacing:.2em;text-transform:uppercase;border:2px solid transparent;transition:opacity .2s ease;flex:1}.btn--full{width:100%;flex:none}.btn--primary{background:var(--red);border-color:var(--red);color:#fff}.btn--primary:disabled{opacity:.4}.btn--ghost{background:transparent;border-color:currentColor;color:inherit}.btn--ghost:hover{opacity:.65}.remote--final .btn--primary{background:transparent;border-color:currentColor;color:inherit}.mirror-hero{font-size:54px;line-height:1;margin:6px 0 2px;animation:heroBob 3.4s ease-in-out infinite}.remote--final .mirror-hero{animation:heroPanic .5s ease-in-out infinite}.remote--done .mirror-hero{animation:wobble 1.6s ease-in-out infinite}.mirror-clock{display:flex;align-items:baseline;justify-content:center;font-family:var(--serif);font-weight:500;font-size:66px;line-height:1;margin-bottom:4px}.mirror-clock .d{display:inline-block;width:.62em;text-align:center}.mirror-clock .colon{display:inline-block;width:.34em;text-align:center}.mirror-clock.is-wide{font-size:46px}.remote--final .mirror-clock{animation:pulseTime 1s ease-in-out infinite}.mirror-message{font-family:var(--serif);white-space:nowrap;font-size:min(17px,4.4vw);margin:0 0 22px;min-height:1.5em;opacity:.85}.adjust{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;width:100%;margin-bottom:18px}.btn--nudge{padding:15px 0;letter-spacing:.08em;font-size:14px}.lengths{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;width:100%;margin-bottom:20px}.chip{padding:13px 0;border-radius:999px;border:2px solid color-mix(in srgb,currentColor 30%,transparent);background:transparent;color:inherit;font-family:var(--serif);font-weight:500;font-size:17px;line-height:1;transition:border-color .16s ease,background .16s ease,color .16s ease}.chip[aria-pressed=true]{background:var(--red);border-color:var(--red);color:#fff}.remote--final .chip[aria-pressed=true],.remote--done .chip[aria-pressed=true]{background:currentColor;border-color:currentColor;color:var(--final-bg)}.lock{flex:1;display:grid;place-items:center;text-align:center;padding:0 26px}.lock-hero{font-size:46px;line-height:1;animation:heroBob 3.4s ease-in-out infinite}.lock h1{font-family:var(--serif);font-weight:500;font-size:27px;margin:14px 0 6px}.lede{font-family:var(--sans);font-size:14px;line-height:1.5;opacity:.6;margin:0 0 24px}.footnote{font-family:var(--sans);font-size:12px;opacity:.45;margin:16px 0 0}.error{font-family:var(--sans);font-size:13px;font-weight:500;color:var(--red);margin:14px 0 0}.error--banner{width:100%;margin:0 0 16px;padding:12px 14px;border-radius:12px;border:2px solid var(--red);text-align:left}.remote--final .error,.remote--done .error{color:inherit}.remote--final .error--banner,.remote--done .error--banner{border-color:currentColor}@font-face{font-family:Basis Grotesque;src:url(/fonts/BasisGrotesquePro-Regular.woff2) format("woff2");font-weight:100 400;font-style:normal;font-display:swap}@font-face{font-family:Basis Grotesque;src:url(/fonts/basis-grotesque-medium.woff2) format("woff2");font-weight:500 900;font-style:normal;font-display:swap}@font-face{font-family:Sprig;src:url(/fonts/FAIRE-Sprig-Light.woff2) format("woff2");font-weight:100 400;font-style:normal;font-display:swap}@font-face{font-family:Sprig;src:url(/fonts/FAIRE-Sprig-Regular.woff2) format("woff2");font-weight:500 900;font-style:normal;font-display:swap}@font-face{font-family:Sprig;src:url(/fonts/FAIRE-Sprig-LightItalic.woff2) format("woff2");font-weight:100 900;font-style:italic;font-display:swap}:root{--serif: "Sprig", Georgia, "Times New Roman", serif;--sans: "Basis Grotesque", system-ui, -apple-system, sans-serif;--base-bg: #f6efe1;--base-fg: #241d14;--warn-bg: #efc46a;--warn-fg: #2e2113;--final-bg: #c8441f;--final-fg: #fdf2e0;--done-bg: #221510;--done-fg: #f3e7d2;--red: #c8102e}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{font-family:var(--sans);background:var(--base-bg);color:var(--base-fg);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none}button{font-family:inherit;cursor:pointer}.wordmark{display:block;width:auto;image-rendering:auto}.wordmark--light{filter:brightness(0) invert(1)}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:.15}}@keyframes pulseTime{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes wobble{0%,to{transform:rotate(-1.2deg)}50%{transform:rotate(1.2deg)}}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-5px,2px)}40%{transform:translate(4px,-3px)}60%{transform:translate(-3px,-2px)}80%{transform:translate(5px,3px)}}@keyframes emojiFall{0%{transform:translateY(-12vh) rotate(0)}to{transform:translateY(112vh) rotate(360deg)}}@keyframes bounceMsg{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes bunPop{0%,to{transform:scale(1)}40%{transform:scale(1.45) rotate(-8deg)}}@keyframes heroBob{0%,to{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-14px) rotate(4deg)}}@keyframes heroPanic{0%,to{transform:scale(1) rotate(-6deg)}50%{transform:scale(1.18) rotate(6deg)}}@keyframes drift{0%{transform:translateY(0) rotate(0)}50%{transform:translateY(-22px) rotate(10deg)}to{transform:translateY(0) rotate(0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition-duration:.01ms!important}}
