/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-mono:var(--font-numbers);--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--default-font-family:var(--font-ui);--default-mono-font-family:var(--font-numbers)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.static{position:static}.block{display:block}.hidden{display:none}.inline{display:inline}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.text-action{color:var(--action)}.sepia{--tw-sepia:sepia(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/geist-latin-wght-normal-BgDaEnEv.woff2)format("woff2")}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/geist-mono-latin-wght-normal-XN7g48iV.woff2)format("woff2")}@font-face{font-family:Archivo;font-style:normal;font-weight:100 900;font-stretch:62% 125%;font-display:swap;src:url(/assets/archivo-latin-wdth-normal-DY7AcnAa.woff2)format("woff2")}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f2eee4;--surface:#fbf9f4;--surface-sunken:#e7e1d3;--surface-raised:#fff;--line:#dcd5c6;--line-strong:#8f8778;--text:#1a1915;--text-muted:#5c574d;--text-faint:#625c51;--ok:#24713a;--warn:#f5a524;--on-warn:#1a1405;--late:#c4321e;--on-late:#fff;--late-soft:#f8e3dc;--late-text:#a52a17;--info:#1f3a5a;--action:#1a1915;--on-action:#f2eee4;--focus:#1a1915;--brand-red:#c4321e;--ticket:#fbf9f4;--on-ticket:#1a1915;--ticket-muted:#5c574d;--rail:#1a1915;--shadow-hang:0 1px 0 #1a19150f, 0 8px 16px -8px #1a19153d;--shadow-sheet:0 24px 48px -24px #1a19155c;--shadow-press:inset 0 2px 0 #1a19151a;--filter-hang:drop-shadow(0 0 1px #1a191559) drop-shadow(0 8px 10px #1a19152e);--grain-opacity:.035;--font-ui:"Geist", system-ui, sans-serif;--font-numbers:"Geist Mono", ui-monospace, monospace;--font-heading:"Archivo", "Geist", system-ui, sans-serif;--heading-width:80%;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--touch-min:56px;--touch-main:64px;--preview-bg:#1a1915;--preview-surface:#2a2822;--preview-text:#f2eee4;--preview-muted:#b9b2a4;--preview-line:#817a6b;--preview-ok:#75bd83;--duration-editorial:.72s;--ease-standard:cubic-bezier(.2, 0, 0, 1);--ease-enter:cubic-bezier(.05, .7, .1, 1);--ease-exit:cubic-bezier(.3, 0, .8, .15);--ease-hang:cubic-bezier(.34, 1.4, .64, 1);--duration-instant:80ms;--duration-fast:.14s;--duration:.2s;--duration-slow:.32s;--duration-hang:.48s;--motion-distance:8px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#13120f;--surface:#201e1a;--surface-sunken:#1a1915;--surface-raised:#2a2822;--line:#35322b;--line-strong:#77715f;--text:#f2eee4;--text-muted:#a8a295;--text-faint:#948e80;--ok:#5bb36b;--late-soft:#3e1c15;--late-text:#ff907b;--info:#8db0d8;--action:#f2eee4;--on-action:#13120f;--focus:#f2eee4;--brand-red:#d2402a;--ticket:#f2eee4;--rail:#f2eee4;--shadow-hang:0 1px 0 #0000004d, 0 10px 20px -10px #0009;--shadow-sheet:0 24px 48px -24px #000000b3;--shadow-press:inset 0 2px 0 #0000004d;--filter-hang:drop-shadow(0 10px 14px #0000008c);--grain-opacity:.02}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#13120f;--surface:#201e1a;--surface-sunken:#1a1915;--surface-raised:#2a2822;--line:#35322b;--line-strong:#77715f;--text:#f2eee4;--text-muted:#a8a295;--text-faint:#948e80;--ok:#5bb36b;--late-soft:#3e1c15;--late-text:#ff907b;--info:#8db0d8;--action:#f2eee4;--on-action:#13120f;--focus:#f2eee4;--brand-red:#d2402a;--ticket:#f2eee4;--rail:#f2eee4;--shadow-hang:0 1px 0 #0000004d, 0 10px 20px -10px #0009;--shadow-sheet:0 24px 48px -24px #000000b3;--shadow-press:inset 0 2px 0 #0000004d;--filter-hang:drop-shadow(0 10px 14px #0000008c);--grain-opacity:.02}@media (prefers-reduced-motion:reduce){:root{--duration-instant:0s;--duration-fast:0s;--duration:0s;--duration-slow:0s;--duration-hang:0s;--duration-editorial:0s;--motion-distance:0px}}html{background:var(--bg);color:var(--text);font-family:var(--font-ui)}body{min-inline-size:320px;margin:0;position:relative}body:before{content:"";z-index:-1;pointer-events:none;background:var(--text);opacity:var(--grain-opacity);position:absolute;inset:0;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1.6 0 0 0 -0.4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E") 0 0/180px 180px;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1.6 0 0 0 -0.4'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E") 0 0/180px 180px}::view-transition-old(root){animation-duration:.24s;animation-timing-function:var(--ease-standard)}::view-transition-new(root){animation-duration:.24s;animation-timing-function:var(--ease-standard)}*{box-sizing:border-box}button,select,input{font:inherit}a{color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:4px}.app-shell{flex-direction:column;min-block-size:100svh;display:flex}.app-header{border-block-end:1px solid var(--line);justify-content:space-between;align-items:center;gap:24px;padding:24px 40px;display:flex}.brand{display:inline-flex}.brand img{block-size:auto;inline-size:156px}.logo-dark{display:none}[data-theme=dark] .logo-dark{display:block}[data-theme=dark] .logo-light{display:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .logo-dark{display:block}:root:not([data-theme=light]) .logo-light{display:none}}.header-tools{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:24px;display:flex}.connection{color:var(--text-muted);align-items:center;gap:8px;font-size:14px;display:inline-flex}.connection-mark{border:2px solid;border-radius:50%;block-size:10px;inline-size:10px}.connection--ready .connection-mark{background:currentColor}.connection--offline .connection-mark,.connection--unavailable .connection-mark{border-radius:0}.language-control select{min-block-size:var(--touch-min);border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);padding-inline:12px}.theme-control{border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface-sunken);min-inline-size:0;margin:0;padding:0;display:inline-flex;overflow:hidden}.theme-option{min-block-size:var(--touch-min);min-inline-size:var(--touch-min);color:var(--text-muted);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);justify-content:center;align-items:center;gap:8px;padding-inline:14px;font-size:14px;font-weight:500;display:inline-flex;position:relative}.theme-option+.theme-option{border-inline-start:1px solid var(--line)}.theme-option input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.theme-option:hover{color:var(--text)}.theme-option:has(input:checked){background:var(--action);color:var(--on-action)}.theme-option:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:-4px}.theme-control--footer{inline-size:100%;margin-block-end:16px;display:none}.theme-control--footer .theme-option{flex:1;padding-inline:8px}@media (width<=360px){.theme-control--footer .theme-option-label{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}}.workspace{flex:1;inline-size:min(100% - 80px,960px);margin-inline:auto;padding-block:80px}.intro{max-inline-size:640px}h1,h2,.table-number,.room-priorities strong{font-family:var(--font-heading);font-stretch:var(--heading-width)}h1{letter-spacing:-.015em;text-wrap:balance;margin:0;font-size:clamp(32px,4vw,48px);font-weight:800;line-height:1.1}h2{letter-spacing:-.01em;font-weight:700}.intro p,.empty-view p{color:var(--text-muted);max-inline-size:56ch;font-size:18px;line-height:1.6}.view-list{border-block-start:1px solid var(--line);margin-block-start:48px}.view-link{border-block-end:1px solid var(--line);min-block-size:112px;transition:background-color var(--duration);grid-template-columns:1fr 1fr;align-items:center;gap:24px;padding:24px;text-decoration:none;display:grid}.view-link:hover{background:var(--surface)}.view-name{font-size:24px;font-weight:600}.view-description{color:var(--text-muted);font-size:16px;line-height:1.6}.empty-note{color:var(--text-muted);padding-block-start:16px;font-size:14px}.app-footer{border-block-start:1px solid var(--line);color:var(--text-muted);margin-inline:40px;padding-block:20px;font-size:14px}.pwa-update{flex-wrap:wrap;align-items:center;gap:16px;margin-block-end:16px;display:flex}.pwa-update p{max-inline-size:64ch;margin:0}.pwa-update button{min-block-size:var(--touch-min);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);cursor:pointer;padding:12px 16px}.pwa-update button:disabled{cursor:wait;color:var(--text-muted)}.empty-view{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-block-size:50svh;display:flex}.empty-plan{grid-template-columns:1fr 1fr;gap:16px;inline-size:160px;margin-block-end:40px;display:grid}.empty-plan span{border:2px dashed var(--text-faint);border-radius:var(--radius-md);block-size:48px}.empty-plan span:nth-child(2n){border-radius:50%;justify-self:center;inline-size:48px}.back-link{min-block-size:var(--touch-min);align-items:center;display:inline-flex}.app-shell--pass h1{font-size:clamp(38px,5vw,60px)}.app-shell--pass .empty-view p{font-size:24px}.app-shell--pass .connection{font-size:19px}.skip-link{background:var(--action);color:var(--on-action);border-radius:var(--radius-sm);padding:16px;position:absolute;inset-block-start:-100px;inset-inline-start:16px}.skip-link:focus{inset-block-start:16px}.account-panel{max-inline-size:560px;margin-inline:auto}.account-panel h1{font-size:32px}.account-description{color:var(--text-muted);line-height:1.6}.account-panel fieldset{border:0;gap:20px;margin:0;padding:0;display:grid}.account-panel label{gap:8px;display:grid}.account-panel input{inline-size:100%;min-block-size:var(--touch-min);color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px}.primary-action,.secondary-action,.text-action{min-block-size:var(--touch-min);border-radius:var(--radius-sm);cursor:pointer;padding:12px 16px}.primary-action{background:var(--action);color:var(--on-action);border:1px solid var(--action)}.secondary-action{background:var(--surface);color:var(--text);border:1px solid var(--line)}.text-action{color:var(--text);background:0 0;border:0;text-decoration:underline}.account-panel button:disabled{cursor:wait}.account-panel .back-link{margin-block-start:24px;display:flex}.account-error{color:var(--late-text);border-inline-start:3px solid;padding-inline-start:12px}.account-secret{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);overflow-wrap:anywhere;margin-block:24px;padding:24px}.account-secret h2{margin-block-start:0;font-size:20px}.account-secret code{font-family:var(--font-mono);-webkit-user-select:all;user-select:all}.backup-codes{flex-wrap:wrap;gap:12px 24px;padding:0;list-style:none;display:flex}.access-panel{border-block:1px solid var(--line);gap:16px;margin-block:24px;padding-block:24px;display:grid}.access-panel h2,.access-panel h3{margin:0;font-size:24px}.access-field{gap:8px;display:grid}.access-panel select{inline-size:100%;min-block-size:var(--touch-min);background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:var(--radius-sm);padding-inline:12px}.pairing-code{font-family:var(--font-mono);letter-spacing:.12em;font-size:32px}.device-list{margin:0;padding:0;list-style:none}.device-list li{border-block-end:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-block:8px;display:flex}.device-list code{font-family:var(--font-mono);font-size:14px}.device-pairing{inline-size:100%;max-inline-size:560px}.device-pairing h2{margin-block-start:32px;font-size:24px}.device-pairing form{text-align:start;gap:16px;margin-block-start:24px;display:grid}.device-pairing label{gap:8px;display:grid}.device-pairing input{min-block-size:var(--touch-min);background:var(--surface);inline-size:100%;color:var(--text);border:1px solid var(--line);border-radius:var(--radius-sm);font-family:var(--font-mono);padding:12px;font-size:24px}.app-shell--tablet .workspace,.app-shell--pass .workspace{inline-size:calc(100% - 48px);max-inline-size:2000px;padding-block:24px}.app-shell--tablet .empty-view,.app-shell--pass .empty-view{text-align:start;justify-content:flex-start;align-items:stretch}.app-shell--tablet .empty-view h1,.app-shell--pass .empty-view h1{font-size:28px}.app-shell--tablet .device-pairing,.app-shell--pass .device-pairing{max-inline-size:none}.room{text-align:start;margin-block-start:20px}.room p{line-height:1.5}.room-toolbar{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.room-toolbar h2{margin:0;margin-inline-end:auto;font-size:24px}.room-status{border:1px solid var(--line);border-radius:var(--radius-sm);padding:8px 12px;font-weight:600}.room-status--offline,.room-status--unavailable{border:2px dashed}.room-error{border-inline-start:4px solid var(--late-text);margin-block:16px;padding:12px 16px}.room--tablet .room-priorities{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-sunken);margin-block:20px;padding:16px 20px}.room h3{margin:0 0 12px;font-size:22px;font-weight:600}.room--tablet .room-priorities p{margin:0}.room--tablet .room-priorities ol{flex-wrap:wrap;gap:16px;margin:0;padding:0;list-style:none;display:flex}.room--tablet .room-priorities li{border:1px solid var(--line);border-radius:var(--radius-sm);flex-wrap:wrap;align-items:center;gap:8px 16px;padding:12px;display:flex}.room--tablet .room-priorities strong{font-size:28px}.room--tablet .room-priorities .priority--late{border:3px double var(--late-text)}.room--tablet .room-priorities .priority--watch{border-style:dashed}.room-layout{grid-template-columns:minmax(0,1fr);gap:24px;display:grid}.room--tablet .room-layout{grid-template-columns:minmax(0,1fr) minmax(240px,300px)}.room-floors{grid-template-columns:repeat(var(--floor-count), minmax(0, 1fr));gap:24px;min-inline-size:0;display:grid}.room-floor{min-inline-size:0}.floor-scroll{border:1px solid var(--line);border-radius:var(--radius-lg);overflow:auto}.floor-board{background:var(--surface-sunken);inline-size:100%;position:relative}.room--tablet .floor-board{min-inline-size:600px}.room-table{border:2px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);color:var(--text);font-family:var(--font-ui);justify-content:center;align-items:center;min-block-size:76px;min-inline-size:76px;padding:4px;display:flex;position:absolute}.room-table--round{border-radius:50%}.room-table--free{color:var(--text-faint);background:0 0;border-style:dashed}.table-content{text-align:center;flex-direction:column;align-items:center;gap:2px;inline-size:100%;display:flex}.table-number{overflow-wrap:anywhere;font-size:22px;font-weight:800;line-height:1.1}.table-step,.table-cue{overflow-wrap:anywhere;font-size:13px;line-height:1.2}.table-minutes{font-family:var(--font-numbers);font-variant-numeric:tabular-nums;font-size:16px}.room-table--ok .table-minutes{color:var(--ok)}.room-table--watch{background:var(--warn);border-color:var(--on-warn);color:var(--on-warn)}.room-table--late{background:var(--late);color:var(--on-late);border-color:var(--on-late);box-shadow:0 0 0 4px var(--bg);outline:3px solid var(--late);outline-offset:4px}.room-table[aria-pressed=true]{outline:3px solid var(--text);outline-offset:7px}.room-table{transition:background-color var(--duration) var(--ease-standard), color var(--duration) var(--ease-standard), border-color var(--duration) var(--ease-standard)}.room-table--late{animation:ring-in var(--duration-hang) var(--ease-enter)}@keyframes ring-in{0%{outline-offset:16px;outline-color:#0000}}.roll{animation:roll-in var(--duration-fast) var(--ease-enter);display:inline-block}@keyframes roll-in{0%{opacity:0;transform:translateY(40%)}}.table-step,.table-cue,.table-covers{justify-content:center;align-items:center;gap:.3em;display:inline-flex}.table-step svg,.table-cue svg,.table-covers svg{flex-shrink:0;block-size:1.15em;inline-size:1.15em}.app-shell--pass:has(.pass) .app-header{display:none}.app-shell--pass:has(.pass) .app-footer{display:none}.app-shell--pass .empty-view:has(.pass)>h1{display:none}.app-shell--pass .device-pairing:has(.pass)>.paired-notice{display:none}.app-shell--pass:has(.pass) .workspace{inline-size:100%;max-inline-size:none;padding:0}.app-shell--pass .empty-view:has(.pass){min-block-size:0;display:block}.pass{flex-direction:column;block-size:100svh;margin:0;display:flex;overflow:hidden}.pass-header{border-block-end:1px solid var(--line);flex:none;align-items:center;gap:32px;min-block-size:96px;padding:12px 32px;display:flex}.pass-venue{align-items:center;gap:20px;min-inline-size:0;margin-inline-end:auto;display:flex}.pass-venue img{flex-shrink:0;block-size:auto;inline-size:112px}.pass-venue-text{border-inline-start:1px solid var(--line);min-inline-size:0;padding-inline-start:20px}.pass-venue-text p{margin:0}.pass-venue-name{font-family:var(--font-heading);font-stretch:var(--heading-width);font-size:28px;font-weight:800;line-height:1.1}.pass-venue-name,.pass-service{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.pass-service{color:var(--text-muted);font-size:15px}.pass-spaces{border-radius:var(--radius-md);background:var(--surface-sunken);gap:4px;padding:4px;display:flex}.pass-space{white-space:nowrap;min-block-size:var(--touch-min);border-radius:var(--radius-sm);color:var(--text-muted);transition:background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);background:0 0;border:0;align-items:center;gap:10px;padding-inline:20px;font-size:19px;font-weight:600;display:inline-flex}button.pass-space{cursor:pointer}.pass-space[aria-pressed=true]{background:var(--surface-raised);color:var(--text);box-shadow:var(--shadow-hang)}.pass-space-count{background:var(--late);block-size:28px;min-inline-size:28px;color:var(--on-late);font-family:var(--font-numbers);border-radius:14px;place-items:center;padding-inline:8px;font-size:15px;display:inline-grid}.pass-counters{gap:28px;margin:0;display:flex}.pass-counter{flex-direction:column-reverse;align-items:flex-start;gap:4px;display:flex}.pass-counter dd{font-family:var(--font-numbers);font-variant-numeric:tabular-nums;margin:0;font-size:32px;font-weight:600;line-height:1}.pass-counter dt{white-space:nowrap;color:var(--text-muted);align-items:center;gap:6px;font-size:15px;display:inline-flex}.pass-counter svg{block-size:20px;inline-size:20px}.pass-counter--late svg,.pass-counter--late dd{color:var(--late-text)}.pass-time{border-inline-start:1px solid var(--line);justify-items:end;gap:6px;padding-inline-start:32px;display:grid}.pass-clock{font-family:var(--font-numbers);font-variant-numeric:tabular-nums;font-size:44px;font-weight:600;line-height:1}.pass .room-status.pass-sync{white-space:nowrap;color:var(--info);border:0;align-items:center;gap:6px;padding:0;font-size:15px;font-weight:500;display:inline-flex}.pass-sync svg{block-size:20px;inline-size:20px}.pass-menu-button{inline-size:var(--touch-min);block-size:var(--touch-min);border:1px solid var(--line-strong);border-radius:var(--radius-md);color:var(--text-muted);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);background:0 0;flex-shrink:0;place-items:center;display:inline-grid}.pass-menu-button:hover{background:var(--surface);color:var(--text)}.pass-menu-button:active{box-shadow:var(--shadow-press)}.pass-menu{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-raised);min-inline-size:340px;color:var(--text);box-shadow:var(--shadow-sheet);margin:0;padding:24px;position:fixed;inset:auto;inset-block-start:104px;inset-inline-end:32px}.pass-menu:popover-open{animation:sheet-in var(--duration-slow) var(--ease-enter);gap:16px;display:grid}@keyframes sheet-in{0%{opacity:0;transform:translateY(calc(var(--motion-distance) * -1))}}.pass-menu .eyebrow{margin:0}.pass-menu .language-control{gap:8px;font-size:15px;display:grid}.theme-control--menu{inline-size:100%;display:flex}.theme-control--menu .theme-option{flex:1}.pass-offline{background:var(--late-soft);color:var(--late-text);animation:banner-in var(--duration-slow) var(--ease-enter);flex-wrap:wrap;flex:none;align-items:center;gap:8px 16px;padding:14px 32px;font-size:19px;display:flex}.pass-offline .room-status{border:0;padding:0;font-weight:700}@keyframes banner-in{0%{opacity:0;transform:translateY(-100%)}}.pass-body{flex:1;grid-template-columns:minmax(0,1fr) 440px;min-block-size:0;display:grid}.pass-plan{flex-direction:column;min-block-size:0;min-inline-size:0;display:flex}.pass-floors{flex:1;justify-content:center;align-items:center;gap:24px;min-block-size:0;display:flex}.pass-floor{flex-direction:column;align-items:center;gap:8px;display:flex}.pass-floor-name{block-size:28px;color:var(--text-muted);margin:0;font-size:19px;font-weight:600}.pass-board{border-radius:var(--radius-lg);flex-shrink:0}.pass-message{max-inline-size:40ch;color:var(--text-muted);text-align:center;font-size:24px}.pass-table{border-width:3px;min-block-size:0;min-inline-size:0;padding:4px;container-type:size}.pass-table .table-content{gap:3px}.pass-table .table-number{font-size:clamp(18px,30cqmin,44px);font-weight:900;line-height:1}.pass-table .table-minutes{align-items:baseline;gap:.25em;font-size:clamp(14px,17cqmin,24px);font-weight:600;display:inline-flex}.pass-table .table-unit{font-size:.7em}.pass-table .table-step,.pass-table .table-cue,.pass-table .table-covers{font-size:clamp(12px,10cqmin,15px);font-weight:500}.pass-table .table-cue{font-weight:700}@container (height<=104px){.pass-table .table-step,.pass-table .table-covers{display:none}}@container (height<=84px) or (width<=84px){.pass-table .table-cue-label{display:none}}.pass-table.room-table--round .table-content{max-inline-size:74%}@container (width<=124px){.pass-table.room-table--round .table-cue-label{display:none}}.pass-table .table-step,.pass-table .table-cue,.pass-table .table-covers{overflow-wrap:normal;text-wrap:balance}.pass-legend{color:var(--text-muted);flex-wrap:wrap;gap:8px 28px;margin:0;padding:0 32px 20px;font-size:15px;list-style:none;display:flex}.pass-legend li{align-items:center;gap:10px;display:inline-flex}.pass-swatch{border:2px solid var(--line);background:var(--surface);border-radius:6px;place-items:center;block-size:22px;inline-size:22px;display:inline-grid}.pass-swatch svg{block-size:14px;inline-size:14px}.pass-swatch--free{border-style:dashed;border-color:var(--line-strong);background:0 0}.pass-swatch--watch{border-color:var(--warn);background:var(--warn);color:var(--on-warn)}.pass-swatch--late{border-color:var(--late);background:var(--late);color:var(--on-late);box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--late)}.pass-rail{border-inline-start:1px solid var(--line);background:var(--surface-sunken);flex-direction:column;min-block-size:0;padding:24px 28px 0;display:flex}.pass-rail-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;margin-block-end:14px;display:flex}.pass-rail-head h2{margin:0;font-size:28px;font-weight:800}.pass-rail-head span{color:var(--text-muted);font-size:15px}.pass-rail-bar{background:var(--rail);border-radius:3px;flex-shrink:0;block-size:6px;margin-inline:-8px}.pass-rail ol{flex-direction:column;flex:1;gap:12px;min-block-size:0;margin:0;padding:0 0 24px;list-style:none;display:flex;overflow:hidden}.pass-ticket{filter:var(--filter-hang);transform-origin:top;flex:none}.pass-ticket-paper{background:var(--ticket);block-size:128px;color:var(--on-ticket);grid-template-rows:36px minmax(0,1fr);padding-block-end:6px;display:grid;-webkit-mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) 50%/12px 100%;mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) 50%/12px 100%}.priority--late .pass-ticket-paper{block-size:144px}.pass-ticket-band{letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:8px;padding-inline:16px;font-size:15px;font-weight:700;display:flex}.priority--watch .pass-ticket-band{background:var(--warn);color:var(--on-warn)}.priority--late .pass-ticket-band{background:var(--late);color:var(--on-late)}.pass-ticket-body{grid-template-rows:auto auto;grid-template-columns:auto minmax(0,1fr) auto;align-content:center;align-items:center;column-gap:16px;padding:8px 16px;display:grid}.pass-rail .pass-ticket-number,.home-live-rail .pass-ticket-number{grid-row:1/span 2;min-inline-size:1.3em;font-size:56px;font-weight:900;line-height:1}.pass-ticket-step{overflow-wrap:break-word;align-items:center;gap:8px;min-inline-size:0;font-size:19px;font-weight:600;display:inline-flex}.pass-ticket-step svg{flex-shrink:0}.pass-ticket-floor{color:var(--ticket-muted);grid-column:2;font-size:15px}.pass-ticket-minutes{font-family:var(--font-numbers);font-variant-numeric:tabular-nums;grid-area:1/3/span 2;align-items:baseline;gap:4px;font-size:40px;font-weight:600;line-height:1;display:inline-flex}.pass-ticket-minutes .table-unit{color:var(--ticket-muted);font-size:15px}.pass-ticket--calm .pass-ticket-paper{align-items:center;gap:12px;block-size:96px;padding:0 20px 6px;font-size:19px;font-weight:600;display:flex}.pass-ticket--more{border:2px dashed var(--line-strong);border-radius:var(--radius-md);block-size:56px;color:var(--text-muted);filter:none;place-items:center;font-size:19px;font-weight:600;display:grid}@media (width<=1500px){.pass-header{gap:20px;padding-inline:24px}.pass-body{grid-template-columns:minmax(0,1fr) 360px}.pass-time{padding-inline-start:20px}.pass-clock{font-size:36px}.pass-counters{gap:20px}.pass-counter dd{font-size:28px}.pass-rail{padding-inline:20px}.pass-rail .pass-ticket-number{font-size:48px}.pass-ticket-minutes{font-size:34px}}.table-detail{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);align-self:start;padding:20px}.table-detail .table-actions{gap:12px;display:grid}.group-picker{border:1px solid var(--line);border-radius:var(--radius-lg);gap:12px;min-inline-size:0;padding:16px;display:grid}.group-picker label{cursor:pointer;align-items:center;gap:12px;min-block-size:56px;display:flex}.group-picker input{block-size:24px;inline-size:24px;accent-color:var(--action);flex-shrink:0}.group-picker button{inline-size:100%}.table-covers{font-size:14px}.table-actions button{min-block-size:64px}.table-actions button:disabled,.room-toolbar button:disabled{opacity:.6;cursor:default}@media (width<=1100px){.room--tablet .room-floors{grid-template-columns:1fr}}@media (width<=800px){.room--tablet .room-layout{grid-template-columns:minmax(0,1fr)}}@media (width<=640px){.theme-control--header{display:none}.theme-control--footer{display:flex}.app-header{align-items:flex-start;gap:16px;padding:16px 20px}.brand img{inline-size:112px}.header-tools{flex-direction:column-reverse;align-items:flex-end;gap:4px}.connection{font-size:13px}.workspace{inline-size:calc(100% - 40px);padding-block:48px}.view-link{grid-template-columns:1fr;gap:8px;padding-inline:12px}.app-footer{margin-inline:20px}}.app-shell{padding-block-end:env(safe-area-inset-bottom,0px)}.home-intro{max-inline-size:680px}.eyebrow{color:var(--text-muted);letter-spacing:.04em;margin:0 0 8px;font-size:13px;font-weight:600}.intro .eyebrow,.pairing-setup .eyebrow{font-size:13px}.helper-text{color:var(--text-muted);overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.6}.home-context{margin-block-start:32px}.setup-card{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface);gap:20px;min-inline-size:0;padding:24px;display:grid}.setup-card h2,.setup-card h3,.setup-card p{margin-block:0}.setup-card h2{overflow-wrap:anywhere;font-size:26px;line-height:1.25}.section-heading{gap:8px;display:grid}.section-heading .eyebrow{margin:0}.action-link{text-align:center;min-block-size:var(--touch-min);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.home-context .back-link{justify-self:start}.view-list{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-block-start:24px;display:grid}.view-link{border:1px solid var(--line);border-radius:var(--radius-md);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:16px;padding:24px}.view-link>span{min-inline-size:0}.view-index{font-family:var(--font-numbers);color:var(--text-muted);padding-block-start:6px;font-size:14px}.view-name{overflow-wrap:anywhere;font-size:22px;display:block}.view-description{margin-block-start:8px;display:block}.view-next{min-block-size:var(--touch-min);align-items:center;margin-block-start:12px;font-size:14px;font-weight:600;text-decoration:underline;display:inline-flex}.venue-selection{gap:16px;display:grid}.venue-selection select{inline-size:100%;min-block-size:var(--touch-min);border:1px solid var(--text-faint);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);padding:12px}.device-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;display:grid}.device-summary>div{border:1px dashed var(--text-faint);border-radius:var(--radius-sm);padding:16px}.device-summary>div[data-paired=true]{border-style:solid}.device-summary dt{overflow-wrap:anywhere;font-weight:600;line-height:1.4}.device-summary dd{color:var(--text-muted);align-items:baseline;gap:8px;margin:8px 0 0;font-size:14px;line-height:1.5;display:flex}.state-mark{border:1px solid;flex:0 0 8px;block-size:8px;inline-size:8px;display:inline-block}[data-paired=true] .state-mark{background:currentColor;border-radius:50%}.account-panel:has(.access-panel){max-inline-size:720px}.access-panel{gap:24px}.access-panel h2{font-size:26px;line-height:1.25}.access-panel h3{font-size:20px;line-height:1.4}.pairing-ticket{border-block-start:2px dashed var(--text-faint);gap:16px;min-inline-size:0;padding-block-start:24px;display:grid}.pairing-code{max-inline-size:100%;font-family:var(--font-numbers);letter-spacing:.08em;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;font-size:clamp(1.75rem,7vw,2.5rem);font-weight:600;line-height:1.4;display:block}.code-tools{flex-wrap:wrap;align-items:center;gap:12px 24px;display:flex}.countdown{font-family:var(--font-numbers);font-size:14px}.pairing-instructions{overflow-wrap:anywhere;gap:12px;margin:0;padding-inline-start:24px;line-height:1.6;display:grid}.device-list{gap:12px;display:grid}.device-list li{border:1px solid var(--line);border-radius:var(--radius-sm);align-items:start;padding:16px}.device-information{flex:1;gap:8px;min-inline-size:0;display:grid}.device-state{font-size:14px}.revoke-confirmation{flex-wrap:wrap;flex-basis:100%;gap:8px;display:flex}.revoke-confirmation p{flex-basis:100%;margin:0;line-height:1.5}.app-shell--tablet .device-pairing.pairing-setup,.app-shell--pass .device-pairing.pairing-setup{max-inline-size:560px;margin-block-start:24px}.pairing-setup h2{margin:0}.pairing-setup p{font-size:16px}.pairing-setup form{margin:0}.pairing-setup input{border-color:var(--text-faint);font-size:24px}.pairing-setup .helper-text{font-size:14px}.pairing-setup input[aria-invalid=true]{border:2px solid var(--late-text)}.pairing-help{border-block-start:1px solid var(--line);padding-block-start:8px}.pairing-help summary{min-block-size:var(--touch-min);cursor:pointer;padding-block:16px;font-weight:600;display:list-item}.pairing-help p{line-height:1.6}.primary-action:disabled,.secondary-action:disabled,.text-action:disabled{opacity:.6;cursor:default}.primary-action,.secondary-action,.text-action,.action-link{overflow-wrap:anywhere;min-inline-size:0;line-height:1.4}.primary-action:active:not(:disabled),.secondary-action:active:not(:disabled),.view-link:active{opacity:.75}.app-shell--home .workspace{inline-size:min(100% - 80px,1120px);padding-block:64px}.app-shell--home .brand{min-block-size:var(--touch-min);align-items:center}.home-overview{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:64px;display:grid}.home-overview .home-intro{padding-block:24px}.home-overview h1{max-inline-size:16ch;font-size:clamp(36px,4.2vw,52px)}.home-overview .home-intro>p{max-inline-size:34ch;margin:20px 0 0;font-size:18px;line-height:1.6}.home-overview .home-context{min-inline-size:0;margin:0}.home-entry{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);padding:28px}.home-manager,.home-paired,.home-recovery{gap:16px;display:grid}.home-entry h2{overflow-wrap:anywhere;margin:0;font-size:24px;font-weight:600;line-height:1.3}.home-entry .eyebrow{margin:0;font-size:14px}.home-entry .primary-action{inline-size:100%}.home-entry .back-link{justify-self:start}.home-invitation{color:var(--text-muted);margin:0;font-size:14px;line-height:1.5}.home-device-kind{align-items:baseline;gap:8px;margin:0;line-height:1.5;display:flex}.home-room-links{border-block-start:1px solid var(--line);gap:0;margin-block-start:24px;padding-block-start:24px;display:grid}.home-room-links h2{font-size:18px;font-family:var(--font-ui);letter-spacing:0;margin-block-end:8px;font-weight:600;font-stretch:100%}.home-room-links>div{margin-block-end:8px}.home-room-link{border-block-end:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-block-size:80px;padding-block:16px;text-decoration:none;display:flex}.home-room-link:last-child{border-block-end:0;padding-block-end:0}.home-room-link>span:first-child{gap:4px;min-inline-size:0;display:grid}.home-room-link strong{font-size:16px;font-weight:600}.home-room-link>span>span{color:var(--text-muted);font-size:14px;line-height:1.5}.home-room-link:hover strong{text-underline-offset:4px;text-decoration:underline}.home-room-link:active{opacity:.75}.home-arrow{color:var(--text-muted);flex-shrink:0;font-size:24px}@media (width<=800px){.home-overview{grid-template-columns:minmax(0,1fr);gap:24px}.app-shell--home .workspace{max-inline-size:640px;padding-block:32px}.home-overview .home-intro{padding:0}.home-overview h1{max-inline-size:20ch;font-size:36px}.home-overview .home-intro>p{max-inline-size:40ch;margin-block-start:12px;font-size:16px}}@media (width<=640px){.app-shell--home .workspace{inline-size:calc(100% - 40px);padding-block:24px 32px}.home-overview h1{font-size:34px}.home-entry{padding:20px}.home-manager,.home-paired{gap:12px}.home-room-links{margin-block-start:20px;padding-block-start:20px}.workspace{padding-block:32px}.home-context{margin-block-start:24px}.setup-card{gap:16px;padding:20px}.view-list{grid-template-columns:minmax(0,1fr)}.view-link{padding:20px}.device-summary{grid-template-columns:minmax(0,1fr)}.device-summary>div{padding:12px 16px}.account-panel h1{font-size:30px}.account-panel:has(.access-panel)>.account-description{max-inline-size:38ch}}.app-shell--dashboard .workspace{inline-size:min(100% - 48px,1240px);padding-block:40px 64px}.dashboard{gap:24px;display:grid}.dashboard-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.dashboard-head .eyebrow{margin:0 0 8px}.dashboard-head h1{font-size:clamp(36px,4vw,52px)}.dashboard-range{color:var(--text-muted);margin:8px 0 0;font-size:16px}.dashboard-demo{border:1px dashed var(--line-strong);border-radius:var(--radius-md);color:var(--info);align-items:center;gap:8px;margin:0;padding:8px 14px;font-size:14px;font-weight:600;display:inline-flex}.dashboard-filters{border-radius:var(--radius-md);background:var(--surface-sunken);border:0;flex-wrap:wrap;justify-self:start;gap:4px;margin:0;padding:4px;display:inline-flex}.dashboard-period{position:relative}.dashboard-period input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.dashboard-period span{min-block-size:var(--touch-min);border-radius:var(--radius-sm);color:var(--text-muted);transition:background-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);align-items:center;padding-inline:18px;font-size:15px;font-weight:600;display:inline-flex}.dashboard-period:hover span{color:var(--text)}.dashboard-period:has(input:checked) span{background:var(--surface-raised);color:var(--text);box-shadow:var(--shadow-hang)}.dashboard-period:has(input:focus-visible) span{outline:2px solid var(--focus);outline-offset:2px}.dashboard-body{transition:opacity var(--duration) var(--ease-standard);gap:24px;display:grid}.dashboard-body.is-refreshing{opacity:.55}.dashboard-kpis{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;display:grid}.stat-tile{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);align-content:start;gap:6px;padding:20px;display:grid}.stat-label{color:var(--text-muted);margin:0;font-size:14px;font-weight:600}.stat-value{font-family:var(--font-ui);letter-spacing:-.01em;margin:0;font-size:36px;font-weight:600;line-height:1.1}.stat-delta{color:var(--text-muted);align-items:flex-start;gap:4px;margin:0;font-size:14px;font-weight:600;display:inline-flex}.stat-delta--good{color:var(--ok)}.stat-delta--bad{color:var(--late-text)}.stat-foot{color:var(--text-muted);margin:0;font-size:13px;line-height:1.5}.stat-tile--hero{border-color:var(--action);background:var(--action);color:var(--on-action)}.stat-tile--hero .stat-label,.stat-tile--hero .stat-foot,.stat-tile--hero .stat-delta{color:var(--on-action);opacity:.85}.stat-tile--hero .stat-value{font-size:56px}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.dashboard-card{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);align-content:start;gap:16px;min-inline-size:0;margin:0;padding:24px;display:grid}.dashboard-card--wide{grid-column:1/-1}.dashboard-card h2{margin:0;font-size:24px}.dashboard-card figcaption p{color:var(--text-muted);margin:4px 0 0;font-size:14px}.dashboard-table summary{min-block-size:var(--touch-min);color:var(--info);cursor:pointer;align-items:center;font-size:14px;font-weight:600;display:flex}.dashboard-table table{border-collapse:collapse;inline-size:100%;font-size:14px}.dashboard-table th,.dashboard-table td{border-block-end:1px solid var(--line);text-align:start;padding:8px 12px}.dashboard-table td{font-family:var(--font-numbers);font-variant-numeric:tabular-nums;text-align:end}.dashboard-table thead th{color:var(--text-muted);font-weight:600}.dashboard-quality p{margin:0;line-height:1.5}.meter{background:var(--info);border-radius:5px;block-size:10px;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.meter{background:color-mix(in oklab, var(--info) 18%, var(--surface))}}.meter span{background:var(--info);border-radius:5px;block-size:100%;display:block}.dashboard-privacy{color:var(--text-muted);align-items:center;gap:8px;margin:0;font-size:14px;display:flex}@media (width<=900px){.dashboard-grid{grid-template-columns:minmax(0,1fr)}}.chart{inline-size:100%;position:relative}.chart svg{display:block;overflow:visible}.chart-axis line{stroke:var(--line);stroke-width:1px}.chart-axis text,.chart-label{fill:var(--text-muted);font-family:var(--font-numbers);font-variant-numeric:tabular-nums;font-size:12px}.chart-column path{transition:opacity var(--duration-fast) var(--ease-standard)}.chart-column.is-active path{opacity:.72}.chart-mark--accent path{fill:var(--info)}.chart-mark--neutral path{fill:var(--line-strong)}.chart-mark--watch path{fill:var(--warn)}.chart-mark--late path{fill:var(--late)}.chart-line path{fill:none;stroke:var(--info);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.chart-line .chart-area{fill:var(--info);fill-opacity:.1;stroke:none}.chart-dot{fill:var(--info);stroke:var(--surface);stroke-width:2px}.chart-crosshair{stroke:var(--line-strong);stroke-width:1px}.chart-reference line{stroke-width:1.5px}.chart-reference--watch line{stroke:var(--warn)}.chart-reference--late line{stroke:var(--late)}.chart-reference text{fill:var(--text-muted);paint-order:stroke;stroke:var(--surface);stroke-width:4px;stroke-linejoin:round;font-size:12px}.stat-delta svg{flex-shrink:0;margin-block-start:2px}.chart-hits{display:flex;position:absolute}.chart-hit{cursor:crosshair;background:0 0;border:0;flex:1;min-inline-size:0;padding:0}.chart-hit:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.chart-tooltip{z-index:2;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface-raised);box-shadow:var(--shadow-sheet);white-space:nowrap;pointer-events:none;gap:2px;padding:8px 12px;font-size:13px;display:grid;position:absolute;transform:translate(-50%,calc(-100% - 12px))}.chart-tooltip strong{font-variant-numeric:tabular-nums;font-size:16px}.chart-tooltip span{color:var(--text-muted)}.chart-legend{color:var(--text-muted);flex-wrap:wrap;gap:8px 20px;margin:0;padding:0;font-size:14px;list-style:none;display:flex}.chart-legend li{align-items:center;gap:8px;display:inline-flex}.chart-key{border-radius:4px;place-items:center;block-size:18px;inline-size:18px;display:inline-grid}.chart-key svg{block-size:12px;inline-size:12px}.chart-key.chart-mark--neutral{background:var(--line-strong)}.chart-key.chart-mark--watch{background:var(--warn);color:var(--on-warn)}.chart-key.chart-mark--late{background:var(--late);color:var(--on-late)}.heatmap{align-items:center;gap:3px;font-size:12px;display:grid}.heatmap-row{display:contents}.heatmap-head{color:var(--text-muted);font-family:var(--font-numbers);text-align:center}.heatmap-head--row{font-family:var(--font-ui);text-align:start;padding-inline-end:8px}.heatmap-cell{background:var(--late);border-radius:4px;block-size:34px}@supports (color:color-mix(in lab, red, red)){.heatmap-cell{background:color-mix(in oklab, var(--late) var(--heat), var(--surface-sunken))}}.heatmap-cell:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.heatmap-legend{color:var(--text-muted);grid-column:1/-1;align-items:center;gap:8px;margin-block-start:8px;display:flex}.heatmap-scale{background:linear-gradient(to right, var(--surface-sunken), var(--late));border-radius:5px;block-size:10px;inline-size:160px}.app-shell--home .workspace{inline-size:min(100% - 48px,1200px)}.home-blocks{grid-template-columns:repeat(12,minmax(0,1fr));align-items:stretch;gap:16px}.home-block{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);min-inline-size:0;padding:32px}.home-device-action{border-radius:var(--radius-md);background:var(--action);min-block-size:40px;color:var(--on-action);white-space:nowrap;grid-area:1/2;align-items:center;padding-inline:16px;font-size:14px;font-weight:600;display:inline-flex}.home-blocks .home-entry{grid-column:1/-1;margin:0;padding:32px}.home-devices{grid-column:1/-1;gap:16px;display:grid}.home-device-row{grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;gap:16px;display:grid}.home-devices-head{flex-wrap:wrap;align-items:baseline;gap:4px 16px;margin-block-start:16px;display:flex}.home-devices-head h2{margin:0;font-size:28px}.home-device{color:inherit;transition:transform var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard);grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr) auto;align-content:start;gap:20px 12px;padding:24px;text-decoration:none;display:grid}@media (hover:hover){.home-device:hover{border-color:var(--line-strong);box-shadow:var(--shadow-hang);transform:translateY(-1px)}.home-device:hover .home-arrow{color:var(--text);transform:translate(3px)}}.home-device:active{box-shadow:var(--shadow-press);transform:translateY(1px)}.home-device-icon{border-radius:var(--radius-md);background:var(--surface-sunken);block-size:48px;inline-size:48px;color:var(--text);place-items:center;display:inline-grid}.home-device-text{grid-column:1/-1;gap:6px;min-inline-size:0;display:grid}.home-device-text strong{font-family:var(--font-heading);font-stretch:var(--heading-width);font-size:22px;font-weight:800;line-height:1.15}.home-device-text span{color:var(--text-muted);font-size:14px;line-height:1.5}.home-device .home-arrow{color:var(--text-muted);transition:transform var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard);grid-area:1/2;margin-block-start:12px}@media (width<=900px){.home-blocks{grid-template-columns:minmax(0,1fr);gap:12px}.home-blocks .home-entry{padding:20px}.home-device-row{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-flow:row}}@media (width<=640px){.home-devices,.home-device-row{grid-template-columns:minmax(0,1fr);gap:8px}.home-devices-head{margin-block-start:8px}.home-devices-head h2{font-size:22px}.home-device{grid-template-rows:auto;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 16px}.home-device-text{grid-area:1/2}.home-device .home-arrow,.home-device-action{grid-column:3}.home-device-icon{block-size:40px;inline-size:40px}.home-device-text strong{font-size:18px}.home-device .home-arrow{margin:0}}.home-live{isolation:isolate;grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(320px,400px);align-items:start;gap:40px;padding:40px;display:grid;position:relative;overflow:hidden}.home-live:before{content:"";z-index:-1;aspect-ratio:1;background:radial-gradient(closest-side, var(--halo), transparent);pointer-events:none;border-radius:50%;inline-size:75%;position:absolute;inset-block-start:-45%;inset-inline-end:-10%}.home-live--evening{--halo:var(--warn)}@supports (color:color-mix(in lab, red, red)){.home-live--evening{--halo:color-mix(in oklab, var(--warn) 24%, transparent)}}.home-live--day{--halo:var(--info)}@supports (color:color-mix(in lab, red, red)){.home-live--day{--halo:color-mix(in oklab, var(--info) 14%, transparent)}}.home-live-mark{align-items:center;gap:12px;display:flex}.home-live-mark .eyebrow{margin:0}.brand-symbol{color:var(--text);flex-shrink:0}.brand-symbol-ink{fill:currentColor;animation:symbol-reveal var(--duration-slow) var(--ease-enter) both}.brand-symbol-red{fill:var(--brand-red);animation:symbol-drop var(--duration-hang) var(--ease-hang) var(--duration-slow) both}@keyframes symbol-reveal{0%{clip-path:inset(0 0 100%)}to{clip-path:inset(0)}}@keyframes symbol-drop{0%{opacity:0;transform:translateY(-12px)}}.home-live-state{max-inline-size:16ch;font-family:var(--font-heading);font-stretch:var(--heading-width);letter-spacing:-.02em;text-wrap:balance;margin:24px 0 0;font-size:clamp(40px,5.2vw,72px);font-weight:900;line-height:1.02}.home-live-sub{color:var(--text-muted);margin:16px 0 0;font-size:17px}.home-live-chips{flex-wrap:wrap;gap:8px;margin:20px 0 0;padding:0;list-style:none;display:flex}.home-live-chip{border-radius:20px;align-items:center;gap:8px;min-block-size:40px;padding-inline:14px;font-size:15px;font-weight:600;display:inline-flex}.home-live-chip strong{font-family:var(--font-numbers);font-variant-numeric:tabular-nums}.home-live-chip--late{background:var(--late);color:var(--on-late)}.home-live-chip--watch{background:var(--warn);color:var(--on-warn)}.home-live-rail{border-block-start:6px solid var(--rail);border-radius:3px;flex-direction:column;gap:12px;min-block-size:240px;margin:0;padding:0;list-style:none;display:flex}.home-recap{gap:12px;display:grid}.home-recap-sheet{filter:var(--filter-hang)}.home-recap-paper{background:var(--ticket);color:var(--on-ticket);gap:12px;padding:24px 24px 34px;display:grid;-webkit-mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) 50%/12px 100%;mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) 50%/12px 100%}.home-recap-paper p{text-align:center;margin:0}.home-recap-title{font-family:var(--font-heading);font-stretch:var(--heading-width);letter-spacing:.06em;text-transform:uppercase;font-size:24px;font-weight:900}.home-recap-date,.home-recap-note{color:var(--ticket-muted);font-size:13px}.home-recap dl{border-block:2px dashed var(--ticket-muted);font-family:var(--font-numbers);gap:8px;margin:8px 0;padding-block:14px;font-size:14px;display:grid}.home-recap dl div{align-items:baseline;gap:8px;display:flex}.home-recap dt{flex:1;gap:8px;min-inline-size:0;display:flex}.home-recap dt:after{content:"";border-block-end:2px dotted var(--ticket-muted);flex:1;min-inline-size:16px;transform:translateY(-4px)}.home-recap dd{font-variant-numeric:tabular-nums;margin:0;font-weight:700}.home-recap-thanks{font-family:var(--font-heading);font-stretch:var(--heading-width);font-size:24px;font-weight:800}.home-device-status{color:var(--info);flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:10px;font-size:13px;font-weight:600;display:flex}.sparkline path{fill:none;stroke:var(--info);stroke-width:2px;stroke-linecap:round;stroke-linejoin:round}.sparkline circle{fill:var(--info);stroke:var(--surface);stroke-width:2px}@media (width<=900px){.home-live{grid-template-columns:minmax(0,1fr);gap:24px;padding:28px}}@media (width<=640px){.home-live{padding:20px}.home-live-state{margin-block-start:16px;font-size:34px}.home-live-sub{font-size:15px}.home-live-rail{display:none}.home-device-status{grid-area:2/2}}@media print{.app-header,.app-footer,.skip-link,.home-devices,.home-live-text,.home-recap button,.home-entry{display:none!important}body:before,.home-live:before{display:none}.home-live{border:0;padding:0;display:block}.home-recap-sheet{filter:none}.home-recap-paper{border:1px solid var(--text);max-inline-size:480px;margin-inline:auto;-webkit-mask:none;mask:none}}.app-header{gap:20px}.context-switcher{min-inline-size:0;margin-inline-end:auto}.context-button{min-block-size:var(--touch-min);border:1px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface);max-inline-size:100%;color:var(--text);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-standard);align-items:center;gap:8px;padding-inline:16px;font-size:15px;display:inline-flex}.context-button:hover{background:var(--surface-raised)}.context-organization{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.context-separator{color:var(--text-faint)}.context-site{text-overflow:ellipsis;white-space:nowrap;font-weight:700;overflow:hidden}.context-menu{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface-raised);max-block-size:min(70svh,560px);min-inline-size:320px;color:var(--text);box-shadow:var(--shadow-sheet);margin:0;padding:20px;position:fixed;inset:auto;inset-block-start:96px;inset-inline-start:200px;overflow:auto}.context-menu:popover-open{animation:sheet-in var(--duration-slow) var(--ease-enter);gap:16px;display:grid}.context-menu .eyebrow{margin:0}.context-group h2{font-family:var(--font-ui);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);margin:0 0 6px;font-size:13px;font-weight:600;font-stretch:100%}.context-group ul{gap:2px;margin:0;padding:0;list-style:none;display:grid}.context-group a{border-radius:var(--radius-sm);min-block-size:48px;color:var(--text);justify-content:space-between;align-items:center;gap:12px;padding-inline:12px;font-size:15px;text-decoration:none;display:flex}.context-group a:hover{background:var(--surface-sunken)}.context-group a[aria-current=page]{background:var(--surface-sunken);font-weight:700}.group-table-wrap{overflow-x:auto}.group-table{border-collapse:collapse;inline-size:100%;font-size:14px}.group-table th,.group-table td{border-block-end:1px solid var(--line);text-align:start;vertical-align:middle;padding:12px}.group-table thead th{color:var(--text-muted);font-weight:600}.group-table tbody th a{font-family:var(--font-heading);font-size:18px;font-stretch:var(--heading-width);color:var(--text);text-underline-offset:4px;font-weight:800}.group-value{font-family:var(--font-numbers);font-variant-numeric:tabular-nums;font-weight:600;display:block}.group-bar{background:var(--info);border-radius:3px;block-size:6px;margin-block-start:6px;display:block}@supports (color:color-mix(in lab, red, red)){.group-bar{background:color-mix(in oklab, var(--info) 14%, var(--surface))}}.group-bar span{background:var(--info);border-radius:3px;block-size:100%;display:block}@media (width<=640px){.app-header{flex-wrap:wrap}.app-header .brand{flex-shrink:0}.context-switcher{flex-basis:100%;order:3;margin-inline-end:0}.context-button{inline-size:100%}.context-menu{min-inline-size:0;inset-block-start:160px;inset-inline:16px}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
