/* Original Peanut Gallery artwork and audio. No drawing or model in the page. */
.work-poster { position:absolute; inset:0; width:100%; height:100%; object-fit:contain; background:#090713; }
.work-media[data-ready="true"] .work-poster { visibility:hidden; }
.work-media-controls { display:flex; gap:6px; flex-shrink:0; }
.work-sound { min-height:36px; border:1px solid #67e8f966; border-radius:5px; padding:6px 10px; background:#071820ed; color:#baf4ff; font:500 .65rem Inter,sans-serif; cursor:pointer; }
.work-media-bar { opacity:0; transition:opacity .2s; }
.work-media:hover .work-media-bar, .work-media:focus-within .work-media-bar, .work-media:not([data-ready="true"]) .work-media-bar { opacity:1; }
.work-cast-heading { margin:38px 0 16px; display:flex; justify-content:space-between; align-items:baseline; gap:20px; }
.work-cast-heading h3 { margin:0; font:600 1.4rem 'Space Grotesk',sans-serif; color:#f3eaff; }
.work-cast-heading p { margin:0; color:#aaa0bc; font-size:.78rem; }
.work-cast { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; }
.work-cast button { min-width:0; position:relative; overflow:hidden; padding:12px 10px 18px; border:1px solid #bd94f033; border-radius:12px; background:radial-gradient(ellipse at 50% 40%,#562b6955,transparent 75%),#110a1b; color:#f1e2ff; cursor:pointer; transition:transform .2s,border-color .2s; }
.work-cast img { width:100%; height:165px; object-fit:contain; display:block; filter:drop-shadow(0 8px 10px #0005); transition:transform .3s; }
.work-cast strong { display:block; font:600 1rem 'Space Grotesk',sans-serif; margin:8px 0; }
.work-cast span { display:block; color:#9be8f5; font-size:.66rem; }
.work-cast button:hover, .work-cast button[aria-pressed="true"] { border-color:#67e8f9aa; transform:translateY(-4px); }
.work-cast button:hover img { transform:rotate(-3deg) scale(1.05); }
.work-cast button[aria-pressed="true"] span { color:#fff; }
.work-feature + .work-feature { margin-top:28px; }
.work-card-decision { grid-column:1 / -1; }
.work-card-decision .work-media { aspect-ratio:16 / 10; }
.work-card-decision h3 { font-size:clamp(1.6rem,3vw,2.3rem); }
.work-card-decision .work-card-copy > p:not(.work-eyebrow) { max-width:920px; }
.work-card-lab { grid-column:1 / -1; display:grid; grid-template-columns:1fr 1fr; align-items:center; }
.work-card-lab .work-media { border-bottom:0; border-right:1px solid #67e8f933; }
@media (max-width:900px) { .work-card-lab { grid-template-columns:1fr; } .work-card-lab .work-media { border-right:0; border-bottom:1px solid #67e8f933; } }
.work-shot-button { display:block; width:100%; padding:0; border:0; color:inherit; cursor:zoom-in; text-align:left; }
.work-shot-button .work-still-label { right:12px; display:flex; justify-content:space-between; gap:12px; }
.work-shot-button .work-still-label b { color:#67e8f9; }
.work-private-preview { display:flex; flex-direction:column; justify-content:center; padding:8%; background:radial-gradient(ellipse at 75% 30%,#16495377,transparent 60%),#071317; }
.work-private-preview span { color:#69dedc; font:.62rem monospace; letter-spacing:.15em; margin-bottom:16px; }
.work-private-preview strong { font:600 clamp(1.4rem,2.6vw,2.4rem)/1.15 'Space Grotesk',sans-serif; color:#ecffff; }
.work-private-preview small { color:#90b2b3; margin-top:18px; font:.68rem/1.6 Inter,sans-serif; }
.work-lab-gallery { aspect-ratio:auto; min-height:326px; padding:18px 20px 15px; background:radial-gradient(ellipse at 30% 45%,#173f5366,transparent 70%),#07101b; }
.work-lab-gallery > .work-eyebrow { margin-bottom:12px; font-size:.58rem; }
.work-lab-shots { display:grid; grid-template-columns:.85fr 1fr; gap:16px; align-items:center; }
.work-lab-shot { min-width:0; padding:0; border:0; background:none; color:#b5d5e5; cursor:zoom-in; text-align:left; }
.work-lab-shot img { display:block; width:100%; height:245px; object-fit:contain; transition:transform .2s; }
.work-lab-shot span { display:flex; justify-content:space-between; gap:8px; margin-top:9px; font:500 .65rem/1.4 'Space Grotesk',sans-serif; }
.work-lab-shot b { color:#67e8f9; font-weight:400; }
@media (hover:hover) { .work-lab-shot:hover img { transform:translateY(-3px); } }
.work-image-dialog { max-width:calc(100vw - 24px); max-height:calc(100dvh - 24px); margin:auto; padding:18px; border:1px solid #78ddeb66; border-radius:13px; background:#080f1b; color:#edf8ff; box-shadow:0 20px 90px #0009; }
.work-image-dialog::backdrop { background:#02040bcc; backdrop-filter:blur(5px); }
.work-image-dialog header { display:flex; align-items:center; justify-content:space-between; gap:22px; margin-bottom:14px; }
.work-image-dialog h2 { margin:0; font:500 .85rem/1.4 'Space Grotesk',system-ui,sans-serif; }
.work-image-dialog button { flex-shrink:0; width:44px; height:44px; border:1px solid #a7ceee40; border-radius:7px; background:#172639; color:#fff; font:24px/1 sans-serif; cursor:pointer; }
.work-image-dialog button:focus-visible { outline:2px solid #67e8f9; outline-offset:3px; }
.work-image-dialog > img { display:block; width:auto; height:auto; max-width:100%; max-height:calc(100dvh - 130px); margin:auto; object-fit:contain; }
@media (max-width:640px) {
  .work-lab-gallery { min-height:0; padding:16px; }
  .work-lab-shots { gap:12px; }
  .work-lab-shot img { height:clamp(172px,53vw,255px); }
  .work-lab-shot span { font-size:.6rem; }
}
.work-fallout-still .work-ghoul { position:absolute; right:0; bottom:0; height:68%; width:25%; object-fit:contain; filter:drop-shadow(-5px 0 10px #0009); }
.work-still-label { position:absolute; top:12px; left:12px; background:#080c0bdd; padding:6px 9px; color:#cfe8d1; font:.57rem monospace; border:1px solid #83ba8d44; border-radius:4px; }
.peanut-host { position:fixed; right:16px; bottom:16px; width:150px; padding:0; border:0; border-radius:0; background:none; box-shadow:none; color:#eee8f7; z-index:35; display:block; }
.peanut-portrait { position:relative; width:142px; height:142px; display:block; margin:0 auto -7px; padding:0; border:0; background:transparent; cursor:pointer; }
.peanut-portrait img { width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 5px 9px #0009); transform-origin:50% 80%; }
.peanut-host .peanut-hide { position:absolute; right:0; top:5px; width:30px; height:30px; padding:0; border:1px solid #b8a3e540; border-radius:50%; background:#170d26e8; color:#cfbadf; font:20px/1 sans-serif; cursor:pointer; }
.peanut-controls { position:relative; padding:10px 8px 8px; text-align:center; border:1px solid #b996de44; border-radius:10px; background:#150b23f2; box-shadow:0 4px 14px #0004; }
.peanut-host .peanut-name { color:#f3e4ff; font:600 .8rem 'Space Grotesk',sans-serif; }
.peanut-controls button { display:block; margin:6px auto 0; width:100%; min-height:32px; background:#6ac7dc12; color:#b8f3fb; border:1px solid #77d4e844; border-radius:5px; font:.69rem Inter,sans-serif; cursor:pointer; }
.peanut-host .peanut-context { margin:7px 0 0; font:.55rem/1.4 Inter,sans-serif; color:#b6a3c8; letter-spacing:0; text-transform:none; overflow-wrap:anywhere; }
.peanut-host .peanut-bubble { position:absolute; right:5px; bottom:100%; width:230px; padding:13px 15px; margin:0 0 8px; border:1px solid #caa4f077; border-radius:13px 13px 3px 13px; background:#1d102aef; box-shadow:0 5px 25px #0005; color:#efdef9; font:.76rem/1.6 Inter,sans-serif; opacity:0; visibility:hidden; transform:translateY(8px); transition:opacity .2s,transform .2s; }
.peanut-host[data-speaking="true"] .peanut-bubble, .peanut-host:hover .peanut-bubble, .peanut-host:focus-within .peanut-bubble { opacity:1; visibility:visible; transform:translateY(0); }
.peanut-waves { position:absolute; bottom:12px; left:10px; color:#91f6d0; font:700 27px/1 monospace; opacity:0; letter-spacing:2px; text-shadow:0 0 10px #45c799; }
.peanut-host[data-speaking="true"] .peanut-portrait img { animation:cast-talk .55s ease-in-out infinite alternate; }
.peanut-host[data-speaking="true"] .peanut-waves { opacity:1; animation:cast-wave .35s ease-in-out infinite alternate; }
@keyframes cast-talk { to { transform:translateY(-3px) rotate(2deg); } }
@keyframes cast-wave { to { transform:scaleY(.45); } }
@media (hover:none) { .work-media-bar { opacity:1; } }
@media (max-width:900px) {
  .peanut-host { position:relative; inset:auto; width:100%; display:grid; grid-template-columns:95px minmax(0,1fr); align-items:center; gap:0 14px; margin:22px 0 0; padding:0 36px 0 0; }
  .peanut-portrait { width:95px; height:100px; margin:0; grid-column:1; grid-row:1; }
  .peanut-controls { grid-column:2; grid-row:1; text-align:left; padding:12px; }
  .peanut-controls button { width:auto; min-width:100px; min-height:44px; margin:6px 0 0; }
  .peanut-host .peanut-hide { top:10px; right:0; width:32px; height:44px; border-radius:6px; }
  .peanut-host .peanut-bubble { position:static; grid-column:1 / -1; grid-row:2; width:auto; margin:12px 0 0; display:none; }
  .peanut-host[data-speaking="true"] .peanut-bubble, .peanut-host:focus-within .peanut-bubble { display:block; }
  .work-cast { gap:8px; }
  .work-cast img { height:130px; }
}
@media (max-width:640px) {
  .work-cast { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .work-cast img { height:110px; }
  .work-cast strong { font-size:.78rem; }
  .work-cast-heading { display:block; }
  .work-cast-heading p { margin-top:8px; }
  .work-media-status { max-width:55%; }
  .work-media:has(.work-sound) .work-media-status { display:none; }
  .work-media:has(.work-sound) .work-media-bar { justify-content:flex-end; }
  .work-sound { min-height:44px; }
}
@media (prefers-reduced-motion:reduce) { .peanut-host *, .work-cast *, .work-media-bar { animation:none !important; transition:none !important; } }
