/* Shared responsive shell: desktop, full-screen, and automatic phone layout. */
:root{--page-gutter:clamp(1.125rem,3vw,3rem)}
.window{width:min(1480px,100%);min-width:0}
#content{min-width:0;background:var(--paper);scroll-padding-block:20px}
.view{min-width:0;overflow-wrap:break-word}
.titlebar>span{min-width:0}.window-controls{flex:none}
.window-controls #maximize{width:auto;min-width:44px;padding:0 8px;font:14px var(--body);display:flex;align-items:center;gap:6px}
.fullscreen-label{white-space:nowrap}
.menubar{display:flex;flex-wrap:nowrap;justify-content:flex-start;min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;scroll-padding-inline:8px;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}
.menubar button{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:5px;min-height:44px;font-size:14px;white-space:nowrap}
.menubar button:focus-visible{outline-offset:-3px}
.menubar .edition{flex-shrink:0;white-space:nowrap}
.menubar .menu-avatar{flex:none}.work-caret{margin-left:2px}
.addressbar>span:last-child{min-width:0}
.work-tabs button{display:inline-flex;align-items:center;justify-content:center;gap:6px}
.work-tabs button>span{margin-right:0}
.work-tabs .nav-symbol{width:18px;height:18px;flex-shrink:0}
.detail-page,.recruiter-intro,.recruiter-body,.automotive-heading,.contribution,.platform-work{padding-left:var(--page-gutter);padding-right:var(--page-gutter)}
.about-page,.contact-page{max-width:1180px;margin-inline:auto}
.about-title-row{max-width:860px;font-size:clamp(1.625rem,3.6vw,3.5rem)}
.about-intro .lead,.about-intro .about-copy{max-width:78ch}
.hardware-grid,.vehicle-grid{min-width:0}
.hardware-card .device-sprite{max-width:360px;margin-inline:auto}
.vehicle-card .car-sprite{max-width:290px;margin-inline:auto}
.puzzle-page{max-width:960px}
.puzzle-layout{justify-content:center}
.retro-button{white-space:normal}
.contact-link strong{overflow-wrap:anywhere}
body.full-window{padding:0;overflow:hidden}
.full-window .window{position:fixed;inset:0;width:100%;height:100vh;height:100dvh;min-height:0;max-width:none;margin:0;border:0;box-shadow:none;display:flex;flex-direction:column}
.full-window .window>.titlebar,.full-window .window>.menubar,.full-window .window>.work-tabs,.full-window .window>.addressbar,.full-window .window>.window-status{flex:none}
.full-window #content{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain}
.full-window #content>.view{max-width:1480px;min-height:100%;margin-inline:auto}
.full-window .taskbar,.full-window .start-menu{display:none!important}
.full-window .titlebar{padding-top:max(4px,env(safe-area-inset-top));padding-left:max(12px,env(safe-area-inset-left));padding-right:max(6px,env(safe-area-inset-right))}
.full-window .window-status{padding-bottom:max(5px,env(safe-area-inset-bottom))}
@media(min-width:1200px){
 .evidence-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
 .detail-page>.lead{max-width:78ch}
}
@media(max-width:900px){
 .menubar .edition{display:none}
 .puzzle-layout{grid-template-columns:minmax(0,1fr)}
 .puzzle-main{width:100%;max-width:400px;justify-self:center}
 .puzzle-tools{width:100%;max-width:560px;justify-self:center}
 .puzzle-heading{flex-wrap:wrap}
}
@media(max-width:700px){
 body{padding:0;overflow:hidden}
 .window,.full-window .window{position:fixed;inset:0;margin:0;width:100%;height:100vh;height:100dvh;min-height:0;border:0;box-shadow:none;display:flex;flex-direction:column}
 .window>.titlebar,.window>.menubar,.window>.work-tabs,.window>.addressbar,.window>.window-status{flex:none}
 #content{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
 #content>.view{min-height:100%}
 .desktop-shortcuts,.desktop-sign,.taskbar,.start-menu,.window-status,#minimize,#close{display:none!important}
 .titlebar{min-height:48px;font-size:12px;padding-top:max(3px,env(safe-area-inset-top));padding-left:max(12px,env(safe-area-inset-left));padding-right:max(4px,env(safe-area-inset-right))}
 .window-controls #maximize{min-height:44px}
 .fullscreen-label{display:none}
 .menubar{gap:3px;padding:4px 8px}
 .menubar button{padding:5px 8px;font-size:14px}
 .work-tabs{gap:4px;padding:4px 8px 0}.work-tabs button{min-height:44px;padding:8px 5px;font-size:14px}.work-folder{display:none}
 .addressbar{padding:4px 10px;font-size:12px}.addressbar>span:last-child{font-size:12px}
 .view{padding-bottom:env(safe-area-inset-bottom)}
 .detail-page,.recruiter-intro,.recruiter-body,.automotive-heading,.contribution,.platform-work{padding-left:var(--page-gutter);padding-right:var(--page-gutter)}
 .detail-page h1,.automotive-heading h1,.recruiter-intro h1{font-size:clamp(1.75rem,6.8vw,2.5rem)}
 .about-title-row{font-size:clamp(1.5rem,6vw,2.25rem);gap:12px}
 .about-page .about-title-row h1{font-size:inherit}
 .about-intro .lead{font-size:1.0625rem}.about-intro .about-copy{font-size:1rem}
 .hobby-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .hardware-grid,.contribution-grid,.details-list,.platform-work,.timeline-row{grid-template-columns:minmax(0,1fr)}
 .vehicle-grid{grid-template-columns:minmax(0,1fr);padding:0 var(--page-gutter) 24px;gap:12px}
 .vehicle-card{display:grid;grid-template-columns:110px minmax(0,1fr);column-gap:14px;align-items:center;padding:10px 16px}
 .vehicle-card .car-sprite{grid-row:1 / 3;margin:0;width:110px}
 .car-name{align-self:end;min-height:0;font-size:20px}.card-meta{align-self:start;font-size:12px;letter-spacing:0}.card-index{display:none}
 #garage-view .inspect-bar{flex-wrap:wrap;gap:8px;padding-inline:var(--page-gutter)}
 #garage-view .explorer-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 #garage-view .explorer-controls button{font-size:14px;min-height:44px}
 .explorer-slider button{width:44px;height:44px;flex:none}.explorer-slider input{height:44px}
 .explorer-title .small-label{display:none}
 .retro-button,.text-button,.puzzle-utilities button,.transform-controls button{min-height:44px;font-size:14px;display:inline-flex;align-items:center;justify-content:center}
 .overview-actions{display:grid;grid-template-columns:1fr}
 .resume-toolbar{align-items:flex-start}.resume-actions{width:100%}.resume-actions>*{flex:1}
 .resume-canvas{padding:10px}.resume-paper{padding:24px 16px}.resume-job-heading span{white-space:normal}
 .contact-page{min-height:0}.contact-footer{margin-top:36px}
 .puzzle-page{padding:20px 14px}.puzzle-timer{margin-left:auto}
 .puzzle-intro{font-size:16px}.puzzle-record button{min-width:44px;min-height:44px}
 #puzzle-tray{grid-template-columns:repeat(2,minmax(0,1fr))}
 .piece-button{height:92px;font-size:14px}.piece-mini{transform:none}
 .puzzle-notes summary{min-height:44px;padding-block:10px}
}
@media(max-height:500px) and (max-width:1000px){
 .addressbar{display:none}
 .menubar button{padding:4px 8px}
 .titlebar{min-height:36px}.window-controls #maximize{min-height:32px}
}
@media(pointer:coarse){
 .window-controls button{min-width:44px;min-height:44px}
 .retro-button,.work-tabs button{min-height:44px}
}
