/* NUVYTERA CITY / CREATOR EXHIBITS — spatial, compact, accessible. */
:root{--cx-surface:#081219;--cx-accent:#a2e9d5;--cx-ink:#eaf8f6;--cx-soft:#9fb8b9}
.cx-toolbar{position:fixed;z-index:96;top:16px;left:18px;right:18px;display:flex;align-items:center;gap:7px;pointer-events:none}
.cx-toolbar>*{pointer-events:auto}
.cx-home,.cx-launch{height:42px;border:1px solid #a2e9d544;background:#071722eb;color:#d6eeee;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;border-radius:12px;padding:0 15px;font:700 10px/1 Inter,sans-serif;letter-spacing:.095em;box-shadow:0 6px 24px #0004;backdrop-filter:blur(20px);transition:border-color .2s,background .2s,transform .2s}
.cx-home:hover,.cx-launch:hover{border-color:#a2e9d5a9;background:#16343c;transform:translateY(-1px)}
.cx-launch-main{background:#a8ecd9;color:#092022;border-color:transparent;box-shadow:0 5px 25px #0c4d4236}
.cx-launch-main:hover{background:#dcfff1;color:#092022}
.cx-chat{margin-left:auto}
.cx-toolbar :focus-visible{outline:2px solid #b7f6e5;outline-offset:3px}
#metroUi #metroActionsToggle{position:absolute;bottom:89px;left:50%;transform:translateX(-50%);height:35px;padding:0 14px;display:flex;align-items:center;gap:15px;justify-content:space-between;background:#081b27ee;color:#ccece9;border:1px solid #78c1b766;border-radius:12px;pointer-events:auto;white-space:nowrap;min-width:134px;font:700 9px Inter,sans-serif;letter-spacing:.12em;box-shadow:0 15px 30px #0005}
#metroActionsToggle span{font-size:16px;color:#8ce8d1}
#metroUi #metroActions{bottom:138px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,transform .2s ease,visibility .2s;transform:translate(-50%,10px) scale(.97)}
#metroUi.actions-expanded #metroActions{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0) scale(1)}
#metroUi #metroVitals{bottom:28px;min-width:0;box-shadow:0 15px 33px #0004;border-radius:12px;background:#081b27e9;border-color:#78c1b749}
#metroUi #metroCredits{color:#b2efcd}
#metroUi #metroFeed{top:77px;left:18px}
#metroUi #metroTopRight{top:76px;right:18px}
#metroUi #metroCamera{top:75px}
#metroUi #metroHint{bottom:131px;opacity:.8}
/* Older overlays no longer compete with the interactive city controls. */
.topbar,.bottom-actions,.intro,.left-rail,.agent-card,.buildbar{display:none!important}
#world .cx-toolbar{position:fixed}
.cx-modal[hidden]{display:none!important}
.cx-modal{position:fixed;z-index:220;inset:0;display:grid;place-items:center;padding:20px;color:var(--cx-ink);font-family:Inter,system-ui,sans-serif}
.cx-backdrop{position:absolute;inset:0;background:#02070dc9;backdrop-filter:blur(17px)}
.cx-shell{z-index:1;position:relative;width:min(1140px,100%);height:min(820px,calc(100dvh - 40px));display:flex;flex-direction:column;overflow:hidden;border:1px solid #94e3d045;border-radius:22px;background:linear-gradient(135deg,#102630 0%,#0b171d 34%,#080d17 100%);box-shadow:0 30px 100px #000c, inset 0 1px #b0f9de15}
.cx-top{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:18px 27px;border-bottom:1px solid #b2f2de24;flex-shrink:0}
.cx-brand{display:flex;flex-direction:column;gap:5px;color:#effff8}
.cx-brand strong{font:700 17px 'Space Grotesk',sans-serif;letter-spacing:.11em}
.cx-eyebrow,.cx-kicker{font:700 9px Inter,sans-serif;color:#91ead7;letter-spacing:.19em}
.cx-close{background:#172b32;border:1px solid #ffffff31;color:#f0f8ff;border-radius:10px;padding:11px 15px;font:700 10px Inter,sans-serif;letter-spacing:.1em}
.cx-layout{display:grid;grid-template-columns:minmax(320px,.92fr) minmax(300px,1.08fr);min-height:0;flex:1;overflow:hidden}
.cx-column{min-width:0;overflow-y:auto;scrollbar-color:#3d7474 #111e25;scrollbar-width:thin}
.cx-editor{padding:29px 34px 38px;border-right:1px solid #ffffff18}
.cx-gallery{padding:29px 32px 38px;background:radial-gradient(ellipse at 65% 12%,#1739417a,transparent 45%),#07141bbd}
.cx-title{font:600 clamp(27px,3vw,43px)/1.08 'Space Grotesk',sans-serif;letter-spacing:-.055em;margin:12px 0}
.cx-subtitle{font:400 12px/1.7 Inter,sans-serif;color:#a5bdc1;max-width:410px;margin:0 0 24px}
.cx-label{display:block;font:700 9px Inter,sans-serif;color:#acd3d1;letter-spacing:.11em;margin:13px 0 6px}
.cx-field{width:100%;min-height:42px;border:1px solid #76bdaf44;border-radius:9px;padding:11px 12px;color:#e9f9f4;background:#091923;outline:none;font:500 12px Inter,sans-serif;letter-spacing:normal;margin-top:7px}
.cx-field::placeholder{color:#698e99}
.cx-field:focus{border-color:#a7eed4;box-shadow:0 0 0 3px #79d7bc18}
.cx-field[type=color]{padding:3px;width:72px;height:39px;min-height:39px;cursor:pointer}
.cx-section{margin-top:24px;padding:22px 17px 19px;border:1px solid #73bbae2b;border-radius:14px;background:#14252b7d}
.cx-section .cx-eyebrow{display:block;margin:0 0 18px}
.cx-section .cx-label{margin-top:12px}
.cx-check{display:flex;align-items:flex-start;gap:9px;margin:13px 0;color:#b0cac5;font:11px/1.5 Inter,sans-serif;letter-spacing:0}
.cx-check input{accent-color:#97e5cb;margin-top:3px}
.cx-controls{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 0}
.cx-btn{min-height:37px;padding:10px 13px;border-radius:8px;background:#173139;color:#e5f5f2;border:1px solid #76b8ac55;font:700 9px Inter,sans-serif;letter-spacing:.09em;cursor:pointer;transition:background .2s,border-color .2s}
.cx-btn:hover{border-color:#b3f7e0;background:#22474c}
.cx-primary{background:#adebd9;border-color:#adebd9;color:#082221}
.cx-primary:hover{background:#e1fff3;color:#082221}
.cx-btn:focus-visible,.cx-close:focus-visible{outline:2px solid #e6fff6;outline-offset:2px}
.cx-status{font-size:11px;line-height:1.6;color:#a4e5d7;min-height:20px}
.cx-share{margin:14px 0 0;width:100%;border:1px solid #aeedd7;border-radius:9px;padding:12px;color:#e0f8f5;background:#081921;font-size:11px}
.cx-share[hidden]{display:none}
.cx-preview{display:flex;flex-direction:column;gap:11px;margin-top:16px}
.cx-shop-header{padding:27px 26px 30px;background:linear-gradient(135deg,#193c46,#0c1d28);border:1px solid #77cbb34d;border-radius:16px;box-shadow:0 14px 35px #0005}
.cx-shop-header h2{font:700 clamp(25px,3vw,38px)/1.03 'Space Grotesk',sans-serif;letter-spacing:-.045em;margin:14px 0 10px;color:#f2fffa}
.cx-shop-header p{font:400 12px/1.65 Inter,sans-serif;color:#bbd4d4;margin:0}
.cx-offer{display:flex;align-items:flex-start;gap:17px;background:#112732;border:1px solid #6da69b4a;border-radius:13px;padding:17px}
.cx-offer-index{font:600 22px 'Space Grotesk',sans-serif;color:#82c9c2;min-width:28px}
.cx-offer-copy{flex:1;min-width:0}
.cx-offer-type{font:700 9px Inter,sans-serif;letter-spacing:.16em;color:#88e5d5}
.cx-offer h3{font:700 16px/1.2 'Space Grotesk',sans-serif;letter-spacing:-.025em;margin:8px 0}
.cx-offer p{font:400 11px/1.55 Inter,sans-serif;margin:0 0 10px;color:#aec9cb}
.cx-offer-tags{display:flex;gap:6px;flex-wrap:wrap}
.cx-tag{border:1px solid #ffffff20;border-radius:5px;padding:5px 7px;font:700 9px Inter,sans-serif;color:#c7e5dc}
.cx-offer-actions{display:flex;flex-direction:column;gap:6px;min-width:112px}
.cx-offer-actions .cx-btn{min-width:112px}
.cx-remove{color:#efb6a4;border-color:#e38f773d}
.cx-add{align-self:flex-start;margin:7px 0}
.cx-empty{color:#afcac9;font:12px/1.7 Inter,sans-serif;border:1px dashed #5f998d66;border-radius:13px;padding:22px}
.cx-disclaimer{font:10px/1.65 Inter,sans-serif;color:#769c9e;margin-top:25px}
/* Explore-first visitors see offers, not a duplicated form/marketing page. */
.cx-modal:not(.editing) .cx-editor{display:none}
.cx-modal:not(.editing) .cx-layout{grid-template-columns:minmax(0,1fr)}
.cx-modal:not(.editing) .cx-gallery{max-width:none;padding:34px 45px}
.cx-modal:not(.editing) .cx-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}
.cx-modal:not(.editing) .cx-shop-header{grid-column:1/-1}
.cx-modal:not(.editing) .cx-offer{flex-direction:column}
.cx-modal:not(.editing) .cx-offer-actions{flex-direction:row;flex-wrap:wrap}
@media(max-width:1000px){
 .cx-toolbar{top:9px;left:9px;right:9px;gap:4px}.cx-home,.cx-launch{height:38px;padding:0 9px;letter-spacing:.045em;font-size:9px}
 #metroUi #metroTopRight{top:58px}
 #metroUi #metroCamera{top:64px;left:42%;}
 #metroUi #metroFeed{top:107px;left:9px}
 .cx-shell{width:100%}
 .cx-editor,.cx-gallery{padding:23px}
}
@media(max-width:680px){
 .cx-toolbar{flex-wrap:wrap;justify-content:flex-start;gap:4px}.cx-chat{margin-left:auto}
 .cx-home,.cx-launch{height:34px;padding:0 8px;font-size:8px;border-radius:8px}
 #metroUi #metroActionsToggle{bottom:116px}
 #metroUi #metroActions{bottom:162px;max-width:calc(100vw - 16px);width:max-content;flex-wrap:wrap;justify-content:center;gap:3px}
 #metroUi #metroActions button{font-size:9px;padding:8px 9px}
 #metroUi #metroVitals{bottom:55px;white-space:nowrap;padding:6px 10px}
 #metroUi #metroHint{bottom:173px;max-width:85vw;white-space:normal;text-align:center;font-size:8px}
 #metroUi #metroTopRight{top:88px;right:9px}
 #metroUi #metroCamera{top:91px;left:11px;transform:none}
 #metroUi #metroFeed{top:145px;left:9px;max-width:190px}
 .cx-modal{padding:0;display:block}
 .cx-shell{height:100dvh;max-height:100dvh;border:0;border-radius:0}
 .cx-top{padding:12px 16px}
 .cx-brand strong{font-size:13px}
 .cx-eyebrow,.cx-kicker{font-size:8px}
 .cx-layout{grid-template-columns:minmax(0,1fr);overflow-y:auto}
 .cx-column{overflow:visible}
 .cx-editor{border-right:0;border-bottom:1px solid #ffffff23;padding:19px}
 .cx-gallery{padding:20px}
 .cx-title{font-size:28px}
 .cx-shell .cx-offer{flex-direction:column}
 .cx-offer-actions{flex-direction:row;flex-wrap:wrap;width:100%}
 .cx-modal:not(.editing) .cx-gallery{padding:19px}
 .cx-modal:not(.editing) .cx-preview{grid-template-columns:1fr}
 .cx-offer-index{font-size:18px}
 .cx-offer .cx-btn{min-width:0}
}
@media(prefers-reduced-motion:reduce){.cx-toolbar *,#metroActions{transition:none!important}}

.cx-publish-link{display:inline-flex;padding:12px 13px;margin:0 0 12px;background:#173b3c;border:1px solid #82ddc87a;border-radius:9px;color:#b5f4dc;text-decoration:none;font:700 10px Inter,sans-serif;letter-spacing:.09em}
.cx-publish-link:hover{background:#1d5050;color:#fff}

.cx-directory{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:0 0 8px;padding:10px 0 16px;border-bottom:1px solid #79d4bc32}.cx-directory-label{font:700 9px Inter,sans-serif;letter-spacing:.16em;color:#a7ebd8;margin-right:6px}.cx-directory-person{padding:9px 12px;background:#1a3d43;border-color:#5c9d94;color:#e6fcf1}.cx-modal:not(.editing) .cx-directory{grid-column:1/-1}

/* The legacy lesson, voice and activity controls are replaced by a single clean chat entry. */
.chat-panel .society-modes,.chat-panel .teach-form,.chat-panel .resident-mini,.chat-panel .chat-footer,.chat-panel #addMyAI{display:none!important}
.chat-panel .chat-form{display:block!important}
#metroUi #metroFeed{display:none!important}
#metroUi #metroActions #metroCamera,#metroUi #metroActions #metroMapToggle{position:static!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;transform:none!important;font-size:10px!important;margin:0!important}
#metroUi #metroTopRight{pointer-events:none}#metroUi #metroMapWrap{pointer-events:auto}
