
:root{
  --bg:#7d70d8;
  --bg-deep:#4e438f;
  --panel:#342b63;
  --panel-2:#4f4587;
  --title1:#9d428f;
  --title2:#2f8fa3;
  --ink:#f7f6ff;
  --ink-soft:#f0ecff;
  --border:#0d0a17;
  --shadow:#1f1538;
  --task:#c8c0cf;
  --task-border:#8f839a;
  --accent:#7fe6ff;
  --btn:#d6d1de;
  --btn-dark:#8c85a0;
  --font-pixel: "Courier New", monospace;
  --font-sans: Arial, Helvetica, sans-serif;
  --font-mono: "Courier New", monospace;
}
html,body{height:100%}
body{
  margin:0;
  color:var(--ink);
  background:var(--bg-deep);
  font-family:var(--font-pixel);
  letter-spacing:-.02em;
}
body.scheme-dark{
  --bg:#2c2750; --bg-deep:#171425; --panel:#27233d; --panel-2:#383454; --task:#bcb6c7;
}
body.scheme-light{
  --bg:#a39ae6; --bg-deep:#7268bf; --panel:#4a4080; --panel-2:#62579c; --task:#dad4df;
}
body.font-sans{font-family:var(--font-sans)}
body.font-mono{font-family:var(--font-mono)}
body.admin-bar .nicchan-retro-app{min-height:calc(100vh - 32px)}
.nicchan-retro-app{
  position:relative;
  min-height:100vh;
  display:grid;
  grid-template-columns:118px minmax(0,1fr);
  grid-template-rows:1fr auto;
  overflow:hidden;
}
.retro-bg-layer{
  position:fixed; inset:0;
  background:
    radial-gradient(circle at 20% 12%, rgba(255,213,251,.5) 0 1.5px, transparent 1.6px),
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,0)),
    url("../img/bg-scene.svg") center/cover no-repeat,
    linear-gradient(180deg, var(--bg) 0%, #6659b7 65%, #564ca4 100%);
  background-size:10px 10px,100% 100%,cover,100% 100%;
  image-rendering:pixelated;
  z-index:0;
}
.retro-bg-layer:before{
  content:"";
  position:absolute; inset:0;
  background:
    linear-gradient(115deg, transparent 0 36%, rgba(238,190,255,.18) 36% 54%, transparent 54% 100%),
    linear-gradient(180deg, rgba(255,255,255,.05), transparent 30%, transparent 100%);
  pointer-events:none;
}
.retro-sidebar,.retro-main,.retro-taskbar,.retro-settings-panel{position:relative; z-index:2}
.retro-sidebar{
  padding:12px 10px 88px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}
