/* Compact navigation, quiet surfaces, and conspicuous demo controls. */
html{scroll-padding-top:calc(var(--header-space,104px) + 12px)}
.site-header{height:104px;transition:height .2s ease,background .2s ease;background:#131318ee}.site-header .brand .sandmark{transition:width .2s,height .2s}.site-header .brand>span{transition:font-size .2s}.site-header .brand small{max-height:24px;opacity:1;overflow:hidden;transition:max-height .2s,margin .2s,opacity .15s}.site-header.header-compact{height:68px;background:#131318f7}.site-header.header-compact .brand .sandmark{width:31px;height:31px}.site-header.header-compact .brand>span{font-size:21px}.site-header.header-compact .brand small{max-height:0;opacity:0;margin-top:0}.site-header.header-compact .nav-cta{padding-block:8px;min-height:42px}.site-header nav{top:calc(100% - 1px)}
.method-section{background:radial-gradient(ellipse at 80% 45%,#66557b14,transparent 60%),#17181c;border-color:#3c3d45}.stage-panel{background:#17181d;border-color:#42444e}.method-wide .build-tabs{background:#17181c}.method-wide .build-tabs>button{background:#22232a;border-color:#51535e;color:#d1d3d8}.method-wide .build-tabs>button[aria-selected=true]{background:#35303f;border-color:#b29cdb;color:#f2ecfa;box-shadow:inset 4px 0 #c7b5e7}.method-wide .build-tabs>button[aria-selected=true]>i{color:#d5fa49}.method-wide .build-tabs>button:hover{background:#2d2c36;border-color:#9386ac}.method-wide .stage-caption{border-color:#42444e}.method-wide .stage-caption strong{color:#d2bfec}.method-wide .stage-caption p,.method-wide .method-heading>p{color:#b5b7c2}.particle-assist{background:#17181ddd;color:#c6c4d0;border-color:#7c718e}.method-wide .deliver-cue{color:#acb1bc}.build-select-hint{color:#bdc0c9}
.festival-lab{background:#191a20;border-color:#45464f}.festival-rail{background:#202127;border-color:#45464f}.festival-wordmark,.festival-tools{border-color:#45464f}.festival-tabs>button{color:#c7c8cf}.festival-tabs>button[aria-selected=true]{background:#373140;border-color:#a38ebd;color:#f0e9f8;box-shadow:inset 3px 0 #c8b6e0}.festival-tabs>button[aria-selected=true] i{color:#d5fa49}.festival-tabs>button:hover:not([aria-selected=true]){background:#2c2b34;border-color:#686274}.festival-tools p,.festival-tools legend,.festival-disclosure{color:#b0b2bd}.f-panel-heading h3 em{color:#c5b2e2}.f-panel-heading p{color:#b4b8c3}.f-panel-heading .scene-label{color:#b8a6d1}.f-preview-space{border-color:#444651;background:radial-gradient(ellipse,#60526c22,transparent 75%),#17181d}.festival-lab .preview-chrome{background:#2a2b34;border-color:#5e5f6c}.f-segments button{background:#292b34;border-color:#555866;color:#d3d5df}.f-choices button{color:#c0c3cf}.f-swatches button{border-color:#202127}.demo-view-switch{border:0;padding:0;margin:0;display:flex;align-items:center;gap:18px;flex-shrink:0;min-width:0}.demo-view-switch legend{float:left;font:12px/1.5 var(--mono);color:#b6b8c3;letter-spacing:.03em;padding:0;margin-right:18px}.demo-view-switch .f-choices{display:flex;gap:7px;flex:1}.demo-view-switch .f-choices button{font-size:16px;min-height:46px;text-align:center;padding:10px 20px;border:1px solid #67616f;background:#23252c;color:#c8cbd5}.demo-view-switch .f-choices button[aria-pressed=true]{border-color:#bcabd5;background:#4b3c60;color:#f4edfe;box-shadow:inset 0 -2px #c6b1e4}.demo-view-switch .f-choices button:hover{border-color:#e5d5fd}
.cat-research-body{background:#191c22;border-color:#4b5260}.cat-research-browser{background:#1d2027;border-color:#4b5260}.cat-research-browser input{background:#282e37;border-color:#5a677b}.cat-filters button{background:#272d36;border-color:#566376;color:#cad3df}.cat-filters button[aria-pressed=true]{background:#43536a;border-color:#9bb7dc;color:#f0f4fa}.cat-fact-list button{background:#252c35;border-color:#46576b}.cat-fact-list button[aria-pressed=true]{background:#343b4c;border-color:#ac9cc9}.cat-fact-list button>span{color:#a3b7d1}.cat-fact-list button strong{color:#e2e5eb}.cat-fact-detail{background:#20242c}.cat-fact-detail p{color:#c1c8d4}.cat-fact-detail .fact-caveat{background:#303843;color:#c5d1df;border-color:#93accc}.research-results-bar{color:#a6b8cf}.cat-analytics{background:radial-gradient(ellipse at top right,#62759b20,transparent 70%),#20242b;border-color:#4f5b70}.cat-chart{background:#181d25;border-color:#45546b}.cat-chart-track{background:#323e50}.analytics-views button{background:#2b3340;border-color:#637085;color:#d0d8e5}.analytics-views button[aria-pressed=true]{background:#4c5d78;border-color:#a0b9dc;color:#f3f6fd}.analytics-top p,.analytics-insight p,.analytics-methods{color:#b6c0cf}.analytics-stat span,.analytics-callout span{color:#c0c9d8}.analytics-insight h5{color:#c7b5e2}.analytics-top .scene-label{color:#b1b6c8}.analytics-stat strong{color:#c9b6ec}
.cat-event-body{grid-template-columns:1fr;border-color:#53505f;background:#1c1c22}.rave-ticket{display:none}.rsvp-console{width:100%;max-width:850px;margin:auto;background:transparent;overflow:auto;min-height:0}.rsvp-console input{background:#292c35;border-color:#696e80}.rsvp-console label,.ticket-counter small,.f-note{color:#c1c4cd}.ticket-counter button{background:#343040;border-color:#8f7caa;color:#e0d5ef}.ticket-counter output{color:#c9b6e6}.trace-node{background:#272b35;border-color:#4b5669}.trace-node[data-state=active]{background:#3d354c;border-color:#c1a4e1}.trace-node[data-state=complete]{border-color:#8ca4ba}.trace-node small,.trace-node b{color:#b4c1d2}.trace-records{background:#232b36;border-color:#4d617d}.trace-records>div{color:#b9c7db}.trace-records>div:first-child{color:#9baec9;border-color:#3d4b60}.trace-records .new-guest{color:#d0bfea}#discord-invite{border-color:#676174}#discord-invite p{color:#c9c8d5}
@media(max-width:1000px){.demo-view-switch{display:block}.demo-view-switch legend{float:none;margin-bottom:10px}.demo-view-switch .f-choices{flex-wrap:wrap}.demo-view-switch .f-choices button{flex:1;font-size:14px;padding:10px 12px}.cat-community{min-height:450px}}
@media(max-width:640px){.site-header{height:84px}.site-header.header-compact{height:62px}.site-header.header-compact .brand .sandmark{width:28px;height:28px}.site-header.header-compact .brand>span{font-size:18px}.site-header.header-compact .menu-toggle{min-height:40px}.demo-view-switch .f-choices button{font-size:13px;min-height:43px;padding:9px 10px}.demo-view-switch legend{font-size:11px}.rsvp-console{padding:23px 18px;min-height:420px}.method-wide .stage-caption p{font-size:16px}}
@media(prefers-reduced-motion:reduce){.site-header,.site-header .brand .sandmark,.site-header .brand>span,.site-header .brand small{transition:none}}
.cat-analytics .analytics-top h4{font-size:29px}.cat-analytics .analytics-top p{margin-bottom:8px}.cat-analytics .cat-chart{padding:12px 22px;margin:16px 0}.cat-analytics .cat-chart-row{margin:12px 0}.cat-analytics .cat-chart-track{height:23px}.cat-analytics .analytics-insight p{font-size:13px;line-height:1.6}.cat-analytics .analytics-callout strong{font-size:45px}.cat-analytics .analytics-methods{font-size:12px;line-height:1.6;margin:12px 0 0}.analytics-source-note{border-top:1px solid #4d5869;padding-top:10px;margin-top:14px;font-size:12px;color:#bac6d7}.analytics-source-note summary{cursor:pointer;color:#d1c5e3}.cat-analytics .analytics-views{margin-block:10px}
@media(max-width:700px){.cat-analytics .analytics-insight p{font-size:15px}.cat-analytics .cat-chart{padding-inline:12px}.cat-analytics .cat-chart-row{margin-block:16px}}
.cat-analytics{padding:20px 24px}.cat-analytics .cat-chart-row{margin-block:8px}.cat-analytics .cat-chart-track{height:21px}.cat-analytics .analytics-callout strong{font-size:37px}.cat-analytics .analytics-callout{padding-left:16px}.cat-analytics .analytics-callout span{max-width:220px}.cat-analytics .analytics-insight{gap:20px}.cat-analytics .analytics-insight p{margin-bottom:10px}
@media(max-width:700px){.cat-analytics{padding:20px 15px}.cat-analytics .cat-chart-row{margin-block:16px}}
.cat-analytics .analytics-callout{display:none}.cat-analytics .cat-chart{margin-block:12px}.cat-analytics .analytics-insight>div:last-child{align-self:start;padding-top:4px}.cat-analytics .analytics-source-note{margin-top:10px}
/* Reserve a stable header slot so scrolling cannot resize or clear the hero. */
:root{--header-expanded:104px}body{padding-top:var(--header-expanded)}.site-header{position:fixed;left:0;right:0;top:0;backdrop-filter:none;background:#131318;transition:height .2s ease}.site-header.header-compact{background:#131318}body.cinematic-scroll .hero-scroll>.hero{top:var(--header-expanded);height:calc(100svh - var(--header-expanded))}
.festival-lab{scroll-margin-top:12px}.festival-panel{overflow:hidden}.festival-panel>header{min-width:0}.festival-panel>header>div{min-width:0}.festival-wordmark small{font-size:9px}.festival-disclosure{font-size:11px}.f-choices button{min-height:38px}.f-swatches button{width:32px;height:32px}.f-panel-heading p{font-size:16px}.festival-tabs>button{min-height:48px}.web-particles{position:relative;flex:1;min-height:0;border:1px solid #444651;background:#17181d;overflow:hidden;isolation:isolate}.web-particles>canvas{display:block;width:100%;height:100%;touch-action:pan-y}.particle-actions{position:absolute;left:20px;bottom:17px;display:flex;gap:15px}.particle-actions button{border:0;border-bottom:1px solid #777087;background:#17181ddd;color:#d1c5e1;font-size:13px;padding:8px 0;cursor:pointer}.particle-cue{position:absolute;bottom:25px;right:20px;font:10px/1.4 var(--mono);letter-spacing:.04em;color:#abb2c1;pointer-events:none}.cat-trail{display:inline-flex;align-items:center;gap:12px;margin-top:25px;border:0;background:none;padding:9px 0;color:#b4a0d2;cursor:pointer;text-align:left;font:14px/1.5 var(--mono)}.cat-trail svg{width:67px;height:36px;transition:transform .2s}.cat-trail:hover svg{transform:translateX(4px)}.cat-trail:hover{color:#ece1fc}.cat-trail i{font-style:normal;margin-left:12px}.cat-community.sand-league{grid-template-columns:185px minmax(0,1fr) 175px;min-height:0;border-color:#484c5b;background:#1d2028}.sand-league .cat-channels{background:#22232e;border-color:#414554;min-width:0}.sand-league .cat-server{padding:17px 12px;gap:10px;min-height:85px;border-color:#414554}.cat-server>svg{width:35px;height:40px;flex-shrink:0}.sand-league .cat-server strong{font-size:17px;line-height:1.2;letter-spacing:-.04em}.sand-league .cat-server small{font-size:8px;line-height:1.5;white-space:normal;color:#a9acba}.sand-league #community-channels{padding:5px 8px 15px;overflow:auto;min-height:0}.sand-league #community-channels h5,.league-members h5{font:10px/1.4 var(--mono);letter-spacing:.05em;color:#9d9fb3;margin:18px 4px 8px}.sand-league .cat-channel{font-size:14px;gap:7px;padding:8px;min-height:36px;color:#b8bacb;background:transparent;border:1px solid transparent;white-space:nowrap}.sand-league .cat-channel>span:first-child{font-size:18px;color:#9a9eb3}.sand-league .cat-channel>span:nth-child(2){min-width:0;overflow:hidden;text-overflow:ellipsis}.sand-league .cat-channel small{font:7px var(--mono);margin-left:auto;color:#868b9c}.sand-league .cat-channel[data-locked=true]{color:#9699ad;opacity:1}.sand-league .cat-channel:hover{background:#343345;border-color:#5e5572}.sand-league .cat-channel[aria-pressed=true]{background:#443b56;border-color:#8e79ad;color:#f0e9fa}.sand-league .cat-chat{display:flex;flex-direction:column;background:#292b36;min-width:0;min-height:0;overflow:hidden}.sand-league .cat-chat>header{background:#242632;min-height:48px;flex-shrink:0;padding:12px 19px;border-color:#434655}.sand-league .cat-chat h4{font-size:17px}.sand-league #channel-access{font:8px/1.5 var(--mono);color:#b7b9c7;white-space:nowrap}.league-topic{font-size:12px;color:#b5bacb;margin:0;padding:11px 19px;border-bottom:1px solid #414553;flex-shrink:0}.sand-league #channel-content{padding:22px 19px;flex:1;min-height:0;overflow:auto;scrollbar-width:thin}.sand-league .chat-message{gap:12px;margin-bottom:23px;display:flex;min-width:0}.chat-message>div{min-width:0}.sand-league .chat-avatar,.member-avatar{display:flex;align-items:center;justify-content:center;position:relative;background:color-mix(in srgb,var(--avatar-color) 25%,#24212e);color:var(--avatar-color);border-radius:50%;font:600 17px/1 var(--sans);width:36px;height:36px;flex-shrink:0}.sand-league .chat-author{gap:9px;flex-wrap:wrap;align-items:center}.sand-league .chat-author strong{font-size:15px;color:#ddd2f0}.sand-league .chat-author small{font:10px var(--mono);color:#969bb0}.sand-league .chat-badge{background:#5a4d7b;font-size:8px;color:#efe9fd;padding:2px 4px}.sand-league .chat-message p{font-size:15px;line-height:1.6;color:#d2d4df;margin:7px 0 0;overflow-wrap:anywhere}.sand-league .chat-ticket{color:#c1c9dc;background:#343e52;border-color:#536886;font-size:10px;line-height:1.7;max-width:100%}.sand-league .chat-footnote{font:9px/1.6 var(--mono);color:#a8adc1;flex-shrink:0;background:#242632;border-color:#414553;padding:11px 15px}.league-members{padding:2px 12px 12px;background:#232530;border-left:1px solid #414553;overflow:auto;scrollbar-width:thin}.league-member{display:flex;gap:8px;margin:18px 0;align-items:center;min-width:0}.league-member>div{min-width:0}.member-avatar{width:29px;height:29px;font-size:13px}.presence-dot{position:absolute;bottom:-1px;right:-2px;width:9px;height:9px;border:2px solid #232530;border-radius:50%;background:#88bdaf}.away .presence-dot{background:#d1b47b}.offline .presence-dot{background:#72798b}.league-member strong{display:block;font-size:13px;color:#d3cede;font-weight:500}.league-member strong b{font:7px var(--mono);margin-left:5px;color:#b3a0d5}.league-member small{display:block;font-size:10px;line-height:1.5;margin-top:3px;color:#9fa6be;overflow-wrap:anywhere}.league-member.offline{opacity:.65}.league-voice{padding:19px;border:1px solid #696187;background:#343044;border-radius:12px;margin-bottom:25px}.league-voice strong{display:block;font-size:25px;color:#d8c8f0;margin:10px 0}.league-voice p{font-size:15px}.league-voice small{font-size:11px;color:#c0c4d6}.league-cat-photo{display:block;position:relative;width:min(200px,100%);border:1px solid #68637a;padding:0;background:#17181e;margin-top:13px;cursor:pointer;overflow:hidden;border-radius:8px}.league-cat-photo img{display:block;width:100%;height:130px;object-fit:cover}.league-cat-photo small{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#080910db);color:#eee9f5;font-size:12px;text-align:left;padding:24px 10px 9px}.chat-locked{padding:10px 0}.chat-locked h5{font-size:23px;line-height:1.2}.chat-locked p{font-size:15px;line-height:1.65}.chat-locked .f-primary{font-size:13px;min-height:43px;padding:12px 14px}
@media(max-width:1250px) and (min-width:1001px){.cat-community.sand-league{grid-template-columns:160px minmax(0,1fr)}.league-members{display:none}.f-panel-heading{gap:15px}.f-cta{font-size:13px}.festival-panel{padding:23px;gap:18px}}
@media(min-width:801px) and (max-height:800px){.festival-lab{height:calc(100svh - var(--header-space,68px) - 24px);min-height:540px}.festival-panel{padding:20px;gap:16px}.f-panel-heading h3{font-size:29px}.f-panel-heading p{font-size:14px}.f-panel-heading .scene-label{font-size:9px}.demo-view-switch .f-choices button{min-height:40px;padding:8px 14px;font-size:14px}.festival-rail{padding-top:18px}.festival-wordmark{padding-bottom:15px;margin-bottom:9px}.festival-tools{margin-top:15px;padding-top:15px}.festival-tools fieldset{margin-bottom:12px}.festival-tabs>button{padding-block:9px;min-height:43px}.cat-analytics{overflow:auto}}
@media(max-width:1000px){.cat-community.sand-league{grid-template-columns:160px minmax(0,1fr) 160px}.f-panel-heading p{max-width:600px}.particle-cue{font-size:9px}.web-particles{min-height:440px}.sand-league{height:560px!important;min-height:0!important}.festival-panel{overflow:visible}.festival-main{min-height:0}}
@media(max-width:760px){.cat-community.sand-league{grid-template-columns:150px minmax(0,1fr)}.league-members{display:none}.sand-league .cat-server{padding:13px 9px;gap:7px}.sand-league .cat-server strong{font-size:14px}.sand-league .cat-server small{font-size:7px}.cat-server>svg{width:29px}.sand-league .cat-chat>header{padding-inline:13px}.league-topic{padding-inline:13px}.sand-league #channel-content{padding:19px 13px}.sand-league .chat-message{gap:8px}.sand-league .chat-avatar{width:28px;height:28px;font-size:13px}.sand-league .chat-message p{font-size:14px}.sand-league .chat-author strong{font-size:14px}.sand-league #channel-access{display:none}.sand-league .chat-author small{font-size:9px}.sand-league .chat-footnote{font-size:8px;padding:10px 12px}}
@media(max-width:640px){:root{--header-expanded:84px}.site-header .brand>span{font-size:17px}.site-header.header-compact .brand>span{font-size:17px}.web-particles{min-height:400px;flex:none;height:480px}.particle-actions{bottom:35px;left:14px;gap:13px}.particle-actions button{font-size:11px}.particle-cue{bottom:13px;left:14px;right:12px;font-size:8px}.cat-community.sand-league{display:flex;flex-direction:column;height:670px!important}.sand-league .cat-channels{overflow:visible;border-right:0;border-bottom:1px solid #414553;flex-shrink:0;min-height:0}.sand-league .cat-server{min-height:0;padding:11px 13px}.sand-league .cat-server strong{font-size:16px}.sand-league .cat-server small{font-size:8px}.sand-league .cat-server>svg{height:32px;width:27px}.sand-league #community-channels{display:flex;gap:5px;padding:7px 9px 10px;overflow:auto;max-height:none}.sand-league #community-channels h5{display:none}.sand-league .cat-channel{flex-shrink:0;width:auto;min-height:38px;padding:6px 9px;font-size:12px}.sand-league .cat-channel small{font-size:7px}.sand-league .cat-chat{flex:1;min-height:0}.league-members{display:none}.league-topic{font-size:11px;line-height:1.5}.sand-league .chat-footnote{font-size:9px}.festival-panel{gap:18px}.f-panel-heading p{font-size:16px}.festival-wordmark small{font-size:9px}.festival-disclosure{font-size:10px}.cat-trail{font-size:12px;gap:8px}.cat-trail svg{width:50px}.demo-view-switch .f-choices{gap:7px}}
@media(max-width:360px){.site-header .brand>span,.site-header.header-compact .brand>span{font-size:15px}.site-header.header-compact .brand .sandmark{width:25px;height:25px}.nav-wrap{gap:9px}.menu-toggle{padding-inline:8px}.festival-panel{padding:18px 14px}.demo-view-switch .f-choices button{padding:9px 8px}.sand-league .chat-message{gap:7px}.sand-league .chat-avatar{width:25px;height:25px}.sand-league .chat-message p{font-size:14px}}
@media(prefers-reduced-motion:reduce){.cat-trail svg{transition:none}}
@media print{body{padding-top:0}.site-header{position:relative}}
.sand-league .cat-chat,.sand-league .cat-channels{padding:0}.sand-league .cat-server{margin-bottom:0}.sand-league .cat-chat #channel-content{max-height:none}.sand-league .chat-avatar{border:0}.sand-league .chat-message:nth-child(3n+2) .chat-avatar{border-color:transparent;background:color-mix(in srgb,var(--avatar-color) 25%,#24212e);color:var(--avatar-color)}
@media(min-width:701px) and (max-width:1000px){.cat-community.sand-league{grid-template-columns:160px minmax(0,1fr)}.league-members{display:none}}
/* Keep the screen-reader data table out of the visual chart's layout. */
.cat-analytics .analytics-table.sr-only{display:block;position:absolute;width:1px;height:1px;max-width:1px;max-height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(min-width:641px){.sand-league .cat-server{min-height:70px;padding:12px}.sand-league .cat-server strong{font-size:14px}.sand-league #community-channels h5{margin:12px 4px 6px}.sand-league .cat-channel{min-height:34px;padding-block:7px;margin-bottom:2px}}
@media(max-width:700px){[data-web-controls]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 15px;width:100%}[data-web-controls] fieldset{min-width:0}.festival-tools [data-web-controls] .f-choices{flex-wrap:wrap}}
@media(max-width:1000px){.cat-community.sand-league{flex:none}}
@media(min-width:641px){.sand-league .cat-channels{display:flex;flex-direction:column;overflow:hidden}.sand-league .cat-server{flex-shrink:0}.sand-league #community-channels{flex:1}}
