/* Live Nous Michael style overlay: MichaelOS content/functionality preserved, Nous-zine treatment layered on top. */
:root{
  --nm-paper:#f5ead7;
  --nm-paper-2:#fff7e8;
  --nm-paper-3:#f1dfbf;
  --nm-ink:#070707;
  --nm-blue:#000080;
  --nm-title:#1084d0;
  --nm-teal:#00a6a6;
  --nm-green:#23d160;
  --nm-yellow:#fff4c2;
}
.public-preview body,
body.public-preview{
  background:linear-gradient(135deg,#063a69 0%,#0a4f8f 42%,#2c76b0 100%)!important;
}
body.public-preview::before{
  content:"";
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:0;
  background:
    radial-gradient(circle at 17% 18%,rgba(51,232,255,.13),transparent 24%),
    radial-gradient(circle at 83% 17%,rgba(35,209,96,.1),transparent 24%),
    repeating-linear-gradient(0deg,rgba(255,255,255,.035) 0 1px,transparent 1px 3px);
  mix-blend-mode:screen;
}
.public-preview .win-window{
  border-radius:0!important;
  box-shadow:6px 8px 0 rgba(0,0,0,.72)!important;
}
.public-preview .main-portfolio-window,
.public-preview .doc-window,
.public-preview #aiHelpWindow,
.public-preview #buildWindow,
.public-preview #projectsWindow,
.public-preview #agentsWindow,
.public-preview #resumeWindow,
.public-preview #newRepoWindow,
.public-preview #intakeWindow,
.public-preview #contactWindow,
.public-preview #agenticFrameworkDeckWindow{
  background:var(--window-gray)!important;
}
.public-preview .win-title{
  background:linear-gradient(90deg,var(--nm-blue),var(--nm-title))!important;
  letter-spacing:.04em!important;
}
.public-preview .win-body,
.public-preview .document-body,
.public-preview .welcome-copy,
.public-preview .resume-doc,
.public-preview .guide-body,
.public-preview .project-list,
.public-preview .agent-grid,
.public-preview .resource-detail,
.public-preview .deck-preview-body{
  background:var(--nm-paper)!important;
  color:var(--nm-ink)!important;
  font-family:"Space Grotesk","IBM Plex Mono","Courier New",monospace!important;
}
.public-preview .styleguide-welcome{
  background:var(--nm-paper)!important;
  border:4px solid #050505!important;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.45)!important;
  position:relative;
}
.public-preview .styleguide-welcome::before,
.public-preview .document-body::before,
.public-preview .deck-preview-body::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:radial-gradient(#111 0.6px,transparent .72px);
  background-size:7px 7px;
  opacity:.055;
  mix-blend-mode:multiply;
}
.public-preview .welcome-sidebar{
  background:var(--nm-paper-2)!important;
  border:3px solid #111!important;
  box-shadow:5px 5px 0 #111!important;
  margin:14px 0 14px 14px!important;
  padding:18px 14px!important;
  z-index:1;
}
.public-preview .welcome-copy{
  margin:14px!important;
  padding:22px!important;
  border:3px solid #111!important;
  box-shadow:5px 5px 0 #111!important;
  z-index:1;
}
.public-preview .profile-portrait{
  border:3px solid #111!important;
  box-shadow:4px 4px 0 var(--nm-teal)!important;
  background:#111!important;
  filter:none!important;
}
.public-preview .profile-portrait img,
.public-preview .site-art-card img,
.public-preview .hero-image-cta img,
.public-preview .resource-image img,
.public-preview .mini-illustration img,
.public-preview .deck-slide-preview img{
  filter:saturate(1.04) contrast(1.04)!important;
}
.public-preview .welcome-copy h1,
.public-preview .resume-doc h2,
.public-preview .document-body h2,
.public-preview .guide-body h2,
.public-preview .resource-detail h2{
  color:var(--nm-blue)!important;
  font-family:"Work Sans",Tahoma,sans-serif!important;
  font-weight:900!important;
  font-style:italic!important;
  letter-spacing:-.045em!important;
  text-transform:uppercase!important;
}
.public-preview .mini-heading,
.public-preview .lift-heading{
  border-bottom:4px solid #111!important;
  padding-bottom:8px!important;
  margin-bottom:10px!important;
}
.public-preview .terminal-line{
  font-family:"IBM Plex Mono","Courier New",monospace!important;
  color:#000!important;
  font-weight:900!important;
}
.public-preview .brand-promise,
.public-preview .mini-callout,
.public-preview .welcome-resource-cta,
.public-preview .proof-strip span,
.public-preview .spec-grid>div,
.public-preview .welcome-agent-cta,
.public-preview .feature-card,
.public-preview .project-card,
.public-preview .agent-card,
.public-preview .guide-card,
.public-preview .resume-block,
.public-preview .info-card,
.public-preview .resource-card,
.public-preview .deck-preview-panel,
.public-preview .release-hold,
.public-preview .site-art-card,
.public-preview .qa-card,
.public-preview .case-study-card,
.public-preview .system-card{
  background:var(--nm-paper-2)!important;
  border:3px solid #111!important;
  box-shadow:4px 4px 0 #111!important;
  border-radius:0!important;
  color:#000!important;
}
.public-preview .welcome-resource-cta{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  gap:12px!important;
  align-items:center!important;
}
.public-preview .resource-badge,
.public-preview .tag,
.public-preview .pill,
.public-preview .eyebrow,
.public-preview .badge,
.public-preview .section-kicker{
  background:#111!important;
  color:#fff!important;
  border-radius:0!important;
  font-family:"IBM Plex Mono","Courier New",monospace!important;
  font-weight:900!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
.public-preview .ai-cta-nav,
.public-preview .welcome-agent-cta,
.public-preview .start-cta,
.public-preview .primary-hero-cta,
.public-preview .btn.gold,
.public-preview .download-btn.primary{
  background:var(--nm-yellow)!important;
  color:#000!important;
  border:3px solid #111!important;
  box-shadow:0 0 0 2px var(--nm-blue),0 0 14px rgba(255,230,0,.55)!important;
}
.public-preview .welcome-resource-cta .primary-hero-cta:hover,
.public-preview .welcome-resource-cta .primary-hero-cta:focus-visible,
.public-preview .ai-cta-nav:hover,
.public-preview .welcome-agent-cta:hover,
.public-preview .start-cta:hover,
.public-preview .btn.gold:hover,
.public-preview .download-btn.primary:hover{
  background:var(--nm-blue)!important;
  color:#fff!important;
  border-color:#111!important;
  box-shadow:0 0 0 2px var(--nm-yellow),0 0 14px rgba(0,0,128,.45)!important;
}
.public-preview .hero-action-panel{
  gap:12px!important;
}
.public-preview .hero-image-cta{
  background:#fff!important;
  border:3px solid #111!important;
  box-shadow:4px 4px 0 #111!important;
  color:#000!important;
  border-radius:0!important;
  overflow:hidden!important;
}
.public-preview .hero-image-cta img{
  background:#f0eadc!important;
  border-bottom:3px solid #111!important;
  object-fit:contain!important;
}
.public-preview .proof-strip{
  gap:8px!important;
}
.public-preview .proof-strip span{
  background:var(--nm-paper-3)!important;
  font-family:"IBM Plex Mono","Courier New",monospace!important;
  font-size:10px!important;
  text-transform:uppercase!important;
}
.public-preview .welcome-copy .page-link-bar{
  display:none!important;
}
.public-preview .page-link-bar{
  background:#111!important;
  color:#fff!important;
  border:3px solid #111!important;
  padding:8px!important;
}
.public-preview .page-link-bar a{
  background:var(--nm-title)!important;
  color:#fff!important;
  padding:6px 8px!important;
  text-decoration:none!important;
}
.public-preview .document-body,
.public-preview .guide-body,
.public-preview .resource-detail,
.public-preview .deck-preview-body{
  border:4px solid #111!important;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.45)!important;
  position:relative;
}
.public-preview .document-body > *,
.public-preview .guide-body > *,
.public-preview .resource-detail > *,
.public-preview .deck-preview-body > *{
  position:relative;
  z-index:1;
}
.public-preview .doc-window .win-body,
.public-preview .win-body{
  scrollbar-color:var(--nm-blue) var(--window-gray);
}
.public-preview .accent,
.public-preview a:not(.btn):not(.desk-icon):not(.hero-image-cta){
  color:var(--nm-blue)!important;
  text-decoration-thickness:2px!important;
}
.public-preview .status-bar span,
.public-preview .tray-pill,
.public-preview .task-btn{
  font-family:"IBM Plex Mono","Courier New",monospace!important;
}
.public-preview .site-art-card,
.public-preview .resource-image,
.public-preview figure{
  border-radius:0!important;
}
.public-preview .site-art-card img,
.public-preview .resource-image img{
  border:3px solid #111!important;
  box-shadow:4px 4px 0 var(--nm-teal)!important;
}
.public-preview .deck-slide-preview,
.public-preview .deck-slide-stage{
  background:#111!important;
  border:3px solid #111!important;
  box-shadow:4px 4px 0 #111!important;
}
.public-preview .deck-nav button,
.public-preview .ui-btn,
.public-preview button.btn,
.public-preview a.btn{
  border-radius:0!important;
  font-family:"IBM Plex Mono","Courier New",monospace!important;
  font-weight:900!important;
  text-transform:uppercase!important;
}
.public-preview .win-close{
  border-radius:0!important;
}

@media (max-width:760px), (orientation:portrait) and (max-width:1100px), (hover:none) and (pointer:coarse){
  html,body{
    width:100%!important;
    max-width:100%!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    background:#0a4f8f!important;
  }
  body.mobile-mode.public-preview .container,
  .public-preview .container{
    box-sizing:border-box!important;
    width:100%!important;
    max-width:100vw!important;
    height:auto!important;
    min-height:100dvh!important;
    margin:0 auto!important;
    padding:8px 10px 58px!important;
    display:block!important;
    overflow-x:clip!important;
  }
  .public-preview .desktop-icons{
    display:none!important;
  }
  body.mobile-mode.public-preview #readerWindow.win-window.open,
  body.mobile-mode.public-preview .main-portfolio-window,
  .public-preview .main-portfolio-window{
    box-sizing:border-box!important;
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    transform:none!important;
    width:min(calc(100% - 10px),420px)!important;
    max-width:calc(100vw - 28px)!important;
    min-height:0!important;
    margin:0 auto 12px!important;
    box-shadow:3px 4px 0 rgba(0,0,0,.72)!important;
  }
  body.mobile-mode.public-preview .win-window:not(.main-portfolio-window),
  .public-preview .win-window:not(.main-portfolio-window){
    box-sizing:border-box!important;
    position:relative!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    transform:none!important;
    width:min(calc(100% - 10px),420px)!important;
    max-width:calc(100vw - 28px)!important;
    margin:0 auto 12px!important;
  }
  .public-preview .win-title{
    min-height:28px!important;
    height:auto!important;
    padding:5px 6px!important;
    font-size:11px!important;
    line-height:15px!important;
    letter-spacing:.01em!important;
  }
  .public-preview .win-close{
    width:26px!important;
    min-width:26px!important;
    height:22px!important;
    font-size:0!important;
    color:transparent!important;
    text-shadow:none!important;
    overflow:hidden!important;
  }
  .public-preview .win-body{
    max-height:none!important;
    overflow:visible!important;
    padding:5px!important;
  }
  .public-preview .styleguide-welcome{
    display:block!important;
    overflow:visible!important;
    min-height:0!important;
    border-width:3px!important;
  }
  body.mobile-mode.public-preview #readerWindow .welcome-sidebar,
  .public-preview .welcome-sidebar{
    box-sizing:border-box!important;
    width:calc(100% - 26px)!important;
    max-width:350px!important;
    margin:8px auto!important;
    padding:10px!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
    align-items:stretch!important;
    justify-items:stretch!important;
  }
  body.mobile-mode.public-preview #readerWindow .profile-portrait,
  .public-preview .profile-portrait{
    width:104px!important;
    height:104px!important;
    grid-column:1 / -1!important;
    grid-row:auto!important;
    justify-self:center!important;
    align-self:center!important;
    margin:0 auto 2px!important;
  }
  .public-preview .big-nav{
    width:auto!important;
    min-width:0!important;
    min-height:34px!important;
    padding:6px!important;
    font-size:10px!important;
    line-height:12px!important;
  }
  body.mobile-mode.public-preview #readerWindow .welcome-copy,
  .public-preview .welcome-copy{
    box-sizing:border-box!important;
    width:calc(100% - 26px)!important;
    max-width:350px!important;
    margin:8px auto!important;
    padding:12px!important;
    box-shadow:3px 3px 0 #111!important;
  }
  .public-preview .welcome-copy h1{
    font-size:28px!important;
    line-height:.95!important;
    letter-spacing:-.04em!important;
    margin-bottom:8px!important;
  }
  .public-preview .mini-heading,
  .public-preview .lift-heading{
    border-bottom-width:3px!important;
    padding-bottom:7px!important;
  }
  .public-preview .terminal-line{
    font-size:10px!important;
    line-height:15px!important;
    overflow-wrap:anywhere!important;
  }
  .public-preview .brand-promise,
  .public-preview .mini-callout{
    padding:9px 10px!important;
    font-size:15px!important;
    line-height:20px!important;
    box-shadow:3px 3px 0 #111!important;
  }
  .public-preview .welcome-copy p{
    font-size:15px!important;
    line-height:21px!important;
  }
  .public-preview .welcome-resource-cta{
    grid-template-columns:1fr!important;
    gap:8px!important;
    padding:9px!important;
    box-shadow:3px 3px 0 #111!important;
  }
  .public-preview .welcome-resource-cta .primary-hero-cta{
    width:100%!important;
    min-height:38px!important;
  }
  .public-preview .hero-action-panel{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .public-preview #readerWindow .hero-action-panel .hero-image-cta,
  body.mobile-mode.public-preview #readerWindow .hero-action-panel .hero-image-cta,
  .public-preview .hero-image-cta{
    min-height:204px!important;
    grid-template-rows:156px auto!important;
    padding:6px!important;
    font-size:10px!important;
    line-height:12px!important;
    background:transparent!important;
  }
  .public-preview #readerWindow .hero-action-panel .hero-image-cta img,
  body.mobile-mode.public-preview #readerWindow .hero-action-panel .hero-image-cta img,
  .public-preview .hero-image-cta img{
    width:100%!important;
    height:156px!important;
    max-height:156px!important;
    object-fit:contain!important;
    background:transparent!important;
    border-bottom:0!important;
    padding:0!important;
  }
  .public-preview .proof-strip,
  .public-preview .spec-grid{
    grid-template-columns:1fr!important;
    gap:8px!important;
  }
  .public-preview .status-bar{
    display:none!important;
  }
  .public-preview .taskbar{
    box-sizing:border-box!important;
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    position:fixed!important;
    left:0!important;
    right:0!important;
    bottom:0!important;
    width:100%!important;
    max-width:100vw!important;
    height:46px!important;
    z-index:9999!important;
    padding:5px 8px!important;
    overflow:hidden!important;
    background:var(--window-gray)!important;
    border-top:2px solid #fff!important;
    box-shadow:0 -2px 0 var(--mid-shadow)!important;
  }
  .public-preview .start-btn{
    min-width:118px!important;
    height:34px!important;
  }
  .public-preview .taskbar-windows,
  .public-preview .ux-taskbar-brand,
  .public-preview .ux-taskbar-app,
  .public-preview .ux-tray-status{
    display:none!important;
  }
  .public-preview .tray{
    margin-left:auto!important;
    flex:0 0 auto!important;
    display:flex!important;
    align-items:center!important;
    gap:4px!important;
    min-width:0!important;
  }
  .public-preview .tray-pill{
    min-width:44px!important;
    height:32px!important;
    padding:0 6px!important;
    font-size:10px!important;
    overflow:hidden!important;
    white-space:nowrap!important;
  }
  .public-preview #trayClock{
    min-width:68px!important;
  }
  .public-preview .start-menu{
    display:block!important;
    position:fixed!important;
    left:8px!important;
    bottom:46px!important;
    width:min(310px,calc(100vw - 16px))!important;
    max-height:calc(100dvh - 84px)!important;
    overflow:auto!important;
    z-index:10000!important;
  }
  .public-preview .start-menu:not(.open){
    display:none!important;
  }
  .public-preview .doc-window .win-body{
    max-height:none!important;
  }
}

/* Agentic deck true fullscreen overlay */
.public-preview .deck-fullscreen-overlay{
  display:none;
  position:fixed;
  inset:0;
  z-index:20000;
  width:100vw;
  height:100dvh;
  background:#050505;
  color:#fff;
  padding:0;
}
.public-preview .deck-fullscreen-overlay.open{
  display:block;
}
.public-preview .deck-fullscreen-stage{
  width:100vw;
  height:100dvh;
  display:grid;
  grid-template-rows:auto minmax(0,1fr);
  gap:0;
  background:#050505;
}
.public-preview .deck-fullscreen-toolbar{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:8px;
  background:#c0c0c0;
  border-bottom:3px solid #000;
  color:#000;
  z-index:2;
}
.public-preview .deck-fullscreen-toolbar strong{
  min-width:92px;
  text-align:center;
  color:#000080;
  font:900 13px/16px "IBM Plex Mono","Courier New",monospace;
}
.public-preview .deck-fullscreen-stage img{
  display:block;
  width:100vw;
  height:calc(100dvh - 54px);
  max-width:100vw;
  max-height:calc(100dvh - 54px);
  object-fit:contain;
  background:#050505;
  margin:0 auto;
}
body.deck-fullscreen-open{
  overflow:hidden!important;
}
@media (max-width:760px), (orientation:portrait) and (max-width:1100px), (hover:none) and (pointer:coarse){
  .public-preview .deck-fullscreen-toolbar{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:6px;
    padding:6px;
  }
  .public-preview .deck-fullscreen-toolbar strong{
    grid-column:1/-1;
    order:-1;
    width:100%;
  }
  .public-preview .deck-fullscreen-stage img{
    width:100vw;
    height:auto;
    max-height:calc(100dvh - 128px);
    align-self:start;
    object-fit:contain;
  }
}
