/* Shared identity for RawBee Studio's interactive experiments. */
:root{--ui-text:var(--experiments-colors-ce9edf0);--ui-muted:var(--experiments-colors-caab3bc);--ui-accent:var(--experiments-colors-cd9dedf);--ui-panel:var(--experiments-colors-c131a22e6)}
body{font-family:'DM Sans',Arial,sans-serif;color:var(--ui-text)}
header{top:28px;left:42px;right:42px;padding:0;gap:22px;justify-content:initial}
.wordmark{display:flex;align-items:center;gap:5px;font:600 30px 'DM Sans',sans-serif;letter-spacing:-1.5px;color:var(--ui-text)}
.wordmark span{color:var(--ui-accent);margin:0}
.story-return,.back{position:static;margin-left:auto;padding:0;background:none;border-radius:0;font:12px 'DM Sans',sans-serif;color:var(--ui-muted);text-decoration:none}
.header-actions{display:flex;gap:10px}
.intro,body:not(.playing) .intro{left:7%;top:21%;max-width:440px}
.intro h1{font:400 clamp(58px,6.6vw,96px)/.99 'Instrument Serif',Georgia,serif;letter-spacing:-1.8px;margin:0 0 26px}
.intro h1 em{font-weight:400;color:var(--ui-accent)}
.eyebrow{font:500 9px/1.5 'DM Sans',sans-serif;letter-spacing:2px;margin:0 0 24px;color:var(--ui-muted)}
.intro>p:last-child{font:13px/1.8 'DM Sans',sans-serif;color:var(--ui-muted);letter-spacing:0}
footer{bottom:28px;left:42px;right:42px;height:0}
.dock{bottom:0;gap:4px;padding:7px;border:1px solid var(--experiments-colors-cffffff20);background:var(--ui-panel);border-radius:50px;box-shadow:0 9px 30px var(--experiments-colors-c0003);backdrop-filter:blur(16px);width:max-content;max-width:100%}
.dock button,header button,dialog button{display:inline-flex;align-items:center;justify-content:center;min-width:42px;width:42px;height:42px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--ui-text);font-family:'DM Sans',sans-serif}
header button,dialog button{background:var(--ui-panel);border:1px solid var(--experiments-colors-cffffff20)}
.dock .palette{width:auto;min-width:0;gap:0;padding:0 13px;border-radius:24px;font-size:11px;min-height:42px;color:var(--ui-muted)}
.dock .palette.active{background:var(--experiments-colors-cffffff12);box-shadow:none;color:var(--ui-text)}
.palettes{gap:4px}.swatch{display:none}.palette span:last-child{display:inline;font-size:inherit}
.divider{height:20px;margin:0 4px;background:var(--experiments-colors-cffffff20)}
button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
button:hover{background:var(--experiments-colors-cffffff12)}button:focus-visible,a:focus-visible{outline:2px solid var(--experiments-colors-cd9dedf);outline-offset:4px}
aside,.help{top:88px;right:42px;left:auto;width:min(330px,calc(100% - 40px));max-width:none;max-height:calc(100dvh - 180px);overflow:auto;padding:25px;background:var(--ui-panel);border:1px solid var(--experiments-colors-cffffff20);border-radius:18px}
aside h2,.help h2,dialog h2,.save-heading h2{font:400 30px 'Instrument Serif',Georgia,serif}
aside p,.help p:not(.eyebrow){font:12px/1.8 'DM Sans',sans-serif;color:var(--ui-muted)}
dialog{background:var(--experiments-colors-c131a22);color:var(--ui-text);border:1px solid var(--experiments-colors-cffffff20);border-radius:18px;padding:22px}
.dialog-heading,.save-heading{display:flex;align-items:center;justify-content:space-between;gap:15px}
dialog a,.download-link{display:block;text-align:center;margin-top:18px;padding:13px;border:1px solid var(--experiments-colors-cffffff20);border-radius:24px;background:var(--experiments-colors-cffffff0d);color:var(--ui-text);font-size:12px;text-decoration:none}
@media(max-width:750px){header{top:23px;left:22px;right:22px;gap:14px}.wordmark{font-size:27px}.intro,body:not(.playing) .intro{top:18%;left:26px}.intro h1{font-size:62px}.eyebrow{font-size:8px}.intro>p:last-child{font-size:12px}footer{left:10px;right:10px;bottom:max(25px,env(safe-area-inset-bottom))}.caption,.status,.footer-note,.live-note{display:none}.dock{gap:2px;padding:6px}.dock button{min-width:36px;width:36px;height:44px}.dock .palette{padding:0 10px;min-width:0;width:auto;min-height:44px;font-size:11px}.palettes{gap:1px}aside,.help{right:20px}.header-actions{gap:6px}}
@media(max-width:370px){header{left:18px;right:18px;gap:10px}.wordmark{font-size:25px}.story-return,.back{font-size:10px}.dock .palette{padding:0 7px;font-size:10px}.dock .palette span:last-child{display:inline;font-size:10px}.divider{margin:0 2px}.dock{gap:1px}.dock button{min-width:36px}.header-actions button{min-width:36px;width:36px}}
@media(max-height:650px){.intro,body:not(.playing) .intro{top:22%}.intro h1{font-size:48px}.intro>p:last-child{display:none}.eyebrow{margin-bottom:16px}}

.studio-return{position:absolute;top:52px;left:0;font-size:10px;color:var(--ui-muted);text-decoration:none}

.experiment-skip{position:absolute;top:-100px;left:20px;z-index:20;background:var(--ui-panel);color:var(--ui-text);padding:12px}.experiment-skip:focus{top:10px}
