:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#020203;--panel:#111116;--panel-soft:#0a0b0f;--panel-raised:#17171e;--text:#f8fafc;--muted:#a4abb8;--border:#ffffff24;--border-strong:#ffffff42;--accent:#17d4cf;--accent-strong:#f12b74;--accent-warm:#ffb21a;--accent-green:#7bd957;--accent-violet:#7a42f4;--warn:#ffc24b;--danger:#ff5f65;--success:#7bd957;--shadow:0 22px 70px #00000075;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}*{box-sizing:border-box}body{background:linear-gradient(180deg, #000 0%, #08090d 52%, var(--bg) 100%);min-height:100vh;color:var(--text);margin:0;font-size:16px}.app-shell:before{z-index:20;background:var(--connection-strip-gradient);content:"";pointer-events:none;height:3px;position:fixed;top:0;left:0;right:0}.app-shell.board-connected{--connection-strip-gradient:linear-gradient(90deg, var(--accent), var(--accent-green))}.app-shell.board-disconnected{--connection-strip-gradient:linear-gradient(90deg, var(--accent-strong), #ff6d1f, var(--accent-warm))}#root{display:block}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}button,.button{border:1px solid var(--border);background:var(--panel-raised);min-height:42px;color:var(--text);cursor:pointer;font:inherit;text-align:center;border-radius:8px;justify-content:center;align-items:center;padding:0 16px;font-weight:700;text-decoration:none;display:inline-flex}button:disabled{cursor:not-allowed;opacity:.45}[data-sonner-toaster][data-sonner-theme=dark]{--success-bg:#15803df0;--success-border:#7bd957b8;--success-text:#f0fdf4;--error-bg:#be1818f0;--error-border:#ff5f65b8;--error-text:#fff1f2}[data-sonner-toast][data-styled=true] [data-close-button]{border-radius:999px;width:36px;min-width:36px;height:36px;min-height:36px;padding:0;top:8px;left:auto;right:8px;transform:none}[data-sonner-toast][data-styled=true]:has([data-close-button]){padding-right:52px}button.primary,.button.primary{border-color:var(--accent);background:var(--accent);color:#020203}.icon-button{place-items:center;width:38px;min-width:38px;min-height:38px;padding:0;display:inline-grid}@media (hover:hover) and (pointer:fine){button:hover:not(:disabled),.button:hover{border-color:var(--border-strong);background:#1f2028}.home-section-card:hover{border-color:var(--accent);background:linear-gradient(135deg,#17d4cf2e,#0000 42%),linear-gradient(315deg,#f12b742e,#0000 46%),#17171ef5}button.primary:hover:not(:disabled),.button.primary:hover,.game-catalog-card:hover .button.primary{border-color:var(--accent-strong);background:var(--accent-strong);color:#fff}}@media (hover:none){button.primary:hover:not(:disabled),.button.primary:hover{border-color:var(--accent);background:var(--accent);color:#020203}}.app-shell{width:min(1280px,100% - 32px);margin:0 auto;padding:40px 0}.hero{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:24px;margin-bottom:24px;display:grid}.brand-lockup{align-items:center;gap:24px;min-width:0;display:flex}.brand-home-link{color:inherit;text-decoration:none}.brand-logo{filter:drop-shadow(0 16px 30px #0000008f);flex:none;width:min(150px,52vw);height:auto;display:block}.brand-tagline{letter-spacing:-.03em;text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:.35em;font-size:clamp(1rem,2vw,1.45rem);font-weight:900;line-height:1.05;display:flex}.tagline-cool,.tagline-warm{color:#0000;-webkit-background-clip:text;background-clip:text;display:inline-block}.tagline-cool{background-image:linear-gradient(90deg, var(--accent), var(--accent-green))}.tagline-warm{background-image:linear-gradient(90deg, var(--accent-strong), #ff6d1f, var(--accent-warm))}.eyebrow{color:var(--accent);text-transform:uppercase;margin:0 0 10px;font-size:.8rem;font-weight:800}h1,h2,h3,p{margin-top:0}h1{max-width:760px;margin-bottom:10px;font-size:2.85rem;line-height:.98}h2{margin-bottom:6px;font-size:1.05rem}h3{margin-bottom:4px;font-size:.95rem}.lede{max-width:720px;color:var(--muted);font-size:1.05rem;line-height:1.55}.status-pill{border:1px solid var(--border);min-height:38px;color:var(--muted);white-space:nowrap;background:#111116d6;border-radius:999px;align-items:center;padding:0 14px;font-size:.9rem;font-weight:700;display:inline-flex}.status-pill.ready{color:var(--success);border-color:#7bd95770}.status-pill.warn{color:var(--warn);border-color:#ffc24b70}.panel{border:1px solid var(--border);box-shadow:var(--shadow);background:#111116f0;border-radius:8px;margin-bottom:18px;padding:22px}.app-topbar{border:1px solid var(--border);background:linear-gradient(90deg,#17d4cf14,#f12b7414),#050507eb;border-radius:8px;align-items:center;padding:18px}.app-topbar-compact{margin-bottom:18px;padding:10px 14px;display:flex}.app-topbar-compact .brand-lockup{gap:12px}.app-topbar-compact .brand-logo{width:54px}.app-topbar-compact .brand-tagline{font-size:1rem}.app-topbar h1{margin-bottom:0}.home-screen{gap:20px;margin-bottom:18px;display:grid}.board-setup-launcher{text-align:left;justify-content:flex-start;gap:12px;width:100%;min-width:0;min-height:74px;display:flex}.board-setup-launcher.compact{min-height:62px;padding:14px}.board-setup-launcher.compact .board-setup-status{width:24px;height:24px}.board-setup-launcher.compact .board-setup-status:after{width:6px;height:6px;bottom:4px;right:4px}.board-setup-status{background:radial-gradient(circle at 32% 34%,#ffffffc7 0 2px,#0000 3px),#ffffff14;border:2px solid;border-radius:9px 12px 10px 13px;flex:none;width:28px;height:28px;margin-top:1px;position:relative;transform:rotate(-8deg);box-shadow:0 0 0 4px #ffffff0a}.board-setup-status:after{content:"";background:currentColor;border-radius:999px;width:7px;height:7px;position:absolute;bottom:5px;right:5px}.board-setup-status.connected{color:var(--success)}.board-setup-status.disconnected{color:var(--danger)}.board-setup-launcher-copy{gap:3px;min-width:0;display:grid}.board-setup-launcher-status{color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:900;line-height:1.2}.board-setup-launcher-board{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:900;line-height:1.25;overflow:hidden}.board-setup-modal{z-index:90;background:#000000b8;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.board-setup-dialog{background:var(--panel);width:min(760px,100%);max-height:min(820px,100vh - 36px);box-shadow:var(--shadow);border:1px solid #17d4cf57;border-radius:8px;overflow:auto}.board-setup-dialog:focus{outline:none}.board-setup-dialog:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.board-setup-dialog-header{z-index:1;border-bottom:1px solid var(--border);background:#111116f5;justify-content:space-between;align-items:center;gap:14px;padding:16px 18px;display:flex;position:sticky;top:0}.board-setup-dialog-header h2{margin:0}.board-setup-close-button{border-radius:999px;position:relative}.board-setup-close-button span,.board-setup-close-button:after{content:"";background:currentColor;border-radius:999px;width:16px;height:2px;position:absolute}.board-setup-close-button span{transform:rotate(45deg)}.board-setup-close-button:after{transform:rotate(-45deg)}.board-setup-dialog-panels{gap:14px;padding:18px;display:grid}.board-setup-dialog-panels .panel{box-shadow:none;margin-bottom:0}.home-screen-heading{max-width:760px}.home-screen h1{margin-bottom:0;font-size:clamp(2rem,5vw,3.6rem)}.home-section-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;display:grid}.home-section-card{border:1px solid var(--border);min-height:220px;box-shadow:var(--shadow);color:var(--text);background:linear-gradient(135deg,#17d4cf1f,#0000 42%),linear-gradient(315deg,#f12b7421,#0000 46%),#111116f0;border-radius:8px;align-content:space-between;gap:20px;padding:22px;text-decoration:none;display:grid;position:relative;overflow:hidden}.home-section-card:after{background:linear-gradient(90deg, var(--accent), var(--accent-warm), var(--accent-strong));content:"";opacity:.8;height:3px;position:absolute;bottom:0;left:0;right:0}.home-card-copy{gap:10px;display:grid}.home-card-title{font-size:1.35rem;font-weight:900;line-height:1.05}.home-card-description{color:var(--muted);line-height:1.45}.home-card-button{justify-self:start}.section-navigation{gap:12px;margin-bottom:18px;display:grid}.section-title{margin-bottom:0;font-size:clamp(1.9rem,4vw,3rem);font-weight:900;line-height:.98}.mode-tabs{gap:8px;margin:0 0 18px;display:flex;overflow-x:auto}.section-tabs{margin-bottom:0}.mode-tabs a{border:1px solid var(--border);background:var(--panel-raised);min-height:42px;color:var(--text);white-space:nowrap;border-radius:8px;align-items:center;gap:8px;padding:0 16px;font-weight:800;text-decoration:none;display:inline-flex}.home-tab-icon{fill:url(#home-tab-icon-gradient);flex:none;width:24px;height:24px;margin-left:-6px;margin-right:-3px}.mode-tabs a.selected{border-color:var(--accent);background:#17d4cf1f}@media (hover:hover) and (pointer:fine){.mode-tabs a:hover{border-color:var(--accent);background:#17d4cf1f}}.workspace-grid{grid-template-columns:minmax(430px,.95fr) minmax(0,1.05fr);align-items:start;gap:0 18px;display:grid}.games-workspace-grid{grid-template-columns:minmax(0,1fr)}.mode-panel-stack{min-width:0}.draw-mode-panel-stack{display:contents}.draw-frame-panel{grid-column:1/-1}.panel-header{justify-content:space-between;align-items:start;gap:18px;margin-bottom:20px;display:flex}.panel-header.compact{align-items:start;margin-bottom:0}.preview-panel .panel-header{margin:0 22px 10px}.panel-header p{color:var(--muted);margin-bottom:0}.actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.device-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;display:grid}.device-grid div{border:1px solid var(--border);background:var(--panel-soft);border-radius:8px;min-width:0;padding:14px}.runtime-grid{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:18px}.runtime-grid div:first-child,.runtime-grid div:last-child{grid-column:1/-1}.runtime-grid dd{overflow-wrap:anywhere;text-overflow:clip;white-space:normal}.connection-panel .panel-header,.collapsible-panel-header{align-items:center;margin-bottom:0}.collapsible-panel-heading{gap:5px;min-width:0;display:grid}.collapsible-panel-heading h2{margin-bottom:0}.collapsible-panel-summary{min-width:0;color:var(--muted);font-size:.9rem;line-height:1.35}.collapsible-panel-summary strong{color:var(--text);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.connection-panel h2,.board-type-panel h2{margin-bottom:0}.board-type-panel{gap:14px;display:grid}.board-type-panel .panel-header{align-items:center;margin-bottom:0}.board-type-title,.connection-title{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.connection-title .status-pill{min-height:28px;margin-left:0;margin-right:0;padding:0 10px;font-size:.78rem}.connection-check{width:42px;min-width:42px;height:42px;color:var(--success);background:#7bd9571f;border:1px solid #7bd95780;border-radius:999px;place-items:center;display:inline-grid;box-shadow:0 0 0 4px #7bd9570d}.connection-check-icon{border-bottom:3px solid;border-left:3px solid;width:16px;height:9px;display:block;transform:translateY(-1px)rotate(-45deg)}.panel-warning,.board-type-details dd{color:var(--muted);overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.8rem;font-weight:700}.panel-warning{color:var(--warn);background:#ffc24b14;border:1px solid #ffc24b52;border-radius:8px;margin:0;padding:10px 12px}.connection-panel .panel-warning{margin-top:12px}.board-type-advanced{gap:14px;display:grid}.board-type-detail-actions{justify-content:flex-start}.board-preset-modal{z-index:100;background:#000000b8;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.board-preset-dialog{background:var(--panel);width:min(640px,100%);max-height:min(760px,100vh - 36px);box-shadow:var(--shadow);border:1px solid #17d4cf57;border-radius:8px;overflow:auto}.board-preset-dialog:focus{outline:none}.board-preset-dialog:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.board-preset-dialog-header{z-index:1;border-bottom:1px solid var(--border);background:#111116f5;justify-content:space-between;align-items:start;gap:12px;padding:18px 18px 14px;display:flex;position:sticky;top:0}.board-preset-dialog-header h3{margin:0}.board-preset-dialog-header p{color:var(--muted);margin:4px 0 0;font-size:.92rem}.board-preset-family-list{background:#0a0b0f73;border:1px solid #17d4cf3d;border-radius:8px;gap:14px;max-height:420px;margin:0;padding:12px;list-style:none;display:grid;overflow:auto}.board-preset-dialog .board-preset-family-list{background:0 0;border:0;border-radius:0;max-height:none;padding:18px}.board-preset-family,.board-preset-layout,.board-preset-layout-list,.board-preset-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.board-preset-group-heading,.board-preset-layout-heading{min-width:0;color:var(--muted);text-transform:uppercase;justify-content:space-between;align-items:baseline;gap:10px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.75rem;font-weight:900;display:flex}.board-preset-group-heading span:first-child,.board-preset-layout-heading span:first-child{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.board-preset-group-heading span:last-child,.board-preset-layout-heading span:last-child{flex:none}.board-preset-layout{border-left:1px solid #ffffff1a;padding-left:14px}.board-preset-layout-list,.board-preset-list{padding-left:14px}.board-preset-button{background:var(--panel-soft);text-align:left;border-color:#ffffff1f;grid-template-columns:minmax(0,1fr) auto;place-items:center start;gap:8px 12px;width:100%;min-height:46px;padding:10px 12px;display:grid}.board-preset-button.selected{border-color:var(--accent)}.board-preset-button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.board-preset-name{overflow-wrap:anywhere;white-space:normal;min-width:0;max-width:100%;font-size:1rem;font-weight:700;line-height:1.25}.board-type-panel .collapsible-panel-summary strong{white-space:normal}@media (hover:hover) and (pointer:fine){.board-preset-button:hover:not(:disabled){border-color:var(--accent)}}@media (hover:none){.board-preset-button:hover:not(:disabled){background:var(--panel-soft);border-color:#ffffff1f}.board-preset-button.selected:hover{border-color:var(--accent)}}.details-toggle{border-radius:999px;width:42px;min-width:42px;padding:0}.details-toggle .chevron{border-bottom:2px solid;border-right:2px solid;width:10px;height:10px;margin:0 auto;display:block;transform:translateY(-2px)rotate(45deg)}.details-toggle[aria-expanded=true] .chevron{transform:translateY(2px)rotate(225deg)}.connection-details,.fake-board-controls{margin-top:18px}.fake-board-controls{background:#ffc24b12;border:1px solid #ffc24b47;border-radius:8px;gap:10px;padding:12px;display:grid}.fake-board-controls h3{color:var(--muted);text-transform:uppercase;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.78rem;font-weight:900}.fake-board-actions{flex-wrap:wrap;gap:8px;display:flex}.fake-board-sent-preview{gap:8px;padding-top:2px;display:grid}.fake-board-sent-preview-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.fake-board-sent-preview-header span{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.76rem;font-weight:800}.fake-board-sent-preview .board-view canvas{aspect-ratio:14/10;border:1px solid #ffc24b33;border-radius:6px}.scan-picker{background:#17d4cf14;border:1px solid #17d4cf47;border-radius:8px;margin-bottom:18px;padding:14px}.connection-scan-modal{z-index:100;background:#000000b8;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.connection-scan-dialog{background:var(--panel);width:min(560px,100%);max-height:min(720px,100vh - 36px);box-shadow:var(--shadow);border:1px solid #17d4cf57;border-radius:8px;overflow:auto}.connection-scan-dialog:focus{outline:none}.connection-scan-dialog:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.connection-scan-dialog .scan-picker{background:0 0;border:0;margin:0;padding:18px}.scan-picker-header{justify-content:space-between;align-items:start;gap:12px;margin-bottom:12px;display:flex}.scan-picker-header p{color:var(--muted);margin-bottom:0;font-size:.92rem}.scan-empty-state{background:var(--panel-soft);color:var(--muted);border:1px solid #ffffff1a;border-radius:8px;margin:0;padding:14px}.scan-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.scan-device-button{text-align:left;background:#0a0b0fe6;border-color:#17d4cf47;justify-items:start;gap:4px;width:100%;min-height:58px;padding:10px 12px;display:grid}.scan-device-button:hover:not(:disabled){border-color:var(--accent)}.scan-device-name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-weight:800;overflow:hidden}.scan-device-details{color:var(--muted);overflow-wrap:anywhere;white-space:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.78rem;font-weight:600}dt{color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:800}dd{text-overflow:ellipsis;white-space:nowrap;margin:6px 0 0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;overflow:hidden}.log-panel{padding-bottom:0}.preview-panel,.preview-panel *{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.preview-panel{padding:22px 0 0;overflow:hidden}.board-view{-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;gap:10px;display:grid}.board-view *{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.board-view canvas{aspect-ratio:14/15;border:1px solid var(--border-strong);cursor:default;touch-action:auto;background:#050507;border-bottom:0;border-left:0;border-right:0;border-radius:0;width:100%;display:block}.board-view canvas.interactive{cursor:grab;touch-action:none}.board-view canvas.editable{cursor:crosshair;touch-action:auto}.board-view-toolbar{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;padding:0 22px;display:flex}.board-view-actions{flex:none;gap:8px;display:flex}.board-view-actions button{min-height:34px;padding:0 10px;font-size:.8rem}.board-header-actions{flex:none;align-items:center;gap:8px;display:inline-flex}.board-send-pulse-slot{justify-content:center;align-items:center;width:10px;height:28px;display:inline-flex}.board-send-pulse{background:var(--accent-green);border-radius:999px;width:8px;height:8px;animation:.88s ease-out both board-send-pulse;box-shadow:0 0 #7bd95794}@keyframes board-send-pulse{0%{opacity:1;transform:scale(.75)}18%{opacity:1;transform:scale(1);box-shadow:0 0 0 5px #7bd95738}to{opacity:0;transform:scale(.82);box-shadow:0 0 0 10px #7bd95700}}.board-view-actions .board-view-details-toggle{flex:0 0 34px;width:34px;min-width:34px;padding:0}.board-view-details-panel{justify-content:flex-end;padding:0 22px;display:flex}.board-send-details{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;width:100%;padding-top:10px;display:flex}.board-send-details .command-summary{align-items:center;min-height:34px;display:inline-flex}.board-send-details button,.board-send-details .draw-rate{min-height:34px}.command-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid}.command-button{border-color:var(--border);background:var(--panel-soft);text-align:left;align-content:start;gap:6px;min-height:88px;padding:12px;display:grid}.command-button:hover:not(:disabled),.command-button.selected{border-color:var(--accent)}.command-button.selected{border-color:var(--accent-strong);background:#f12b741c;box-shadow:inset 0 0 0 1px #f12b743d}.command-button span{font-weight:800}.command-button small{color:var(--muted);font-size:.78rem;font-weight:600;line-height:1.35}.command-summary{color:var(--muted);text-align:right;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.8rem;font-weight:700}.file-tool-grid{grid-template-columns:minmax(240px,.8fr) minmax(0,1.6fr);gap:24px;display:grid}.file-tool{min-width:0}.file-tool h3{margin-bottom:12px}.file-actions{justify-content:flex-start}.file-actions button,.recording-actions button{min-height:38px;padding:0 10px;font-size:.82rem}.animation-file-actions{margin-top:12px}.animation-create-section{border-top:1px solid var(--border);margin-top:14px;padding-top:14px}.animation-builder{gap:12px;display:grid}.animation-builder label{color:var(--muted);align-items:center;gap:10px;font-size:.82rem;font-weight:800;display:inline-flex}.delay-input{border:1px solid var(--border);background:var(--panel-soft);width:96px;min-height:38px;color:var(--text);font:inherit;border-radius:8px;padding:0 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:16px;font-weight:800}.settings-select,.recording-select{border:1px solid var(--border);background:var(--panel-soft);min-height:38px;color:var(--text);font:inherit;border-radius:8px;padding:0 10px;font-size:16px;font-weight:800}.send-options{flex-wrap:wrap;align-items:end;gap:12px;margin-top:12px;display:flex}.send-options label{color:var(--muted);gap:6px;font-size:.82rem;font-weight:800;display:grid}.settings-sections{gap:18px;margin-top:16px;display:grid}.settings-section{gap:10px;display:grid}.settings-section h3{color:var(--text);text-transform:uppercase;margin:0;font-size:.9rem}.settings-section .send-options{margin-top:0}.settings-section .wide-setting{min-width:min(100%,420px)}.settings-note{max-width:620px;color:var(--muted);margin:0;font-size:.82rem;font-weight:700;line-height:1.45}.documentation-callout,.doc-callout{border:1px solid #17d4cf42;border-left:3px solid var(--accent);color:var(--muted);background:#17d4cf14;border-radius:8px;gap:6px;padding:12px 14px;font-size:.86rem;font-weight:700;line-height:1.45;display:grid}.documentation-callout p,.doc-callout p{margin:0}.documentation-callout strong,.doc-callout strong{color:var(--text)}.documentation-callout.warning,.doc-callout.warning{border-color:#ffc24b4d;border-left-color:var(--warn);background:#ffc24b14}.documentation-callout.ios-only,.documentation-callout-ios-only,.doc-callout.ios-only,.doc-callout-ios-only{display:none}@supports (-webkit-touch-callout:none){@media (pointer:coarse){.documentation-callout.ios-only,.documentation-callout-ios-only,.doc-callout.ios-only,.doc-callout-ios-only{display:grid}}}.about-copy{color:var(--muted);gap:10px;margin-top:16px;font-weight:700;line-height:1.5;display:grid}.about-copy p{margin:0}.about-link-row{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.about-link-row a{border:1px solid var(--border);background:var(--panel-raised);min-height:42px;color:var(--text);border-radius:8px;align-items:center;padding:0 16px;font-weight:800;text-decoration:none;display:inline-grid}@media (hover:hover) and (pointer:fine){.about-link-row a:hover{border-color:var(--border-strong);background:#1f2028}}.animation-frame-list{background:#0a0b0f73;border:1px solid #17d4cf3d;border-radius:8px;gap:8px;max-height:340px;margin:14px 0 0;padding:12px;list-style:none;display:grid;overflow:auto}.animation-frame-list li{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;display:grid}.frame-preview-button{text-align:left;justify-items:start;gap:3px;min-height:54px;padding:8px 10px;display:grid}.frame-preview-button span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.frame-preview-button small{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.75rem;font-weight:700}.frame-row-actions,.animation-playback-actions{flex-wrap:wrap;gap:8px;display:flex}.frame-row-actions button,.animation-playback-actions button{min-height:38px;padding:0 10px;font-size:.82rem}.animation-playback-actions{align-items:flex-start;margin-top:14px}.animation-play-action{gap:6px;display:grid}.animation-play-action .primary{width:100%}.text-warning{color:var(--warn);margin:0;font-size:.78rem}.text-info{color:var(--muted);margin:12px 0 0;font-size:.82rem;line-height:1.4}.animation-recorder{border-top:1px solid var(--border);gap:12px;margin-top:14px;padding-top:14px;display:grid}.animation-recorder .settings-section+.settings-section{border-top:1px solid var(--border);padding-top:14px}.reactions-panel{gap:18px;display:grid}.reactions-key-warning,.reaction-board-warning{margin:0}.reaction-warning-actions{flex-wrap:wrap;gap:8px;display:flex}.reaction-warning-actions button{min-height:36px;padding:0 10px;font-size:.78rem}.reaction-panel-title-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.reactions-panel button{min-height:38px;padding:0 10px;font-size:.82rem}.reaction-search-form{grid-template-columns:auto minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.reaction-kind-field,.reaction-search-form label{color:var(--muted);gap:6px;font-size:.82rem;font-weight:800;display:grid}.reaction-kind-field{justify-self:start}.reaction-results-header{padding-top:18px}.reaction-sampling-controls{margin:-4px 0 12px;display:flex}.reaction-kind-switch{border:1px solid var(--border);background:var(--panel-soft);border-radius:8px;align-items:center;gap:6px;width:fit-content;min-height:42px;padding:4px;display:flex}.reaction-kind-switch button{border-color:#0000;min-height:32px;padding:0 10px}.reaction-kind-switch button.selected{border-color:var(--accent);color:var(--text);background:#17d4cf1f}.reaction-search-form input{border:1px solid var(--border);background:var(--panel-soft);width:100%;min-height:42px;color:var(--text);font:inherit;border-radius:8px;padding:0 12px;font-size:16px;font-weight:400}.klipy-attribution{width:min(150px,100%);height:auto;margin:8px 0 0;display:block}@media (hover:hover) and (pointer:fine){.reaction-search-form input{font-size:.95rem}}.gif-result-grid,.reaction-grid{grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:10px;display:grid}.gif-result-button,.reaction-button{text-align:left;grid-template-columns:minmax(0,1fr);place-content:start stretch;justify-items:stretch;gap:7px;min-height:0;padding:8px;display:grid}.reaction-thumbnail{aspect-ratio:1;background:var(--panel-soft);border-radius:6px;width:100%;min-width:0;display:block;position:relative;overflow:hidden}.gif-result-card{min-width:0;position:relative}.gif-result-card .gif-result-button{width:100%}.gif-result-button.selected{border-color:var(--accent);background:#17d4cf1f}.gif-result-add-button{min-width:44px;min-height:44px;color:var(--text);background:#060c0fdb;border-color:#ffffff52;border-radius:999px;padding:0 12px;font-size:1.35rem;line-height:1;position:absolute;top:8px;right:8px;box-shadow:0 6px 16px #00000047}.gif-result-add-button.added{min-width:70px;color:var(--muted);font-size:.78rem}.reaction-more-actions{justify-content:center;display:flex}.reaction-more-actions button{min-width:118px}.reaction-card{gap:6px;display:grid}.reaction-card .reaction-button{width:100%}.reaction-remove-button{border-color:var(--border);min-height:32px;color:var(--muted);background:0 0;padding:0 8px;font-size:.74rem}.gif-result-button img,.reaction-button img{object-fit:cover;width:100%;height:100%;display:block}.gif-result-button span,.reaction-button span{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.78rem;font-weight:800;overflow:hidden}.reaction-button small{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.7rem;font-weight:800;overflow:hidden}.reaction-button.selected{border-color:var(--accent);background:#17d4cf1f}.reaction-library-section{gap:10px;display:grid}.reaction-auto-connect-controls{gap:4px;display:grid}.playback-settings{gap:10px;width:min(100%,360px);display:grid}.stacked-setting-row,.playback-checkbox-row{min-height:38px;color:var(--muted);font-size:.82rem;font-weight:800}.stacked-setting-row{gap:6px;display:grid}.playback-checkbox-row{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px;display:grid}.playback-checkbox-row input{width:18px;height:18px;accent-color:var(--accent)}.stacked-setting-row .delay-input{width:112px}.recording-controls{gap:10px;width:min(100%,360px);display:grid}.recording-controls label{color:var(--muted);gap:6px;font-size:.82rem;font-weight:800;display:grid}.recording-checkbox{grid-template-columns:auto minmax(0,1fr);align-items:center;min-height:38px;padding-bottom:2px}.recording-checkbox input{width:18px;height:18px;accent-color:var(--accent)}.recording-actions{justify-content:flex-start}.recording-camera-preview{border:1px solid var(--border);object-fit:cover;background:#050507;border-radius:8px;width:min(100%,320px);max-height:260px;overflow:hidden}.draw-controls{grid-template-columns:auto auto auto minmax(240px,1fr);align-items:center;gap:14px;margin-top:16px;display:grid}.draw-controls.compact-controls{grid-template-columns:auto auto;justify-content:start;gap:8px;margin-top:0}.draw-controls.compact-controls .draw-rate,.draw-controls.compact-controls .selected-color{min-height:34px}.draw-controls.compact-controls .draw-rate{padding:0 10px}.draw-controls.compact-controls .selected-color{text-decoration:none}.board-header-actions .panel-selected-color{min-height:28px;padding:0;text-decoration:none}.board-header-actions .icon-button{border-radius:6px;width:28px;min-width:28px;min-height:28px}.selected-color,.draw-rate,.zoom-controls{min-height:38px;color:var(--muted);align-items:center;gap:8px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.82rem;font-weight:800;display:inline-flex}.draw-rate{border:1px solid var(--border);background:var(--panel-soft);border-radius:8px;padding:0 12px}.selected-swatch{border:1px solid #ffffff5c;border-radius:6px;width:28px;height:28px}.fill-icon{fill:#fff;width:18px;height:18px}.zoom-controls button{width:38px;min-height:38px;padding:0;font-size:1.1rem}.zoom-controls span{text-align:center;min-width:54px}.pan-controls{grid-template-columns:repeat(3,minmax(0,1fr));justify-self:end;gap:8px;width:min(420px,100%);display:grid}.pan-controls button{min-height:38px;padding:0 10px;font-size:.82rem}.pan-up,.pan-down{grid-column:2}.pan-left{grid-column:1}.pan-center{grid-column:2}.pan-right{grid-column:3}.palette-grid{--palette-gap:4px;grid-template-columns:repeat(16,minmax(14px,1fr));grid-auto-rows:minmax(14px, calc((100% - 15 * var(--palette-gap)) / 16));gap:var(--palette-gap);display:grid}.palette-grid[data-color-count="64"]{grid-auto-rows:auto}.palette-grid[data-color-count="64"] .palette-swatch{aspect-ratio:1;width:100%;height:auto}.command-panel{display:grid}.preview-palette{order:3;margin-top:0}.presets-heading{order:1;margin:0}.draw-preset-grid{order:2;margin-top:8px;margin-bottom:18px}.draw-preset-grid .command-button{gap:2px;min-height:58px;padding:8px 10px}.draw-preset-grid .command-button small{line-height:1.22}.palette-swatch{aspect-ratio:1;border-color:#ffffff2e;border-radius:4px;min-width:0;min-height:0;padding:0}.palette-swatch.selected{border-color:#fff;box-shadow:0 0 0 2px #020203,0 0 0 4px #fff}.score-template-panel{gap:16px;padding-bottom:0;display:grid;overflow:hidden}.score-template-actions,.score-template-output-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.score-template-controls{grid-template-columns:minmax(80px,112px) minmax(0,1fr);align-items:center;gap:14px;display:grid}.score-segment-guide{justify-self:center;width:100%;max-width:112px}.score-segment-guide line{filter:drop-shadow(0 0 5px #ffffff42);stroke-linecap:round;stroke-width:9px}.score-segment-guide text{fill:#fff;paint-order:stroke;pointer-events:none;stroke:#050507;stroke-linejoin:round;stroke-width:3px;text-anchor:middle;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:11px;font-weight:900}.score-segment-grid{grid-template-columns:repeat(auto-fit,minmax(42px,1fr));gap:8px;display:grid}.score-segment-button{border-color:color-mix(in srgb, var(--segment-color) 46%, var(--border));background:color-mix(in srgb, var(--segment-color) 14%, var(--panel-soft));min-width:0;min-height:54px;color:var(--text);place-items:center;gap:3px;padding:6px;display:grid}.score-segment-button span{color:var(--segment-color);font-size:1rem;font-weight:900}.score-segment-button small{color:var(--muted);font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.78rem;font-weight:800}.score-segment-button.selected{border-color:var(--segment-color);box-shadow:0 0 0 2px #020203, 0 0 0 4px var(--segment-color)}.score-template-panel .board-view canvas{aspect-ratio:13/15;border-left:0;border-right:0}.score-template-output{gap:10px;display:grid}.score-template-output textarea{border:1px solid var(--border-strong);width:100%;min-height:230px;color:var(--text);resize:vertical;background:#050507;border-bottom:0;border-left:0;border-right:0;border-radius:0;padding:14px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:16px;line-height:1.45}@media (width<=560px){.score-template-controls{grid-template-columns:minmax(0,1fr)}.score-segment-guide{max-width:88px}}.games-panel{gap:24px;display:grid}.games-catalog{grid-template-columns:repeat(auto-fit,minmax(260px,360px));gap:20px;display:grid}.game-catalog-card{color:var(--text);cursor:pointer;outline-offset:5px;gap:16px;text-decoration:none;display:grid}.game-catalog-card:focus-visible{outline:2px solid var(--accent)}.game-card-launch{align-self:end;gap:14px;display:grid}.game-card-actions{justify-content:flex-start;align-items:flex-start}.game-card-actions .button{flex:160px}.game-page-heading{align-items:center;display:flex}.game-page-heading a{color:var(--muted);font-size:.86rem;font-weight:800;text-decoration:none}.game-page-heading a:before{content:"< "}.pong-game{--pong-ball:#ffb21a;--pong-player-one:#17d4cf;--pong-player-two:#f12b74;--pong-score:#fff;--pong-score-flash:#00ff3c;gap:16px;display:grid}.game-of-life-game{--life-live:#39ff14;--life-newborn:#fff36d;--life-mature:#17d4cf;gap:16px;display:grid}.game-title-row,.game-of-life-title-row,.pong-title-row{justify-content:space-between;align-items:center;gap:14px;min-width:0;display:flex}.game-title-row h3,.game-of-life-title-row h3,.pong-title-row h3{margin:0;font-size:1.25rem}.game-target,.game-of-life-target,.pong-target{color:var(--muted);text-transform:uppercase;margin:4px 0 0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.78rem;font-weight:800}.game-help{max-width:520px;color:var(--muted);margin:8px 0 0;font-size:.92rem;line-height:1.45}.game-help p{margin:0}.game-help ul{margin:6px 0 0;padding-left:18px}.game-help li+li{margin-top:2px}.hold-rush-game{--hold-rush-active:#00eaff;--hold-rush-fast:#39ff14;--hold-rush-solo-summary:#0f0;--hold-rush-miss:red;--hold-rush-slow:#ffbd2e;gap:16px;display:grid}.hold-rush-setup{gap:14px;max-width:720px;display:grid}.hold-rush-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.segmented-control{border:1px solid var(--border);background:var(--panel-soft);border-radius:8px;gap:6px;min-width:0;padding:4px;display:flex}.segmented-control button{background:0 0;border-color:#0000;flex:1 1 0;min-width:0;padding-inline:10px}.segmented-control button.selected{border-color:color-mix(in srgb, var(--hold-rush-active) 62%, #fff 20%);background:color-mix(in srgb, var(--hold-rush-active) 16%, transparent);color:#fff}.field{gap:6px;min-width:0;display:grid}.field span,.hold-rush-mode-control>span,.hold-rush-reach-control>span{color:var(--muted);font-size:.82rem;font-weight:800}.field input{border:1px solid var(--border);background:var(--panel-soft);width:100%;min-width:0;min-height:42px;color:var(--text);font:inherit;border-radius:8px;padding:0 12px;font-size:1rem;font-weight:800}.hold-rush-mode-control,.hold-rush-reach-control{grid-column:1/-1;gap:6px;display:grid}.hold-rush-voice-control{min-height:48px;color:var(--muted);grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px;font-size:.82rem;font-weight:800;display:grid}.hold-rush-voice-control input{width:18px;height:18px;accent-color:var(--hold-rush-active)}.hold-rush-voice-control>span{gap:3px;display:grid}.hold-rush-voice-control strong{color:var(--muted);font-size:.82rem;line-height:1.1}.hold-rush-voice-control small{color:color-mix(in srgb, var(--muted) 82%, #fff 10%);font-size:.78rem;font-weight:700;line-height:1.25}.hold-rush-voice-note{color:var(--muted);margin:0;font-size:.9rem}.hold-rush-actions{justify-content:flex-start}.hold-rush-last-round,.hold-rush-threshold-note{color:var(--muted);margin:0;font-size:.9rem}.hold-rush-thumbnail,.game-of-life-thumbnail,.screensaver-thumbnail{border:1px solid var(--border-strong);background:#000;border-radius:8px;height:140px;min-height:140px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0a}.hold-rush-thumbnail,.game-of-life-thumbnail,.screensaver-thumbnail-pulse,.screensaver-thumbnail-contours,.screensaver-thumbnail-wander{background-color:#000;background-image:linear-gradient(#ffffff0e 1px,#0000 1px),linear-gradient(90deg,#ffffff0e 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:26px 26px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;grid-template-columns:repeat(14,14px);place-content:center;gap:7px;padding:18px;display:grid}.hold-rush-thumbnail:before,.game-of-life-thumbnail:before,.pong-thumbnail:before,.screensaver-thumbnail:before{content:"";border:1px solid #ffffff2e;position:absolute;inset:11px}.hold-rush-thumbnail-hold,.game-of-life-thumbnail-cell,.screensaver-pulse-hold,.screensaver-contour-hold,.screensaver-wander-hold{z-index:1;background:#ffffff09;border:1px solid #ffffff21;border-radius:999px;width:14px;height:14px;position:relative}.hold-rush-thumbnail-hold-route{border-color:color-mix(in srgb, var(--hold-rush-active) 45%, transparent);background:color-mix(in srgb, var(--hold-rush-active) 42%, transparent);box-shadow:0 0 10px color-mix(in srgb, var(--hold-rush-active) 26%, transparent);opacity:.42}.hold-rush-thumbnail-hold-active{border-color:var(--hold-rush-active);background:var(--hold-rush-active);box-shadow:0 0 18px color-mix(in srgb, var(--hold-rush-active) 72%, transparent);transform:scale(1.25)}.hold-rush-thumbnail-hold-next{border-color:var(--hold-rush-active);background:var(--hold-rush-active);box-shadow:0 0 14px color-mix(in srgb, var(--hold-rush-active) 58%, transparent);opacity:.78}.hold-rush-thumbnail-hold-slow{border-color:var(--hold-rush-slow);background:var(--hold-rush-slow);box-shadow:0 0 14px color-mix(in srgb, var(--hold-rush-slow) 62%, transparent)}.hold-rush-thumbnail-hold-fast{border-color:var(--hold-rush-fast);background:var(--hold-rush-fast);box-shadow:0 0 14px color-mix(in srgb, var(--hold-rush-fast) 62%, transparent)}.hold-rush-thumbnail-hold-miss{border-color:var(--hold-rush-miss);background:var(--hold-rush-miss);box-shadow:0 0 14px color-mix(in srgb, var(--hold-rush-miss) 62%, transparent)}.hold-rush-controller{border:1px solid var(--border-strong);background:#000;border-radius:8px;grid-template-rows:minmax(220px,1fr) auto minmax(160px,.48fr);grid-template-areas:"preview""stats""tap";min-height:min(78vh,760px);display:grid;overflow:hidden}.hold-rush-controller[data-mode=spotter]{grid-template-rows:minmax(220px,1fr) auto minmax(160px,.48fr) auto;grid-template-areas:"preview""stats""tap""actions"}.hold-rush-preview,.hold-rush-summary-preview{border:1px solid var(--border-strong);background:#000;border-radius:8px;min-height:0;position:relative;overflow:hidden}.hold-rush-controller .hold-rush-preview{border-width:0 0 1px;border-radius:0;grid-area:preview}.hold-rush-preview .board-view,.hold-rush-summary-preview .board-view{gap:0;height:100%}.hold-rush-preview .board-view{place-items:center;container-type:size}.hold-rush-preview .board-view canvas,.hold-rush-summary-preview .board-view canvas{background:#000;border:0}.hold-rush-preview .board-view canvas{aspect-ratio:14/15;width:min(100cqw,93.3333cqh);max-width:100%;height:min(100cqh,107.143cqw);max-height:100%}.hold-rush-summary-preview .board-view canvas{aspect-ratio:auto;height:100%;min-height:220px}.hold-rush-status-grid,.hold-rush-summary-stats{background:var(--border-strong);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid}.hold-rush-controller .hold-rush-status-grid{grid-area:stats}.hold-rush-voice-status{z-index:1;color:var(--muted);pointer-events:none;text-transform:uppercase;background:#000000c2;border:1px solid #ffffff29;border-radius:999px;grid-area:tap;place-self:end center;gap:6px;margin:0 12px 12px;padding:5px 8px;font-size:.72rem;font-weight:900;display:flex}.hold-rush-voice-status strong{color:#fff}.hold-rush-summary-stats{grid-template-columns:repeat(5,minmax(0,1fr))}.hold-rush-summary-stats .hold-rush-stat:only-child{grid-column:1/-1}.hold-rush-stat{text-align:center;background:#050506;gap:3px;min-width:0;padding:10px;display:grid}.hold-rush-stat span{color:var(--muted);text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.72rem;font-weight:900;overflow:hidden}.hold-rush-stat strong{overflow-wrap:anywhere;color:#fff;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:1.25rem;font-weight:900;line-height:1.05}.hold-rush-tap-pad{background:radial-gradient(circle at center, color-mix(in srgb, var(--hold-rush-active) 24%, transparent), transparent 56%), #050506;color:#fff;touch-action:manipulation;border:0;border-radius:0;grid-area:tap;min-height:160px;font-size:1.45rem;font-weight:900}.hold-rush-controller[data-mode=spotter] .hold-rush-tap-pad{background:radial-gradient(circle at center, color-mix(in srgb, var(--hold-rush-fast) 24%, transparent), transparent 56%), #050506}.hold-rush-round-actions{background:#ffffff0a;grid-area:actions;justify-content:stretch;padding:12px}.hold-rush-round-actions button{flex:140px}.hold-rush-summary-preview{max-width:720px;display:grid}.hold-rush-results-stack{gap:12px;max-width:720px;display:grid}.hold-rush-summary-heading{border-bottom:1px solid var(--border-strong);background:#050506;justify-content:space-between;align-items:center;gap:12px;min-width:0;padding:10px 12px;display:flex}.hold-rush-summary-heading span{color:var(--muted);text-transform:uppercase;font-size:.78rem;font-weight:900}.hold-rush-summary-heading strong{overflow-wrap:anywhere;color:#fff;text-align:right;font-size:.92rem;font-weight:900}.hold-rush-summary-preview .board-view canvas{height:min(40vh,320px)}.hold-rush-legend{border-top:1px solid var(--border-strong);background:#050506;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 12px;display:flex}.hold-rush-legend-item{color:var(--muted);align-items:center;gap:7px;font-size:.82rem;font-weight:800;display:inline-flex}.hold-rush-legend-item span{border-radius:999px;width:12px;height:12px;box-shadow:0 0 12px}.pong-live-preview{border:1px solid var(--border-strong);background:#000;border-radius:8px;overflow:hidden}.pong-live-preview .board-view{place-items:center;gap:0;height:100%;container-type:size}.pong-live-preview .board-view canvas{aspect-ratio:14/15;background:#000;border:0;width:min(100cqw,93.3333cqh);max-width:100%;height:min(100cqh,107.143cqw);max-height:100%}.pong-score,.pong-controller-score{color:var(--pong-score);letter-spacing:0;text-shadow:0 0 18px color-mix(in srgb, var(--pong-score) 44%, transparent);align-items:baseline;gap:.18em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-weight:900;display:inline-flex}.pong-score{font-size:5.4rem;line-height:1}.pong-score-player{color:var(--pong-score);transition:color .14s,text-shadow .14s}.pong-score-player.scored{color:var(--pong-score-flash);text-shadow:0 0 22px color-mix(in srgb, var(--pong-score-flash) 72%, transparent)}.pong-score-separator{color:#ffffff57;font-size:.52em;transform:translateY(-.08em)}.pong-setup{gap:14px;max-width:360px;display:grid}.pong-controls{gap:12px;display:grid}.pong-launch{gap:14px;display:grid}.pong-thumbnail{border:1px solid var(--border-strong);background:#000;border-radius:8px;min-height:140px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0a}.pong-thumbnail-score{color:#fff;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:2.2rem;font-weight:900;line-height:1;position:absolute;top:18px}.pong-thumbnail-score-left{left:35%}.pong-thumbnail-score-right{right:35%}.pong-thumbnail-net{background:repeating-linear-gradient(#ffffffa3 0 8px,#0000 8px 18px);width:2px;position:absolute;top:14px;bottom:14px;left:50%;transform:translate(-50%)}.pong-thumbnail-paddle{width:5px;height:48px;position:absolute;top:48px}.pong-thumbnail-paddle-left{background:var(--pong-player-one);box-shadow:0 0 14px color-mix(in srgb, var(--pong-player-one) 58%, transparent);left:24px}.pong-thumbnail-paddle-right{background:var(--pong-player-two);box-shadow:0 0 14px color-mix(in srgb, var(--pong-player-two) 58%, transparent);right:24px}.pong-thumbnail-ball{background:var(--pong-ball);width:9px;height:9px;box-shadow:0 0 14px color-mix(in srgb, var(--pong-ball) 70%, transparent);position:absolute;top:78px;left:56%}.pong-actions{justify-content:flex-start}.pong-controller{border:1px solid var(--border-strong);-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:none;background:#000;border-radius:8px;grid-template-rows:minmax(220px,1fr) minmax(220px,.85fr);min-height:min(72vh,760px);display:grid;overflow:hidden}.pong-controller *{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.pong-controller-preview{border-bottom:1px solid var(--border-strong);background:#000;min-height:0;display:block;position:relative;overflow:hidden}.pong-controller-preview .pong-live-preview{border:0;border-radius:0;height:100%}.pong-winner-banner{border:1px solid var(--pong-score-flash);box-shadow:0 0 28px color-mix(in srgb, var(--pong-score-flash) 42%, transparent);color:var(--pong-score-flash);letter-spacing:0;text-align:center;text-transform:uppercase;background:#000000d1;gap:4px;padding:12px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:1.05rem;font-weight:900;display:grid;position:absolute;inset:auto 18px 18px}.pong-winner-banner span:first-child{color:#fff;font-size:1.35rem}.pong-controller-pad{grid-template-columns:minmax(0,1fr) minmax(132px,.45fr) minmax(0,1fr);min-height:0;display:grid}.pong-touch-zone{cursor:ns-resize;touch-action:none;background-color:#000;background-image:linear-gradient(#ffffff0e 1px,#0000 1px),none;background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:100% 28px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;min-width:0;position:relative}.pong-touch-zone:after{content:"";background:#fff;width:4px;position:absolute;top:22%;bottom:22%;box-shadow:0 0 14px #ffffff75}.pong-touch-zone-left:after{background:var(--pong-player-one);box-shadow:0 0 16px color-mix(in srgb, var(--pong-player-one) 62%, transparent);left:18%}.pong-touch-zone-right:after{background:var(--pong-player-two);box-shadow:0 0 16px color-mix(in srgb, var(--pong-player-two) 62%, transparent);right:18%}.pong-controller-center{background:#ffffff0a;border-left:1px dashed #ffffff47;border-right:1px dashed #ffffff47;align-content:center;gap:10px;padding:14px;display:grid}.pong-controller-score{text-align:center;justify-content:center;font-size:2.35rem;line-height:1;display:block}.pong-controller[data-status=paused] .pong-touch-zone,.pong-controller[data-status=finished] .pong-touch-zone{opacity:.42}.game-of-life-thumbnail-cell.alive{border-color:color-mix(in srgb, var(--life-live) 60%, #fff 10%);background:var(--life-live);box-shadow:0 0 15px color-mix(in srgb, var(--life-live) 72%, transparent)}.game-of-life-controller{border:1px solid var(--border-strong);background:#000;border-radius:8px;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);min-height:min(78vh,820px);display:grid;overflow:hidden}.game-of-life-preview{border-right:1px solid var(--border-strong);background:#000;min-height:460px;overflow:hidden}.game-of-life-preview .board-view{place-items:center;gap:0;height:100%;position:relative;container-type:size}.game-of-life-preview .board-view-toolbar{z-index:2;position:absolute;top:12px;right:12px}.game-of-life-preview .board-view canvas{aspect-ratio:14/15;background:#000;border:0;width:min(100cqw,93.3333cqh);max-width:100%;height:min(100cqh,107.143cqw);max-height:100%}.game-of-life-panel{align-content:start;gap:16px;min-width:0;padding:16px;display:grid}.game-of-life-stats{border:1px solid var(--border-strong);background:var(--border-strong);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.game-of-life-stat{text-align:center;background:#050506;gap:4px;min-width:0;padding:10px;display:grid}.game-of-life-stat span{color:var(--muted);text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:.72rem;font-weight:900;overflow:hidden}.game-of-life-stat strong{overflow-wrap:anywhere;color:#fff;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:1.05rem;font-weight:900;line-height:1.05}.game-of-life-settings{gap:12px;display:grid}.game-of-life-setting-heading{justify-content:space-between;align-items:baseline;gap:10px;min-width:0;display:flex}.game-of-life-setting-heading>span{min-width:0}.game-of-life-setting-heading>small{color:var(--muted);text-align:right;flex:none;font-size:.78rem;font-weight:800}.game-of-life-settings input[type=range]{width:100%;min-height:44px;accent-color:var(--life-live);cursor:pointer;touch-action:pan-y;padding:12px 0}.game-of-life-theme-control{gap:6px;min-width:0;display:grid}.game-of-life-theme-control>span{color:var(--muted);font-size:.82rem;font-weight:800}.game-of-life-theme-options{flex-wrap:wrap}.game-of-life-theme-options button{flex:86px}.game-of-life-theme-options button.selected{border-color:color-mix(in srgb, var(--life-live) 62%, #fff 20%);background:color-mix(in srgb, var(--life-live) 16%, transparent)}.game-of-life-actions{justify-content:flex-start}.game-of-life-actions button{flex:120px}.game-of-life-controller[data-status=paused] .game-of-life-preview canvas{opacity:.86}.screensavers-panel,.screensaver-page,.screensaver-runner{gap:16px;display:grid}.screensaver-pulse-hold[class*=pulse-cyan]{background:#17d4cf;border-color:#17d4cf;box-shadow:0 0 14px #17d4cf9e}.screensaver-pulse-hold[class*=pulse-blue]{background:#45a3ff;border-color:#45a3ff;box-shadow:0 0 14px #45a3ff9e}.screensaver-pulse-hold[class*=pulse-green]{background:#37d67a;border-color:#37d67a;box-shadow:0 0 14px #37d67a94}.screensaver-pulse-hold[class*=pulse-violet]{background:#b56cff;border-color:#b56cff;box-shadow:0 0 14px #b56cff99}.screensaver-pulse-hold[class*=pulse-dim]{opacity:.4;filter:brightness(.58)}.screensaver-pulse-hold[class*=pulse-mid]{opacity:.72;filter:brightness(.82)}.screensaver-pulse-hold[class*=pulse-peak]{opacity:1;filter:brightness()}.screensaver-contour-hold[class*=band-cyan]{background:#29f2ff;border-color:#29f2ff;box-shadow:0 0 13px #29f2ff9e}.screensaver-contour-hold[class*=band-pink]{background:#ff38c7;border-color:#ff38c7;box-shadow:0 0 13px #ff38c799}.screensaver-contour-hold[class*=-dim]{opacity:.32;filter:brightness(.45)}.screensaver-contour-hold[class*=-mid]{opacity:.72;filter:brightness(.78)}.screensaver-contour-hold[class*=-peak]{opacity:1;filter:brightness()}.screensaver-wander-hold.wander-main,.screensaver-wander-hold[class*=wander-trail]{background:#34d5ff;border-color:#34d5ff}.screensaver-wander-hold.wander-main{z-index:2;transform:scale(1.25);box-shadow:0 0 22px #34d5ffdb}.screensaver-wander-hold.wander-trail-1{opacity:.78;box-shadow:0 0 16px #34d5ff94}.screensaver-wander-hold.wander-trail-2{opacity:.62;box-shadow:0 0 14px #34d5ff75}.screensaver-wander-hold.wander-trail-3{opacity:.48;box-shadow:0 0 12px #34d5ff5c}.screensaver-wander-hold.wander-trail-4{opacity:.34;box-shadow:0 0 10px #34d5ff47}.screensaver-wander-hold.wander-trail-5{opacity:.24;filter:brightness(.72)}.screensaver-wander-hold.wander-trail-6{opacity:.16;filter:brightness(.56)}.screensaver-controller{border:1px solid var(--border-strong);background:var(--panel-soft);border-radius:8px;margin:-8px -8px 0;display:grid}.screensaver-settings-section{margin:4px 0 12px}.screensaver-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.screensaver-settings-grid .field small{color:var(--muted);font-size:.78rem;font-weight:800}.screensaver-setting-heading{justify-content:space-between;align-items:baseline;gap:10px;min-width:0;display:flex}.screensaver-setting-heading>span{min-width:0}.screensaver-setting-heading>small{text-align:right;flex:none}.screensaver-settings-grid input[type=range]{width:100%;min-height:44px;accent-color:var(--accent);cursor:pointer;touch-action:pan-y;padding:12px 0}.screensaver-theme-control{grid-column:1/-1;gap:6px;min-width:0;display:grid}.screensaver-theme-control>span{color:var(--muted);font-size:.82rem;font-weight:800}.screensaver-controls{background:#ffffff0a;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;display:grid}.screensaver-status{color:#fff;margin:3px 0 0;font-size:1.1rem;font-weight:900}.screensaver-actions button{min-width:120px}.screensaver-controls .text-warning{grid-column:1/-1;margin:0}.log-list{border-top:1px solid var(--border);color:#e4e7ec;background:#040406;height:min(42vh,420px);margin:18px -22px 0;padding:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,monospace;font-size:.82rem;list-style:none;overflow:auto}.log-list li{border-bottom:1px solid #ffffff14;grid-template-columns:86px 58px minmax(0,1fr);gap:10px;padding:10px 14px;display:grid}.log-time{color:#98a2b3}.log-level{text-transform:uppercase;font-weight:800}.log-level.info{color:#93c5fd}.log-level.warn{color:#fdb022}.log-level.error{color:#f97066}.log-level.success{color:#32d583}.log-message{word-break:break-word;min-width:0}@media (width<=1100px){.workspace-grid{grid-template-columns:1fr}}@media (width<=760px){.hero{flex-direction:column;grid-template-columns:1fr}.panel-header,.panel-header.compact{text-align:left;flex-direction:column;grid-template-columns:1fr;align-items:stretch}.preview-panel .panel-header{flex-direction:row;align-items:start}.device-grid,.hold-rush-controls{grid-template-columns:1fr}.hold-rush-reach-control .segmented-control{flex-wrap:wrap}.hold-rush-reach-control .segmented-control button{flex-basis:130px}.screensaver-settings-grid{grid-template-columns:minmax(0,1fr)}.screensaver-theme-options{flex-wrap:wrap}.screensaver-theme-options button{flex:110px;min-height:44px;padding-inline:8px}.hold-rush-controller{grid-template-rows:minmax(210px,1fr) auto minmax(150px,.42fr) auto;min-height:min(82vh,720px)}.hold-rush-summary-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.hold-rush-summary-stats .hold-rush-stat:first-child{grid-column:1/-1}.actions{justify-content:stretch;width:100%}.command-grid,.file-tool-grid,.workspace-grid,.draw-controls{grid-template-columns:1fr}h1{font-size:2.1rem}.brand-lockup{text-align:center;flex-direction:column;align-items:center}.brand-logo{width:100%;max-width:200px;height:auto}.brand-tagline{justify-content:center}.app-topbar-compact .brand-lockup{text-align:left;flex-direction:row}.app-topbar-compact .brand-logo{width:48px;max-width:48px}.app-topbar-compact .brand-tagline{justify-content:flex-start;font-size:.9rem}.board-setup-dialog-header{flex-direction:row;align-items:center}.board-setup-dialog-header .board-setup-close-button{flex:0 0 38px;width:38px}.animation-frame-list li{grid-template-columns:1fr}.animation-builder label{flex-direction:column;align-items:stretch}.recording-controls,.playback-settings,.reaction-search-form{width:100%}.reaction-search-form{grid-template-columns:1fr}.reaction-panel-title-row{flex-direction:column;align-items:stretch}.delay-input,.settings-select,.recording-select,.stacked-setting-row .delay-input,.file-actions,.frame-row-actions,.animation-playback-actions,.reaction-file-actions,.recording-actions{width:100%}.file-actions button,.frame-row-actions button,.animation-playback-actions button,.reaction-file-actions button,.recording-actions button{flex:1}.recording-actions .primary{flex-basis:100%}.selected-color,.draw-rate,.zoom-controls{justify-content:center;width:100%}.panel-selected-color{width:auto}.board-send-details{justify-content:stretch}.board-send-details .command-summary,.board-send-details .draw-rate{text-align:center;justify-content:center;width:100%}.board-send-details button{flex:160px}.board-view-toolbar .draw-controls.compact-controls{justify-content:end;justify-items:end}.board-view-toolbar .draw-controls.compact-controls .draw-rate,.board-view-toolbar .draw-controls.compact-controls .selected-color{justify-content:flex-end;width:auto}.pan-controls{justify-self:stretch}.board-view-toolbar{flex-direction:column;align-items:stretch}.board-view-actions{justify-content:stretch}.board-view-actions button{flex:1}.actions button,.panel-header>button,.board-preset-dialog-header>button,.scan-picker-header>button{flex:1;width:100%}.connection-panel .panel-header,.collapsible-panel .panel-header{text-align:left;align-items:stretch}.collapsible-panel-heading{width:100%}.connection-panel .actions,.collapsible-panel .actions{justify-content:stretch}.connection-panel .actions button,.collapsible-panel .actions button{width:auto}.connection-panel .actions button:not(.details-toggle),.collapsible-panel .actions button:not(.details-toggle){flex:132px}.connection-panel .details-toggle,.collapsible-panel .details-toggle{flex:0 0 42px;width:42px}.scan-picker-header,.board-preset-dialog-header{flex-direction:column}.board-preset-layout,.board-preset-layout-list,.board-preset-list{padding-left:7px}.board-preset-button{grid-template-columns:minmax(0,1fr);gap:7px}.board-preset-name,.board-type-panel .collapsible-panel-summary strong{font-size:.86rem}.status-pill{width:fit-content;margin-left:auto;margin-right:auto}.game-of-life-title-row,.pong-title-row{flex-direction:column;align-items:stretch}.pong-score{font-size:4rem}.pong-launch,.pong-setup{max-width:none}.pong-controller-score{font-size:2.55rem}.game-of-life-controller{grid-template-columns:minmax(0,1fr)}.game-of-life-preview{border-right:0;border-bottom:1px solid var(--border-strong);min-height:380px}.game-of-life-stats{grid-template-columns:repeat(3,minmax(0,1fr))}.pong-actions button{flex:1}}@media (width<=1100px){.preview-palette{order:1}.presets-heading{order:2;margin-top:18px}.draw-preset-grid{order:3;margin-bottom:0}}@media (pointer:coarse) and (orientation:landscape) and (width<=1100px){.workspace-grid:not(.games-workspace-grid){grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.preview-palette{order:3}.presets-heading{order:1;margin-top:0}.draw-preset-grid{order:2;margin-bottom:18px}.preview-panel{top:calc(env(safe-area-inset-top,0px) + 8px);position:sticky}.draw-workspace-grid .preview-panel{position:static}}@media (hover:none),(width<=760px){.hold-rush-controller{z-index:40;min-height:100vh;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);border:0;border-radius:0;grid-template-rows:minmax(0,1fr) auto minmax(220px,.82fr);position:fixed;inset:0}.hold-rush-controller[data-mode=spotter]{grid-template-rows:minmax(0,1fr) auto minmax(220px,.82fr) auto}.hold-rush-tap-pad{min-height:220px}.hold-rush-round-actions button{min-height:48px}.pong-controller{z-index:40;min-height:100vh;padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px);border:0;border-radius:0;grid-template-rows:minmax(0,1fr) minmax(260px,1fr);position:fixed;inset:0}.pong-controller-pad{grid-template-columns:minmax(0,1fr) minmax(128px,.42fr) minmax(0,1fr)}.pong-controller-center{padding:12px}.pong-controller-center button{min-height:48px;padding:0 10px}}@media (orientation:landscape) and (width<=1100px){.hold-rush-controller{grid-template:"preview stats""preview tap"minmax(0,1fr)/minmax(0,1fr) minmax(220px,1fr)}.hold-rush-controller[data-mode=spotter]{grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"preview stats""preview tap""preview actions"}.hold-rush-controller .hold-rush-preview{border-width:0 1px 0 0}.hold-rush-tap-pad{height:100%;min-height:0}}
