/* RCC / a floating studio, with the library as its canvas. */
body.studio-layout{--dock-height:86px;--studio-ease:cubic-bezier(.2,.8,.2,1);padding-top:var(--dock-height)}
body.studio-layout .main{margin-left:0!important;max-width:1600px;margin-right:auto;margin-inline:auto!important;padding:0 clamp(18px,4.5vw,76px) 60px}body.studio-layout .app{display:block}body.studio-layout .main>header{position:relative;top:auto;margin:22px 0 0;background:transparent;backdrop-filter:none;border:0;box-shadow:none;padding:0}body.studio-layout .topbar{padding:12px 0;gap:12px;flex-wrap:wrap}body.studio-layout .search-top{flex:1;min-width:220px}body.studio-layout .search-top input{min-height:52px;background:color-mix(in srgb,var(--surface) 80%,transparent);border-radius:var(--ui-radius);padding-left:22px}body.studio-layout #hamburger{display:inline-flex!important;align-items:center;padding:12px;border:1px solid var(--border-glass);border-radius:12px;font:600 12px 'DM Sans',sans-serif;min-height:44px;width:auto}body.studio-layout .hero{padding-top:12px}body.studio-layout .section-tabs{background:none;border:0;padding:8px 0;gap:6px;flex-wrap:wrap;justify-content:flex-start;margin-bottom:32px;box-shadow:none}body.studio-layout .section-tabs button,body.studio-layout .section-tabs a{border-radius:30px;padding:10px 16px;font-size:12px}body.studio-layout .section-tabs a{border:0}body.studio-layout .hero-intro{grid-template-columns:1.3fr .8fr;gap:50px;padding:18px 0 44px}body.studio-layout .hero h2{font-size:clamp(38px,5.5vw,78px);line-height:1.07;letter-spacing:-.055em;max-width:850px}body.studio-layout .hero-copy>.eyebrow{display:flex;align-items:center;gap:10px;font-size:10px;letter-spacing:2.6px}body.studio-layout .hero-copy>.eyebrow::before{content:'';width:25px;height:1px;background:var(--accent)}body.studio-layout .code-preview{transform:perspective(1000px) rotateY(-8deg) rotateX(5deg);border-radius:var(--ui-radius);box-shadow:16px 22px 0 color-mix(in srgb,var(--accent) 3%,transparent),0 30px 70px #06080940}body.studio-layout .grid{gap:20px}body.studio-layout .card{border-radius:var(--ui-radius);box-shadow:inset 0 1px 0 #ffffff09}body.studio-layout .catalog-tools{border-radius:var(--ui-radius);padding:18px;gap:12px}body.studio-layout .catalog-heading{padding-top:24px}body.studio-layout .stats{border-bottom:1px solid var(--border-glass);padding-bottom:26px}
.studio-dock{position:fixed;z-index:100;top:0;left:0;right:0;min-height:var(--dock-height);padding:16px clamp(18px,4.5vw,76px);display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--border-glass);background:color-mix(in srgb,var(--bg) 87%,transparent);backdrop-filter:blur(var(--glass-blur,22px))}.dock-brand a{display:flex;align-items:center;gap:10px;color:var(--text);text-decoration:none;font:800 27px 'Manrope',sans-serif;letter-spacing:-1px}.dock-brand .brand-symbol{width:34px;height:34px}.dock-brand .brand-dot{color:var(--accent)}.dock-links{display:flex;gap:8px}.dock-links button{padding:12px 18px;background:transparent;color:var(--text);border:1px solid transparent;border-radius:12px;font:600 13px 'DM Sans',sans-serif;cursor:pointer}.dock-links button span{font:9px monospace;opacity:.4;margin-left:14px}.dock-links button:hover,.dock-links [aria-expanded=true]{background:color-mix(in srgb,var(--accent) 8%,transparent);border-color:var(--border-glass)}.dock-language{position:relative}.dock-language .language-picker{margin:0}.dock-language .language-panel{position:absolute;right:0;top:48px;width:min(340px,85vw);max-height:70dvh;overflow:auto}.dock-language .language-trigger{width:auto;margin:0}
body.studio-panel-open{overflow:hidden}.studio-panel{margin:auto;width:min(1240px,calc(100% - 32px));max-height:calc(100dvh - 40px);padding:32px;border:1px solid var(--border-glass);border-radius:var(--ui-radius);color:var(--text);background:var(--bg);background:color-mix(in srgb,var(--bg) 94%,transparent);backdrop-filter:blur(var(--glass-blur));box-shadow:0 45px 120px #06080980}.studio-panel::backdrop{background:#080b1290;backdrop-filter:blur(12px)}.studio-panel[open]{animation:studio-space-enter .45s var(--studio-ease) both}.studio-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:30px;border-bottom:1px solid var(--border-glass);padding-bottom:24px}.studio-panel-head .eyebrow{font:10px monospace;letter-spacing:2px}.studio-panel h2{font:600 clamp(28px,4vw,48px)/1.15 'Manrope',sans-serif;letter-spacing:-1.5px;margin:12px 0 0}.studio-panel-close{width:42px;height:42px;background:transparent;border:1px solid var(--border-glass);border-radius:50%;color:var(--text);font-size:25px;cursor:pointer}.studio-space{animation:studio-space-enter .4s var(--studio-ease) both}.studio-space[hidden],.library-assistant[hidden],.library-notice[hidden],[hidden]#tourFirst,[hidden]#tourLast,[hidden]#tourBack{display:none!important}
body.studio-layout .studio-panel .sidebar{position:static!important;display:grid;width:auto;height:auto;max-height:none;transform:none!important;inset:auto;overflow:visible;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:0;border:0;background:none;box-shadow:none;backdrop-filter:none}.studio-panel .sidebar .brand{display:none}.studio-panel .sidebar :is(.device-toggle,.appearance-toggle){grid-column:1/-1;margin:0}.studio-panel .sidebar .appearance-toggle{max-width:300px}.studio-panel .sidebar .sidebar-section{border:1px solid var(--border-glass);border-radius:var(--ui-radius);padding:20px;background:var(--surface)}.studio-panel .sidebar .sidebar-section:has(#recentBtn){grid-column:1/-1;padding:0;background:transparent;border:0}.studio-panel .sidebar .games-nav{width:auto;margin:0;min-height:48px;justify-content:center}.studio-panel .sidebar .nav-item{min-height:42px}.studio-panel .sidebar .sidebar-title{font:10px monospace;letter-spacing:2px;margin-bottom:16px}.studio-panel .sidebar .device-toggle{display:flex;flex-wrap:wrap}.studio-panel .personalization{margin:0;border:0;background:transparent;box-shadow:none}.studio-panel #personalization>summary{display:none}.studio-panel .personalization-body{padding:0}.studio-panel .theme-options{grid-template-columns:repeat(4,minmax(0,1fr))}.studio-panel .personalization-intro h2{font-size:27px}.studio-panel .personalization-intro p,.tools-launch p{color:var(--muted);line-height:1.8;font-size:14px;max-width:650px}.tools-launch{padding-bottom:28px}.tools-launch h3{font:600 32px 'Manrope',sans-serif;letter-spacing:-1px;margin:16px 0}.tools-launch a{display:inline-flex;padding:13px 18px;border:1px solid var(--border-glass);border-radius:12px;color:var(--text);text-decoration:none;margin:8px 8px 0 0;font-size:13px}.studio-panel #codeCompare{border-top:1px solid var(--border-glass);padding-top:20px}.studio-panel #codeCompare .personalization-body{padding:20px 0}
/* Extruded lettering keeps RCC and Rocio, with light on the bevel and depth below. */
body.studio-layout[data-ui] .glass-background{perspective:1100px}body.studio-layout[data-ui] .glass-lettering{transform-style:preserve-3d}body.studio-layout[data-ui] .glass-background :is(.bg-text,.bg-text-rocio){display:block!important;color:color-mix(in srgb,var(--accent) 12%,var(--bg));background:none;-webkit-text-stroke:1px color-mix(in srgb,var(--accent) 19%,transparent);text-shadow:1px 1px 0 color-mix(in srgb,var(--accent) 10%,var(--bg)),3px 4px 0 var(--bg),5px 7px 0 color-mix(in srgb,var(--accent) 8%,var(--bg)),8px 11px 0 var(--bg),12px 17px 18px #06080940;opacity:.65;filter:none;transform-style:preserve-3d}body.studio-layout[data-ui] .glass-background .bg-text{animation:studio-letter-depth 24s ease-in-out infinite}body.studio-layout[data-ui] .glass-background .bg-text-rocio{animation:studio-letter-rocio 31s ease-in-out infinite;opacity:.45}body.studio-layout[data-ui=monochrome] .glass-background{display:block}
/* Two paced reading steps with an animated, illustrative product demo. */
body.studio-layout .welcome-dialog{width:min(740px,calc(100% - 24px))}.welcome-dialog .welcome-content{padding:26px 36px}.tour-skip{border:0;background:transparent;color:var(--muted);font:12px 'DM Sans',sans-serif;cursor:pointer;padding:10px 0 10px 12px}.tour-progress{display:flex;align-items:center;gap:18px;margin:15px 0 0}.tour-progress>span{font:10px monospace;letter-spacing:2px;color:var(--accent)}.tour-progress>div{height:2px;background:var(--border-glass);flex:1;overflow:hidden}.tour-progress i{height:2px;background:var(--accent);display:block;transform-origin:left;transform:scaleX(.5);transition:transform .4s}.welcome-dialog .welcome-stage{min-height:140px;margin:20px 0}.welcome-dialog .welcome-emblem{font-size:66px;animation:tour-emblem-arrival 1.1s var(--studio-ease) both,var(--guide-loop) var(--guide-speed) 1.1s ease-in-out infinite}.welcome-dialog .welcome-emblem span{font-size:8px;letter-spacing:2px}.welcome-dialog h2{max-width:600px;font-size:clamp(28px,4vw,40px);letter-spacing:-1.6px}.tour-demo-tabs{display:flex;gap:8px;margin-top:22px}.tour-demo-tabs button{flex:1;padding:12px 8px;font:600 12px 'DM Sans',sans-serif;border:1px solid var(--border-glass);color:var(--text);background:transparent;border-radius:10px;cursor:pointer}.tour-demo-tabs [aria-pressed=true]{background:var(--accent);color:var(--bg)}.tour-demo{border:1px solid var(--border-glass);border-radius:var(--ui-radius);padding:20px;margin-top:10px;background:color-mix(in srgb,var(--accent) 4%,transparent)}.tour-demo h3{margin:17px 0 8px;font:600 18px 'Manrope',sans-serif;letter-spacing:-.4px}.tour-demo p{margin:0;color:var(--muted);min-height:68px}.demo-scene{min-height:94px;display:flex;flex-direction:column;justify-content:center;gap:9px;animation:studio-space-enter .5s var(--studio-ease) both}.demo-search{padding:10px 12px;background:var(--bg);border:1px solid var(--border-glass);border-radius:8px;font:11px monospace;display:flex;justify-content:space-between;gap:10px}.demo-result{display:flex;align-items:center;gap:12px;border:1px solid var(--border-glass);border-radius:10px;background:var(--surface);padding:12px;font-size:12px;animation:demo-result-in 1.2s var(--studio-ease) both}.demo-result i{width:24px;height:24px;border:1px solid var(--accent);border-radius:6px;transform:rotate(-12deg)}.demo-result small{display:block;font:9px monospace;color:var(--muted);margin-top:5px}.demo-result b{margin-left:auto;color:var(--accent)}.demo-swatches{display:flex;gap:12px}.demo-swatches i{height:30px;flex:1;border-radius:8px;border:1px solid #ffffff30;background:#a8cefa;animation:demo-result-in .6s both}.demo-swatches i:nth-child(2){background:#c1d6a4;animation-delay:.1s}.demo-swatches i:nth-child(3){background:#edbda1;animation-delay:.2s}.demo-swatches i:nth-child(4){background:#f2a69c;animation-delay:.3s}.demo-slider{height:5px;background:var(--bg);border-radius:6px;margin:8px 0}.demo-slider span{height:5px;background:var(--accent);display:block;transform:scaleX(.6);transform-origin:left;animation:demo-adjust 3s ease-in-out infinite}.demo-scene>small{color:var(--muted);font:9px monospace;letter-spacing:2px}.demo-code{display:grid;gap:8px;font:12px monospace;color:var(--accent)}.demo-code span{animation:demo-result-in .7s both}.demo-code span:nth-child(2){color:var(--muted);animation-delay:.15s}.demo-code span:nth-child(3){animation-delay:.3s}.tour-warning{padding:24px;border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);border-radius:var(--ui-radius);background:color-mix(in srgb,var(--accent) 6%,transparent);margin-top:22px;animation:studio-space-enter .4s both}.tour-warning>span{font:9px monospace;letter-spacing:2px;color:var(--accent)}.welcome-dialog .tour-warning h3{font:600 clamp(23px,4vw,31px)/1.2 'Manrope',sans-serif;letter-spacing:-1px;margin:16px 0}.tour-warning p{margin:0}.welcome-dialog .tour-memory{font-size:11px;line-height:1.7;color:var(--muted)}.tour-navigation{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:22px}.tour-navigation #tourBack{border:0;background:none;color:var(--muted);font:12px 'DM Sans',sans-serif;padding:14px;cursor:pointer}.tour-navigation .welcome-confirm{width:auto;flex:1;max-width:360px;font-size:13px;min-height:50px}
/* A compact, accessible library helper with explicit actions and real catalog results. */
.assistant-launcher{position:fixed;right:24px;bottom:24px;z-index:110;display:flex;align-items:center;gap:12px;padding:13px 19px;border:1px solid var(--border-glass);border-radius:50px;background:var(--accent);color:var(--bg);font:700 12px 'DM Sans',sans-serif;cursor:pointer;box-shadow:0 12px 35px #06080940}.assistant-launcher>span{font-size:21px}.library-assistant{position:fixed;z-index:111;right:24px;bottom:88px;width:390px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 120px);border:1px solid var(--border-glass);border-radius:var(--ui-radius);background:var(--surface);box-shadow:0 25px 90px #06080966;overflow:auto;animation:studio-space-enter .35s var(--studio-ease) both;color:var(--text)}.assistant-head{display:flex;align-items:center;gap:12px;padding:18px;border-bottom:1px solid var(--border-glass);position:sticky;top:0;background:var(--surface);z-index:1}.assistant-head h2{font:700 16px 'Manrope',sans-serif;margin:0}.assistant-head small{font:8px monospace;letter-spacing:1px;color:var(--muted)}.assistant-mark{width:38px;height:38px;display:grid;place-items:center;background:var(--accent);color:var(--bg);border-radius:12px;font-size:23px}.assistant-head button{margin-left:auto;border:0;background:none;color:var(--text);font-size:24px;cursor:pointer;min-width:36px;min-height:36px}.assistant-body{padding:18px}.assistant-body p{font-size:13px;line-height:1.8;margin:0 0 16px;color:var(--muted)}.assistant-actions{display:grid;grid-template-columns:1fr 1fr;gap:7px}.assistant-actions button,#assistantRecommendations button{background:var(--bg);border:1px solid var(--border-glass);border-radius:10px;padding:11px;color:var(--text);text-align:left;font:11px 'DM Sans',sans-serif;cursor:pointer}.assistant-actions button:hover,#assistantRecommendations button:hover{border-color:var(--accent);color:var(--accent)}#assistantRecommendations{display:grid;gap:7px;margin-bottom:12px}#assistantRecommendations:empty{display:none}#assistantForm{margin-top:20px;border-top:1px solid var(--border-glass);padding-top:15px}#assistantForm label{font-size:11px;display:block;margin-bottom:10px;color:var(--muted)}#assistantForm>div{display:flex;gap:8px}#assistantQuery{width:100%;min-width:0;padding:12px;border:1px solid var(--border-glass);border-radius:10px;background:var(--bg);color:var(--text);font:12px 'DM Sans',sans-serif}#assistantForm button{padding:0 15px;border:0;border-radius:10px;background:var(--accent);color:var(--bg);font-size:23px;cursor:pointer}.library-notice{position:fixed;z-index:115;left:50%;bottom:24px;transform:translateX(-50%);width:min(490px,calc(100% - 32px));padding:18px 20px;display:flex;align-items:flex-start;gap:16px;border:1px solid var(--border-glass);border-radius:18px;background:var(--surface);box-shadow:0 20px 70px #06080966;color:var(--text)}.library-notice strong{font-size:13px}.library-notice p{font-size:12px;line-height:1.7;color:var(--muted);margin:6px 0 0}.library-notice button{border:0;background:none;color:var(--text);font-size:22px;cursor:pointer}.studio-layout .studio-top{bottom:90px}.studio-layout :is(.studio-dock,.studio-panel,.library-assistant,.welcome-dialog) :is(button,a,input,select,summary):focus-visible{outline:2px solid var(--accent);outline-offset:3px}
@keyframes studio-space-enter{from{opacity:0;transform:translateY(20px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes studio-letter-depth{0%,100%{transform:translate3d(-52%,-50%,-50px) rotateY(-13deg) rotateZ(-7deg)}50%{transform:translate3d(-48%,-54%,10px) rotateY(9deg) rotateZ(-4deg)}}@keyframes studio-letter-rocio{0%,100%{transform:translate3d(-50%,-48%,-20px) rotateY(12deg) rotateZ(-10deg)}50%{transform:translate3d(-55%,-52%,30px) rotateY(-7deg) rotateZ(-6deg)}}@keyframes tour-emblem-arrival{from{opacity:0;transform:perspective(600px) rotateX(35deg) translateY(35px) scale(.85)}to{opacity:1;transform:perspective(600px) rotateX(0) translateY(0) scale(1)}}@keyframes demo-result-in{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes demo-adjust{50%{transform:scaleX(.9)}}
@media(min-width:1600px){.studio-dock{padding-inline:max(76px,calc((100vw - 1448px)/2))}}
@media(max-width:950px){.dock-links button{padding:11px 12px}.dock-links button span{display:none}.studio-dock{gap:12px}.studio-panel .theme-options{grid-template-columns:repeat(3,minmax(0,1fr))}body.studio-layout .hero-intro{grid-template-columns:1fr;gap:28px}body.studio-layout .code-preview{max-width:560px;transform:perspective(1000px) rotateY(-3deg)}body.studio-layout .studio-panel .sidebar{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){body.studio-layout{--dock-height:116px}.studio-dock{padding:12px 16px;flex-wrap:wrap;gap:8px}.dock-brand a{font-size:23px}.dock-brand .brand-symbol{width:27px;height:27px}.dock-links{order:3;width:100%;justify-content:space-between;gap:4px}.dock-links button{padding:10px 8px;font-size:11px;min-height:38px}.dock-language .language-trigger{font-size:11px;padding:8px 10px}.studio-panel{padding:22px 18px;width:calc(100% - 16px);max-height:calc(100dvh - 16px)}.studio-panel-head{padding-bottom:18px;margin-bottom:22px}.studio-panel h2{font-size:29px;letter-spacing:-1px}.studio-panel .theme-options{grid-template-columns:repeat(2,minmax(0,1fr))}body.studio-layout .studio-panel .sidebar{grid-template-columns:1fr}.studio-panel .sidebar .sidebar-section{padding:16px}.studio-panel .sidebar .games-nav{min-height:44px}.studio-panel .appearance-controls{gap:20px}body.studio-layout .search-top{order:-1;flex-basis:100%}body.studio-layout .auth-controls{margin-left:auto}body.studio-layout .catalog-free{display:none}body.studio-layout .topbar>.roblox-follow{font-size:10px}body.studio-layout .section-tabs{gap:6px;margin-bottom:18px}body.studio-layout .section-tabs button,body.studio-layout .section-tabs a{font-size:10px;padding:9px 11px}body.studio-layout .hero-intro{padding-top:4px}body.studio-layout .hero h2{font-size:43px}body.studio-layout .catalog-tools{padding:14px}.welcome-dialog .welcome-content{padding:20px}.welcome-dialog .welcome-stage{min-height:110px;margin:14px 0}.welcome-dialog .welcome-emblem{font-size:52px}.welcome-dialog h2{font-size:29px;letter-spacing:-1px}.welcome-kicker{font-size:8px;letter-spacing:1px}.tour-skip{font-size:10px}.tour-demo-tabs button{font-size:11px}.tour-demo{padding:16px}.tour-demo p{min-height:88px}.tour-warning{padding:18px}.tour-navigation .welcome-confirm{font-size:12px;padding:14px}.tour-navigation #tourBack{padding:10px;font-size:11px}.library-assistant{right:12px;bottom:76px;width:calc(100% - 24px);max-width:none;max-height:calc(100dvh - 200px)}.assistant-launcher{bottom:16px;right:16px;font-size:11px;padding:10px 15px}.library-notice{bottom:82px}.library-assistant .assistant-actions{gap:6px}.library-assistant .assistant-actions button{padding:10px;font-size:11px}}
body.motion-paused :is(.studio-panel,.studio-space,.library-assistant,.demo-scene,.demo-scene *,.tour-warning){animation:none!important;transition:none!important}body.motion-paused.studio-layout .glass-background :is(.bg-text,.bg-text-rocio){animation:none!important}@media(prefers-reduced-motion:reduce){body.studio-layout *,body.studio-layout *::before,body.studio-layout *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
