/* The project floor floats over a quiet, animated deep-space atmosphere. */
body{background:#070914;color:#e9e8fb;color-scheme:dark}
body>.preview{background:#0b1020;color:#99a7c6;border-bottom:1px solid #93a8ec1a}
body>header{background:#0b0e20df;border-color:#a1adff26;color:#efedff;backdrop-filter:blur(18px)}
body>header .brand{color:#f0edff}body small{color:#a4aecb}
.world{background:#070914;isolation:isolate}
.nebula-atmosphere{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:radial-gradient(ellipse at 76% 40%,#132a553d,transparent 62%),#070914}
.nebula-cloud{position:absolute;inset:-15%;opacity:.9;will-change:transform;transform:translate3d(0,0,0);background:radial-gradient(ellipse at 31% 62%,#743bc450 0%,#46228120 24%,transparent 50%),radial-gradient(ellipse at 67% 34%,#2156bf60 0%,#153b7625 29%,transparent 53%),radial-gradient(ellipse at 55% 64%,#702db341,transparent 42%);animation:nebula-drift 42s ease-in-out infinite alternate}
.nebula-cloud.second{opacity:.6;transform:rotate(-15deg);background:radial-gradient(ellipse at 40% 42%,#364dce45,transparent 39%),radial-gradient(ellipse at 70% 70%,#a342b537,transparent 45%);animation:nebula-drift 57s ease-in-out -18s infinite alternate-reverse}
.nebula-cloud{filter:hue-rotate(var(--nebula-tint,0deg))}
#nebula-particles{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
#nebula-webgl{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.nebula-atmosphere.webgl-ready .nebula-cloud{display:none}
@keyframes nebula-drift{from{transform:translate3d(-3%,-2%,0) rotate(-6deg) scale(1)}to{transform:translate3d(4%,3%,0) rotate(7deg) scale(1.12)}}
#map{z-index:1;background:transparent!important}
#map > rect[fill="url(#grid)"]{display:none}
#map .cell{fill:#11172b;fill-opacity:.27;stroke:#adbce26b;stroke-width:.65}
#map .cell.occupied{fill:#11172b;fill-opacity:.27}
#map .cell:hover,#map .cell:focus-visible{fill:url(#selection-occlusion);fill-opacity:1;stroke:#fff;filter:drop-shadow(0 1px 4px #ffffffb0)}
#map .cell.search-hit{fill:#5e55ad!important;fill-opacity:.45;stroke:#b8b4ff!important}
body.search-hovering #map .cell.search-hit{fill:#11172b!important;fill-opacity:.27;stroke:#adbce26b!important}
body.search-hovering #map .cell.search-hit:hover{fill:url(#selection-occlusion)!important;fill-opacity:1;stroke:#fff!important}
#map .grid-led{visibility:visible}
.world>.tag{color:#a7a5da}.world>h1{color:#f2edff;text-shadow:0 2px 24px #080a20}.world>p{color:#a7b1d0}
.world .pulse{display:block;stroke:#a3a9ef;opacity:.28}
body .sidebar{background:#0c1123df;border-color:#9eabeb26;color:#dce0f2;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.sidebar p,.sidebar .tag{color:#a6b0cb}.sidebar h2,.sidebar h3{color:#ececff}
#messages article{background:#1a2342a6;border-color:#7c85c9}#messages article p{color:#c2cbe3}
body #splitter{background:#8290d820}body button{background:#5650a0;color:#f6f2ff;border:1px solid #b8b1ff21}body button:hover{filter:brightness(1.14)}
body button.secondary,body .secondary{background:#17213bdf!important;color:#d5ddf5!important;border-color:#9eabeb30}
body input,body textarea,body select{background:#10182e;color:#e5e8fb;border-color:#737fa657}
body input::placeholder,body textarea::placeholder{color:#8996b5}
body .ground-controls,body .site-stats{background:#10172be8;border-color:#7f8ebc40;color:#b4bfd9;box-shadow:0 8px 30px #02040d40}
body .ground-controls label,body .site-stats strong{color:#d3d9ef}body .creator-credit{color:#9ca6c2}
body #ground-color{accent-color:#9c8eff}
#nebula-motion{display:block;margin-top:9px;padding:6px 9px;width:100%;font-size:11px;border-radius:6px;background:#50457c65;color:#d7d1f7}
.nebula-temp-labels{display:flex;justify-content:space-between;margin-top:5px;font-size:10px;color:#aab4d5}.nebula-temp-labels span:last-child{color:#dfa0ca}
body.nebula-paused .nebula-cloud{animation-play-state:paused}
body #project-search{background:#10172bef;border-color:#7f8ebc40;box-shadow:0 8px 30px #02040d40}
body #project-search label{color:#d0d7f2}body #project-search-input{background:#0b1124;color:#e9e9fc}
body #project-search-clear{color:#b7bfe1}body #project-search-results p{color:#a7b2ce}
body .project-search-result{color:#d2d9f5;border-color:#7d8bb837}body .project-search-result:hover{background:#7773c62b}
body dialog{background:#10162a;color:#e3e7f9;border-color:#8794cb45;box-shadow:0 24px 100px #0008}
body dialog p,body dialog small{color:#b3bed9}body dialog::backdrop{background:#050716a6}
body #project-login,body #project-access-manager{background:#10162a;color:#e3e7f9}
body #access-status{background:#10162a}body #project-access-manager .access-close{background:#262d4e;color:#d9def5}
body .choice{background:#1c2541;color:#c0cbe7}body .choice.selected{border-color:#aaa0f4;background:#36315a}
body .create-scroll-body+.actions{background:#10162a!important;border-color:#8794cb45!important}
/* Project cards use dark glass with readable foregrounds. */
body #project-menu{background:#10162af2;color:#edf0ff;border:1px solid #8995c333;box-shadow:0 18px 54px #02040d65;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
body #project-menu::before{background:#10162af2;border-color:#8995c333}
body #project-menu h2,body #project-menu label,body #project-menu .bubble-x{color:#f0f2ff}
body #project-menu p,body #project-menu .tag,body #project-menu a{color:#c4cee9}
body #project-menu small,body #project-menu #project-access-details{color:#acb9d7}
body #project-menu textarea,body #project-menu input{background:#0b1122;color:#f0f2ff;border-color:#7483ad60}
body .sidebar{border-left-color:transparent}
body .bubble-content,body dialog,body .sidebar,body .create-scroll-body{scrollbar-width:thin;scrollbar-color:#b4bdd7 transparent}
body ::-webkit-scrollbar{width:9px;height:9px;background:transparent}
body ::-webkit-scrollbar-track,body ::-webkit-scrollbar-corner{background:transparent}
body ::-webkit-scrollbar-thumb{background:#a9b6d3;border:2px solid transparent;border-radius:8px;background-clip:padding-box}
body ::-webkit-scrollbar-thumb:hover{background-color:#d2daf0}
body ::-webkit-scrollbar-button{display:block;width:9px;height:12px;background-color:transparent;background-position:center;background-repeat:no-repeat;background-size:7px 7px}
body ::-webkit-scrollbar-button:vertical:decrement{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath d='M1 6L4 2L7 6' fill='none' stroke='%23bac5df' stroke-width='1.3'/%3E%3C/svg%3E")}
body ::-webkit-scrollbar-button:vertical:increment{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath d='M1 2L4 6L7 2' fill='none' stroke='%23bac5df' stroke-width='1.3'/%3E%3C/svg%3E")}
@media(prefers-reduced-motion:reduce){.nebula-cloud{animation:none;will-change:auto}}
/* Login uses the same dark surface as its light foreground text. */
body #account-login{background:#10162a!important;color:#edf0ff;color-scheme:dark}
body #account-login h2,body #account-login label{color:#edf0ff}
body #account-login p{color:#c4cee9}
body #account-login p[role="alert"]{color:#ffb4b4}
body #account-login #show-password{color:#d5ddf5;background:#17213b}
body #account-login input:focus-visible,body #account-login button:focus-visible{outline:2px solid #b8b1ff;outline-offset:3px}

#appearance-setting{display:block;margin-bottom:10px}#portal-appearance{display:block;width:100%;margin-top:5px}
