/* Independent windows. Layout follows each window's width, not just the screen. */
.menubar{z-index:100}.app-dock,.mobile-navigation{z-index:90}.desktop-rail{z-index:2}.launcher{z-index:1}.skip{z-index:150}
body[data-shell=mac] .app-window,body[data-shell=mac] .app-window.maximized{position:fixed;left:var(--win-x);top:var(--win-y);width:var(--win-w);height:var(--win-h);right:auto;bottom:auto;max-width:none;margin:0;border-radius:13px;box-shadow:0 7px 22px #221d241a,0 1px 4px #221d241a;border-color:#ada3a3;overflow:visible;isolation:isolate}
body[data-shell=mac] .app-window.is-active{border-color:#8c7c81;box-shadow:0 28px 75px #22192336,0 5px 16px #2219231c,0 0 0 .5px #ffffff66}
.app-window .window-titlebar{border-radius:12px 12px 0 0}.window-titlebar:focus-visible{outline:2px solid var(--amber);outline-offset:-4px}.app-window .window-status{border-radius:0 0 12px 12px}.window-content{container-type:inline-size;min-height:0}.app-content{min-height:100%}.window-name{pointer-events:none;max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.window-titlebar{flex-shrink:0}
.window-layout{position:absolute;right:14px;padding:6px;line-height:1;color:var(--muted);border-radius:5px}.window-layout:hover{background:#85727c1c;color:var(--ink)}.window-controls{gap:9px}.window-controls button{position:relative;overflow:visible}.window-controls button:after{content:'';position:absolute;inset:-5px}.app-window:not(.is-active) .window-controls button{background:#b9b0b2;border-color:#aba1a4}.app-window:not(.is-active) .window-name{color:var(--muted);font-weight:500}
.resize-handle{display:none;position:absolute;z-index:5;touch-action:none}body[data-shell=mac] .resize-handle{display:block}.app-window.maximized .resize-handle,.app-window.snapped .resize-handle{display:none!important}.resize-n,.resize-s{height:8px;left:10px;right:10px;cursor:ns-resize}.resize-n{top:-4px}.resize-s{bottom:-4px}.resize-w,.resize-e{width:8px;top:10px;bottom:10px;cursor:ew-resize}.resize-w{left:-4px}.resize-e{right:-4px}.resize-ne,.resize-nw,.resize-se,.resize-sw{width:15px;height:15px}.resize-ne{top:-4px;right:-4px;cursor:nesw-resize}.resize-nw{top:-4px;left:-4px;cursor:nwse-resize}.resize-se{bottom:-4px;right:-4px;cursor:nwse-resize}.resize-sw{bottom:-4px;left:-4px;cursor:nesw-resize}.resize-se:after{content:'';position:absolute;right:7px;bottom:7px;width:5px;height:5px;border-right:1px solid var(--muted);border-bottom:1px solid var(--muted);opacity:.4}
.window-dragging,.window-dragging *{user-select:none!important}.is-moving .window-titlebar{cursor:grabbing}.snap-preview{position:fixed;z-index:15;background:#aa425222;border:1px solid #b95e6daa;border-radius:13px;pointer-events:none;backdrop-filter:blur(5px);box-shadow:inset 0 0 0 1px #ffffff22;transition:width .15s,height .15s,left .15s,top .15s}.dock-item.running i{width:4px;height:4px}.dock-item.minimized i{background:transparent;border:1px solid var(--muted)}.dock-item.active i{background:#ad4355;box-shadow:0 0 0 2px #ad435514}
#window-menu{position:fixed;inset:auto;margin:0;width:245px;border:1px solid #bcaeafa6;border-radius:10px;background:#f5ede4f2;color:var(--ink);padding:6px;box-shadow:0 15px 40px #21192233;backdrop-filter:blur(24px)}#window-menu::backdrop{background:none}.window-menu-caption{display:block;font:9px var(--mono);color:var(--muted);padding:7px 10px 9px;border-bottom:1px solid var(--line);margin-bottom:4px}#window-menu button{display:flex;align-items:center;gap:11px;width:100%;padding:8px 10px;font-size:12px;text-align:left;border-radius:5px}#window-menu button>span{width:18px;text-align:center;color:var(--muted)}#window-menu button:hover,#window-menu button:focus-visible{background:#ae455518;outline:none}#window-menu button:disabled{opacity:.35;pointer-events:none}#window-menu button[data-arrange=minimize]{border-top:1px solid var(--line);border-radius:0;margin-top:4px;padding-top:12px}
.hero h1{font-size:clamp(42px,5.7cqi,64px);margin:20px 0 12px;line-height:1.04}.hero-legal{font-size:10px;letter-spacing:-.02em;line-height:1.7;margin:0 0 23px;color:var(--muted)}.hero .lead{font-size:15px}.launcher-legal{display:block;font:10px/1.7 var(--mono);color:var(--muted);margin:-3px 0 13px}.launcher-heading p{margin-bottom:0}.legal{overflow-wrap:anywhere}.window-status{letter-spacing:.03em}.window-status span:last-child{font-size:7px}.small-note{color:var(--muted)}
@container (max-width:950px){.home-page{padding:30px 34px 0}.hero{min-height:350px}.hero h1{font-size:48px}.hero .lead{font-size:14px}.hero-art{min-height:300px}.desk-art{margin-top:70px}.portrait-card{width:100px;right:6%;top:5px}.portrait-card img{height:90px}.art-caption{font-size:8px}.folder-shelf{grid-template-columns:repeat(3,1fr);margin-top:25px}.shelf-label{display:none}.now-card{grid-template-columns:1fr}.now-heading{display:grid;grid-template-columns:1fr 1fr}.now-heading .label{grid-column:1/-1}.now-heading p{grid-row:2/4;grid-column:2}.mini-pipeline{margin:15px 0 0}.work-page,.story-page,.play-page{padding:28px}.page-heading h1{font-size:32px}.file-browser{grid-template-columns:165px minmax(0,1fr)}.project-detail{padding:24px}.file-sidebar{padding:9px 6px}.file-sidebar button{font-size:11px;padding:10px 5px;gap:7px}.file-sidebar .icon{width:22px;height:22px}.file-sidebar button small{font-size:7px}.pipeline-body{grid-template-columns:1fr}.sample-terminal{display:none}.contact-page{padding:42px;gap:42px}.contact-copy h1{font-size:38px}.timeline-item{grid-template-columns:75px 45px 1fr;gap:15px}.timeline-item:before{left:112px}.timeline-mark{width:45px}.journey-note{flex-wrap:wrap}.journey-note .button{margin-left:67px}}
@container (max-width:720px){.home-page{padding:27px 28px 0}.hero{grid-template-columns:1fr 1fr;gap:10px;min-height:345px}.hero h1{font-size:40px}.hero .lead{font-size:13px}.hero-legal{font-size:9px}.current-line{font-size:12px}.button-row{gap:9px;margin-top:22px}.button{padding:9px 12px;font-size:11px;gap:10px}.portrait-card{width:90px;right:5%;top:12px}.portrait-card img{height:78px}.desk-art{margin-top:110px;width:118%}.hero-art{min-height:300px}.art-caption{font-size:7px;bottom:12px}.shelf-item{gap:7px}.shelf-item strong{font-size:10px}.shelf-item small{display:none}.shelf-item .icon{width:28px;height:28px}.page-heading h1{font-size:29px}.file-browser{grid-template-columns:1fr}.file-sidebar{display:flex;overflow-x:auto;gap:6px;border:0;border-bottom:1px solid var(--line);padding:8px}.file-sidebar button{flex-shrink:0;width:auto;padding:7px 11px}.file-sidebar button small,.file-sidebar button b{display:none}.pipeline-body{grid-template-columns:1fr 1fr}.sample-terminal{display:block}.contact-page{gap:30px;padding:34px}.contact-copy h1{font-size:32px}.contact-copy .lead{font-size:13px}.legal{font-size:9px}.contact-list small{font-size:8px}.location-stamp{font-size:8px;right:-15px}.rooms-copy{padding:23px}.rooms-copy h2{font-size:25px}.rooms-copy p{font-size:12px}.game-cards{gap:12px}.game-card{padding:0 15px 18px}.game-art{margin:0 -15px 15px}.timeline-item p{font-size:12px}.page-heading>.icon{width:45px;height:45px}}
@container (max-width:540px){.hero{display:flex;flex-direction:column;align-items:stretch;gap:0}.hero h1{font-size:42px}.hero .lead{font-size:14px}.hero-legal{font-size:10px}.hero-art{min-height:255px;margin-top:10px}.desk-art{width:100%;max-width:365px;margin:30px 0 0}.portrait-card{right:8%;top:0}.art-caption{font-size:8px;bottom:0}.folder-shelf{display:block;padding:8px 0}.shelf-item{width:100%;border-bottom:1px solid var(--line);padding:13px 0;gap:14px}.shelf-item:last-child{border:0}.shelf-item strong{font-size:12px}.shelf-item small{display:block;font-size:9px}.shelf-item .icon{width:34px;height:34px}.mini-pipeline{flex-direction:column;gap:13px;align-items:stretch;text-align:left}.mini-pipeline>div{display:grid;grid-template-columns:35px 1fr;column-gap:14px;row-gap:0}.mini-pipeline .icon{grid-row:1/3;width:35px;height:35px}.mini-pipeline div>span{max-width:none}.flow-arrow{transform:rotate(90deg);align-self:center}.work-page,.story-page,.play-page{padding:25px 21px}.page-heading>.icon{display:none}.page-heading h1{font-size:30px}.file-count{display:none}.pipeline-body{grid-template-columns:1fr}.project-detail{padding:23px 18px}.project-meta{font-size:8px}.project-detail h2{font-size:34px}.pipeline-top>span{display:none}.contact-page{display:flex;flex-direction:column;padding:30px 26px;gap:40px;align-items:stretch}.contact-portrait{width:65%;max-width:220px;margin:auto}.contact-copy h1{font-size:40px}.contact-list small{font-size:10px}.rooms-feature{grid-template-columns:1fr}.game-cards{grid-template-columns:1fr}.game-card{display:grid;grid-template-columns:80px 1fr;gap:3px 16px;padding:17px}.game-art{grid-row:1/5;width:80px;height:auto;margin:0}.game-card p{min-height:0;margin-bottom:8px}.timeline-item{display:block;padding-left:32px}.timeline-mark{position:absolute;left:-4px;top:0;width:25px;height:31px}.timeline-mark .icon{width:25px;height:25px}.timeline-item:before{left:8px}.timeline-item time{font-size:10px}.timeline-item h2{font-size:23px}.timeline-item>div:last-child{padding:7px 0 24px}.journey-note{padding:20px}.journey-note .button{width:100%;margin:0}.page-foot{display:block}.page-foot .text-link{display:block;margin-top:10px}}
body:not([data-shell=mac]) .window-layout{display:none}body:not([data-shell=mac]) .window-titlebar{border-radius:22px 22px 0 0}body:not([data-shell=mac]) .window-menu-toggle{display:none}body[data-shell=phone] .hero-legal{font-size:9px;margin-bottom:22px}body[data-shell=phone] .launcher-legal{font-size:8px;margin:0 0 12px}body[data-shell=phone] .launcher-heading h1{margin-bottom:9px}
/* Night is a separate ink palette, not a filter over the light theme. */
body.night{--paper:#202127;--paper-raised:#27282f;--ink:#eeeae3;--muted:#b3adb5;--line:#404048;--line-dark:#65606a;--amber:#d4818d;--green:#d4818d;--shadow:0 30px 85px #03040988,0 0 0 1px #68606d33;background:#15161b}
.night .desktop-background{background-image:url('assets/asta-wallpaper-night.svg');filter:none}.night .menubar{background:#191b22e8;border-color:#7b748126}.night .system-button .icon,.night .q-mark{color:#ded9d5}.night #top-nav button:hover,.night #top-nav button.current-app{background:#ffffff0e}.night .os-brand strong>span{color:#aaa5af}.night .desktop-icon{color:#e0d8dc;text-shadow:0 1px 3px #000}.night .desktop-icon:hover,.night .desktop-icon.current-app{background:#e3d5df0d;border-color:#a99da224}
.night .app-window{border-color:#4b4753!important;background:var(--paper)}body.night[data-shell=mac] .app-window{box-shadow:0 7px 20px #04050a60}body.night[data-shell=mac] .app-window.is-active{border-color:#79707e!important;box-shadow:0 30px 85px #020309a3,0 4px 20px #02030970,0 0 0 .5px #b6a1b230}.night .window-titlebar{background:#2a2a32;border-color:#3f3c46}.night .app-window:not(.is-active) .window-titlebar{background:#25252c}.night .window-name{color:#ded8df}.night .app-window:not(.is-active) .window-name{color:#aaa1ae}.night .window-status{background:#25252c;border-color:#3c3942;color:#a49ba7}.night .window-status i{background:#bc7885}.night .app-window:not(.is-active) .window-controls button{background:#514c58;border-color:#585260}.night .window-layout:hover{background:#ffffff0b}
.night .app-dock{background:#29262fc2;border-color:#92838e52;box-shadow:0 8px 28px #0006,inset 0 1px #d4bac51a}.night .app-tile{box-shadow:inset 0 1px #ffffff35,0 3px 7px #0005}.night .dock-label{background:#343039f5;border-color:#75616e;color:#eee4e9}.night .dock-item.running i{background:#c9c0cd}.night .dock-item.active i{background:#e799a7}.night .dock-item.minimized i{background:none;border-color:#bdb1c0}.night .snap-preview{background:#b9708425;border-color:#bf8099}
.night .hero .lead,.night .lead,.night .project-detail .project-body,.night .timeline-item p,.night .now-heading p{color:#c9c1c9}.night .hero-legal,.night .small-note,.night .art-caption,.night .page-foot{color:#b1a5b0}.night .marked:before{background:#bd5e7052}.night .live-dot{background:#d17c8d;box-shadow:0 0 0 3px #d17c8d1c}.night .button{color:#e2d7df;background:#333039;border-color:#65515f;box-shadow:0 2px #141218,inset 0 1px #ffffff08}.night .button.primary{background:#9d3d52;color:#fff4f0;border-color:#c46f80;box-shadow:0 2px #49172c,inset 0 1px #e6a4b020}.night .button .icon{color:#cbb5bd}.night .text-link:hover{color:#edabba}.night .now-card,.night .journey-note,.night .channel-note,.night .rooms-feature{background:#29272f;border-color:#49414e}.night .mini-pipeline div>span,.night .flow-arrow,.night .shelf-item b{color:#b4a8b4}.night .shelf-item:hover{background:#b797a011}.night .photo-frame,.night .portrait-card{background:#d7cbb8;border-color:#b6a28e;color:#3c3237}.night .photo-frame>span{color:#59484c}.night .location-stamp{background:#372a30ee;color:#d09e9e;border-color:#b27b83}.night .desk-art{filter:brightness(.88) saturate(.85)}
.night .file-sidebar{background:#26252d;border-color:#44404a}.night .file-sidebar button.selected{background:#703647;border-color:#9f5a6b}.night .file-sidebar button.selected small{color:#ead7dd}.night .file-sidebar button:hover:not(.selected){background:#baa6b312}.night .pipeline{background:#2d2932;border-color:#544452}.night .pipeline-steps{background:#24232b;border-color:#544452}.night .pipeline-steps button{border-color:#544452;color:#cabfcd}.night .pipeline-steps button span{color:#b9a9b8}.night .pipeline-steps button.active{background:#543442;color:#f4e3e9;box-shadow:inset 0 3px #d37d91}.night .sample-terminal{background:#19191f;border-color:#4b3b49;color:#dfcfc9}.night .sample-terminal>div{background:#26232c;color:#b5a1b2}.night .sample-terminal code{color:#d9c5b9}.night .status-tag{color:#dfa3af}.night .status-tag i{background:#cf8595}.night .game-card{background:#2b2830;border-color:#4c4450;box-shadow:0 3px #151319}.night .game-card:hover{border-color:#b07285}
.night .identity-widget,.night .motto-widget{background:#2c2831cf;border-color:#64546077;box-shadow:0 6px 20px #0003,inset 0 1px #ffffff09;color:#e7dbdd}.night .identity-widget>span>span{color:#c1afbe}.night .build-widget{background:#422431d9;border-color:#9a53625e}.night .build-widget>span:not(.widget-clover){color:#d1aeb9}.night .motto-widget>small{color:#d396a6}.night .motto-widget>span{color:#bd9cab}.night .motto-widget>.clover{color:#e8a0af;opacity:.13}.night .launcher-heading em{color:#e0a0ab}.night .launcher-heading p{color:#c4b5c1}.night .launcher-legal{color:#b8a7b7}.night .home-pages{background:#f1e7dc10!important}.night .home-pages button:after{background:#c2a9c166!important}.night .home-pages button[aria-current=true]:after{background:#f0b9c6!important}.night .home-gesture-hint{color:#b5a0b2!important}
.night #app-switcher{background:#25212beF!important;color:#e8dce5;border-color:#71616f}.night .recent-preview{background:#34303a;color:#ecdee7;border-color:#665364;box-shadow:0 10px 30px #0004}.night .mini-titlebar{background:#453845}.night .recent-preview>span:not(.mini-titlebar,.mini-app-icon,.mini-lines){color:#c8b4c3}.night .mini-lines i{background:#5b4c5a}.night .recent-preview>b{color:#eba5b7}.night .switcher-help,.night .no-apps{color:#bda8ba}.night .recent-name button{background:#b995ac25}.night .switcher-done{background:#8e3c53;color:#fff0f4}.night #window-menu{background:#2e2934f5;border-color:#81708280;box-shadow:0 15px 45px #0007}.night #window-menu button:hover,.night #window-menu button:focus-visible{background:#d18da623}.night #search-results button:hover,.night #search-results button:focus{background:#b87b941f}.night #search-dialog{border-color:#6b5769}.night .search-field input::placeholder{color:#a99ba9}.night #app-switcher::backdrop,.night #search-dialog::backdrop{background:#08060db3}
body.night[data-shell=phone] .window-titlebar{background:#2a2730}body.night[data-shell=phone] .menubar{background:transparent}body.night[data-shell=phone] .mobile-navigation{color:#dcc3d4}body.night[data-shell=phone].app-open .mobile-navigation{background:#342a37ed;border-color:#7760766b;box-shadow:0 4px 16px #0005}body.night:not([data-shell=mac]) .sheet-grip>span{background:#8f7e92}body.night:not([data-shell=mac]) .mobile-apps{color:#d898ad}
/* Games keep their own illustrated boards, in the same midnight chrome. */
.night .arcade,.night .world{--ink:#eee2e8;--muted:#beabba;--line:#544354;background:#24202b;color:var(--ink);border-color:#726071;box-shadow:0 25px 85px #0009}.night .arcade-head,.night .world-top,.night .arcade-tabs,.night .world-chapterbar,.night .arcade-foot,.night .world-bottom{background:#302735;border-color:#564154;color:#bda5b7}.night .arcade-tabs button[aria-pressed=true]{background:#4c3043;color:#f1dce9}.night .arcade-tabs button[aria-pressed=true]:after{background:#4c3043}.night .arcade .game-heading h2,.night .world-top h2{color:#f0dfe9}.night .arcade .game-heading p,.night .arcade .game-help,.night .world-caption p,.night .world .world-notes,.night .world .world-message{color:#cbb1c4}.night .game-meta{background:#382d3d;border-color:#624c60;color:#bca1b7}.night .game-meta b{color:#ecc5d7}.night .arcade .sound-toggle,.night .world #worldSound{background:#453043;border-color:#826078;color:#ecd3e3;box-shadow:0 2px #1a111d}.night .world-memory{background:#3a2e37;border-color:#8d697a;color:#e7cbd6}.night .arcade .game-era{background:#3f3042;color:#d2aec6;border-color:#6c4c68}.night .arcade .journal-entry p{color:#c8aabe}.night .world .world-notes summary{color:#d79dbb}.night .arcade::backdrop,.night .world::backdrop{background:#0e0813a6}
.inline-company{white-space:nowrap}
.night .arcade-head>.mono,.night .world-eyebrow{color:#baa3b7}.night .arcade-tabs button{background:#342a38;color:#c8b4c3;border-color:#62505f;box-shadow:inset 0 1px #ffffff08}.night .arcade-tabs button span{color:#b399af}.night .arcade-tabs button:hover{background:#493442}.night .arcade-tabs button[aria-pressed=true]{background:#4c3043;color:#f1dce9;box-shadow:inset 0 3px #bd718c}.night .arcade .game-secondary,.night .direction-pad button,.night .world-pad button{background:#3e3040;border-color:#775e72;color:#ddc8db;box-shadow:0 2px #160f1b}.night .arcade .game-secondary:hover:not(:disabled){background:#53394d}.night .game-secondary kbd{color:#bda4b6}.night .game-help{border-color:#6c5668}.night .arcade .arcade-close,.night .world .world-top-actions #closeWorld{background:#673b49;color:#f1ceda;border-color:#a16a7d;box-shadow:inset 0 1px #d396a233}.night .arcade-notice{background:#453040;border-color:#94617d;color:#e3bcd0}.night .arcade-notice button{color:#f0c3da}
.launch-swipe,.recent-preview,.sheet-grip{user-select:none;-webkit-user-select:none}
@container (max-width:720px){.file-browser{grid-template-rows:auto 1fr}.file-sidebar{align-items:center}.file-sidebar button{min-height:36px}}
.night .button .icon{color:#3a2e37}
