/* VibeGame section geometry, with the exact Dashboard UI font stack. */
:root{--dashboard-font:-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,Arial,sans-serif}
body,button,input,select,textarea,output,h1,h2,h3,h4,p,a,span,small,em,dt,dd,figcaption{font-family:var(--dashboard-font)}
body{background:#f8f6ef;color:#182738;line-height:1.5;-webkit-font-smoothing:antialiased}
html{scroll-padding-top:90px}main{max-width:none;width:100%;margin:0}
.project-nav{position:fixed;top:0;left:0;right:0;height:76px;padding:22px clamp(18px,4vw,64px);border:0;background:linear-gradient(180deg,#05070ccc,#05070c00);color:#fff;gap:34px}
.project-nav .nav-brand{color:#f8f6ef;font-size:16px;font-weight:700;margin-right:auto}.project-nav .nav-brand img{width:30px;height:30px}
.project-nav nav{gap:clamp(16px,3vw,34px)}.project-nav nav a{color:#f8f6efbb;font-size:12px;font-weight:600;text-transform:none}.project-nav nav a:hover,.project-nav nav a.is-active{color:#ffd27a}
.page-switch{background:#14233355;border-color:#ffffff40}.page-switch a{color:#ffffffb0}.page-switch [aria-current=page]{background:#ffffffeb;color:#213447}
.immersive-top{width:100%;left:0;margin:0;min-height:100svh;height:100svh;max-height:none;display:grid;place-items:center;padding:0 0 80px}
.top-copy{width:min(1120px,calc(100% - 36px));max-width:none;padding:12vh 0 0}.hero-brand{display:flex;align-items:center;justify-content:center;gap:8px;margin:0 auto;width:fit-content}.hero-brand>img{width:clamp(80px,10vw,140px);height:auto}
.immersive-top h1{font-family:var(--dashboard-font);font-size:clamp(64px,12vw,168px);font-weight:800;line-height:.95;letter-spacing:-.035em;margin:0;color:transparent;background:linear-gradient(110deg,#fff 0%,#ffd27a 22%,#ffad78 42%,#a1d9ec 68%,#fff 100%);background-clip:text;-webkit-background-clip:text;text-shadow:none}
.immersive-top .resources{margin-top:34px}.module-journey{bottom:30px;width:min(1180px,92%)}
.dimension,.demo-heading{width:100%;margin:0;border:0;padding:90px max(4vw,calc((100vw - 1180px)/2)) 70px;background:#f8f6ef}
.dimension>h2,.demo-heading>h2{display:block;text-align:center;font-size:clamp(30px,3.4vw,44px);line-height:1.2;font-weight:800;letter-spacing:-.01em;margin:0 0 34px;color:#16223a}
.dimension>h2:after,.demo-heading>h2:after{content:'';display:block;width:54px;height:4px;border-radius:2px;background:linear-gradient(90deg,#ff7a3d,#ffd27a);margin:14px auto 0}
.dimension>h2>span{font-family:var(--dashboard-font);font-size:13px;font-weight:500;color:#8e969c;vertical-align:middle;margin-right:12px}
#overview{padding-top:90px;padding-bottom:60px;background:linear-gradient(180deg,#eef3f6,#f8f6ef)}
#overview .network-figure{max-width:1400px;margin:auto}.network-figure{border:0}
.video-section{padding-top:100px;padding-bottom:100px}.video-section>.research-video{max-width:1180px;margin:0 auto}
.demo-heading{padding-top:95px;padding-bottom:35px;background:#09121b}.demo-heading>h2{color:#f8f6ef}.demo-heading nav{display:flex;justify-content:center;gap:32px}.demo-heading nav a{color:#bbcbd8;font-size:13px}
#world,#asset,#char,#interaction{padding-top:52px;padding-bottom:62px;background:#09121b;color:#e5eaf0}
#world>h2,#asset>h2,#char>h2,#interaction>h2{color:#f8f6ef;font-size:30px}
#world>h2:after,#asset>h2:after,#char>h2:after,#interaction>h2:after{width:32px;height:2px;margin-top:12px}
#world .result-canvas{height:560px}.result-tools{color:inherit}.result-tools button{background:#f9fafb;color:#31516b}.live-result>p{color:#a9b8c4}
#selection-empty{color:#bac5cf}.recognition-box{font-family:var(--dashboard-font)}#recognition-status{color:#9caebc;font-size:12px}
.char-example>h3{color:#dbe5ed;font-size:14px;font-weight:500}.char-example+.char-example{border-color:#ffffff20;margin-top:25px;padding-top:18px}
.char-comparison figcaption{color:#b5c2ce}.char-comparison{gap:22px}.char-viewport{height:480px}.char-actions button{background:#fff}
[data-role="char-model-status"]{color:#9dafbc;margin-bottom:0}.mechanism-grid h3{color:#dbe5ed}.research-video figcaption{font-size:12px;color:#7f919e;text-align:center}.result-video-grid{margin-top:32px}
#play{padding-top:100px;padding-bottom:90px;background:linear-gradient(180deg,#eef6f3,#f8f6ef)}.demo-stage{height:760px}.embedded-demo{color:#243b4c;background:#fff}
footer{margin:0;padding:35px 4vw;background:#05070c;color:#b7c5d2;display:flex;align-items:center;justify-content:space-between;border:0}footer a{color:#bbcbd8;font-size:12px}footer>a:first-child{font-size:15px}
button,input,select,textarea{font-family:var(--dashboard-font)!important}.figure-note{font-family:var(--dashboard-font)}
.network-figure{aspect-ratio:1280/853}.network-figure img{width:100%;height:100%;object-fit:contain}
.hero-brand{width:100%}.hero-brand h1{white-space:nowrap;flex:0 1 auto}.hero-brand>img{flex:0 0 auto}
/* Keep the results on the same paper surface as the preceding video. */
.demo-heading,#world,#asset,#char,#interaction{background:#f8f6ef;color:#182738}
.demo-heading>h2,#world>h2,#asset>h2,#char>h2,#interaction>h2{color:#16223a}
.demo-heading nav a{color:#526a7c}.live-result>p,#selection-empty,#recognition-status,[data-role="char-model-status"]{color:#788892}
.char-example>h3,.mechanism-grid h3{color:#394f60}.char-example+.char-example{border-color:#dce2e4}.char-comparison figcaption{color:#77838d}
#play{background:linear-gradient(180deg,#f8f6ef,#eef6f3)}
/* Screenshot corrections: authentic FITX mark and one-line Dashboard typography. */
.project-nav .fitx-wordmark{position:relative;display:block;width:60px;height:16px;overflow:hidden;flex:none;filter:invert(1);mix-blend-mode:screen}
.project-nav .fitx-wordmark img{position:absolute;left:-6.78px;top:-28.98px;width:73.56px;height:73.56px;max-width:none}
.immersive-top{padding:0}.immersive-top .top-copy{padding:0;width:min(1180px,92vw)}
.immersive-top .hero-brand{display:block;width:100%;text-align:center}
.immersive-top .hero-brand h1{display:block;width:100%;margin:0;font-family:var(--dashboard-font);font-weight:700;font-size:clamp(64px,10vw,144px);line-height:1.2;letter-spacing:normal;white-space:nowrap}

/* Design studies and shared Dashboard demo routes. */
.world-scenes{display:flex;justify-content:center;gap:8px;margin-bottom:20px}.world-scenes button{padding:9px 20px;border:0;background:transparent;border-radius:6px}.world-scenes button[aria-pressed=true]{background:#e8e5db;color:#172337;font-weight:600}
.world-comparison{display:grid;grid-template-columns:1fr 1fr;gap:16px}.world-comparison figure{margin:0;min-width:0}.world-comparison img{width:100%;height:380px;object-fit:contain;border-radius:4px;background:#eeede6}#world .world-showcase .result-canvas{height:380px;border-radius:4px}.world-comparison figcaption{padding:12px 0;color:#68717a;text-align:center;font-size:12px}.world-showcase{background:transparent;border:0}.world-showcase .result-tools{justify-content:center}.world-showcase [role=status]{text-align:center}


#play.inline-demo{max-width:none;padding-left:4vw;padding-right:4vw;background:#f8f6ef}.demo-surfaces{position:relative}.demo-surface{padding:40px 0;scroll-margin-top:135px}.demo-surface h3{font-size:22px;margin:0 0 20px}.demo-live-slot{height:760px;border:1px solid #e2dfd5;background:#f8f7f2;display:grid;place-items:center;color:#78828a;font-size:13px}.shared-demo-frame{position:absolute;left:0;width:100%;height:760px;border:1px solid #e2dfd5;z-index:2;background:#f8f7f2}.shared-demo-frame.is-dashboard{position:fixed!important;top:52px!important;left:0;width:100vw;height:calc(100vh - 52px)!important;z-index:100}.demo-mode-exit{position:fixed;inset:0 0 auto;height:52px;background:#f8f7f2;border-bottom:1px solid #e2dfd5;z-index:101;display:flex;align-items:center;justify-content:space-between;padding:0 24px}.demo-mode-exit button{padding:7px 16px;border:1px solid #dad7cd;background:transparent;border-radius:4px}

.demo-surface{scroll-margin-top:0}
