/* The desktop is inverted locally; the black boot and physical desk keep their palette. */
:root{
  --desktop-bg:var(--brand-paper);
  --desktop-text:var(--brand-ink);
  --desktop-muted:var(--brand-muted);
  --desktop-watermark:var(--brand-graphite);
  --pixel-border:var(--brand-ink);
  --window-bg:var(--brand-paper);
  --window-title:var(--brand-ink);
  --selection-bg:var(--brand-red);
  --selection-text:var(--brand-ink);
  --accent:var(--brand-red);
  --project-gap:24px;
}
body.experience-desktop,.portfolio-layer .desktop{background:var(--desktop-bg);color:var(--desktop-text);}
.portfolio-layer .desktop-icon > span:not(.shortcut-arrow){color:var(--desktop-text);text-shadow:none;}
.portfolio-layer .desktop-icon:hover > span:not(.shortcut-arrow),.portfolio-layer .desktop-icon.selected > span:not(.shortcut-arrow),.portfolio-layer .desktop-icon:focus-visible > span:not(.shortcut-arrow){background:var(--selection-bg);color:var(--selection-text);}
.portfolio-layer .desktop-icon:focus-visible,.desktop-icons.icons-free .desktop-icon:focus-visible,.nil-character:focus-visible{outline-color:var(--pixel-border);}
.portfolio-layer .desktop-hint{color:var(--desktop-muted);}
.portfolio-layer .wallpaper{opacity:1;pointer-events:none;}
.portfolio-layer .wallpaper p{color:var(--desktop-watermark);opacity:.45;}
.portfolio-layer .window{border-color:var(--pixel-border);}
.portfolio-layer .window.active>.titlebar{background:var(--window-title);color:var(--brand-paper);}
.portfolio-layer .desktop-selection{background:color-mix(in srgb,var(--selection-bg) 16%,transparent);border-color:var(--pixel-border);}
.nil-sprite{filter:none;}
.archive-shell{background:var(--window-bg);container-type:inline-size;}
.archive-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:8px;border-bottom:1px solid var(--pixel-border);}
.archive-search{flex:1;min-width:150px;}
.archive-search input{width:100%;min-height:36px;padding:6px 8px;color:var(--desktop-text);background:var(--window-bg);border:1px solid var(--pixel-border);border-radius:0;font:14px var(--font-body);}
.archive-filters{display:flex;flex-wrap:wrap;gap:6px;padding:8px;border-bottom:1px solid var(--pixel-border);}
.archive-filters[hidden]{display:none;}
.archive-filters [aria-pressed="true"]{background:var(--selection-bg);color:var(--selection-text);}
.archive-page{padding:var(--project-gap);}
.archive-heading{margin:0 0 var(--project-gap);}
.archive-heading h1{font:600 clamp(28px,5cqw,40px)/1.1 var(--font-display);margin:0 0 8px;}
.archive-heading p{font:14px/1.5 var(--font-body);max-width:50em;margin:0;color:var(--desktop-muted);}
.work-folders{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--project-gap);}
.work-folder{display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-height:152px;text-align:left;padding:20px;background:var(--window-bg);border:1px solid var(--pixel-border);color:var(--desktop-text);}
.work-folder img{image-rendering:pixelated;}
.work-folder strong{font:600 20px var(--font-display);}
.work-folder span{font:12px var(--font-mono);color:var(--desktop-muted);}
.work-folder:hover,.work-folder:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
.archive-request{margin:32px 0 0;font:13px/1.6 var(--font-body);color:var(--desktop-muted);}
.text-link{background:none;color:var(--desktop-text);text-decoration:underline;font:inherit;padding:4px;}
.project-grid,.experiment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--project-gap);align-items:start;}
.project-thumbnail{display:flex;flex-direction:column;align-items:stretch;gap:8px;text-align:left;min-width:0;width:100%;padding:0;border:0;background:none;color:var(--desktop-text);border-radius:0;}
.thumbnail-square{display:block;position:relative;aspect-ratio:1 / 1;overflow:hidden;border:1px solid var(--pixel-border);background:var(--window-bg);width:100%;}
.thumbnail-square img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;image-rendering:auto!important;transform:none!important;filter:none;}
.thumbnail-title{font:600 17px/1.3 var(--font-body);overflow-wrap:anywhere;}
.thumbnail-meta,.thumbnail-labels{font:12px/1.5 var(--font-mono);color:var(--desktop-muted);}
.thumbnail-meta{min-height:1.5em;}
.thumbnail-labels{display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
.project-status{display:inline-block;padding:2px 5px;border:1px solid var(--pixel-border);font:11px/1.4 var(--font-mono);color:var(--desktop-text);background:var(--window-bg);}
.project-thumbnail:hover .thumbnail-title,.project-thumbnail:focus-visible .thumbnail-title{background:var(--selection-bg);color:var(--selection-text);}
.project-thumbnail:focus-visible{outline:2px solid var(--pixel-border);outline-offset:4px;}
.project-thumbnail:hover .thumbnail-square{outline:1px solid var(--pixel-border);outline-offset:1px;}
.image-loading,.image-failed{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;text-align:center;font:12px/1.5 var(--font-mono);color:var(--desktop-muted);}
.image-loading[hidden],.image-failed[hidden],.thumbnail-square img[hidden]{display:none;}
.project-empty{padding:32px 12px;text-align:center;border:1px dashed var(--pixel-border);font:14px/1.6 var(--font-body);}
.project-empty img{image-rendering:pixelated;}
.project-empty h2{font:600 24px var(--font-display);}
.case-path{flex:none;white-space:normal;overflow-wrap:anywhere;line-height:1.5;}
.case-study{container-type:inline-size;background:var(--window-bg);color:var(--desktop-text);padding:0 clamp(16px,4cqw,48px);}
.case-header{padding:40px 0 32px;max-width:760px;margin:auto;}
.case-header h1{font:600 clamp(36px,6cqw,68px)/1.05 var(--font-display);margin:0 0 20px;overflow-wrap:anywhere;}
.case-labels{display:flex;gap:8px;flex-wrap:wrap;}
.case-meta{display:flex;gap:16px 32px;flex-wrap:wrap;font:13px/1.6 var(--font-mono);margin:24px 0 0;}
.case-meta dt{color:var(--desktop-muted);}
.case-meta dd{margin:0;}
.case-text{width:100%;max-width:720px;margin:40px auto;font:17px/1.75 var(--font-body);}
.case-text h2{font:600 32px/1.2 var(--font-display);margin:0 0 16px;}
.case-text p{margin:0 0 18px;}
.case-figure{margin:0 0 var(--project-gap);min-width:0;}
.case-image-frame{position:relative;width:100%;background:var(--window-bg);}
.case-image-frame img{display:block;width:100%;height:auto;image-rendering:auto!important;object-fit:contain;}
.case-image-frame img[hidden]{display:none;}
.case-figure figcaption,.case-video figcaption{font:12px/1.5 var(--font-mono);padding:10px 0;color:var(--desktop-muted);}
.case-image-grid{display:grid;gap:var(--project-gap);align-items:start;margin:32px 0;}
.case-two{grid-template-columns:repeat(2,minmax(0,1fr));}.case-three{grid-template-columns:repeat(3,minmax(0,1fr));}
.case-video{margin:32px 0;}.case-video video{width:100%;aspect-ratio:16/9;}
.case-quote{border-left:2px solid var(--pixel-border);padding-left:24px;}
.case-footer{padding:32px 0 40px;border-top:1px solid var(--pixel-border);display:flex;flex-direction:column;align-items:flex-start;gap:24px;}
.case-footer nav{display:flex;width:100%;gap:var(--project-gap);justify-content:space-between;}
.case-footer nav button{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:8px;padding:16px;min-height:84px;text-align:left;white-space:normal;overflow-wrap:anywhere;}
.case-footer nav span{display:block;width:100%;margin:0;font:14px/1.5 var(--font-body);overflow-wrap:anywhere;}
.case-footer nav button:active:not(:disabled).classic-button{padding:16px;}
.photo-archive .project-grid{margin-top:24px;}
@container(max-width:620px){.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.work-folders{grid-template-columns:1fr;}.work-folder{min-height:88px;display:grid;grid-template-columns:32px 1fr;align-items:center;gap:8px 16px;}.work-folder img{grid-row:span 2;}}
@container(min-width:1050px){.project-grid{grid-template-columns:repeat(4,minmax(0,1fr));}}
@container(max-width:340px){.project-grid{grid-template-columns:1fr;}}
@container(max-width:580px){.case-image-grid{grid-template-columns:1fr;}.case-footer nav{flex-direction:column;}}
@media(max-width:900px),(pointer:coarse){.archive-toolbar button{min-height:44px;}.archive-search input{min-height:44px;}.work-folders{grid-template-columns:1fr;}.project-grid,.experiment-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.photo-archive{container-type:inline-size;}}
@media(max-width:390px){.project-grid,.experiment-grid{grid-template-columns:1fr;}}
