/* A single game world fills the viewport; the shell puts its HUD above it. */
.ac08-layer { position:fixed; inset:0; margin:0; padding:0; width:100%; height:100dvh; z-index:0; isolation:isolate; }
.ac08-layer[hidden], .ac08-viewport[hidden] { display:none; }
.ac08-viewport { position:absolute; inset:0; width:100%; height:100%; overflow:hidden;
  --ac-world-backdrop:url('/assets/textures/atmosphere/lavender-workshop-sky.png');
  background:radial-gradient(ellipse at 78% 70%,#936b8355 0,transparent 56%),linear-gradient(165deg,#24243a 0%,#37304d 55%,#443752 100%); }
.ac08-viewport::before {content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background-image:var(--ac-world-backdrop,none);background-size:cover;background-position:center;opacity:.82;}
.ac08-canvas {position:relative;z-index:1;cursor:grab;}
.ac08-canvas:active {cursor:grabbing;}
.ac08-canvas.ac08-canvas--dragging {cursor:grabbing!important;user-select:none;}
.ac08-canvas:focus-visible { outline:3px solid var(--ac-mint,#96d8c6); }
.ac08-notice {position:absolute;bottom:110px;left:22px;z-index:2;margin:0;max-width:340px;padding:8px 12px;background:#272642b3;border:1px solid #96d8c633;border-radius:8px;color:var(--ac-paper,#f4eedb);font:600 12px/1.45 var(--ac-font-body,system-ui,sans-serif);overflow-wrap:anywhere;pointer-events:none; }
.ac08-layer>.ac-button {position:absolute;bottom:162px;left:22px;z-index:3;}
.ac08-world-labels {position:absolute;inset:0;pointer-events:none;z-index:2;}
.ac08-world-labels[hidden] {display:none;}
.ac08-world-label {position:absolute;left:0;top:0;pointer-events:auto;padding:5px 12px 6px;border:2px solid #96d8c6;border-bottom-color:#417f72;border-radius:4px;background:#f4eedbf2;color:#272642;box-shadow:0 3px 0 #614064,0 6px 12px #17142740;font:800 11px/1.2 'AC Arcade','AC Nunito',sans-serif;letter-spacing:.055em;white-space:nowrap;cursor:pointer;}
.ac08-world-label:hover {background:#96d8c6;}
.ac08-world-label:focus-visible {outline:3px solid #f4eedb;outline-offset:3px;}
.ac08-world-label--workshop {border-color:#eaa4b9;border-bottom-color:#ae618e;}
.ac08-slot-label {position:absolute;left:0;top:0;pointer-events:auto;min-height:26px;padding:5px 9px;border:1px solid #eaa4b9;border-radius:5px;background:#272642e6;color:#f4eedb;box-shadow:0 3px 6px #17142730;font:800 10px/1.2 'AC Nunito',sans-serif;letter-spacing:.045em;white-space:nowrap;cursor:pointer;}
.ac08-slot-label[hidden] {display:none;}
.ac08-slot-label--agent {background:#96d8c6;color:#272642;border:2px solid #286b61;box-shadow:0 3px 0 #417f72;font-size:11px;padding:5px 11px;}
.ac08-slot-label--working::before {content:"";display:inline-block;width:6px;height:6px;margin-right:6px;border-radius:50%;background:#286b61;box-shadow:0 0 0 2px #b2e8d9;}
.ac08-slot-label--locked::before {content:"";display:inline-block;width:7px;height:7px;margin-right:6px;border:1.5px solid currentColor;border-radius:2px;box-shadow:0 -3px 0 -1px #272642,0 -4px 0 -1px currentColor;}
.ac08-slot-label:hover {background:#ae618e;}
.ac08-slot-label--agent:hover {background:#b2e8d9;}
.ac08-slot-label:focus-visible {outline:3px solid #96d8c6;outline-offset:3px;}
@media(max-width:700px) {.ac08-layer {height:100dvh;}.ac08-notice {bottom:88px;left:10px;max-width:220px;font-size:11px;padding:6px 8px;}.ac08-world-label {font-size:9px;padding:4px 7px;border-width:1px;}.ac08-layer>.ac-button {bottom:142px;left:10px;}}
@media(prefers-reduced-motion:no-preference) {.ac08-world-label {transition:background-color .14s ease,box-shadow .14s ease;}.ac08-world-label:hover {box-shadow:0 3px 0 #614064,0 0 20px #96d8c655;}}
