/* === ReStudio static overrides (from ReStudioPage.tsx, local URLs) === */
.rst-avail,.rst-sticky.b,.glyph svg{display:none!important}
.rst-chatlabel,.rst-chatbox,.rst-signup{display:none!important}
/* real dog mascots */
.rst-pup>g{display:none}
.rst-pup{width:140px!important;height:120px!important;box-shadow:none!important;border-radius:0;background:transparent url(/media/dog-lime.png) center/contain no-repeat!important;animation:dogbreath 4s ease-in-out infinite,doglook 7s ease-in-out infinite}
.rst-pup.b{background-image:url(/media/dog-pink.png)!important;top:478px!important}
.rst-pup.c{background-image:url(/media/dog-blue.png)!important}
.rst-pup.b,.rst-pup.c{filter:drop-shadow(3px 4px 0 rgba(17,18,18,.18))!important}
@keyframes dogbreath{50%{transform:scale(.96,1.04) translateY(-4px)}}
@keyframes doglook{0%,100%{rotate:0deg}25%{rotate:-5deg}55%{rotate:4deg}70%{rotate:0deg}}
@media(max-width:900px){.rst-pup.a{display:block!important;width:80px!important;height:70px!important;top:92px!important;left:3%!important}}
/* tool icons */
.rst-tool .glyph{border-radius:50%!important;width:38px!important;height:38px!important;border:1px solid #ddd!important;background-size:22px!important}
.rst-tool{border:1px solid #ddd!important;box-shadow:0 3px 0 #ececec!important;border-radius:18px!important}
.rst-toolgrid>div:nth-child(1) .glyph{background:#fff url(/media/icons/higgsfield.png) center/32px no-repeat!important}
.rst-toolgrid>div:nth-child(2) .glyph{background:#fff url(/media/icons/kling-color.svg) center/32px no-repeat!important}
.rst-toolgrid>div:nth-child(3) .glyph{background:#fff url(/media/icons/runway.svg) center/32px no-repeat!important}
.rst-toolgrid>div:nth-child(4) .glyph{background:#fff url(/media/icons/midjourney.svg) center/32px no-repeat!important}
.rst-toolgrid>div:nth-child(5) .glyph{background:#fff url(/media/icons/fal-color.svg) center/32px no-repeat!important}
.rst-toolgrid>div:nth-child(6) .glyph{background:#fff url(/media/icons/huggingface-color.svg) center/32px no-repeat!important}
.rst-toolgrid>div:nth-child(7) .glyph{background:#fff url(/media/icons/elevenlabs.svg) center/32px no-repeat!important}
.rst-toolgrid>div:nth-child(8) .glyph{background:#fff url(/media/icons/suno.svg) center/32px no-repeat!important}
.rst-toolgrid>div:nth-child(9) .glyph{background:#fff url(/media/icons/claude-color.svg) center/32px no-repeat!important}
.rst-toolgrid>div:nth-child(10) .glyph{background:#fff url(/media/icons/cloudflare-color.svg) center/32px no-repeat!important}
.rst-toolgrid>div:nth-child(11) .glyph{background:#fff url(/media/icons/openrouter.svg) center/32px no-repeat!important}
/* console */
.rsc{padding:20px 0;font-family:Inter,sans-serif}
.rsc-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.rsc-head strong{font-size:30px}
.rsc-mode{background:#f4f4f4;border-radius:30px;padding:4px}.rsc button{border:0;cursor:pointer;font:inherit;background:none;color:#888}
.rsc-mode button{padding:8px 22px;border-radius:24px}.rsc-mode .on{background:#fff;color:#111;box-shadow:0 1px 4px #ddd}
.rsc-box{border:1px solid #e5e5e5;border-radius:28px;background:white;padding:24px;box-shadow:0 2px 8px #00000004}
.rsc textarea{width:100%;height:90px;border:0;outline:none;resize:none;font:20px Inter,sans-serif;background:none;color:#111}
.rsc-row{display:flex;gap:20px;align-items:center}.rsc-row button{font-size:27px}.rsc-sp{flex:1}.rsc-row .rsc-send{background:#242424;color:white;border-radius:50%;width:44px;height:44px}
.rsc-menu{padding:18px;background:#fff;border:1px solid #eee;border-radius:20px;margin-top:12px}.rsc-menu label{display:flex;justify-content:space-between;padding:10px}.rsc-menu small{color:#888}
.rsc button[title="Voice input"]{font-size:0;width:24px;height:24px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='1.7'%3E%3Crect x='9' y='2' width='6' height='12' rx='3'/%3E%3Cpath d='M5 10v2a7 7 0 0 0 14 0v-2M12 19v3M8 22h8'/%3E%3C/svg%3E") center/24px no-repeat}
.rsc button[title="Settings"]{font-size:0;width:24px;height:24px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23888' stroke-width='1.7'%3E%3Cpath d='M6 2v6m0 4v10M18 2v10m0 4v6M3 8h6M15 16h6'/%3E%3Ccircle cx='6' cy='10' r='2'/%3E%3Ccircle cx='18' cy='14' r='2'/%3E%3C/svg%3E") center/24px no-repeat}
/* scene tabs */
.rst-tabsrow{display:none!important}.rst-stack{margin-top:120px!important}
.rst-card:before{content:'SCENE 01';position:absolute;top:-42px;left:36px;height:42px;min-width:190px;padding:12px 26px 0 18px;font:14px 'DM Mono',monospace;background:inherit;clip-path:polygon(0 100%,0 10px,10px 0,calc(100% - 26px) 0,100% 100%)}
.rst-card:nth-child(2):before{content:'SCENE 02'}.rst-card:nth-child(3):before{content:'SCENE 03'}.rst-card:nth-child(4):before{content:'SCENE 04'}
/* scene 02 art: key-frame grid from Reese dog assets (2026-10-21) */
.rst-card .art-image{background:#fff!important;filter:none!important}
.rst-card .art-image:before,.rst-card .art-image:after{display:none}
.art-image .kf{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:10px;height:100%;padding:14px;box-sizing:border-box}
.art-image .kf-t{margin:0;position:relative;border:2.5px solid #111212;border-radius:10px;overflow:hidden;display:flex;align-items:center;justify-content:center;box-shadow:3px 3px 0 #111212;box-sizing:border-box}
.art-image .kf-t:nth-child(1){transform:rotate(-1.4deg)}
.art-image .kf-t:nth-child(2){transform:rotate(1.2deg)}
.art-image .kf-t:nth-child(3){transform:rotate(1deg)}
.art-image .kf-t:nth-child(4){transform:rotate(-1.1deg)}
.art-image .kf-t img{width:80%;height:auto;display:block}
.art-image .kf-t figcaption{position:absolute;left:0;right:0;bottom:0;font-family:'Flux';font-size:10px;letter-spacing:.08em;background:#fff;border-top:2px solid #111212;padding:4px 0 3px;text-align:center;color:#111212}
.art-image .kf-poster .kf-flux{font-family:'Flux';font-size:15px;line-height:1.3;text-align:center;color:#111212;padding:0 6px 8px}
/* video */
.art-video:after{display:none!important}.art-video{overflow:hidden}
.art-video video{max-height:340px!important;display:block;background:#111}
/* workflow portal */
.rsp{display:none;max-width:1065px;margin:50px auto 100px;padding:20px;text-align:center}
.rsp-title{font:13px monospace;letter-spacing:.12em}
.rsp h1{font-size:58px;letter-spacing:-.05em}.rsp>p{font-size:18px;color:#666}
.rsp-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:44px 0}
.rsp-steps>div{padding:28px 22px;text-align:left;border:1px solid #222;border-radius:16px;min-height:230px}.rsp-steps h2{font-size:30px}.rsp-steps p{line-height:1.5}
.rsp-go{display:block;width:200px;margin:30px auto;padding:18px;background:#111;color:white;border-radius:32px;text-decoration:none}.rsp>small{color:#888}
@media(max-width:700px){.rsp-steps{grid-template-columns:1fr 1fr}.rsp h1{font-size:38px}.rsp{padding:18px}}
/* view switching */
.rst-scroll[data-view]:not([data-view="home"])>section,.rst-scroll[data-view]:not([data-view="home"])>svg{display:none}
.rst-scroll[data-view="console"]>.rst-chat,.rst-scroll[data-view="studio"]>.rst-chat{display:block!important;margin-top:100px;min-height:65vh}
.rst-scroll[data-view="studio"]>.rst-chat,.rst-scroll[data-view="studio"]>.rst-about{display:none!important}
.rst-scroll[data-view="console"]>.rst-chat{padding-top:130px}
.rst-scroll[data-view="scenes"]>.rst-feat,.rst-scroll[data-view="tools"]>.rst-tools,.rst-scroll[data-view="about"]>.rst-about{display:block!important;min-height:80vh}
.rst-scroll[data-view="studio"]>.rsp{display:block!important}
.rst-scroll[data-view="studio"]{display:flex;flex-direction:column}
.rst-scroll[data-view="studio"]>.rst-nav{order:-2;flex-shrink:0}
.rst-scroll[data-view="studio"]>.rst-ruler{order:-1;flex-shrink:0}
.rst-scroll[data-view="studio"]>.rst-foot{order:10}
.rst-scroll[data-view="studio"]>.rsp{order:1;flex-shrink:0}
/* dog head strip */
.rst-dogstrip{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;padding:30px 20px 60px}
.rst-dogstrip img{width:76px;height:76px;object-fit:cover;border-radius:50%;border:2.5px solid #111;background:#fff;box-shadow:0 6px 18px rgba(0,0,0,.08)}
.rst-dogstrip.mini{padding:24px 0 0}.rst-dogstrip.mini img{width:54px;height:54px;border-width:2px}
/* mobile */
@media(max-width:700px){
.rst-root,.rst-scroll{overflow-x:clip!important;max-width:100vw}
.rst-nav{width:100%;max-width:100%;box-sizing:border-box;overflow-x:auto;flex-shrink:0;white-space:nowrap}
.rst-nav a{flex-shrink:0}.rst-nav .sp,.rst-nav .rst-ava{display:none}
.rst-card{position:relative!important;top:auto!important;height:auto!important;min-height:950px;margin:0 0 100px;grid-template-columns:1fr;width:100%;min-width:0;display:flex!important;flex-direction:column}
.rst-card .inner{padding:40px 24px;min-height:410px;min-width:0}
.rst-card .rst-art{grid-column:1;height:440px;margin:20px 24px;width:calc(100% - 48px);flex-shrink:0}
.rst-card h3{font-size:40px}.rst-card .tags{margin-top:28px}
.rst-about .rst-tags{padding:0 24px;gap:12px;box-sizing:border-box;max-width:100%}
.rst-about .rst-tag{font-size:16px;padding:12px 16px}.rst-about .rst-sq{width:40px;height:40px}
}
/* self-hosted display fonts */
@font-face{font-family:"Flux";src:url(/fonts/FluxVF.woff) format("woff");font-weight:100 1000;font-display:swap}
@font-face{font-family:"Just Me Again Down Here";src:url(/fonts/JustMeAgainDownHere.ttf) format("truetype");font-display:swap}

/* console/studio alignment + stillness fix (Vincent 2026-10-21: words/pup keep jumping, center everything) */
.rst-scroll[data-view="studio"]>.rsp{align-self:center}
.rst-scroll[data-view="studio"] .rsp-go{display:table;width:auto;min-width:200px;text-align:center;margin:26px auto 0!important}
.rst-scroll[data-view="console"] .rst-pup.c{animation:none!important;left:50%!important;top:-96px;transform:translateX(-50%)}
.rst-scroll[data-view="console"] .rst-chat{text-align:center}
.rst-scroll[data-view="console"] .rsc-head strong{display:block}
@media(max-width:900px){.rst-scroll[data-view="console"] .rst-pup.c{display:block!important;width:96px!important;height:82px!important}}

/* studio breathing room (2026-10-21 pass 2) */
.rst-scroll[data-view="studio"]>.rsp{padding-top:70px}

/* studio vertical rhythm (2026-10-21 pass 3) */
.rst-scroll[data-view="studio"]>.rsp{padding-top:80px;padding-bottom:48px}
.rst-scroll[data-view="studio"] .rsp-go{margin-top:44px}
.rst-scroll[data-view="studio"] .rst-dogstrip.mini{margin:40px auto 0}

/* console: puppy cluster + chat box alignment (2026-10-21 pass 4) */
.rst-scroll[data-view="console"] .rst-pup.c{display:none!important}
.rsc{max-width:880px;margin:0 auto}
.rsc-pups{display:flex;justify-content:center;gap:16px;margin:6px auto 30px}
.rsc-pups img{width:62px;height:62px;border-radius:50%;object-fit:cover;background:#fff;border:3px solid #111;box-shadow:0 3px 0 rgba(17,18,18,.15);animation:rscPupBob 3.4s ease-in-out infinite}
.rsc-pups img:nth-child(2){animation-delay:.45s;animation-duration:3.8s}
.rsc-pups img:nth-child(3){animation-delay:.9s;animation-duration:3.1s}
.rsc-pups img:nth-child(4){animation-delay:1.3s;animation-duration:3.6s}
.rsc-pups img:nth-child(5){animation-delay:.6s;animation-duration:3.3s}
.rsc-pups img:nth-child(6){animation-delay:1.7s;animation-duration:3.9s}
@keyframes rscPupBob{0%,100%{transform:translateY(0) rotate(0deg)}50%{transform:translateY(-7px) rotate(2.5deg)}}
@media(prefers-reduced-motion:reduce){.rsc-pups img{animation:none!important}}
.rsc-head{padding:0 12px;margin-bottom:16px}
.rsc-box{padding:24px 26px}
.rsc textarea{padding:6px 4px}
@media(max-width:900px){.rsc-pups{gap:10px}.rsc-pups img{width:48px;height:48px;border-width:2px}}

/* dog circles: breathing room below tag row (2026-10-21 pass 5) */
.rst-dogstrip{margin-top:40px;margin-bottom:14px}
.rst-dogstrip.mini{margin-top:40px}

/* polaroids: real photo + handwritten sample brief (2026-10-21 pass 6) */
.rst-pol.a .art{background:url(/media/studio-selfie.jpg) center/cover!important}
.rst-pol.b .art{position:relative}
.rst-pol.b .art::after{content:"a 10s video of Reese\A chasing bubbles in the park\A warm morning light,\A playful lo-fi beat";white-space:pre;position:absolute;left:12px;top:10px;font-family:"Just Me Again Down Here",cursive;font-size:19px;line-height:1.5;color:#41414f;transform:rotate(-1.5deg)}

/* console pups: clear gap above title (2026-10-21 pass 7) */
.rsc-pups{margin:8px auto 48px}

/* console: Devin-style brand + polished chat (2026-10-21 pass 8) */
.rsc-brand{display:flex;align-items:center;justify-content:center;gap:14px;margin:30px auto 30px}
.rsc-brand img{width:42px;height:42px;border-radius:10px;box-shadow:0 2px 8px rgba(16,24,40,.18)}
.rsc-brand strong{font-size:33px;font-weight:700;letter-spacing:-.02em;color:#111;font-family:Inter,sans-serif}
.rsc-head{justify-content:flex-end;padding:0 4px;margin-bottom:12px}
.rsc-mode button{padding:6px 16px;font-size:14px}
.rsc-box{border:1px solid #e8e8ea;border-radius:20px;padding:20px 22px;background:#fff;box-shadow:0 1px 2px rgba(16,24,40,.04),0 8px 24px rgba(16,24,40,.06);transition:border-color .18s ease,box-shadow .18s ease}
.rsc-box:focus-within{border-color:#c5c5cd;box-shadow:0 1px 2px rgba(16,24,40,.05),0 12px 32px rgba(16,24,40,.10)}
.rsc textarea{font-size:17px;height:96px;padding:4px 2px;color:#111}
.rsc-row{margin-top:8px}
.rsc-row button{font-size:20px;color:#9a9aa2;transition:color .15s ease}
.rsc-row button:hover{color:#111}
.rsc-row .rsc-send{width:38px;height:38px;background:#111;color:#fff;transition:background .15s ease,transform .15s ease}
.rsc-row .rsc-send:hover{background:#333;transform:translateY(-1px)}
@media(max-width:900px){.rsc-brand strong{font-size:27px}.rsc-brand img{width:36px;height:36px}}

/* studio: subtitle-to-cards gap (2026-10-21 pass 9) */
.rst-scroll[data-view="studio"] .rsp-steps{margin-top:60px}

/* console: true page center, smaller brand, composer padding (2026-10-21 pass 10) */
.rst-scroll[data-view="console"] .rst-chat{min-height:calc(100vh - 230px);display:flex;flex-direction:column;justify-content:center}
.rsc-brand{gap:10px;margin:14px auto 18px}
.rsc-brand img{width:30px;height:30px;border-radius:8px}
.rsc-brand strong{font-size:24px}
.rsc textarea{padding:16px 14px;font-size:16px;height:110px}
.rsc-row{padding:2px 8px}

/* brief polaroid: keep handwriting inside the paper (2026-10-21 pass 11) */
.rst-pol.b .art{overflow:hidden}
.rst-pol.b .art::after{content:"a 10s video of Reese\A chasing bubbles\A in the park, warm\A morning light,\A playful lo-fi beat";font-size:14px;line-height:1.45;left:10px;top:8px;right:6px;max-width:calc(100% - 16px)}

/* home: bigger gap between tag row and dog circles (2026-10-21 pass 12) */
.rst-dogstrip{margin-top:64px}
