:root {
  color-scheme: light;
  --bg: #f4f7fb;
  --panel: #ffffff;
  --panel-2: #f8fafc;
  --line: #dce3ec;
  --line-strong: #c7d2df;
  --text: #172033;
  --muted: #68758a;
  --accent: #176bff;
  --accent-2: #0050d8;
  --accent-soft: #eaf2ff;
  --cyan: #00a8c6;
  --green: #18a36a;
  --red: #d64b55;
  --shadow: 0 18px 50px rgba(27, 45, 77, .12);
  --topbar: 64px;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

* { box-sizing: border-box; }
[hidden] { display: none !important; }
html, body { margin: 0; min-height: 100%; color: var(--text); background: var(--bg); }
body { font-size: 14px; line-height: 1.45; }
button, input, select, textarea { font: inherit; color: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }

.app-topbar {
  height: var(--topbar); display: flex; align-items: center; gap: 22px; padding: 0 20px;
  border-bottom: 1px solid var(--line); background: rgba(255, 255, 255, .94);
  backdrop-filter: blur(16px); position: relative; z-index: 100;
}
.brand { display: flex; align-items: center; gap: 11px; text-decoration: none; min-width: max-content; }
.brand > span:last-child { display: flex; flex-direction: column; line-height: 1.08; }
.brand strong { font-size: 17px; letter-spacing: -.025em; }
.brand small { color: var(--muted); font-size: 9px; letter-spacing: .055em; text-transform: uppercase; margin-top: 4px; }
.brand-mark { position: relative; width: 34px; height: 34px; transform: rotate(-12deg); }
.brand-mark i { position: absolute; width: 22px; height: 22px; border: 2px solid var(--accent); border-radius: 7px; transform: rotate(30deg) skew(-7deg); }
.brand-mark i:nth-child(1) { left: 1px; top: 8px; opacity: .28; }
.brand-mark i:nth-child(2) { left: 7px; top: 4px; opacity: .58; }
.brand-mark i:nth-child(3) { left: 12px; top: 0; background: linear-gradient(145deg, #5ea0ff, var(--accent)); box-shadow: 0 5px 15px rgba(23,107,255,.28); }
.topbar-spacer, .toolbar-spacer { flex: 1; }
.topbar-actions { display: flex; align-items: center; gap: 10px; margin-left: auto; min-width: 0; }
.workspace-switcher { display: flex; align-items: center; gap: 7px; }
.workspace-switcher label { font-size: 11px; color: var(--muted); text-transform: uppercase; letter-spacing: .07em; }
select, input, textarea {
  border: 1px solid var(--line-strong); border-radius: 9px; background: #fff; outline: none;
  transition: border-color .15s, box-shadow .15s;
}
select:focus, input:focus, textarea:focus { border-color: var(--accent); box-shadow: 0 0 0 3px rgba(23,107,255,.12); }
.workspace-switcher select { width: 210px; padding: 8px 30px 8px 10px; }
.language-switch { display: flex; border: 1px solid var(--line); border-radius: 8px; overflow: hidden; }
.language-switch a { padding: 6px 8px; color: var(--muted); font-size: 11px; font-weight: 700; text-decoration: none; }
.language-switch a[aria-current="true"] { color: var(--accent); background: var(--accent-soft); }
.user-chip { max-width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--muted); font-size: 12px; }

.button, .icon-button, .round-button {
  border: 1px solid var(--line-strong); border-radius: 9px; background: #fff; text-decoration: none;
  display: inline-flex; align-items: center; justify-content: center; gap: 7px; cursor: pointer;
  font-weight: 700; transition: background .15s, border-color .15s, color .15s, transform .1s, box-shadow .15s;
}
.button { min-height: 36px; padding: 7px 13px; }
.button:hover, .icon-button:hover, .round-button:hover { border-color: #9fb1c7; background: #f8fafc; }
.button:active, .icon-button:active, .round-button:active { transform: translateY(1px); }
.button.primary { color: #fff; border-color: var(--accent); background: linear-gradient(180deg, #2c7cff, var(--accent)); box-shadow: 0 7px 18px rgba(23,107,255,.22); }
.button.primary:hover { background: var(--accent-2); }
.button.subtle { background: var(--panel-2); color: #445067; }
.button.large { min-height: 48px; padding: 12px 20px; font-size: 15px; }
.button.xr { color: #5e36a5; border-color: #cbbbed; background: #f8f4ff; }
.button:disabled { opacity: .45; cursor: not-allowed; box-shadow: none; }
.icon-button { width: 34px; height: 34px; padding: 0; font-size: 19px; }
.round-button { width: 38px; height: 38px; padding: 0; border-radius: 50%; color: var(--accent); }

.eyebrow { margin: 0 0 5px; color: var(--accent); font-weight: 800; font-size: 10px; letter-spacing: .14em; text-transform: uppercase; }
.notice { border: 1px solid #bed4f5; background: #eff6ff; padding: 10px 12px; border-radius: 10px; color: #315479; }
.notice.error { border-color: #f0b9bf; color: #8e2832; background: #fff2f3; }

/* Authentication */
.auth-page { min-height: 100vh; background: radial-gradient(circle at 25% 15%, #dbeafe 0, transparent 32%), radial-gradient(circle at 80% 75%, #e5d9ff 0, transparent 28%), #f5f8fc; }
.auth-page .topbar-actions { display: none; }
.auth-shell { min-height: calc(100vh - var(--topbar)); display: grid; place-items: center; padding: 36px 20px; }
.auth-card { width: min(520px, 100%); text-align: center; padding: 48px; background: rgba(255,255,255,.9); border: 1px solid rgba(203,214,229,.9); border-radius: 24px; box-shadow: var(--shadow); }
.auth-card h1 { font-size: clamp(30px, 6vw, 46px); letter-spacing: -.045em; line-height: 1; margin: 10px 0 18px; }
.auth-card > p:not(.eyebrow) { color: var(--muted); font-size: 16px; margin: 0 auto 26px; max-width: 420px; }
.auth-card .button { margin-top: 12px; }
.hero-orbit { width: 120px; height: 120px; margin: 0 auto 28px; position: relative; display: grid; place-items: center; perspective: 500px; }
.hero-orbit span { position: absolute; inset: 12px; border: 1px solid rgba(23,107,255,.38); border-radius: 34%; animation: orbit 9s linear infinite; }
.hero-orbit span:nth-child(2) { transform: rotateX(68deg) rotateZ(45deg); animation-direction: reverse; animation-duration: 12s; }
.hero-orbit span:nth-child(3) { transform: rotateY(68deg) rotateZ(15deg); animation-duration: 15s; }
.hero-orbit b { width: 62px; height: 62px; display: grid; place-items: center; color: #fff; background: linear-gradient(145deg,#62a4ff,#185ad1); border-radius: 18px; font-size: 23px; box-shadow: 0 18px 35px rgba(23,107,255,.28); transform: rotate(-8deg); }
@keyframes orbit { to { transform: rotate(360deg) rotateX(22deg); } }
.auth-features { margin-top: 34px; padding-top: 22px; border-top: 1px solid var(--line); display: flex; justify-content: center; gap: 24px; color: var(--muted); font-size: 11px; }
.auth-features b { color: var(--text); margin-right: 3px; }

/* Worlds catalog */
.worlds-shell { max-width: 1400px; margin: 0 auto; padding: 45px 30px 70px; }
.page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 28px; }
.page-heading h1 { font-size: 42px; letter-spacing: -.045em; margin: 0; }
.page-heading p:last-child { color: var(--muted); max-width: 690px; margin: 8px 0 0; }
.world-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(330px,1fr)); gap: 22px; }
.world-card { border: 1px solid var(--line); border-radius: 18px; background: var(--panel); overflow: hidden; box-shadow: 0 8px 28px rgba(37,54,83,.05); transition: transform .18s, box-shadow .18s, border-color .18s; }
.world-card:hover { transform: translateY(-3px); box-shadow: var(--shadow); border-color: #c4d1e1; }
.world-preview { display: block; height: 190px; position: relative; overflow: hidden; background: linear-gradient(150deg,#e9f3ff,#edf1ff 55%,#f9fbfe); perspective: 500px; }
.preview-grid { position: absolute; inset: 0; background-image: linear-gradient(rgba(80,119,170,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(80,119,170,.12) 1px,transparent 1px); background-size: 24px 24px; transform: rotateX(58deg) rotateZ(-24deg) scale(1.5); transform-origin: center 75%; }
.preview-building { position: absolute; bottom: 43px; width: 54px; height: 72px; border: 2px solid #5d83bd; background: rgba(255,255,255,.65); transform: skewY(-10deg); box-shadow: inset 0 -42px rgba(56,127,235,.08); }
.preview-building::before, .preview-building::after { content:""; position:absolute; left:8px; right:8px; height:2px; background:#7e9bc4; }
.preview-building::before { top:22px; }.preview-building::after { top:45px; }
.preview-building.one { left:24%; }.preview-building.two { left:45%; height:95px; width:66px; }.preview-building.three { left:70%; height:58px; }
.world-card-body { padding: 21px; }
.world-card-body > div:first-child { display: flex; align-items: center; gap: 7px; color: var(--muted); }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--green); box-shadow: 0 0 0 3px rgba(24,163,106,.12); }
.world-card code { font-size: 11px; }
.world-card h2 { margin: 10px 0 7px; font-size: 21px; letter-spacing: -.025em; }
.world-card p { color: var(--muted); min-height: 42px; margin: 0; }
.world-card footer { margin-top: 20px; padding-top: 14px; border-top: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.world-card footer small { color: var(--muted); }
.empty-state { grid-column: 1/-1; min-height: 340px; border: 1px dashed var(--line-strong); border-radius: 18px; display: grid; place-content: center; text-align: center; color: var(--muted); }
.empty-cube { width: 66px; height: 66px; border-radius: 18px; margin: 0 auto 16px; display: grid; place-items: center; background: var(--accent-soft); color: var(--accent); font-weight: 900; font-size: 20px; transform: rotate(-8deg); }

/* Modal */
.modal { border: 0; padding: 0; border-radius: 17px; width: min(520px,calc(100vw - 30px)); color: var(--text); box-shadow: 0 30px 90px rgba(20,34,57,.28); }
.modal::backdrop { background: rgba(21,31,48,.4); backdrop-filter: blur(4px); }
.modal form { padding: 23px; display: grid; gap: 15px; }
.modal header, .modal footer { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.modal h2 { margin: 0; letter-spacing: -.025em; }
.modal label { display: grid; gap: 6px; font-size: 12px; font-weight: 700; }
.modal input, .modal textarea { padding: 10px 12px; resize: vertical; }
.modal footer { padding-top: 7px; justify-content: flex-end; }
.modal.compact { width: min(460px,calc(100vw - 30px)); }

/* Editor shell */
.editor-page { height: 100vh; overflow: hidden; }
.editor-page .app-topbar { padding-left: 15px; padding-right: 15px; }
.editor-page .brand small { display: none; }
.editor-world-title { display: flex; min-width: 0; align-items: center; gap: 10px; }
.editor-world-title a { color: var(--muted); text-decoration: none; font-size: 12px; }
.editor-world-title > span { width: 1px; height: 22px; background: var(--line); }
.editor-world-title strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 310px; }
.editor-world-title code { padding: 3px 7px; border-radius: 6px; color: var(--muted); background: var(--panel-2); font-size: 10px; }
.editor-shell {
  height: calc(100vh - var(--topbar)); display: grid; overflow: hidden;
  grid-template-columns: 274px minmax(400px,1fr) 300px;
  grid-template-rows: 54px minmax(0,1fr) 76px;
  grid-template-areas: "toolbar toolbar toolbar" "library viewport inspector" "timeline timeline timeline";
  background: #e9eef5;
}
.editor-toolbar { grid-area: toolbar; display: flex; align-items: center; gap: 9px; padding: 8px 11px; border-bottom: 1px solid var(--line); background: #fff; z-index: 20; }
.segmented { display: flex; padding: 3px; border: 1px solid var(--line); border-radius: 10px; background: var(--panel-2); }
.segmented button { border: 0; border-radius: 7px; background: transparent; padding: 6px 9px; color: var(--muted); cursor: pointer; font-size: 12px; }
.segmented button.active { color: var(--accent); background: #fff; box-shadow: 0 2px 7px rgba(29,45,70,.12); }
.editor-search { width: min(370px,28vw); position: relative; display: flex; align-items: center; border: 1px solid var(--line-strong); border-radius: 9px; background: #fff; }
.editor-search > span { padding-left: 10px; color: var(--muted); font-size: 20px; }
.editor-search input { min-width: 0; width: 100%; border: 0; box-shadow: none; padding: 8px; }
.editor-search button { border: 0; border-left: 1px solid var(--line); background: var(--panel-2); height: 34px; padding: 0 10px; cursor: pointer; }
.search-results { position: absolute; top: calc(100% + 7px); left: 0; width: 100%; max-height: 320px; overflow: auto; border: 1px solid var(--line); background: #fff; border-radius: 11px; box-shadow: var(--shadow); z-index: 80; padding: 6px; }
.search-results button { display: grid; width: 100%; text-align: left; border: 0; border-radius: 7px; background: transparent; padding: 9px; cursor: pointer; }
.search-results button:hover { background: var(--accent-soft); }
.search-results small { color: var(--muted); }
.toggle { display: flex; align-items: center; gap: 7px; color: var(--muted); font-size: 11px; white-space: nowrap; cursor: pointer; }
.toggle input { position: absolute; opacity: 0; }
.toggle span { width: 30px; height: 17px; border-radius: 10px; background: #c9d3df; position: relative; transition: .15s; }
.toggle span::after { content:""; position:absolute; width:13px; height:13px; left:2px; top:2px; border-radius:50%; background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.2); transition:.15s; }
.toggle input:checked + span { background: var(--accent); }.toggle input:checked + span::after { transform: translateX(13px); }
.sync-state { display: flex; align-items: center; gap: 6px; color: var(--muted); white-space: nowrap; font-size: 11px; }
.sync-state i { width: 7px; height: 7px; border-radius: 50%; background: var(--green); }
.sync-state.dirty i { background: #f0a326; }.sync-state.error i { background: var(--red); }

.panel { background: #fff; min-width: 0; z-index: 12; }
.library-panel { grid-area: library; border-right: 1px solid var(--line); display: flex; flex-direction: column; overflow: hidden; }
.inspector-panel { grid-area: inspector; border-left: 1px solid var(--line); overflow: auto; }
.panel-tabs { display: flex; height: 43px; border-bottom: 1px solid var(--line); padding: 0 8px; }
.panel-tabs button { flex: 1; min-width: 0; border: 0; background: transparent; color: var(--muted); font-size: 11px; font-weight: 700; cursor: pointer; position: relative; }
.panel-tabs button.active { color: var(--accent); }.panel-tabs button.active::after { content:""; position:absolute; height:2px; left:9px; right:9px; bottom:-1px; background:var(--accent); }
.panel-body { display: none; min-height: 0; overflow: auto; flex: 1; padding: 12px; }.panel-body.active { display: block; }
.primitive-library h3 { margin: 14px 3px 7px; color: var(--muted); font-size: 10px; letter-spacing: .09em; text-transform: uppercase; }
.primitive-library h3:first-child { margin-top: 2px; }
.primitive-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }
.primitive-card { min-height: 78px; padding: 8px 5px; border: 1px solid var(--line); border-radius: 10px; background: var(--panel-2); cursor: grab; text-align: center; font-size: 10px; font-weight: 700; color: #445067; }
.primitive-card:hover { border-color: #a9c6f3; color: var(--accent); background: var(--accent-soft); }
.primitive-card:active { cursor: grabbing; }
.primitive-icon { height: 43px; display: grid; place-items: center; position: relative; margin-bottom: 2px; color: var(--accent); }
.primitive-icon::before { content:""; width: 37px; height: 25px; border: 2px solid currentColor; border-radius: 3px; transform: skewY(-7deg); box-shadow: inset 0 -8px rgba(23,107,255,.09); }
.primitive-icon.rack_standard::after, .primitive-icon.rack_cantilever::after { content:""; position:absolute; width:31px; height:2px; background:currentColor; box-shadow:0 -10px currentColor,0 10px currentColor; }
.primitive-icon.wall::before { height: 34px; width: 43px; }.primitive-icon.position::before, .primitive-icon.zone::before { border-style:dashed; background:rgba(23,107,255,.08); }.primitive-icon.door::before { height:36px; width:25px; }.primitive-icon.window::before { height:29px; width:40px; box-shadow:inset 0 0 0 8px rgba(23,107,255,.08); }.primitive-icon.chair::before { width:24px;height:25px;border-radius:9px; }.primitive-icon.forklift::before { width:41px;height:20px;border-radius:10px 3px 3px 10px; }
.keyboard-help { color: var(--muted); font-size: 10px; text-align: center; border-top: 1px solid var(--line); margin: 15px -2px 0; padding-top: 11px; }
.scene-filters { display: grid; gap: 7px; margin-bottom: 10px; }.scene-filters input,.scene-filters select { width: 100%; padding: 8px; }
.scene-tree { display: grid; gap: 3px; }
.scene-row { width: 100%; border: 0; border-radius: 7px; background: transparent; display: grid; grid-template-columns: 10px minmax(0,1fr) auto; align-items: center; gap: 7px; padding: 7px; text-align: left; cursor:pointer; }
.scene-row:hover { background: var(--panel-2); }.scene-row.active { background: var(--accent-soft); color:var(--accent); }
.scene-row i { width:8px;height:8px;border-radius:3px;background:var(--row-color,#8fa0b5); }.scene-row span { white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:11px; }.scene-row small { color:var(--muted);font-size:9px; }
.asset-library { display:grid;gap:7px;margin-bottom:15px; }.asset-card { border:1px solid var(--line);border-radius:9px;padding:8px;display:grid;grid-template-columns:40px minmax(0,1fr);gap:8px;cursor:grab;background:#fff; }.asset-card:hover{border-color:#a9c6f3}.asset-thumb{width:40px;height:40px;border-radius:7px;background:var(--accent-soft);display:grid;place-items:center;color:var(--accent);font-weight:900}.asset-card strong,.asset-card small{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.asset-card small{color:var(--muted);font-size:9px}.asset-form{border-top:1px solid var(--line);padding-top:12px;display:grid;gap:9px}.asset-form h3{margin:0;font-size:13px}.asset-form label{display:grid;gap:4px;font-size:10px;font-weight:700}.asset-form input,.asset-form select{width:100%;padding:7px}.asset-form p{font-size:9px;color:var(--muted);margin:0}

.viewport-wrap { grid-area: viewport; min-width: 0; min-height: 0; position: relative; overflow: hidden; background: radial-gradient(circle at center,#dfe8f2,#cfd9e5); }
#world-canvas { width: 100%; height: 100%; display: block; outline: none; touch-action: none; }
.viewport-hud { position: absolute; display: flex; gap: 6px; pointer-events: none; }
.viewport-hud.top-left { left: 11px; top: 10px; }.viewport-hud.top-right { right: 11px; top: 10px; }
.viewport-hud span { padding: 4px 7px; border: 1px solid rgba(190,202,217,.75); border-radius: 6px; background: rgba(255,255,255,.78); backdrop-filter:blur(8px); color:#607088;font:9px ui-monospace,SFMono-Regular,monospace; }
.selection-actions { position:absolute;left:50%;bottom:18px;transform:translateX(-50%);display:flex;gap:5px;padding:5px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.92);box-shadow:0 8px 25px rgba(30,45,69,.16);backdrop-filter:blur(8px); }
.selection-actions button{width:34px;height:32px;border:0;border-radius:7px;background:transparent;cursor:pointer;font-size:17px}.selection-actions button:hover{background:var(--accent-soft);color:var(--accent)}.selection-actions button.danger:hover{background:#fff0f1;color:var(--red)}
.loading-overlay { position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:17px;background:rgba(235,241,247,.86);z-index:30;transition:opacity .3s; }.loading-overlay.hidden{opacity:0;pointer-events:none}.loading-overlay strong{color:#607088;font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.loader-cube{position:relative;width:55px;height:55px;transform:rotate(-12deg)}.loader-cube i{position:absolute;inset:8px;border:2px solid var(--accent);border-radius:10px;animation:loader 1.8s ease-in-out infinite}.loader-cube i:nth-child(2){inset:2px;opacity:.5;animation-delay:-.3s}.loader-cube i:nth-child(3){inset:-4px;opacity:.22;animation-delay:-.6s}@keyframes loader{50%{transform:rotate(90deg) scale(.84)}}
.toast-stack{position:absolute;right:14px;bottom:14px;display:grid;gap:7px;z-index:60;pointer-events:none}.toast{min-width:240px;max-width:420px;padding:10px 13px;border:1px solid var(--line);border-left:3px solid var(--green);border-radius:9px;background:#fff;box-shadow:var(--shadow);animation:toast-in .22s ease}.toast.error{border-left-color:var(--red)}@keyframes toast-in{from{opacity:0;transform:translateY(6px)}}

.panel-title { padding: 15px; border-bottom: 1px solid var(--line); display:flex;align-items:center;justify-content:space-between;gap:10px; }
.panel-title h2 { margin:0;font-size:16px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap }.kind-chip{font:9px ui-monospace,SFMono-Regular,monospace;padding:4px 6px;border:1px solid var(--line);border-radius:6px;color:var(--muted);background:var(--panel-2)}
.inspector-empty{height:calc(100% - 69px);display:grid;place-content:center;text-align:center;color:var(--muted);padding:20px}.inspector-empty div{font-size:48px;color:#b9c5d4}.inspector-form{padding:13px;display:grid;grid-template-columns:1fr 1fr;gap:10px}.inspector-form>label{display:grid;gap:4px;font-size:10px;font-weight:700;color:var(--muted)}.inspector-form input{width:100%;min-width:0;padding:7px;color:var(--text)}.inspector-form .wide{grid-column:1/-1}.color-field{display:grid;grid-template-columns:40px 1fr;gap:5px}.color-field input[type=color]{padding:2px;height:34px}.inspector-form fieldset{grid-column:1/-1;border:1px solid var(--line);border-radius:9px;padding:8px;display:grid;grid-template-columns:repeat(3,1fr);gap:6px;min-width:0}.inspector-form legend{font-size:9px;color:var(--muted);padding:0 4px}.inspector-form fieldset label{display:grid;gap:3px;font-size:9px;color:var(--muted)}.product-summary{grid-column:1/-1;border-top:1px solid var(--line);padding-top:10px}.product-summary:empty{display:none}.product-row{padding:7px;border-radius:7px;background:var(--panel-2);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;margin-bottom:5px}.product-row strong{font-size:10px;overflow:hidden;text-overflow:ellipsis}.product-row span{font-weight:800;color:var(--accent)}

.timeline-panel { grid-area: timeline; z-index: 18; display:flex;align-items:center;gap:9px;padding:10px 13px;border-top:1px solid var(--line);background:#fff; }
.scenario-control { display:flex;align-items:flex-end;gap:5px;min-width:210px }.scenario-control label,.time-input,.commit-input{display:grid;gap:3px;color:var(--muted);font-size:9px;text-transform:uppercase;letter-spacing:.05em}.scenario-control select{width:180px;padding:7px}.scenario-control .icon-button{width:32px;height:32px}.time-range{flex:1;min-width:100px;accent-color:var(--accent);box-shadow:none;border:0}.time-input input{width:195px;padding:7px}.commit-input{width:220px}.commit-input input{width:100%;padding:7px}.history-popover{position:absolute;right:13px;bottom:74px;width:min(430px,calc(100vw - 30px));max-height:420px;overflow:auto;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:var(--shadow);padding:7px}.history-row{display:grid;grid-template-columns:auto 1fr auto;gap:9px;padding:9px;border-radius:8px}.history-row:hover{background:var(--panel-2)}.history-row b{width:25px;height:25px;border-radius:50%;background:var(--accent-soft);display:grid;place-items:center;color:var(--accent);font-size:9px}.history-row strong,.history-row small{display:block}.history-row small{color:var(--muted);font-size:9px}.history-row time{font-size:9px;color:var(--muted)}

@media (max-width: 1250px) {
  .editor-shell { grid-template-columns: 235px minmax(360px,1fr) 270px; }
  .editor-toolbar .toggle { display:none; }
  .editor-search { width: 260px; }
  .workspace-switcher label,.workspace-switcher .button,.user-chip { display:none; }
  .workspace-switcher select { width:150px; }
  .commit-input { display:none; }
}
@media (max-width: 920px) {
  :root { --topbar: 57px; }
  .app-topbar { padding:0 10px;gap:10px }.brand small,.editor-world-title code,.workspace-switcher,.user-chip{display:none}.brand strong{font-size:15px}.brand-mark{transform:scale(.85) rotate(-12deg);margin-right:-4px}
  .editor-world-title strong{max-width:150px}.topbar-actions{gap:5px}.topbar-actions>.button{font-size:0;width:34px;padding:0}.topbar-actions>.button::before{content:"↪";font-size:16px}
  .editor-shell { grid-template-columns: 210px minmax(300px,1fr); grid-template-rows: 52px minmax(0,1fr) 70px; grid-template-areas:"toolbar toolbar" "library viewport" "timeline timeline"; }
  .inspector-panel{display:none;position:absolute;right:0;top:52px;bottom:70px;width:min(300px,90vw);box-shadow:-10px 0 30px rgba(30,45,69,.15)}.inspector-panel.open{display:block}
  .editor-toolbar .button.subtle,.editor-toolbar .button.xr{display:none}.editor-search{width:auto;flex:1}.segmented span{display:none}.timeline-panel{gap:5px}.scenario-control{min-width:160px}.scenario-control select{width:130px}.time-input{display:none}.history-popover{bottom:68px}.worlds-shell{padding:30px 18px}.page-heading{align-items:flex-start;flex-direction:column}.page-heading h1{font-size:35px}
}
@media (max-width: 640px) {
  .language-switch,.editor-world-title a{display:none}.editor-world-title>span{display:none}.editor-shell{width:100%;min-width:0;grid-template-columns:minmax(0,1fr);grid-template-areas:"toolbar" "viewport" "timeline"}.library-panel{display:none;position:absolute;left:0;top:52px;bottom:70px;width:min(275px,88vw);box-shadow:10px 0 30px rgba(30,45,69,.15)}.library-panel.open{display:flex}.editor-search{display:none}.editor-toolbar{min-width:0;overflow:hidden}.editor-toolbar::before{content:"☰";flex:0 0 34px;width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--line);border-radius:8px;cursor:pointer}.sync-state{display:none}.editor-toolbar .button{padding:6px 9px}.editor-toolbar #external-refresh,.editor-toolbar #publish-scene{display:none}.timeline-panel .time-range{min-width:50px}.scenario-control{min-width:130px}.scenario-control select{width:102px}.timeline-panel #history-toggle{display:none}.auth-card{padding:35px 22px}.auth-features{gap:12px;flex-wrap:wrap}.world-grid{grid-template-columns:1fr}.page-heading .button{width:100%}.workspace-switcher{display:none}
}
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important } }