.retro-side-nav{display:flex; flex-direction:column; gap:12px; align-items:flex-start}
.retro-side-link{
  display:flex;
  flex-direction:column;
  gap:3px;
  align-items:flex-start;
  text-decoration:none;
  color:#fff;
}
.retro-side-icon{
  width:38px;height:38px;
  color:transparent;
  font-size:0;
  display:block;
  background:#dbd9e7;
  border:3px solid var(--border);
  box-shadow: inset 3px 3px 0 #f7f5fb, inset -3px -3px 0 #968eaa;
  position:relative;
}
.retro-side-icon:before,.retro-side-icon:after{content:"";position:absolute;display:block}
.retro-side-link[data-icon="home"] .retro-side-icon:before{left:7px;top:8px;width:20px;height:14px;border:3px solid #31264b;background:#80dcff}
.retro-side-link[data-icon="home"] .retro-side-icon:after{left:10px;top:3px;width:16px;height:12px;background:#80dcff;clip-path:polygon(50% 0,100% 45%,100% 60%,0 60%,0 45%)}
.retro-side-link[data-icon="work"] .retro-side-icon:before{left:6px;top:9px;width:22px;height:16px;border:3px solid #31264b;background:#87e4ff}
.retro-side-link[data-icon="work"] .retro-side-icon:after{left:10px;top:5px;width:14px;height:6px;border:3px solid #31264b;border-bottom:none;background:#d7d1e0}
.retro-side-link[data-icon="blog"] .retro-side-icon:before{left:9px;top:7px;width:16px;height:22px;border:3px solid #31264b;background:#f1e8ef;box-shadow:6px 0 0 #f1e8ef}
.retro-side-link[data-icon="blog"] .retro-side-icon:after{left:18px;top:7px;width:0;height:0;border-top:8px solid #d1cadb;border-left:8px solid transparent}
.retro-side-link[data-icon="services"] .retro-side-icon:before{left:8px;top:8px;width:18px;height:18px;border:3px solid #31264b;background:#87e4ff;box-shadow:0 8px 0 0 #87e4ff}
.retro-side-link[data-icon="services"] .retro-side-icon:after{left:15px;top:7px;width:4px;height:26px;background:#31264b;box-shadow:-7px 8px 0 #31264b,7px 8px 0 #31264b}
.retro-side-link[data-icon="art"] .retro-side-icon:before{left:10px;top:8px;width:14px;height:16px;border:3px solid #31264b;background:#f7d3dd;border-radius:50% 50% 50% 35%}
.retro-side-link[data-icon="art"] .retro-side-icon:after{left:19px;top:19px;width:8px;height:8px;background:#80dcff;border-radius:50%;box-shadow:-10px 6px 0 #ffd96f,-2px 11px 0 #ca8cff}
.retro-side-link[data-icon="about"] .retro-side-icon:before{left:10px;top:8px;width:14px;height:10px;background:#c99ba4;border:3px solid #31264b;border-bottom:none}
.retro-side-link[data-icon="about"] .retro-side-icon:after{left:8px;top:18px;width:20px;height:12px;background:#6e58aa;border:3px solid #31264b}
.retro-side-link[data-icon="contact"] .retro-side-icon:before{left:7px;top:10px;width:22px;height:14px;border:3px solid #31264b;background:#fff}
.retro-side-link[data-icon="contact"] .retro-side-icon:after{left:7px;top:10px;width:22px;height:14px;background:linear-gradient(145deg, transparent 49%, #31264b 49% 51%, transparent 51%),linear-gradient(35deg, transparent 49%, #31264b 49% 51%, transparent 51%)}
.retro-side-label{
  display:inline-block;
  margin-left:3px;
  padding:3px 6px 2px;
  background:#3b316d;
  border:3px solid var(--border);
  color:#fff;
  line-height:1.1;
  font-size:12px;
  box-shadow: inset 2px 2px 0 rgba(255,255,255,.08);
}
.retro-side-link.is-active .retro-side-label{
  background:#20204b;
}
.retro-hit-counter{
  margin-top:2px;
  padding:5px 8px 4px;
  color:#1f1633;
  background:#bdb6c5;
  border:3px solid var(--border);
  font-size:12px;
  box-shadow: inset 2px 2px 0 #e4dee9, inset -2px -2px 0 #8d8596;
}
.retro-main{
  padding:74px 28px 94px 18px;
  max-width:1240px;
}
.retro-page-title{
  margin:0 0 22px;
  font-size:84px;
  line-height:.9;
  color:#1fd8ff;
  text-shadow:4px 0 0 #31245e,8px 0 0 #1e1834;
  letter-spacing:-.06em;
}
.retro-grid-home{
  display:grid;
  grid-template-columns:minmax(420px,480px) minmax(430px,660px);
  grid-template-areas:
    "intro clients"
    "intro posts";
  gap:32px 46px;
  align-items:start;
}
.intro-window{grid-area:intro}
.clients-window{grid-area:clients}
.posts-window{grid-area:posts}
.retro-window{
  background:rgba(52,43,99,.92);
  border:4px solid var(--border);
  box-shadow:6px 6px 0 rgba(13,10,23,.45);
}
.full-window{max-width:980px}
.retro-window-title{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  padding:9px 10px 8px 14px;
  background:linear-gradient(90deg, var(--title1) 0%, #8050a7 40%, var(--title2) 100%);
  border-bottom:4px solid rgba(13,10,23,.55);
  color:#fff;
  font-size:17px;
  font-weight:700;
  line-height:1;
}
.retro-controls{display:flex; gap:6px}
.retro-control{
  width:32px;height:32px;
  border:3px solid var(--border);
  background:#e8e6ee;
  box-shadow: inset 3px 3px 0 #fff, inset -3px -3px 0 #9a93ac;
  color:#2e2546;
  font-family:inherit;
  font-size:20px;
  line-height:1;
  cursor:pointer;
  padding:0;
}
.retro-window-body{padding:18px 18px 16px}
.retro-window-body.is-collapsed{display:none}
.retro-copy{
  font-size:18px;
  line-height:1.62;
  color:var(--ink);
}
.large-copy p{margin:0 0 24px}
.intro-layout{
  display:grid;
  grid-template-columns:1fr 124px;
  gap:22px;
  align-items:start;
}
.pixel-frame{
  border:4px solid var(--border);
  box-shadow:3px 3px 0 rgba(13,10,23,.35);
  image-rendering:pixelated;
}
.intro-portrait img,
.portrait-placeholder{
  width:124px;
  height:124px;
  object-fit:cover;
  display:block;
  background:#443577 url("../img/portrait.svg") center/cover no-repeat;
}
.portrait-placeholder{background-size:cover}
.intro-showcase{
  margin-top:16px;
  padding:0;
  background:#dcd7e4;
  overflow:hidden;
}
.intro-showcase .showcase-grid{
  height:194px;
  background:url("../img/showcase.svg") center/cover no-repeat;
}
.showcase-grid{
  display:block;
}
.showcase-tile{display:none}
.retro-cta{
  margin-top:14px;
  display:inline-block;
  color:#38284f;
  text-decoration:none;
  background:var(--btn);
  padding:9px 12px 8px;
  border:3px solid var(--border);
  box-shadow: inset 3px 3px 0 #fff, inset -3px -3px 0 var(--btn-dark);
  font-size:15px;
  line-height:1.1;
}
.retro-cta.light{margin-top:16px}
.client-logo-grid{
  margin-top:16px;
  display:grid;
  grid-template-columns:repeat(4,minmax(110px,1fr));
  gap:4px;
}
.client-card{
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#f4f1f7;
  text-decoration:none;
  padding:0;
}
.client-logo{
  display:block;
  width:100%;
  height:46px;
  object-fit:contain;
  background:#fff;
}
.client-text{
  font-size:15px;
  color:#261c41;
  padding:8px;
  text-align:center;
  font-weight:700;
}
.recent-posts-stack{
  display:flex;
  flex-direction:column;
  gap:10px;
  counter-reset:item;
}
.post-strip{
  display:block;
  padding:12px 16px 10px;
  background:rgba(92,83,150,.95);
  text-decoration:none;
  color:#fff;
  border:4px solid rgba(13,10,23,.58);
  box-shadow: inset 2px 2px 0 rgba(255,255,255,.08);
}
.post-strip-date{
  font-size:15px;
  margin-bottom:5px;
}
.post-strip-title{
  font-size:17px;
  font-weight:700;
  text-decoration:underline;
}
.retro-taskbar{
  grid-column:1 / -1;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:18px;
  background:var(--task);
  border-top:4px solid var(--border);
  padding:8px 10px;
}
.retro-taskbar-tabs{display:flex; gap:2px; flex-wrap:wrap}
.retro-taskbar-tab{
  padding:8px 11px 7px;
  border:3px solid var(--task-border);
  background:#d9d2df;
  text-decoration:none;
  color:#2c2441;
  font-size:14px;
  box-shadow: inset 2px 2px 0 #f8f6fb;
}
.retro-taskbar-tab:first-child{
  background:#e3ddec;
}
.retro-settings-btn{
  border:3px solid var(--border);
  background:#ebe6f0;
  color:#2c2441;
  padding:8px 12px;
  font-family:inherit;
  font-size:15px;
  box-shadow: inset 3px 3px 0 #fff, inset -3px -3px 0 #9a93ac;
}
.retro-settings-panel{
  position:fixed;
  right:14px;
  bottom:64px;
}
.retro-settings-panel[hidden]{display:none}
.small-window{width:308px}
.retro-setting-group + .retro-setting-group{margin-top:16px}
.retro-setting-title{font-size:14px; margin-bottom:8px; color:#fff}
.retro-options{display:flex; gap:6px; flex-wrap:wrap}
.retro-option{
  border:3px solid var(--border);
  background:#dfdcea;
  color:#2c2441;
  padding:6px 10px;
  font-family:inherit;
  font-size:13px;
  box-shadow: inset 2px 2px 0 #fff, inset -2px -2px 0 #9a93ac;
}
.retro-option.is-selected{background:#7ae8ff}
.page-copy{
  font-size:18px;
  max-width:760px;
  line-height:1.7;
}
.page-copy a{color:#fff;text-decoration:underline}
.retro-post-meta{margin-bottom:12px; font-size:14px; color:var(--ink-soft)}
body.anim-off *{animation:none !important; transition:none !important}
@media (prefers-reduced-motion:no-preference){
  .retro-window,.retro-side-link,.post-strip,.retro-cta,.client-card,.retro-settings-btn,.retro-taskbar-tab{
    transition:transform .12s steps(2,end), box-shadow .12s steps(2,end);
  }
  .retro-window:hover,.post-strip:hover,.client-card:hover,.retro-cta:hover,.retro-settings-btn:hover,.retro-taskbar-tab:hover{
    transform:translate(-1px,-1px);
  }
}
@media (max-width: 1240px){
  .retro-main{padding-right:20px}
  .retro-grid-home{grid-template-columns:1fr;grid-template-areas:"intro" "clients" "posts";max-width:760px}
}
@media (max-width: 860px){
  .nicchan-retro-app{
    grid-template-columns:1fr;
    grid-template-rows:auto 1fr auto;
  }
  .retro-sidebar{
    padding:12px;
    overflow:auto;
  }
  .retro-side-nav{
    flex-direction:row;
    flex-wrap:wrap;
    gap:8px 10px;
  }
  .retro-main{
    padding:18px 14px 88px;
  }
  .retro-page-title{font-size:58px}
  .intro-layout{grid-template-columns:1fr}
  .intro-portrait{order:-1}
}
@media (max-width: 560px){
  .retro-page-title{font-size:44px}
  .retro-grid-home{gap:18px}
  .retro-copy,.page-copy{font-size:16px}
  .client-logo-grid{grid-template-columns:repeat(2,minmax(100px,1fr))}
  .retro-window-title{font-size:15px}
  .retro-main{padding-bottom:96px}
}


/* v3 compact desktop fit */
.retro-main{
  padding:18px 24px 70px 6px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
}
.retro-page-title{
  margin:0 0 16px;
  font-size:74px;
  line-height:.9;
  text-shadow:5px 5px 0 #25193e;
}
.page-template-page-retro-home .retro-main,
.blog .retro-main,
.home.blog .retro-main{
  max-width:1220px;
}
.retro-grid-home{
  grid-template-columns:minmax(390px,470px) minmax(380px,600px);
  gap:22px 28px;
  max-width:1120px;
}
.retro-window-body{padding:14px 14px 12px}
.retro-copy{font-size:16px; line-height:1.55}
.large-copy p{margin:0 0 18px}
.intro-layout{grid-template-columns:1fr 110px; gap:16px}
.intro-portrait img,.portrait-placeholder{width:110px;height:110px}
.intro-showcase{margin-top:12px}
.intro-showcase .showcase-grid{height:156px}
.retro-control{width:30px;height:30px;font-size:18px}
.retro-window-title{font-size:16px;padding:8px 10px 8px 12px}
.client-logo-grid{
  grid-template-columns:repeat(4,minmax(92px,1fr));
  gap:6px;
}
.client-card{
  min-height:48px;
  padding:6px;
}
.clients-window .retro-copy{margin-bottom:10px}
.recent-posts-stack{gap:10px}
.post-strip{
  padding:12px 14px;
  min-height:56px;
}
.post-strip-date{font-size:13px}
.post-strip-title{font-size:15px}
.retro-taskbar{
  height:48px;
}
.retro-settings-btn{height:38px}
.retro-taskbar-tab{height:36px}
.blog .retro-page-title,.home.blog .retro-page-title{font-size:86px;margin-bottom:14px}
.retro-grid-blog{
  display:grid;
  grid-template-columns:minmax(0,1fr) 250px;
  gap:22px;
  align-items:start;
  max-width:1120px;
}
.blog-main-window .recent-posts-stack{
  max-height:46vh;
  overflow:auto;
  padding-right:4px;
}
.blog-side-stack{display:grid; gap:18px}
.utility-window .retro-window-body{min-height:112px}
.retro-link-list{
  display:grid;
  gap:8px;
}
.retro-link-list a{
  display:inline-block;
  color:#fff;
  text-decoration:none;
  background:rgba(109,96,173,.55);
  padding:8px 10px;
  border:3px solid var(--border);
  box-shadow: inset 2px 2px 0 rgba(255,255,255,.15);
}
.small-copy{font-size:15px; line-height:1.45}
@media (max-height: 860px){
  .retro-page-title{font-size:62px; margin-bottom:12px}
  .blog .retro-page-title,.home.blog .retro-page-title{font-size:72px}
  .retro-grid-home{gap:16px 22px}
  .intro-showcase .showcase-grid{height:132px}
  .blog-main-window .recent-posts-stack{max-height:40vh}
}
@media (max-width: 1240px){
  .retro-grid-home{
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:"intro" "clients" "posts";
    max-width:760px
  }
  .retro-grid-blog{
    grid-template-columns:1fr;
    max-width:760px;
  }
  .blog-main-window .recent-posts-stack{max-height:none}
}
@media (max-width: 860px){
  .retro-main{padding:16px 14px 88px}
  .retro-page-title{font-size:56px}
  .blog .retro-page-title,.home.blog .retro-page-title{font-size:60px}
}


/* v4 layout refinements */
html,body{overflow:hidden}
body.admin-bar{overflow:hidden}
body.admin-bar .nicchan-retro-app{height:calc(100vh - 32px)}
.nicchan-retro-app{
  height:100vh;
  grid-template-columns:88px minmax(0,1fr);
  grid-template-rows:minmax(0,1fr) 42px;
}
.retro-sidebar{
  padding:10px 6px 8px 10px;
}
.retro-side-nav{gap:9px}
.retro-side-icon{width:32px;height:32px;border-width:3px}
.retro-side-label{
  display:inline-block;
  background:#262044;
  border:2px solid var(--border);
  padding:2px 6px 1px;
  font-size:12px;
  line-height:1.1;
}
.retro-hit-counter{
  margin-top:8px;
  width:64px;
  background:#cfc9d5;
  border:3px solid var(--border);
  color:#2c2440;
  padding:8px 6px;
  font-size:11px;
  line-height:1.35;
  box-shadow: inset 2px 2px 0 #efedf4, inset -2px -2px 0 #938aa2;
}
.retro-main{
  padding:14px 18px 8px 12px;
  min-height:0;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.retro-page-title{
  margin:2px 0 12px;
  font-size:72px;
  line-height:.9;
  color:#58d7ff;
  text-shadow:6px 6px 0 #2a2148;
  letter-spacing:-.06em;
}
.retro-window{
  background:var(--panel);
  border:4px solid var(--border);
  box-shadow:6px 6px 0 rgba(15,10,25,.45);
  min-height:0;
}
.retro-window-title{
  min-height:44px;
  padding:10px 14px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  background:linear-gradient(90deg,var(--title1),var(--title2));
  border-bottom:4px solid #2b2247;
  font-size:18px;
  font-weight:700;
}
.retro-window-title span{line-height:1}
.retro-window-body{
  padding:14px 16px;
  background:rgba(69,59,118,.85);
  min-height:0;
}
.retro-controls{display:flex;gap:8px}
.retro-control{
  width:32px;height:32px;border:3px solid var(--border);background:#d4d0df;color:#2f2748;
  box-shadow: inset 2px 2px 0 #f7f6fb, inset -2px -2px 0 #948ba7;
  font-size:22px; line-height:1; padding:0;
}
.retro-grid-home{
  display:grid;
  grid-template-columns:minmax(420px, 1.05fr) minmax(460px, .95fr);
  grid-template-rows:minmax(0,1fr) minmax(0,.9fr);
  gap:20px;
  min-height:0;
  height:calc(100% - 6px);
  align-content:stretch;
}
.intro-window{grid-column:1;grid-row:1 / span 2}
.clients-window{grid-column:2;grid-row:1}
.posts-window{grid-column:2;grid-row:2}
.intro-layout{display:grid;grid-template-columns:1fr 150px;gap:16px;align-items:start}
.large-copy,.retro-copy{font-size:22px;line-height:1.45}
.intro-showcase{margin-top:14px;padding:0;background:#5d538d;overflow:hidden}
.showcase-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:0}
.showcase-tile{display:block;aspect-ratio:1;background:
  linear-gradient(135deg,#e8d4da 0 18%, #e7f0ed 18% 36%, #d9d6d0 36% 54%, #c7c7b4 54% 72%, #f3e2b4 72% 100%);
  border-right:2px solid rgba(20,14,35,.35);border-bottom:2px solid rgba(20,14,35,.35)}
.portrait-placeholder,.pixel-frame{
  border:4px solid var(--border);
  box-shadow: inset 3px 3px 0 rgba(255,255,255,.08);
}
.intro-portrait img,.retro-art-thumb img,.retro-card-thumb img{display:block;width:100%;height:auto}
.intro-portrait .pixel-frame{background:linear-gradient(180deg,#2d2450,#46356c)}
.retro-cta{
  display:inline-block;margin-top:12px;
  background:#d9d6e1;color:#2f2748;border:3px solid var(--border);
  padding:8px 12px;text-decoration:none;box-shadow: inset 2px 2px 0 #f7f6fb, inset -2px -2px 0 #938aa2;
}
.clients-logo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:14px}
.client-logo-card{height:52px;background:#f2eff5;border:3px solid var(--border);display:flex;align-items:center;justify-content:center;padding:4px}
.client-logo-card img{max-width:100%;max-height:100%;object-fit:contain}
.client-logo-card span{color:#241c3c;font-size:14px;text-align:center;line-height:1.1;font-weight:700}
.recent-posts-stack{display:flex;flex-direction:column;gap:12px}
.post-strip{
  display:flex;flex-direction:column;gap:3px;padding:12px 14px;text-decoration:none;
  background:#60579e;color:var(--ink);border:3px solid rgba(26,20,45,.85)
}
.post-strip-title{font-size:16px;font-weight:700;text-decoration:underline}
.post-strip-date{font-size:15px}
.retro-taskbar{
  grid-column:1 / -1;
  display:flex;align-items:center;justify-content:space-between;
  gap:8px;padding:6px 8px;
  background:#c8c1d0;border-top:4px solid var(--task-border);position:relative;z-index:3;
}
.retro-taskbar-tabs{display:flex;gap:2px;flex-wrap:nowrap;overflow:hidden}
.retro-taskbar-tab{
  text-decoration:none;color:#2e2644;background:#d9d4df;border:3px solid #817692;
  padding:6px 10px;font-size:12px;white-space:nowrap;box-shadow: inset 2px 2px 0 #f6f4fa;
}
.retro-settings-btn{
  margin-left:auto;border:3px solid var(--border);background:#e2ddea;color:#2c2440;
  padding:6px 10px;font:inherit;box-shadow: inset 2px 2px 0 #f6f4fa, inset -2px -2px 0 #938aa2;
}
.retro-settings-panel{position:fixed;right:16px;bottom:54px;width:300px;z-index:5}
.small-window .retro-window-body{padding:12px 14px}
.retro-grid-blog,.retro-grid-work,.retro-grid-services,.retro-grid-contact,.retro-grid-about,.retro-grid-single{
  display:grid;gap:18px;min-height:0;height:calc(100% - 6px);
}
.retro-grid-blog{grid-template-columns:minmax(0,1fr) 270px}
.blog-side-stack{display:grid;grid-template-rows:1fr 1fr;gap:18px}
.blog-main-window .retro-window-body{overflow:auto}
.blog-main-window .recent-posts-stack{max-height:100%}
.retro-link-list, .retro-link-list ul{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}
.retro-link-list a, .retro-link-list li a{color:var(--ink);text-decoration:underline}
.retro-grid-work{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}
.retro-grid-services,.retro-grid-contact,.retro-grid-about,.retro-grid-single{grid-template-columns:1.1fr .9fr}
.retro-card-entry{display:flex;flex-direction:column;gap:12px}
.retro-card-thumb{display:block;overflow:hidden;background:#5f538e}
.retro-card-title{margin:0;font-size:22px;line-height:1.1}
.retro-card-title a{color:var(--ink);text-decoration:underline}
.retro-card-copy{font-size:16px;line-height:1.45}
.full-window,.single-main-window,.blog-main-window{min-height:0}
.page-copy{font-size:18px;line-height:1.6}
.retro-post-meta{margin-bottom:10px;font-size:14px;opacity:.9}
.single-main-window .retro-window-body,.single-side-window .retro-window-body,.full-window .retro-window-body{overflow:auto}
.retro-art-canvas{
  position:relative;height:calc(100% - 6px);min-height:0;
}
.art-floating{position:absolute;width:230px}
.art-floating .retro-window-body{padding:8px;background:rgba(76,65,132,.85)}
.art-floating-1{left:1%;top:4%}
.art-floating-2{left:29%;top:13%}
.art-floating-3{left:58%;top:6%}
.art-floating-4{left:12%;top:48%}
.art-floating-5{left:44%;top:42%}
.art-floating-6{left:73%;top:34%}
.retro-art-thumb{display:block;background:#615693}
.retro-art-thumb img{width:100%;aspect-ratio:1.15;object-fit:cover}
.retro-art-placeholder{aspect-ratio:1.15;background:linear-gradient(135deg,#7b65bd,#594c97)}
.retro-window-body.is-collapsed{display:none}
@media (max-width: 1180px){
  html,body{overflow:auto}
  body.admin-bar,.nicchan-retro-app,body.admin-bar .nicchan-retro-app{height:auto}
  .nicchan-retro-app{display:block}
  .retro-main{overflow:visible}
  .retro-page-title{font-size:56px}
  .retro-grid-home,.retro-grid-blog,.retro-grid-work,.retro-grid-services,.retro-grid-contact,.retro-grid-about,.retro-grid-single{grid-template-columns:1fr;height:auto}
  .intro-window,.clients-window,.posts-window{grid-column:auto;grid-row:auto}
  .blog-side-stack{grid-template-rows:auto}
  .retro-art-canvas{height:auto;display:grid;grid-template-columns:1fr 1fr;gap:16px}
  .art-floating{position:relative;left:auto;top:auto;width:auto}
}



/* v5 viewport-fit refinements */
html, body { overflow: hidden; }
.nicchan-retro-app,
body.admin-bar .nicchan-retro-app{
  height: 100vh;
}
body.admin-bar .nicchan-retro-app{
  height: calc(100vh - 32px);
}
@media (max-width: 782px){
  body.admin-bar .nicchan-retro-app{height: calc(100vh - 46px);}
}
.retro-main{
  height: 100%;
  max-width: none;
  padding: 18px 28px 12px 6px;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
}
.retro-page-title{
  margin: 2px 0 12px;
  font-size: 72px;
  flex: 0 0 auto;
}
.home .retro-page-title{margin-left: 30px;}
.retro-grid-home,
.retro-grid-blog,
.retro-grid-work,
.retro-grid-services,
.retro-grid-contact,
.retro-grid-about,
.retro-grid-single,
.retro-art-canvas,
.full-window{
  transform-origin: top left;
  transition: transform .15s ease-out;
}
.retro-grid-home{
  flex: 1 1 auto;
  min-height: 0;
  height: auto;
  grid-template-columns: minmax(420px, 470px) minmax(520px, 1fr);
  gap: 18px 34px;
  align-items: stretch;
  padding: 0 10px 0 30px;
}
.home .intro-window,
.home .clients-window,
.home .posts-window{
  min-height: 0;
}
.home .intro-window .retro-window-body,
.home .clients-window .retro-window-body,
.home .posts-window .retro-window-body{
  min-height: 0;
}
.intro-layout{
  grid-template-columns: minmax(0,1fr) 148px;
  gap: 18px;
}
.retro-copy{
  font-size: 16px;
  line-height: 1.6;
}
.large-copy p{margin: 0 0 18px;}
.retro-window-title{
  padding: 8px 10px 8px 12px;
  font-size: 16px;
}
.retro-window-body{padding: 16px 16px 14px;}
.retro-control{
  width: 28px;
  height: 28px;
  font-size: 18px;
}
.intro-showcase{margin-top: 8px;}
.intro-showcase .showcase-grid{
  height: 194px;
  gap: 4px;
}
.retro-cta{
  margin-top: 10px;
  padding: 8px 10px 7px;
  font-size: 14px;
}
.client-logo-grid{
  margin-top: 10px;
  gap: 4px;
}
.client-card{min-height: 48px;}
.client-logo{max-height: 42px;}
.recent-posts-stack{
  display: grid;
  gap: 10px;
}
.post-strip{
  min-height: 78px;
  padding: 10px 12px;
}
.post-strip-date{font-size: 18px;}
.post-strip-title{font-size: 18px; line-height: 1.2;}
.posts-cta{margin-top: 12px;}
.retro-grid-blog,
.retro-grid-work,
.retro-grid-services,
.retro-grid-contact,
.retro-grid-about,
.retro-grid-single,
.retro-art-canvas{
  flex: 1 1 auto;
  min-height: 0;
  height: auto;
  padding: 0 10px 0 30px;
}
.retro-grid-blog{
  grid-template-columns: minmax(0,1fr) 248px;
  gap: 16px;
}
.blog-side-stack{gap: 16px;}
.utility-window .retro-window-body{min-height: 84px;}
.retro-grid-work{grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 16px; padding-right: 14px;}
.retro-grid-services,.retro-grid-contact,.retro-grid-about,.retro-grid-single{grid-template-columns: 1.1fr .85fr; gap: 16px;}
.retro-art-canvas{padding-right: 14px;}
.art-floating{width: 220px;}
.retro-taskbar{
  min-height: 42px;
  padding: 5px 8px;
}
.retro-settings-btn{padding: 6px 10px;}
.retro-taskbar-tab{
  padding: 8px 12px 7px;
}
.retro-hit-counter{margin-top: 6px;}
/* viewport scale helpers applied by JS */
.retro-main > .retro-scaled{transform-origin: top left;}
@media (min-width: 1181px){
  .home .retro-main{padding-bottom: 8px;}
}
@media (max-width: 1180px){
  html,body{overflow:auto}
}


/* Desktop window behavior */
@media (min-width: 1181px){
  .retro-window{
    position:relative;
    transition: box-shadow .12s ease, transform .12s ease;
  }
  .retro-window-title{
    cursor:move;
    user-select:none;
    -webkit-user-select:none;
    touch-action:none;
  }
  .retro-window.is-dragging{
    box-shadow:12px 12px 0 rgba(13,10,23,.42);
  }
  .retro-window.is-active{
    z-index:30;
  }
  .retro-window.is-maximized{
    position:fixed !important;
    top:24px !important;
    left:140px !important;
    right:24px !important;
    bottom:72px !important;
    width:auto !important;
    max-width:none !important;
    transform:none !important;
    z-index:999 !important;
  }
  .retro-window.is-maximized .retro-window-body{
    height:calc(100% - 54px);
    overflow:auto;
  }
}

.retro-control[title="Minimize"],
.retro-control[title="Maximize"]{
  line-height:24px;
}

.retro-window-body.is-collapsed{
  display:none;
}

.retro-window-placeholder{
  display:none;
}
