@import"https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;500;600&display=swap";@font-face{font-family:Early GameBoy;src:url(../assets/fonts/early-gameboy.ttf) format("truetype");font-display:swap}@font-face{font-family:HomeVideo;src:url(../assets/fonts/HomeVideo-Regular.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:HomeVideo;src:url(../assets/fonts/HomeVideo-Bold.ttf) format("truetype");font-weight:700;font-display:swap}@font-face{font-family:"Super Mario Bros. NES";src:url(../assets/fonts/Super%20Mario%20Bros.%20NES.ttf) format("truetype");font-display:swap}*{margin:0;padding:0;box-sizing:border-box}:root{--bg: #050505;--panel: #0b0b0b;--panel-2: #141414;--panel-3: #1b1b1b;--field: #090909;--border: #252525;--border-strong: #3f4b26;--text: #f3eee2;--text-muted: #a89f8f;--text-dim: #70695c;--accent-cool: #5dc16b;--accent-cool-rgb: 93, 193, 107;--accent-cool-soft: rgba(var(--accent-cool-rgb), .18);--accent-warm: #d7ac63;--accent-warm-rgb: 215, 172, 99;--accent-warm-soft: rgba(var(--accent-warm-rgb), .18);--accent-hot: #ff7a5c;--accent-hot-rgb: 255, 122, 92;--accent-hot-soft: rgba(var(--accent-hot-rgb), .18);--accent-alt: #63d6cb;--accent-alt-rgb: 99, 214, 203;--accent-alt-soft: rgba(var(--accent-alt-rgb), .18);--accent-soft: var(--accent-alt);--danger: #b22222;--danger-soft: rgba(178, 34, 34, .18);--success: #347433;--success-soft: rgba(52, 116, 51, .18);--editor-pixel-font: "Early GameBoy", monospace;--editor-ui-font: "IBM Plex Mono", "Courier New", monospace;--hud-ui-font: "HomeVideo", "IBM Plex Mono", "Courier New", monospace;--hud-room-title-font: "Super Mario Bros. NES", "Early GameBoy", monospace;--safe-top: env(safe-area-inset-top, 0px);--safe-right: env(safe-area-inset-right, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);--safe-left: env(safe-area-inset-left, 0px);--app-viewport-width: 100vw;--app-viewport-height: 100vh}body{overflow:hidden;background:var(--bg);color:var(--text);font-family:IBM Plex Mono,Courier New,monospace;font-size:12px;-webkit-user-select:none;user-select:none}#shell-root{min-height:100vh}.app-feedback{position:fixed;top:0;right:0;bottom:0;left:0;z-index:140;display:flex;align-items:center;justify-content:center;padding:24px;background:radial-gradient(circle at top,rgba(52,116,51,.18),transparent 36%),#050505f0;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.app-feedback-card{width:min(480px,calc(100vw - 48px));padding:24px;border:1px solid var(--border-strong);border-radius:18px;background:linear-gradient(180deg,#141414fa,#0b0b0bf5);box-shadow:0 28px 80px #0000006b}.app-boot-splash-card{display:flex;flex-direction:column;gap:14px;text-align:center}.app-boot-splash-kicker,.app-busy-title{color:var(--accent-warm);font-size:11px;letter-spacing:.18em;text-transform:uppercase}.app-boot-splash-title{color:var(--text);font-family:Early GameBoy,monospace;font-size:20px;line-height:1.7}.app-boot-splash-title-wrap{position:relative;display:inline-flex;align-self:center;justify-content:center;max-width:100%;padding:0 18px}.app-boot-splash-beta{position:absolute;top:-8px;right:-8px;padding:2px 8px;border:1px solid rgba(255,111,60,.55);border-radius:999px;background:#ff6f3c24;color:var(--accent-hot);font-family:IBM Plex Mono,Courier New,monospace;font-size:10px;font-weight:600;letter-spacing:.18em;line-height:1;transform:rotate(-14deg);transform-origin:center;box-shadow:0 4px 16px #00000047}.app-feedback-status{color:var(--text-muted);font-size:13px;line-height:1.45}.app-boot-progress{width:100%;height:10px;overflow:hidden;border:1px solid rgba(52,116,51,.38);border-radius:999px;background:#3474331f}.app-boot-progress-bar{width:100%;height:100%;background:linear-gradient(90deg,var(--accent-cool),var(--accent-warm));transform-origin:left center;transform:scaleX(0);transition:transform .14s ease-out}.app-boot-splash[data-boot-state=failed] .app-boot-progress{border-color:#b222226b;background:#b222221f}.app-boot-splash[data-boot-state=failed] .app-feedback-status{color:#ffd2d2}.app-busy-overlay{z-index:135;background:#18161ccc;-webkit-backdrop-filter:none;backdrop-filter:none}body[data-playfun-mode=true] .app-feedback{z-index:10040}body[data-playfun-mode=true] .app-busy-overlay{z-index:10035}.app-busy-card{width:min(460px,calc(100vw - 40px));display:flex;flex-direction:column;align-items:flex-start;gap:16px;padding:20px 18px 18px;border:3px solid #79ccde;border-radius:0;background:#fff3db;box-shadow:6px 6px #18161c}.app-busy-title{color:#18161c;font-family:"Super Mario Bros. NES",monospace;font-size:18px;letter-spacing:0;line-height:1.2;text-transform:none}.app-busy-overlay .app-feedback-status{color:#18161c;font-family:HomeVideo,IBM Plex Mono,Courier New,monospace;font-size:13px;line-height:1.5}.app-busy-spinner{position:relative;width:164px;height:20px;border:2px solid #18161c;border-radius:0;background:#fffaf0;box-shadow:3px 3px #18161c;overflow:hidden}.app-busy-spinner:before{content:"";position:absolute;top:2px;bottom:2px;left:2px;width:36px;background:#277b30;box-shadow:40px 0 #79ccde,80px 0 #fcea7c,120px 0 #ed5f4b;animation:busy-load 1s steps(4) infinite}.app-busy-actions{display:flex;flex-wrap:wrap;gap:8px}.app-busy-actions .bar-btn{min-width:104px;padding:8px 12px 7px;border:2px solid #18161c;border-radius:0;background:#79ccde;color:#000;font-family:HomeVideo,IBM Plex Mono,Courier New,monospace;font-size:11px;letter-spacing:.03em;line-height:1.1;text-transform:uppercase;box-shadow:3px 3px #18161c}.app-busy-actions .bar-btn:hover{filter:brightness(1.06)}.app-busy-actions #btn-busy-retry{background:#277b30;color:#fff3db}.app-busy-actions #btn-busy-close{background:#ed5f4b;color:#fff3db}.app-busy-overlay[data-busy-state=error] .app-busy-title{color:#ed5f4b}.app-busy-overlay[data-busy-state=error] .app-busy-card{border-color:#ed5f4b}.app-busy-overlay[data-busy-state=error] .app-busy-spinner{display:none}@keyframes busy-load{0%{transform:translate(0)}to{transform:translate(40px)}}body[data-app-ready=false] #app,body[data-app-ready=false] #auth-panel{pointer-events:none}body[data-coarse-pointer=true]{-webkit-tap-highlight-color:transparent;touch-action:manipulation}body[data-coarse-pointer=true] #game-container canvas{touch-action:none}body[data-app-mode=world] #sidebar,body[data-app-mode=play-world] #sidebar{display:none}body[data-app-mode=world] #world-hud,body[data-app-mode=play-world] #world-hud,body[data-app-mode=world] #global-chat,body[data-app-mode=play-world] #global-chat{display:flex}#auth-panel{--auth-retro-cream: #fff3db;--auth-retro-blue: #79ccde;--auth-retro-green: #277b30;--auth-retro-red: #ed5f4b;--auth-retro-shadow: #18161c;--auth-retro-ink: #18161c;position:fixed;top:calc(16px + var(--safe-top));right:calc(16px + var(--safe-right));z-index:20;pointer-events:none}body[data-playfun-mode=true] #auth-panel{z-index:10020}#menu-toggle,#menu-body{pointer-events:auto}.rotate-gate{position:fixed;top:0;right:0;bottom:0;left:0;z-index:150;display:flex;align-items:center;justify-content:center;padding:24px;background:#050505f5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);overflow:hidden}body[data-playfun-mode=true] .rotate-gate{z-index:10050}.rotate-gate-card{position:relative;z-index:1;width:min(420px,calc(100vw - 48px));padding:24px;border:1px solid var(--border-strong);border-radius:16px;background:linear-gradient(180deg,#141414f5,#0b0b0bf5);box-shadow:0 24px 60px #0000006b;text-align:center}.rotate-gate-kicker{color:var(--accent-cool);font-size:11px;letter-spacing:.12em;text-transform:uppercase}.rotate-gate-title{margin-top:8px;color:var(--accent-warm);font-family:Early GameBoy,monospace;font-size:16px;line-height:1.7}.rotate-gate-copy{margin-top:14px;color:var(--text);font-size:14px;line-height:1.5}.rotate-gate-copy-secondary{color:var(--text-muted);font-size:12px}.rotate-gate-copy code{font-size:11px}.rotate-gate-standalone-only,.rotate-gate-browser-copy{display:none}body[data-standalone-launch=true] .rotate-gate-browser-only{display:none!important}body[data-standalone-launch=true] .rotate-gate-standalone-only{display:block}body[data-install-help-target=safari-share] .rotate-gate-browser-copy-share,body[data-install-help-target=browser-menu] .rotate-gate-browser-copy-menu,body[data-install-help-target=generic] .rotate-gate-browser-copy-generic,body:not([data-install-help-target]) .rotate-gate-browser-copy-generic{display:block}.rotate-gate-actions{margin-top:18px;display:flex;flex-direction:column;align-items:center;gap:10px}.rotate-gate-note{color:var(--text-muted);font-size:11px;line-height:1.5}.rotate-gate-target{position:absolute;display:none;pointer-events:none;z-index:0}.rotate-gate-target-label{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:8px 12px;border:1px solid rgba(143,216,255,.32);border-radius:999px;background:#0f1a24eb;box-shadow:0 12px 32px #00000047;color:var(--accent-cool);font-size:11px;letter-spacing:.08em;text-transform:uppercase}.rotate-gate-target-arrow{position:relative;opacity:.9}.rotate-gate-target-arrow:after{content:"";position:absolute;display:block}.rotate-gate-target-share{left:50%;bottom:calc(22px + var(--safe-bottom));transform:translate(-50%);flex-direction:column;align-items:center;gap:8px}.rotate-gate-target-arrow-share{width:2px;height:48px;background:linear-gradient(180deg,#8fd8ff24,#8fd8fff5)}.rotate-gate-target-arrow-share:after{left:50%;bottom:-1px;width:12px;height:12px;border-right:2px solid var(--accent-cool);border-bottom:2px solid var(--accent-cool);transform:translate(-50%) rotate(45deg)}.rotate-gate-target-menu{top:calc(16px + var(--safe-top));right:calc(16px + var(--safe-right));display:none;flex-direction:column;align-items:flex-end;gap:8px}.rotate-gate-target-menu .rotate-gate-target-label{margin-right:28px}.rotate-gate-target-arrow-menu{width:54px;height:38px;border-top:2px solid var(--accent-cool);border-right:2px solid var(--accent-cool);border-top-right-radius:20px}.rotate-gate-target-arrow-menu:after{top:-7px;right:-2px;width:12px;height:12px;border-top:2px solid var(--accent-cool);border-right:2px solid var(--accent-cool)}.rotate-gate-target-generic{top:calc(16px + var(--safe-top));left:50%;transform:translate(-50%);flex-direction:column-reverse;align-items:center;gap:8px}.rotate-gate-target-arrow-generic{width:2px;height:40px;background:linear-gradient(180deg,#8fd8fff5,#8fd8ff24)}.rotate-gate-target-arrow-generic:after{top:-1px;left:50%;width:12px;height:12px;border-left:2px solid var(--accent-cool);border-top:2px solid var(--accent-cool);transform:translate(-50%) rotate(45deg)}body[data-install-help-target=safari-share] .rotate-gate-target-share,body[data-install-help-target=browser-menu] .rotate-gate-target-menu,body[data-install-help-target=generic] .rotate-gate-target-generic,body:not([data-install-help-target]) .rotate-gate-target-generic{display:flex}body[data-standalone-launch=true] .rotate-gate-target{display:none!important}body[data-install-help-open=true] .rotate-gate{opacity:0;pointer-events:none}@keyframes busy-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}#menu-toggle{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:36px;height:36px;margin-left:auto;padding:0;background:var(--auth-retro-blue);border:2px solid var(--auth-retro-shadow);border-radius:0;cursor:pointer;-webkit-backdrop-filter:none;backdrop-filter:none;transition:background .15s,transform .06s ease,box-shadow .06s ease,filter .12s ease;box-shadow:2px 2px 0 var(--auth-retro-shadow)}#menu-toggle:hover{background:var(--auth-retro-blue);filter:brightness(1.06)}#menu-toggle.is-pressed{transform:translateY(2px);box-shadow:0 0 #0000002e}.hamburger-line{display:block;width:18px;height:3px;background:var(--auth-retro-ink);border-radius:0;transition:transform .2s,opacity .2s}#auth-panel.menu-open #menu-toggle .hamburger-line:nth-child(1){transform:translateY(6px) rotate(45deg)}#auth-panel.menu-open #menu-toggle .hamburger-line:nth-child(2){opacity:0}#auth-panel.menu-open #menu-toggle .hamburger-line:nth-child(3){transform:translateY(-6px) rotate(-45deg)}#menu-body{display:none;flex-direction:column;gap:10px;width:312px;max-width:calc(100vw - 32px);max-height:calc(100vh - 84px - var(--safe-top) - var(--safe-bottom));margin-top:8px;padding:12px;overflow-y:auto;background:var(--auth-retro-cream);border:2px solid var(--auth-retro-blue);border-radius:0;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:4px 4px 0 var(--auth-retro-shadow);color:var(--auth-retro-ink)}#auth-panel.menu-open #menu-body{display:flex}.auth-header,.auth-row{display:flex;align-items:stretch;gap:8px;flex-wrap:wrap}.auth-header{justify-content:space-between}.auth-copy{display:none}#auth-panel.auth-panel-guest #menu-body{border-color:var(--auth-retro-blue);box-shadow:4px 4px 0 var(--auth-retro-shadow)}#auth-panel.auth-panel-guest .auth-copy{display:none}.auth-menu-action-row{width:100%}.auth-menu-action-btn{flex:1 1 auto;width:auto;justify-content:center}.auth-discord-link{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;flex:0 0 32px;padding:0;border:2px solid var(--auth-retro-shadow);border-radius:0;background:var(--auth-retro-blue);color:#000;text-decoration:none;box-shadow:2px 2px 0 var(--auth-retro-shadow);transition:background .1s,border-color .1s,color .1s,transform .06s ease,box-shadow .06s ease,filter .12s ease}.auth-discord-link:hover{background:var(--auth-retro-blue);border-color:var(--auth-retro-shadow);color:#000;filter:brightness(1.06)}.auth-discord-link:focus-visible{outline:none;border-color:var(--auth-retro-shadow);box-shadow:0 0 0 2px #79ccde3d,2px 2px 0 var(--auth-retro-shadow)}.auth-discord-link svg{width:15px;height:15px;fill:currentColor}.auth-title{color:var(--auth-retro-ink);font-size:12px;letter-spacing:1px;text-transform:uppercase}.auth-identity{color:var(--auth-retro-ink);font-size:11px;text-align:right}.auth-identity-clickable{cursor:pointer}.profile-trigger{display:inline-flex;align-items:center;justify-content:flex-start;gap:4px;max-width:100%;padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.profile-trigger:hover,.profile-trigger:focus-visible{color:var(--accent-cool);text-decoration:underline;outline:none}#auth-email-input,#auth-display-name-input{flex:1;min-width:0;padding:8px 10px 6px;background:#fffaf0;border:2px solid var(--auth-retro-shadow);border-radius:0;color:var(--auth-retro-ink);font-size:11px;font-family:HomeVideo,IBM Plex Mono,Courier New,monospace}#auth-email-input:focus{outline:none;border-color:var(--auth-retro-blue);box-shadow:0 0 0 2px #79ccde33}#auth-display-name-input:focus{outline:none;border-color:var(--auth-retro-blue);box-shadow:0 0 0 2px #79ccde33}#btn-auth-wallet{flex:1}#menu-body .bar-btn{min-height:32px;justify-content:center;padding:6px 10px 5px;border:2px solid var(--auth-retro-shadow);border-radius:0;background:var(--auth-retro-blue);color:#000;font-family:Early GameBoy,monospace;font-size:8px;letter-spacing:.05em;line-height:1.2;text-transform:uppercase;box-shadow:2px 2px 0 var(--auth-retro-shadow)}#menu-body .bar-btn:hover{filter:brightness(1.06)}#menu-body .bar-btn:disabled{background:#c7c1b4;border-color:#7f7b74;color:#5d5851;box-shadow:none}#menu-body #btn-auth-email,#menu-body #btn-auth-wallet,#menu-body #btn-auth-display-name{background:var(--auth-retro-green);color:#fff3db}#menu-body #btn-auth-email:hover,#menu-body #btn-auth-wallet:hover,#menu-body #btn-auth-display-name:hover{background:var(--auth-retro-green)}#menu-body #btn-auth-email:disabled,#menu-body #btn-auth-wallet:disabled,#menu-body #btn-auth-display-name:disabled{background:#277b30b8;border-color:var(--auth-retro-shadow);color:#fff3db;box-shadow:none}#menu-body #btn-auth-logout,#menu-body #btn-test-reset{background:var(--auth-retro-red);color:#fff3db}#menu-body #btn-auth-logout:hover,#menu-body #btn-test-reset:hover{background:var(--auth-retro-red)}#menu-body #btn-auth-logout:disabled,#menu-body #btn-test-reset:disabled{background:#ed5f4bb8;border-color:var(--auth-retro-shadow);color:#fff3db;box-shadow:none}.auth-status,.auth-display-name-status{color:var(--auth-retro-ink);font-size:11px;font-family:HomeVideo,IBM Plex Mono,Courier New,monospace;line-height:1.35}.auth-display-name-status.is-available{color:var(--auth-retro-green)}.auth-display-name-status.is-taken{color:var(--auth-retro-red)}.auth-debug-link{color:#2c5071;font-size:11px;font-family:HomeVideo,IBM Plex Mono,Courier New,monospace;text-decoration:none}.auth-debug-link:hover{text-decoration:underline}.auth-session-summary{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;color:var(--auth-retro-green)}.auth-session-summary-label{color:var(--auth-retro-green);font-family:Early GameBoy,monospace;font-size:8px;letter-spacing:.05em;line-height:1.3;text-transform:uppercase}.auth-session-summary-value{color:var(--auth-retro-green);font-family:"Super Mario Bros. NES",monospace;font-size:10px;line-height:1.3}#app{display:grid;grid-template-columns:280px minmax(0,1fr);grid-template-rows:minmax(0,1fr) 36px;height:100vh;height:min(100dvh,var(--app-viewport-height));width:100vw;width:min(100dvw,var(--app-viewport-width))}#sidebar{grid-column:1;grid-row:1;width:280px;height:auto;min-height:0;background:var(--panel);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden}.desktop-editor-only{display:block}body[data-app-mode=editor]:not([data-device-class=phone]) #editor-actions{position:sticky;top:0;z-index:6;background:linear-gradient(180deg,#0b0b0bfa,#0b0b0beb),var(--panel);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}body[data-app-mode=editor]:not([data-device-class=phone]) #editor-actions:after{content:"";position:absolute;left:10px;right:10px;bottom:-1px;border-bottom:1px solid rgba(243,238,226,.08)}body[data-app-mode=editor]:not([data-device-class=phone]) #editor-actions{order:0}body[data-app-mode=editor]:not([data-device-class=phone]) #room-title-section{order:0}body[data-app-mode=editor]:not([data-device-class=phone]) #tools-section{display:none}body[data-app-mode=editor]:not([data-device-class=phone]) #layers-section{order:4}body[data-app-mode=editor]:not([data-device-class=phone]) #background-section{order:5}body[data-app-mode=editor]:not([data-device-class=phone]) #sidebar>.sidebar-section[data-mobile-panel=palette]:not(#tileset-section):not(#tile-palette-section):not(#object-palette-section){order:1}body[data-app-mode=editor]:not([data-device-class=phone]) #tileset-section{order:2}body[data-app-mode=editor]:not([data-device-class=phone]) #tile-palette-section,body[data-app-mode=editor]:not([data-device-class=phone]) #object-palette-section{order:3}body[data-app-mode=editor]:not([data-device-class=phone]) #goal-section{order:6}body[data-app-mode=editor]:not([data-device-class=phone]) #course-goal-section{order:7}body[data-app-mode=editor]:not([data-device-class=phone]) #editor-advanced{order:8}.editor-action-rail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.editor-top-tools{margin-top:10px;padding-top:10px;border-top:1px solid rgba(243,238,226,.08)}.editor-top-tools-label{margin-bottom:6px;color:var(--text-muted);font-size:10px;letter-spacing:.12em;text-transform:uppercase}.editor-top-tools-rail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.editor-top-tool-btn{width:100%;min-width:0}.editor-top-tools .editor-tool-popover{margin-top:8px}.editor-action-rail-btn{width:100%;min-width:0;min-height:44px;padding:5px 4px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-align:center}.editor-top-save-status{margin-top:8px;min-height:18px;color:var(--text-muted);font-size:11px;line-height:1.45}.editor-advanced-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}.editor-advanced-block{display:grid;gap:10px;padding:10px;border:1px solid rgba(243,238,226,.1);border-radius:10px;background:#12110980}.editor-advanced-block-label{color:var(--text-muted);font-size:10px;letter-spacing:.12em;text-transform:uppercase}.editor-advanced-actions{display:grid;grid-template-columns:minmax(0,1fr);gap:6px}.editor-advanced-primary-action,.editor-advanced-actions .bar-btn{width:100%}.editor-publish-nudge{margin-top:10px;padding:10px 12px;border:1px solid rgba(255,176,74,.42);border-radius:10px;background:linear-gradient(180deg,#ffb04a1a,#ffb04a0a),#0b0b0bf0;box-shadow:inset 0 1px #ffc10714}.editor-publish-nudge-kicker{color:var(--accent-warm);font-size:10px;letter-spacing:.14em;text-transform:uppercase}.editor-publish-nudge-text{margin-top:6px;margin-bottom:10px;color:var(--text);font-size:12px;line-height:1.45}.editor-publish-nudge .bar-btn,#editor-actions .bar-btn{width:100%}#layers-section{overflow:visible;position:relative;z-index:3}.sidebar-section{flex:0 0 auto;padding:8px 10px;border-bottom:1px solid var(--border);overflow:hidden}.sidebar-section.hidden{display:none}.section-label{display:flex;align-items:center;gap:6px;font-size:10px;text-transform:uppercase;letter-spacing:1px;color:var(--text-muted);margin-bottom:6px}.sidebar-section.is-collapsible .section-label{cursor:pointer}.sidebar-section-toggle{margin-left:auto;padding:0;border:0;background:transparent;color:var(--danger);font:inherit;font-size:15px;font-weight:600;line-height:1;letter-spacing:inherit;cursor:pointer;transition:color .1s ease,transform .06s ease}.sidebar-section-toggle:before{content:"−";display:inline-block;min-width:12px;text-align:center}.sidebar-section.is-collapsed .sidebar-section-toggle:before{content:"+"}.sidebar-section.is-collapsed .sidebar-section-toggle{color:var(--success)}.sidebar-section-toggle:hover{transform:scale(1.08)}.sidebar-section.is-collapsed .section-label{margin-bottom:0}.sidebar-section-body{min-height:0}.sidebar-section.is-collapsed .sidebar-section-body{display:none}#tools{display:flex;gap:4px;flex-wrap:wrap}.tools-primary-row{position:relative}.tool-btn-more{flex:0 0 52px}.tool-btn-compact{min-width:0}.editor-tool-popover{margin-top:10px;padding:10px;border:1px solid rgba(243,238,226,.1);border-radius:10px;background:#121109db;box-shadow:inset 0 1px #ffffff08}.editor-tool-popover-label{margin-bottom:8px;color:var(--text-muted);font-size:10px;letter-spacing:.12em;text-transform:uppercase}.editor-tool-popover-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.erase-controls{display:flex;flex-direction:column;gap:8px}.erase-controls-row{display:flex;align-items:center;gap:8px}.erase-controls-label{color:var(--text-muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase}#erase-brush-select{flex:1;min-width:0;padding:5px 8px;background:var(--panel-2);border:1px solid var(--border);border-radius:3px;color:var(--text);font-size:11px;font-family:Courier New,monospace}.erase-action-grid,.layer-controls-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.layer-controls-row{grid-template-columns:minmax(0,1fr);margin-top:8px}.tool-btn{flex:1;min-width:56px;height:40px;background:var(--panel-2);border:1px solid var(--border);border-radius:4px;color:var(--text-muted);font-size:11px;font-family:IBM Plex Mono,Courier New,monospace;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;transition:background .1s,border-color .1s,color .1s,transform .06s ease,box-shadow .06s ease;box-shadow:0 2px #00000047}.tool-icon{font-size:15px;line-height:1}.tool-label{font-size:9px;text-transform:uppercase;letter-spacing:.5px;line-height:1}.tool-btn:hover{background:var(--panel-3);color:var(--text)}.tool-btn.active{background:var(--accent-cool-soft);border-color:var(--accent-cool);color:var(--text)}.tool-btn.is-pressed{transform:translateY(2px);box-shadow:0 0 #0000002e}#layers{display:flex;flex-direction:column;gap:6px}.layer-row{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:stretch}.layer-btn{width:100%;padding:8px 10px;background:var(--panel-2);border:1px solid var(--border);border-radius:8px;color:var(--text-muted);font-size:11px;font-family:Courier New,monospace;cursor:pointer;text-align:left;display:flex;flex-direction:column;justify-content:center;gap:3px;transition:background .1s,border-color .1s,color .1s,transform .06s ease,box-shadow .06s ease;box-shadow:0 2px #00000047}.layer-btn:hover{background:var(--panel-3)}.layer-btn.active{background:var(--accent-cool-soft);border-color:var(--accent-cool);color:var(--text)}.layer-btn-summary{color:inherit;font-size:11px;text-transform:uppercase;letter-spacing:.08em;line-height:1.35}.layer-info-wrap{position:relative;display:flex;align-items:stretch}.layer-info-button{width:24px;min-width:24px;padding:0;border:1px solid var(--border);border-radius:999px;background:var(--panel-2);color:var(--text-dim);font-size:13px;font-family:IBM Plex Mono,Courier New,monospace;cursor:help;transition:background .1s,border-color .1s,color .1s;box-shadow:0 2px #00000047}.layer-info-button:hover,.layer-info-button:focus-visible{background:var(--panel-3);border-color:var(--accent-cool);color:var(--text);outline:none}.layer-info-tooltip{position:absolute;top:calc(100% + 6px);right:0;z-index:4;width:min(228px,calc(100vw - 64px));padding:9px 10px;border:1px solid rgba(132,205,255,.28);border-radius:8px;background:#0b0b0bf5;color:var(--text);font-size:11px;line-height:1.45;text-transform:none;letter-spacing:0;opacity:0;visibility:hidden;transform:translateY(-4px);pointer-events:none;transition:opacity .12s ease,transform .12s ease,visibility .12s ease}.layer-info-wrap:hover .layer-info-tooltip,.layer-info-wrap:focus-within .layer-info-tooltip{opacity:1;visibility:visible;transform:translateY(0)}.layer-stack-mini{display:none;align-items:center;justify-content:space-between;gap:8px;padding:6px 2px 2px}.layer-stack-mini-btn{position:relative;width:64px;height:64px;padding:6px;border:1px solid var(--border);border-radius:10px;background:var(--panel-2);cursor:pointer;transition:border-color .1s ease,background .1s ease,transform .06s ease,box-shadow .06s ease;box-shadow:0 2px #00000047}.layer-stack-mini-btn:hover{background:var(--panel-3);border-color:var(--border-strong)}.layer-stack-mini-btn.active{border-color:var(--accent-cool);box-shadow:0 0 0 2px #3474338f,0 0 0 4px #3474333d,0 2px #00000047}.layer-stack-mini-btn:focus-visible{outline:3px solid var(--accent-cool);outline-offset:2px}.layer-stack-mini-image{display:block;width:100%;height:100%;object-fit:contain;image-rendering:pixelated;image-rendering:crisp-edges;pointer-events:none}.layer-btn.is-pressed{transform:translateY(2px);box-shadow:0 0 #0000002e}.sidebar-section.is-collapsed#layers-section .layer-stack-mini{display:flex;margin-top:8px}#background-select{width:100%;padding:5px 8px;background:var(--panel-2);border:1px solid var(--border);border-radius:3px;color:var(--text);font-size:11px;font-family:Courier New,monospace;cursor:pointer}#background-select option{background:var(--panel)}.background-solid-controls{margin-top:10px;padding-top:10px;border-top:1px solid rgba(243,238,226,.08)}.background-solid-color-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;color:var(--text-muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.background-solid-color-value{color:var(--text);font-family:Courier New,monospace;font-size:11px;letter-spacing:0}.background-solid-color-input{width:100%;height:34px;padding:4px;border:1px solid var(--border);border-radius:6px;background:var(--panel-2);cursor:pointer}.background-solid-color-input::-webkit-color-swatch-wrapper{padding:0}.background-solid-color-input::-webkit-color-swatch{border:none;border-radius:3px}.background-solid-color-input::-moz-color-swatch{border:none;border-radius:3px}#lighting-mode-select{width:100%;padding:5px 8px;background:var(--panel-2);border:1px solid var(--border);border-radius:3px;color:var(--text);font-size:11px;font-family:Courier New,monospace;cursor:pointer}#lighting-mode-select option{background:var(--panel)}.lighting-tuning-controls{margin-top:10px}.lighting-slider-group+.lighting-slider-group{margin-top:10px}.lighting-slider-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:4px}.lighting-slider-label,.lighting-slider-value{font-size:10px;letter-spacing:.04em;text-transform:uppercase}.lighting-slider-label{color:var(--text)}.lighting-slider-value{color:var(--text-muted)}.lighting-slider-input{width:100%;margin:0}.lighting-slider-endpoints{display:flex;justify-content:space-between;gap:10px;margin-top:4px;color:var(--text-muted);font-size:9px;line-height:1.2}.room-lighting-note{margin-top:8px;color:var(--text-muted);font-size:10px;line-height:1.45}.palette-tabs{display:flex;gap:2px}.editor-layer-chip{display:inline-flex;align-items:center;margin-top:8px;padding:4px 8px;border-radius:999px;border:1px solid rgba(243,238,226,.18);background:#121109e6;color:var(--text);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.editor-layer-chip[data-layer-tone=background]{border-color:#2f6b7fa6;color:#bfe9f4}.editor-layer-chip[data-layer-tone=terrain]{border-color:#347433ad;color:#d7f5d2}.editor-layer-chip[data-layer-tone=foreground]{border-color:#ff6f3cb3;color:#ffd2c3}.palette-tab{flex:1;padding:5px 8px;background:var(--panel-2);border:1px solid var(--border);border-radius:3px;color:var(--text-muted);font-size:11px;font-family:Courier New,monospace;cursor:pointer;text-align:center;transition:background .1s,border-color .1s,color .1s,transform .06s ease,box-shadow .06s ease;box-shadow:0 2px #00000047}.palette-tab:hover{background:var(--panel-3)}.palette-tab.active{background:var(--accent-cool-soft);border-color:var(--accent-cool);color:var(--text)}.palette-tab.is-pressed{transform:translateY(2px);box-shadow:0 0 #0000002e}#tileset-select{width:100%;padding:5px 8px;background:var(--panel-2);border:1px solid var(--border);border-radius:3px;color:var(--text);font-size:11px;font-family:Courier New,monospace;cursor:pointer}#tileset-select option{background:var(--panel)}.tile-transform-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px}#goal-type-select,.goal-input{width:100%;padding:5px 8px;background:var(--panel-2);border:1px solid var(--border);border-radius:3px;color:var(--text);font-size:11px;font-family:Courier New,monospace}#goal-type-select option{background:var(--panel)}.goal-control-row{display:flex;flex-direction:column;gap:4px;margin-top:8px}.goal-control-label{color:var(--text-muted);font-size:10px;letter-spacing:.5px;text-transform:uppercase}.goal-inline-input{display:flex;align-items:center;gap:6px}.goal-inline-suffix{color:var(--text-dim);font-size:10px;text-transform:uppercase}.goal-marker-controls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:8px}.goal-marker-controls .bar-btn{width:100%}.goal-placement-hint,.goal-summary{margin-top:8px;color:var(--text-muted);font-size:10px;line-height:1.35}.goal-context-note{margin-bottom:8px;padding:8px 10px;border:1px solid rgba(121,199,255,.35);border-radius:10px;color:#bde5ff;background:#306c952e;font-size:10px;line-height:1.35}.goal-placement-hint{color:var(--accent-warm)}.palette-section,.palette-section .sidebar-section-body{flex:1;min-height:0;display:flex;flex-direction:column}#palette-container{flex:1;overflow-y:auto;overflow-x:hidden;background:var(--field);border-radius:3px;cursor:pointer}#palette-canvas{display:block;image-rendering:pixelated}.palette-hint{font-size:9px;color:var(--text-dim);padding:4px 0 0;text-align:center}.selection-info{color:var(--accent-cool);font-size:10px}.object-category-tabs{display:flex;gap:2px;margin-bottom:6px;flex-wrap:wrap}.object-search-row{margin-bottom:8px}.object-search-input{width:100%;padding:7px 9px;background:var(--field);border:1px solid var(--border);border-radius:6px;color:var(--text);font-family:IBM Plex Mono,Courier New,monospace;font-size:12px}.object-search-input::placeholder{color:var(--text-dim)}.object-search-input:focus{outline:none;border-color:var(--accent-warm);box-shadow:0 0 0 1px var(--accent-warm-soft)}.obj-cat-tab{padding:3px 6px;background:var(--panel-2);border:1px solid var(--border);border-radius:3px;color:var(--text-muted);font-size:9px;font-family:Courier New,monospace;cursor:pointer;text-transform:uppercase;letter-spacing:.3px;transition:background .1s,border-color .1s,color .1s,transform .06s ease,box-shadow .06s ease;box-shadow:0 2px #00000047}.obj-cat-tab:hover{background:var(--panel-3)}.obj-cat-tab.active{background:var(--accent-warm-soft);border-color:var(--accent-warm);color:var(--text)}.obj-cat-tab.is-pressed{transform:translateY(2px);box-shadow:0 0 #0000002e}#object-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;overflow-y:auto;overflow-x:hidden;flex:1;min-height:0;padding:2px;align-content:start}.object-grid-empty{grid-column:1 / -1;padding:14px 10px;border:1px dashed var(--border);border-radius:6px;color:var(--text-dim);text-align:center;line-height:1.45}.object-facing-controls{display:flex;align-items:center;gap:6px;margin:2px 0 8px}.object-facing-label{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted)}.object-item{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:6px 4px;background:var(--panel-2);border:1px solid var(--border);border-radius:3px;cursor:pointer;transition:background .1s,border-color .1s,color .1s,transform .06s ease,box-shadow .06s ease;min-width:0;min-height:56px;box-shadow:0 2px #00000047}#object-tooltip{position:fixed;z-index:100;width:max-content;max-width:200px;padding:6px 10px;background:#0b0b0bf2;border:1px solid var(--border-strong);border-radius:4px;color:var(--text);font-size:11px;line-height:1.3;white-space:normal;pointer-events:none;opacity:0;transition:opacity .12s}#object-tooltip.visible{opacity:1}.object-item:hover{background:var(--panel-3);border-color:var(--border-strong)}.object-item.active{background:var(--accent-warm-soft);border-color:var(--accent-warm)}.object-item.is-pressed{transform:translateY(2px);box-shadow:0 0 #0000002e}.object-item img{image-rendering:pixelated;max-width:56px;max-height:40px;object-fit:contain}.palette-hint-accent{color:var(--accent-soft)}.pressure-plate-panel{padding:10px;border:1px solid rgba(132,205,255,.28);border-radius:10px;background:#24415b3d}.pressure-plate-panel .section-label{margin-bottom:6px}.pressure-plate-panel .goal-context-note{margin-bottom:8px}#container-contents-panel{border-color:#ffdb9147;background:#5c401b33}.editor-inspector{position:absolute;top:calc(14px + var(--safe-top));left:calc(18px + var(--safe-left));z-index:12;width:min(312px,calc(100% - 36px - var(--safe-left) - var(--safe-right)));display:flex;flex-direction:column;gap:10px;pointer-events:none}.editor-inspector>*{pointer-events:auto;box-shadow:0 18px 42px #00000052;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}#music-summary{line-height:1.45}.editor-music-workbench{display:grid;gap:10px;margin-top:10px}.editor-music-key-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.editor-music-select-group{display:grid;gap:4px}.editor-music-select-label{font-family:var(--editor-pixel-font);font-size:9px;color:var(--accent-warm);text-transform:uppercase;letter-spacing:.08em}.editor-music-select{width:100%}#editor-music-phrase-action-row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}#editor-music-phrase-action-row .bar-btn.active{border-color:var(--accent-warm);color:#fff3db;box-shadow:inset 0 0 0 1px #ffe86b33}#editor-music-phrase-name-row .goal-input{border:2px solid #fff3db;border-radius:0;background:#0b0b0b;color:#fff3db;font-family:var(--editor-ui-font);padding-right:12px}.editor-music-phrase-name-input-wrap{display:flex;gap:8px;align-items:center}.editor-music-phrase-name-input-wrap .goal-input{flex:1 1 auto}.editor-music-workbench-card{display:grid;gap:8px;padding:10px;border:2px solid var(--accent-alt);border-radius:8px;background:#0e0e0e;box-shadow:inset 0 0 0 1px #0000006b}.editor-music-workbench-header{display:flex;align-items:center;justify-content:space-between;gap:8px}.editor-music-arrangement-overlay{width:min(1120px,calc(100% - 8px));display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px 16px;align-items:start;padding:12px 14px 14px;border:2px solid #fff3db;border-radius:4px;background:#060606;box-shadow:4px 4px #18161c;pointer-events:auto}.editor-music-arrangement-overlay-copy{display:grid;gap:4px;min-width:0}.editor-music-arrangement-actions{display:flex;align-items:center;gap:6px}.editor-music-status-note{margin:0;padding:7px 9px;border:2px solid #ff8b97;border-radius:0;background:#1c0911;color:#fff3db;font-family:var(--editor-ui-font);font-size:11px;line-height:1.35;box-shadow:none}.editor-music-arrangement-grid{display:grid;grid-column:1 / -1;gap:8px}.editor-music-arrangement-row{display:grid;grid-template-columns:86px minmax(0,1fr);gap:10px;align-items:stretch;padding:8px 10px;border:2px solid var(--editor-music-instrument-accent, #fff3db);border-radius:0;background:#090909;box-shadow:none}.editor-music-arrangement-label{display:flex;align-items:center;justify-content:flex-start;min-height:58px;font-family:var(--editor-pixel-font);font-size:9px;color:var(--editor-music-instrument-accent, var(--text-dim));text-transform:uppercase;letter-spacing:.12em;line-height:1.4}.editor-music-arrangement-cells{display:grid;grid-template-columns:repeat(8,58px);gap:8px;justify-content:start}.editor-music-arrangement-slot{position:relative;display:flex;align-items:flex-start;justify-content:flex-start;width:58px;min-height:0;aspect-ratio:1 / 1;padding:6px;border:2px solid var(--editor-music-instrument-accent, #fff3db);border-radius:0;background:transparent;color:var(--editor-music-instrument-accent, #fff3db);text-align:left;transition:border-color .08s ease,background .08s ease,color .08s ease,box-shadow .08s ease;box-shadow:none}.editor-music-arrangement-slot:hover:not(:disabled){border-color:#fff3db;background:#18161c}.editor-music-arrangement-slot.active{border-color:#fff3db;box-shadow:inset 0 0 0 2px #fff3db}.editor-music-arrangement-slot.filled{background:var(--editor-music-instrument-accent, #fff3db);color:#18161c}.editor-music-arrangement-slot.drag-target{border-color:#fff3db;background:#fff3db;color:#18161c;box-shadow:inset 0 0 0 2px #18161c}.editor-music-arrangement-slot-index{font-family:var(--editor-pixel-font);font-size:8px;color:inherit;text-transform:uppercase;letter-spacing:.1em}.editor-music-arrangement-slot-glyph{position:absolute;inset:auto 0 8px;display:flex;align-items:center;justify-content:center;font-size:16px;line-height:1;color:inherit}.editor-music-library-list{display:grid;gap:6px}.editor-music-library-item{display:grid;gap:4px;padding:9px 10px;border:2px solid #fff3db;border-left-width:6px;border-left-color:var(--editor-music-instrument-accent, #fff3db);border-radius:0;background:#0b0b0b;color:var(--text);text-align:left;transition:border-color .08s ease,background .08s ease,transform .08s ease;box-shadow:none}.editor-music-library-item:hover:not(:disabled){border-color:#fff3db;background:#18161c;transform:none}.editor-music-library-item[draggable=true]{cursor:grab}.editor-music-library-item.is-dragging{opacity:1;border-color:#fff3db;box-shadow:inset 0 0 0 2px var(--editor-music-instrument-accent, #fff3db)}.editor-music-library-item-header{display:flex;align-items:center;flex-wrap:wrap;gap:8px;min-width:0}.editor-music-library-item-icon{flex:0 0 auto;color:var(--editor-music-instrument-accent, #f6e8c9);font-size:14px;line-height:1}.editor-music-library-item-title{flex:1 1 auto;min-width:0;font-size:12px;line-height:1.35;color:var(--editor-music-instrument-accent, #f6e8c9)}.editor-music-library-item-detail{flex:0 0 auto;font-family:var(--editor-pixel-font);font-size:8px;line-height:1.2;color:#fff3db;letter-spacing:.08em;text-transform:uppercase}.editor-music-library-item-meta,.editor-music-library-empty{font-size:11px;line-height:1.35;color:var(--text-dim)}#editor-music-tooltip{position:fixed;top:0;left:0;z-index:90;max-width:min(260px,calc(100vw - 20px));padding:7px 9px;border:2px solid #ff8b97;border-radius:0;background:#1c0911;color:#fff3db;font-family:var(--editor-ui-font);font-size:11px;line-height:1.35;transform:translate(-50%,calc(-100% - 10px));box-shadow:3px 3px #18161c;pointer-events:none;opacity:0;visibility:hidden}#editor-music-tooltip.visible{opacity:1;visibility:visible}body[data-editor-music-mode=true] #game-container canvas{opacity:1;filter:none;transition:opacity .18s ease,filter .18s ease}body[data-editor-music-mode=true] #editor-inspector{opacity:.18;pointer-events:none;transition:opacity .18s ease}body[data-editor-music-ui-locked=true][data-app-mode=editor] #sidebar .sidebar-section:not(#editor-advanced){opacity:.26;pointer-events:none;filter:saturate(.55);transition:opacity .18s ease,filter .18s ease}body[data-editor-music-ui-locked=true][data-app-mode=editor] #editor-advanced .editor-advanced-block:not([data-advanced-block=music]){opacity:.26;pointer-events:none;filter:saturate(.55);transition:opacity .18s ease,filter .18s ease}body[data-editor-music-ui-locked=true][data-app-mode=editor] #mobile-editor-nav .mobile-editor-tab:not([data-mobile-editor-sheet=actions]),body[data-editor-music-ui-locked=true][data-app-mode=editor] #btn-mobile-editor-undo,body[data-editor-music-ui-locked=true][data-app-mode=editor] #btn-mobile-editor-toggle{opacity:.3;pointer-events:none}.editor-music-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:14;display:none;align-items:flex-start;justify-content:center;padding:calc(6px + var(--safe-top)) calc(14px + var(--safe-right)) calc(18px + var(--safe-bottom)) calc(14px + var(--safe-left));pointer-events:none}.editor-music-overlay:not(.hidden){display:flex}.editor-music-shell{width:min(1328px,calc(100% - 4px));display:flex;flex-direction:column;gap:8px;padding:8px 10px 12px;border:2px solid #fff3db;border-radius:4px;background:#050505;box-shadow:4px 4px #18161c;pointer-events:none}.editor-music-strip{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;min-width:0;overflow-x:auto;padding-bottom:2px;scrollbar-width:none;pointer-events:none}.editor-music-strip::-webkit-scrollbar{display:none}.editor-music-tab-dock{flex:0 0 auto;min-width:max-content;display:flex;align-items:flex-end;margin-top:-18px;padding-top:18px;overflow:visible;pointer-events:none}.editor-music-tab-strip{display:flex;flex:0 0 auto;gap:4px}.editor-music-tab-button{min-width:40px;min-height:34px;border-radius:4px 4px 0 0;padding:6px 8px 4px;background:#090909;border-width:2px;border-bottom-width:0;border-color:#fff3db;color:var(--editor-music-instrument-accent, #f6e8c9);font-size:18px;line-height:1;box-shadow:none}.editor-music-tab-button:not(.active){background:#090909;color:var(--editor-music-instrument-accent, #f6e8c9);opacity:1}.editor-music-tab-button.active{background:var(--editor-music-instrument-accent, #f6e8c9);color:#18161c;box-shadow:none}.editor-music-button-strip,.editor-music-control-cluster{display:flex;flex-wrap:nowrap;align-items:center;gap:8px;pointer-events:auto}.editor-music-control-cluster{flex:0 0 auto;padding:4px 6px;border:2px solid #fff3db;border-radius:4px;background:#0b0b0b;box-shadow:none}.editor-music-pitch-cluster{max-width:none}.editor-music-chip-button{border-radius:3px;font-family:var(--editor-pixel-font);font-size:8px;letter-spacing:.08em}.editor-music-icon-button{min-width:34px;min-height:34px;padding:0 8px;font-size:16px;line-height:1}.editor-music-octave-controls,.editor-music-tempo-controls,.editor-music-swing-controls{flex-wrap:nowrap;min-width:124px;justify-content:space-between}.editor-music-octave-label,.editor-music-tempo-label{min-width:92px;padding:0 4px;color:#fff3db;font-family:var(--editor-pixel-font);font-size:8px;text-align:center}.editor-music-control-cluster.is-inactive{visibility:hidden;pointer-events:none}.editor-music-legacy-notice{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:2px solid var(--accent-cool);border-radius:8px;background:rgba(var(--accent-cool-rgb),.12);pointer-events:auto}.editor-music-legacy-text{color:var(--accent-cool);font-size:12px;line-height:1.45}.editor-music-shell .bar-btn,.editor-music-arrangement-overlay .bar-btn{border-radius:3px;font-family:var(--editor-pixel-font);font-size:8px;letter-spacing:.08em}.editor-music-shell .bar-btn.active,.editor-music-arrangement-overlay .bar-btn.active{background:#fff3db;border-color:#fff3db;color:#18161c;box-shadow:none}.editor-music-shell .section-label,.editor-music-workbench-header .section-label{font-family:var(--editor-pixel-font);font-size:9px;color:#fff3db;letter-spacing:.12em}.editor-music-shell .editor-music-icon-button{font-family:var(--editor-ui-font);font-size:18px;letter-spacing:0}#tile-preview{display:block;image-rendering:pixelated;background:var(--field);border-radius:3px;margin:0 auto}body[data-app-mode=editor]{--editor-retro-cream: #fff3db;--editor-retro-paper: #fffaf0;--editor-retro-blue: #79ccde;--editor-retro-blue-deep: #2c5071;--editor-retro-green: #277b30;--editor-retro-yellow: #fcea7c;--editor-retro-red: #ed5f4b;--editor-retro-shadow: #18161c;--editor-retro-ink: #18161c;--editor-ui-font: "HomeVideo", "IBM Plex Mono", "Courier New", monospace}body[data-app-mode=editor]:not([data-device-class=phone]) #sidebar{padding:10px;gap:10px;background:#0b0b0b;border-right:2px solid var(--editor-retro-cream);position:relative;isolation:isolate;overflow:hidden}#editor-fixed-stack,#editor-sidebar-scroll{display:contents}body[data-app-mode=editor]:not([data-device-class=phone]) #editor-fixed-stack{display:flex;flex:0 0 auto;flex-direction:column;gap:10px;min-height:0}body[data-app-mode=editor]:not([data-device-class=phone]) #editor-sidebar-scroll{display:flex;flex:1 1 auto;flex-direction:column;gap:10px;min-height:0;overflow-y:auto;overflow-x:hidden;padding-bottom:14px;scrollbar-gutter:stable}body[data-app-mode=editor] #sidebar{color:var(--editor-retro-ink);scrollbar-color:var(--editor-retro-blue-deep) #0b0b0b}body[data-app-mode=editor]:not([data-device-class=phone]) #editor-actions{position:relative;top:auto;background:var(--editor-retro-cream);-webkit-backdrop-filter:none;backdrop-filter:none;z-index:auto;isolation:auto;overflow:visible;margin-bottom:0;padding-bottom:0}body[data-app-mode=editor]:not([data-device-class=phone]) #editor-actions:after{content:none}body[data-app-mode=editor]:not([data-device-class=phone]) #editor-actions:before{content:none}body[data-app-mode=editor] #sidebar .sidebar-section{padding:12px;border:2px solid var(--editor-retro-blue);border-radius:0;border-bottom:2px solid var(--editor-retro-blue);background:var(--editor-retro-cream);color:var(--editor-retro-ink);box-shadow:3px 3px 0 var(--editor-retro-shadow);overflow:visible}body[data-app-mode=editor] #room-title-section,body[data-app-mode=editor] #goal-section,body[data-app-mode=editor] #course-goal-section{border-color:var(--editor-retro-yellow)}body[data-app-mode=editor] #sidebar .section-label,body[data-app-mode=editor] #sidebar .editor-top-tools-label,body[data-app-mode=editor] #sidebar .editor-tool-popover-label,body[data-app-mode=editor] #sidebar .goal-control-label,body[data-app-mode=editor] #sidebar .erase-controls-label,body[data-app-mode=editor] #sidebar .object-facing-label,body[data-app-mode=editor] #sidebar .background-solid-color-row,body[data-app-mode=editor] #sidebar .lighting-slider-label{color:var(--editor-retro-blue-deep);font-family:var(--editor-ui-font);font-size:10px;letter-spacing:.04em;line-height:1.3;text-transform:uppercase}body[data-app-mode=editor] #sidebar .section-label{margin-bottom:8px}body[data-app-mode=editor] #sidebar .editor-advanced-block-label{color:var(--editor-retro-blue-deep);font-family:"Super Mario Bros. NES",monospace;font-size:11px;letter-spacing:0;line-height:1.2;text-transform:none}body[data-app-mode=editor] #sidebar .sidebar-section-toggle{display:inline-flex;align-items:center;justify-content:center;width:18px;min-width:18px;height:18px;border:2px solid var(--editor-retro-shadow);background:var(--editor-retro-blue);color:#000;box-shadow:2px 2px 0 var(--editor-retro-shadow);font-family:var(--editor-pixel-font);font-size:10px;line-height:1;letter-spacing:0}body[data-app-mode=editor] #sidebar .sidebar-section-toggle:hover{filter:brightness(1.05);transform:none}body[data-app-mode=editor] #sidebar .sidebar-section.is-collapsed .sidebar-section-toggle{background:var(--editor-retro-yellow);color:#000}body[data-app-mode=editor] #sidebar .bar-btn,body[data-app-mode=editor] #sidebar .tool-btn,body[data-app-mode=editor] #sidebar .palette-tab,body[data-app-mode=editor] #sidebar .obj-cat-tab,body[data-app-mode=editor] #sidebar .layer-btn,body[data-app-mode=editor] #sidebar .layer-stack-mini-btn,body[data-app-mode=editor] #sidebar .object-item,body[data-app-mode=editor] #sidebar .layer-info-button{-moz-appearance:none;appearance:none;-webkit-appearance:none;border-width:2px;border-radius:0;border-color:var(--editor-retro-shadow);box-shadow:2px 2px 0 var(--editor-retro-shadow)}body[data-app-mode=editor] #sidebar .bar-btn{min-height:32px;padding:6px 10px 5px;background:var(--editor-retro-blue)!important;background-color:var(--editor-retro-blue)!important;background-image:none!important;box-shadow:inset 0 0 0 999px var(--editor-retro-blue),2px 2px 0 var(--editor-retro-shadow)!important;color:#000!important;font-family:var(--editor-ui-font);font-size:10px;letter-spacing:.03em;line-height:1.2;text-transform:uppercase}body[data-app-mode=editor] #sidebar .bar-btn:hover,body[data-app-mode=editor] #sidebar .tool-btn:hover,body[data-app-mode=editor] #sidebar .palette-tab:hover,body[data-app-mode=editor] #sidebar .obj-cat-tab:hover,body[data-app-mode=editor] #sidebar .layer-btn:hover,body[data-app-mode=editor] #sidebar .layer-stack-mini-btn:hover,body[data-app-mode=editor] #sidebar .object-item:hover,body[data-app-mode=editor] #sidebar .layer-info-button:hover,body[data-app-mode=editor] #sidebar .layer-info-button:focus-visible{filter:brightness(1.05)}body[data-app-mode=editor] #sidebar .bar-btn:disabled{background:#d2caba;border-color:#8d877c;color:#5f5a53;box-shadow:inset 0 0 0 999px #d2caba!important}body[data-app-mode=editor] #sidebar .bar-btn.active,body[data-app-mode=editor] #sidebar .tool-btn.active,body[data-app-mode=editor] #sidebar .layer-btn.active,body[data-app-mode=editor] #sidebar .layer-stack-mini-btn.active,body[data-app-mode=editor] #sidebar .object-item.active{background:var(--editor-retro-green)!important;background-color:var(--editor-retro-green)!important;background-image:none!important;border-color:var(--editor-retro-shadow)!important;color:var(--editor-retro-cream)!important;box-shadow:inset 0 0 0 999px var(--editor-retro-green),2px 2px 0 var(--editor-retro-shadow)!important}body[data-app-mode=editor] #sidebar .bar-btn-danger{background:var(--editor-retro-red)!important;background-color:var(--editor-retro-red)!important;background-image:none!important;border-color:var(--editor-retro-shadow)!important;box-shadow:inset 0 0 0 999px var(--editor-retro-red),2px 2px 0 var(--editor-retro-shadow)!important;color:var(--editor-retro-cream)!important}body[data-app-mode=editor] #sidebar .tool-btn,body[data-app-mode=editor] #sidebar .palette-tab,body[data-app-mode=editor] #sidebar .obj-cat-tab,body[data-app-mode=editor] #sidebar .layer-btn,body[data-app-mode=editor] #sidebar .layer-stack-mini-btn,body[data-app-mode=editor] #sidebar .object-item{background:var(--editor-retro-paper)!important;background-color:var(--editor-retro-paper)!important;background-image:none!important;box-shadow:inset 0 0 0 999px var(--editor-retro-paper),2px 2px 0 var(--editor-retro-shadow)!important;color:var(--editor-retro-ink)!important}body[data-app-mode=editor] #sidebar .tool-btn,body[data-app-mode=editor] #sidebar .palette-tab,body[data-app-mode=editor] #sidebar .obj-cat-tab{font-family:var(--editor-ui-font);font-size:10px;letter-spacing:.03em}body[data-app-mode=editor] #sidebar .tool-btn{height:42px;min-width:56px}body[data-app-mode=editor] #sidebar .tool-icon{font-size:14px}body[data-app-mode=editor] #sidebar .tool-label{font-family:var(--editor-ui-font);font-size:9px;letter-spacing:.03em;line-height:1.25}body[data-app-mode=editor] #sidebar .palette-tab.active,body[data-app-mode=editor] #sidebar .obj-cat-tab.active{background:var(--editor-retro-yellow)!important;background-color:var(--editor-retro-yellow)!important;background-image:none!important;border-color:var(--editor-retro-shadow)!important;box-shadow:inset 0 0 0 999px var(--editor-retro-yellow),2px 2px 0 var(--editor-retro-shadow)!important;color:#000!important}body[data-app-mode=editor] #sidebar .layer-btn{background:var(--editor-retro-paper)!important;background-color:var(--editor-retro-paper)!important;background-image:none!important;box-shadow:inset 0 0 0 999px var(--editor-retro-paper),2px 2px 0 var(--editor-retro-shadow)!important;color:var(--editor-retro-ink)!important}body[data-app-mode=editor] #sidebar .layer-btn-summary{color:inherit;font-family:var(--editor-ui-font);font-size:12px;line-height:1.25;letter-spacing:.02em;text-transform:none}body[data-app-mode=editor] #sidebar .layer-info-button{width:28px;min-width:28px;background:var(--editor-retro-blue)!important;background-color:var(--editor-retro-blue)!important;background-image:none!important;box-shadow:inset 0 0 0 999px var(--editor-retro-blue),2px 2px 0 var(--editor-retro-shadow)!important;color:#000!important;font-family:var(--editor-ui-font)}body[data-app-mode=editor] #sidebar .layer-info-tooltip,body[data-app-mode=editor] #object-tooltip,body[data-app-mode=editor] #sidebar .editor-tool-popover,body[data-app-mode=editor] #sidebar .pressure-plate-panel,body[data-app-mode=editor] #sidebar #container-contents-panel{border:2px solid var(--editor-retro-blue);border-radius:0;background:var(--editor-retro-paper);color:var(--editor-retro-ink);box-shadow:3px 3px 0 var(--editor-retro-shadow);font-family:var(--editor-ui-font)}body[data-app-mode=editor] #sidebar .layer-stack-mini-btn.active{box-shadow:inset 0 0 0 999px var(--editor-retro-green),2px 2px 0 var(--editor-retro-shadow)!important}body[data-app-mode=editor] #sidebar select,body[data-app-mode=editor] #sidebar .goal-input,body[data-app-mode=editor] #sidebar .object-search-input,body[data-app-mode=editor] #sidebar .editor-erase-brush-select{width:100%;padding:8px 10px 6px;border:2px solid var(--editor-retro-blue-deep);border-radius:0;background:#0b0b0b;color:var(--editor-retro-cream);font-family:var(--editor-ui-font);font-size:12px;box-shadow:none}body[data-app-mode=editor] #sidebar select:focus,body[data-app-mode=editor] #sidebar .goal-input:focus,body[data-app-mode=editor] #sidebar .object-search-input:focus,body[data-app-mode=editor] #sidebar .editor-erase-brush-select:focus{outline:none;border-color:var(--editor-retro-blue);box-shadow:0 0 0 2px #79ccde33}body[data-app-mode=editor] #sidebar select option{background:#18161c;color:var(--editor-retro-cream)}body[data-app-mode=editor] #sidebar .object-search-input::placeholder{color:#fff3dbad}body[data-app-mode=editor] #sidebar #palette-container,body[data-app-mode=editor] #sidebar #object-grid{border:2px solid var(--editor-retro-blue-deep);border-radius:0;background:#0b0b0b}body[data-app-mode=editor] #sidebar #object-grid{padding:4px}body[data-app-mode=editor] #sidebar .object-grid-empty{border:2px dashed var(--editor-retro-blue);border-radius:0;color:var(--editor-retro-blue);font-family:var(--editor-ui-font);font-size:11px}body[data-app-mode=editor] #sidebar .editor-layer-chip{margin-top:8px;padding:6px 8px 5px;border:2px solid var(--editor-retro-blue-deep);border-radius:0;background:var(--editor-retro-paper);color:var(--editor-retro-blue-deep);box-shadow:none;font-family:var(--editor-ui-font);font-size:10px;letter-spacing:.03em;text-transform:uppercase}body[data-app-mode=editor] #sidebar .editor-layer-chip[data-layer-tone=background]{border-color:var(--editor-retro-blue-deep);background:#eefbfd;color:var(--editor-retro-blue-deep)}body[data-app-mode=editor] #sidebar .editor-layer-chip[data-layer-tone=terrain]{border-color:var(--editor-retro-green);background:#eef7dd;color:var(--editor-retro-shadow)}body[data-app-mode=editor] #sidebar .editor-layer-chip[data-layer-tone=foreground]{border-color:var(--editor-retro-red);background:#fde8e2;color:var(--editor-retro-shadow)}body[data-app-mode=editor] #sidebar .selection-info,body[data-app-mode=editor] #sidebar .background-solid-color-value,body[data-app-mode=editor] #sidebar .lighting-slider-value{color:var(--editor-retro-blue-deep);font-family:var(--editor-ui-font);font-size:11px}body[data-app-mode=editor] #sidebar .palette-hint,body[data-app-mode=editor] #sidebar .goal-summary,body[data-app-mode=editor] #sidebar .room-lighting-note,body[data-app-mode=editor] #sidebar .history-modal-meta,body[data-app-mode=editor] #sidebar #music-summary,body[data-app-mode=editor] #sidebar .lighting-slider-endpoints,body[data-app-mode=editor] #sidebar .editor-top-save-status,body[data-app-mode=editor] #sidebar .editor-publish-nudge-text{color:var(--editor-retro-blue-deep);font-family:var(--editor-ui-font);font-size:12px;line-height:1.5}body[data-app-mode=editor] #sidebar .goal-summary,body[data-app-mode=editor] #sidebar .editor-top-save-status{padding:9px 10px;border:2px solid var(--editor-retro-blue-deep);background:var(--editor-retro-paper);box-shadow:2px 2px 0 var(--editor-retro-shadow)}body[data-app-mode=editor] #sidebar .editor-top-save-status a{color:var(--editor-retro-blue-deep);text-decoration:underline;text-underline-offset:2px}body[data-app-mode=editor] #sidebar .goal-context-note{border:2px solid var(--editor-retro-shadow);border-radius:0;background:var(--editor-retro-blue);color:#000;font-family:var(--editor-ui-font);font-size:11px;line-height:1.4;box-shadow:2px 2px 0 var(--editor-retro-shadow)}body[data-app-mode=editor] #sidebar .goal-placement-hint{padding:8px 10px;border:2px solid var(--editor-retro-shadow);border-radius:0;background:var(--editor-retro-yellow);color:#000;font-family:var(--editor-ui-font);font-size:11px;line-height:1.4}body[data-app-mode=editor] #sidebar .editor-action-rail{gap:8px}body[data-app-mode=editor] #sidebar .editor-action-rail-btn{min-height:46px;padding:6px 4px 5px}body[data-app-mode=editor] #sidebar #btn-editor-back{background:var(--editor-retro-blue)!important;background-color:var(--editor-retro-blue)!important;box-shadow:inset 0 0 0 999px var(--editor-retro-blue),2px 2px 0 var(--editor-retro-shadow)!important;color:#000!important}body[data-app-mode=editor] #sidebar #btn-test-play{background:var(--editor-retro-green)!important;background-color:var(--editor-retro-green)!important;box-shadow:inset 0 0 0 999px var(--editor-retro-green),2px 2px 0 var(--editor-retro-shadow)!important;color:var(--editor-retro-cream)!important}body[data-app-mode=editor] #sidebar #btn-save-draft,body[data-app-mode=editor] #sidebar #btn-course-editor-save-course{background:var(--editor-retro-yellow)!important;background-color:var(--editor-retro-yellow)!important;box-shadow:inset 0 0 0 999px var(--editor-retro-yellow),2px 2px 0 var(--editor-retro-shadow)!important;color:#000!important}body[data-app-mode=editor] #sidebar #btn-publish-room,body[data-app-mode=editor] #sidebar #btn-course-editor-publish-course,body[data-app-mode=editor] #sidebar #btn-editor-publish-nudge,body[data-app-mode=editor] #sidebar #btn-mint-room{background:var(--editor-retro-red)!important;background-color:var(--editor-retro-red)!important;box-shadow:inset 0 0 0 999px var(--editor-retro-red),2px 2px 0 var(--editor-retro-shadow)!important;color:var(--editor-retro-cream)!important}body[data-app-mode=editor] #sidebar #btn-editor-publish-nudge{font-family:var(--editor-ui-font);font-size:11px;letter-spacing:.04em}body[data-app-mode=editor] #sidebar .editor-top-tools{margin-top:10px;padding-top:10px;border-top:2px solid var(--editor-retro-blue)}body[data-app-mode=editor] #sidebar .editor-publish-nudge{padding:12px;border:2px solid var(--editor-retro-shadow);border-radius:0;background:var(--editor-retro-yellow);box-shadow:3px 3px 0 var(--editor-retro-shadow)}body[data-app-mode=editor] #sidebar .editor-publish-nudge-kicker{color:var(--editor-retro-blue-deep);font-family:var(--editor-ui-font);font-size:11px;letter-spacing:.04em;text-transform:uppercase}body[data-app-mode=editor] #sidebar .editor-advanced-grid{gap:12px}body[data-app-mode=editor] #sidebar .editor-advanced-block{padding:10px;border:2px solid var(--editor-retro-blue);border-radius:0;background:var(--editor-retro-paper);box-shadow:2px 2px 0 var(--editor-retro-shadow)}body[data-app-mode=editor] #sidebar .editor-advanced-block[data-advanced-block=music]{border-color:var(--accent-alt)}body[data-app-mode=editor] #sidebar .editor-advanced-block[data-advanced-block=lighting]{border-color:var(--editor-retro-yellow)}body[data-app-mode=editor] #sidebar .background-solid-color-input{border:2px solid var(--editor-retro-blue-deep);border-radius:0;background:#0b0b0b;box-shadow:none}body[data-app-mode=editor] #sidebar .background-solid-color-input::-webkit-color-swatch,body[data-app-mode=editor] #sidebar .background-solid-color-input::-moz-color-swatch{border-radius:0}body[data-app-mode=editor] #sidebar .lighting-slider-input{accent-color:var(--editor-retro-yellow)}body[data-app-mode=editor] #sidebar .editor-music-workbench-card,body[data-app-mode=editor] #sidebar .editor-music-status-note{box-shadow:2px 2px 0 var(--editor-retro-shadow)}body[data-app-mode=editor] #sidebar .editor-music-workbench .section-label,body[data-app-mode=editor] #sidebar .editor-music-workbench .editor-music-select-label{color:#fff3db}body[data-app-mode=editor] #sidebar #editor-music-phrase-name-row .goal-input{border-color:#fff3db}body[data-app-mode=editor] #sidebar #editor-music-phrase-action-row .bar-btn.active{background:var(--editor-retro-yellow)!important;background-color:var(--editor-retro-yellow)!important;background-image:none!important;border-color:var(--editor-retro-shadow)!important;color:#000!important;box-shadow:inset 0 0 0 999px var(--editor-retro-yellow),2px 2px 0 var(--editor-retro-shadow)!important}#course-editor-shell{--course-editor-cream: #fff3db;--course-editor-paper: #fffaf0;--course-editor-blue: #79ccde;--course-editor-blue-deep: #2c5071;--course-editor-green: #277b30;--course-editor-yellow: #fcea7c;--course-editor-red: #ed5f4b;--course-editor-shadow: #18161c}#course-editor-shell{position:absolute;top:0;right:0;bottom:0;left:0;z-index:14;pointer-events:none;display:none}body[data-app-mode=course-composer] #game-container{grid-column:1 / -1}body[data-app-mode=course-composer] #sidebar,body[data-app-mode=course-composer] #world-hud,body[data-app-mode=course-composer] #global-chat,body[data-app-mode=course-composer] #bottom-bar,body[data-app-mode=course-composer] #mobile-editor-nav{display:none!important}body[data-app-mode=course-composer] #course-editor-shell{display:block}.course-editor-panel{pointer-events:auto;position:absolute;top:calc(16px + var(--safe-top));left:calc(16px + var(--safe-left));bottom:calc(16px + var(--safe-bottom));width:min(380px,calc(100vw - 32px - var(--safe-left) - var(--safe-right)));display:flex;flex-direction:column;gap:14px;padding:18px 16px 16px;background:var(--course-editor-cream);border:3px solid var(--course-editor-blue);border-radius:0;box-shadow:6px 6px 0 var(--course-editor-shadow);-webkit-backdrop-filter:none;backdrop-filter:none}.course-editor-header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.course-editor-header-copy{min-width:0;display:flex;flex-direction:column;gap:6px}.course-editor-toolbar{display:flex;flex-direction:column;gap:10px}.course-editor-zoom-row,.course-editor-checkpoint-actions{display:flex;flex-wrap:wrap;gap:6px}.course-editor-scroll{min-height:0;overflow-y:auto;padding-right:2px;display:flex;flex-direction:column;gap:14px}.course-editor-zoom-text{min-width:92px;display:inline-flex;align-items:center;justify-content:center;padding:7px 8px 6px;border:2px solid var(--course-editor-blue-deep);background:var(--course-editor-paper);color:var(--course-editor-blue-deep);font-family:HomeVideo,IBM Plex Mono,Courier New,monospace;font-size:12px;line-height:1.15;box-shadow:2px 2px 0 var(--course-editor-shadow)}.course-editor-list{display:flex;flex-direction:column;gap:8px}.course-editor-room-entry,.course-editor-checkpoint-entry{width:100%;border:2px solid var(--course-editor-blue);border-radius:0;background:var(--course-editor-paper);box-shadow:2px 2px 0 var(--course-editor-shadow)}.course-editor-room-entry{padding:12px;text-align:left}.course-editor-room-entry.active{border-color:var(--course-editor-green);background:#eef7dd}.course-editor-room-entry-title,.course-editor-checkpoint-title{color:var(--course-editor-shadow);font-family:HomeVideo,IBM Plex Mono,Courier New,monospace;font-size:13px;font-weight:400;line-height:1.25}.course-editor-room-entry-meta,.course-editor-checkpoint-meta,.course-editor-empty{color:var(--course-editor-blue-deep);font-family:HomeVideo,IBM Plex Mono,Courier New,monospace;font-size:12px;line-height:1.4}.course-editor-checkpoint-entry{padding:12px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.course-editor-checkpoint-copy{min-width:0;display:flex;flex-direction:column;gap:4px}#course-editor-shell .history-modal-kicker{color:var(--course-editor-blue-deep);font-family:HomeVideo,IBM Plex Mono,Courier New,monospace;font-size:11px;letter-spacing:.04em;line-height:1.25;text-transform:uppercase}#course-editor-shell .history-modal-title{color:var(--course-editor-shadow);font-family:"Super Mario Bros. NES",monospace;font-size:19px;line-height:1.2}#course-editor-shell .history-modal-meta,#course-editor-shell .goal-summary{color:var(--course-editor-blue-deep);font-family:HomeVideo,IBM Plex Mono,Courier New,monospace;font-size:12px;line-height:1.45}#course-editor-shell .about-section{display:flex;flex-direction:column;gap:10px;padding:14px;border:2px solid var(--course-editor-blue);border-radius:0;background:var(--course-editor-paper);box-shadow:3px 3px 0 var(--course-editor-shadow)}#course-editor-shell .about-section-title{color:var(--course-editor-blue-deep);font-family:HomeVideo,IBM Plex Mono,Courier New,monospace;font-size:11px;letter-spacing:.04em;line-height:1.25;text-transform:uppercase}#course-editor-shell .goal-input{padding:9px 10px;border:2px solid var(--course-editor-blue-deep);border-radius:0;background:var(--course-editor-cream);color:var(--course-editor-shadow);font-family:HomeVideo,IBM Plex Mono,Courier New,monospace;font-size:12px;box-shadow:inset 0 0 0 1px #79ccde38}#course-editor-shell .goal-input:focus{outline:none;border-color:var(--course-editor-blue);box-shadow:inset 0 0 0 1px #79ccde59,0 0 0 1px #79ccde6b}#course-editor-shell .goal-summary,#course-editor-shell #course-workbench-published-state,#course-editor-shell #course-workbench-selected-room-summary{margin-top:0;padding:9px 10px;border:2px solid var(--course-editor-blue-deep);background:var(--course-editor-cream);color:var(--course-editor-shadow);box-shadow:none}#course-editor-shell #course-workbench-status,#course-editor-shell #course-workbench-selected-room-status,#course-editor-shell #course-workbench-save-reason,#course-editor-shell #course-workbench-test-reason,#course-editor-shell #course-workbench-publish-reason,#course-editor-shell #course-workbench-unpublish-reason,#course-editor-shell #course-workbench-published-warning{margin-top:0;padding:9px 10px;border:2px solid var(--course-editor-shadow);border-radius:0;background:var(--course-editor-cream);color:var(--course-editor-shadow);font-family:HomeVideo,IBM Plex Mono,Courier New,monospace;font-size:12px;line-height:1.45;box-shadow:none}#course-editor-shell #course-workbench-save-reason,#course-editor-shell #course-workbench-test-reason,#course-editor-shell #course-workbench-published-warning{background:#fff7cf;border-color:var(--course-editor-yellow)}#course-editor-shell #course-workbench-publish-reason,#course-editor-shell #course-workbench-unpublish-reason{background:#eefbfd;color:#000;border-color:var(--course-editor-blue)}#course-editor-shell #course-workbench-status{background:#eef7dd;border-color:var(--course-editor-green);color:var(--course-editor-shadow)}#course-editor-shell .course-room-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}#course-editor-shell .bar-btn{min-height:34px;padding:8px 12px 7px;border:2px solid var(--course-editor-shadow);border-radius:0;font-family:HomeVideo,IBM Plex Mono,Courier New,monospace;font-size:11px;letter-spacing:.03em;line-height:1.1;text-transform:uppercase;box-shadow:3px 3px 0 var(--course-editor-shadow)}#btn-course-workbench-back-world,#btn-course-workbench-zoom-out,#btn-course-workbench-zoom-in,#btn-course-workbench-fit,#btn-course-workbench-toggle-room,#btn-course-workbench-center-room,#btn-course-workbench-unpublish{background:var(--course-editor-blue)!important;color:#000!important}#btn-course-workbench-open-room,#btn-course-workbench-edit-course,#btn-course-workbench-save{background:var(--course-editor-yellow)!important;color:#000!important}#btn-course-workbench-test{background:var(--course-editor-green)!important;color:var(--course-editor-cream)!important}#btn-course-workbench-publish{background:var(--course-editor-red)!important;color:var(--course-editor-cream)!important}body[data-device-class=phone] .course-editor-panel{top:calc(8px + var(--safe-top));left:calc(8px + var(--safe-left));right:calc(8px + var(--safe-right));bottom:calc(8px + var(--safe-bottom));width:auto;padding:12px}#game-container{grid-column:2;grid-row:1;min-width:0;min-height:0;height:auto;background:var(--bg);position:relative;overflow:hidden}#game-container canvas{display:block}body[data-app-mode=world] #game-container,body[data-app-mode=play-world] #game-container{grid-column:1 / -1}#world-hud{--hud-trial-yellow: #fcea7c;--hud-trial-blue: #79ccde;--hud-trial-green: #277b30;--hud-trial-red: #ed5f4b;--hud-trial-ink-dark: #000;position:absolute;top:calc(16px + var(--safe-top));left:calc(16px + var(--safe-left));z-index:10;width:320px;max-width:calc(100% - 32px);padding:14px;background:#0b0b0b;border:2px solid #fff3db;border-radius:0;display:none;flex-direction:column;gap:12px;box-shadow:4px 4px #18161c;font-family:var(--hud-ui-font)}.world-hud-topline{display:flex;align-items:center;justify-content:space-between;gap:8px}.world-hud-title-wrap{display:inline-flex;align-items:center;gap:8px;min-width:0}.world-hud-title{color:var(--hud-trial-yellow);font-family:Early GameBoy,monospace;font-size:12px;line-height:1.5;letter-spacing:.04em}.world-hud-beta{flex:0 0 auto;padding:3px 6px 2px;border:2px solid #18161c;border-radius:0;background:var(--hud-trial-red);color:#fff3db;font-family:Early GameBoy,monospace;font-size:8px;letter-spacing:.08em;line-height:1;transform:none;box-shadow:2px 2px #18161c}.world-room-title{color:var(--text);font-family:var(--hud-room-title-font);font-size:18px;line-height:1.05;letter-spacing:.02em;font-weight:600;overflow-wrap:anywhere;flex:1 1 auto;min-width:0}.world-room-title[data-title-size=compact]{font-size:16px}.world-room-title[data-title-size=tiny]{font-size:14px}.world-room-title[data-world-title-tone=minted]{color:#f65699}.world-room-title-row{display:flex;align-items:flex-start;gap:8px;min-width:0}.world-room-subtitle{color:var(--text-muted);font-size:12px;line-height:1.25;letter-spacing:.04em}.world-hud-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.world-hud-row-selected-owner{align-items:flex-start}#world-hud .bar-btn-small{font-size:11.5px}body[data-app-mode=play-world]:not([data-coarse-pointer=true]) #world-hud{width:auto;max-width:calc(100% - 32px);padding:12px;gap:0;background:#0b0b0b}body[data-app-mode=play-world]:not([data-coarse-pointer=true]) #world-hud>:not(.world-hud-row-primary-actions){display:none}body[data-app-mode=play-world]:not([data-coarse-pointer=true]) #world-hud .world-hud-row-primary-actions{justify-content:center;gap:8px}body[data-app-mode=play-world]:not([data-coarse-pointer=true]) #world-hud .world-hud-row-primary-actions>:not(.active){display:none}body[data-app-mode=play-world]:not([data-coarse-pointer=true]) #world-hud .world-hud-row-primary-actions>.active{min-width:118px;padding:9px 16px;font-size:13px;line-height:1.1;box-shadow:3px 3px #18161c}.world-hud-label{color:var(--text-muted);font-size:10px;text-transform:uppercase;letter-spacing:.8px}.world-hud-value{color:var(--text)}.world-hud-value-button{padding:0;border:0;background:transparent;font:inherit;text-align:left}.world-hud-value-button:disabled{cursor:default;opacity:1;color:var(--hud-trial-blue)}.world-hud-value-button.is-clickable{cursor:pointer}.world-hud-value-button.is-clickable:hover,.world-hud-value-button.is-clickable:focus-visible{color:#fff;text-decoration:none;outline:none}#world-selected-coords{color:var(--hud-trial-blue);font-size:12.5px;line-height:1.2}.world-creator-card{flex:1 1 auto;min-width:0;width:100%;padding:7px 10px;border:2px solid #fff3db;border-radius:0;background:#0f0f0f;box-shadow:2px 2px #18161c;display:flex;align-items:flex-start;gap:10px;color:var(--text);font:inherit;text-align:left}.world-creator-card:disabled{opacity:1;cursor:default}.world-creator-card.is-clickable{cursor:pointer}.world-creator-card.is-clickable:hover,.world-creator-card.is-clickable:focus-visible{border-color:var(--hud-trial-blue);outline:none}.world-creator-card-avatar-frame{width:66px;min-width:66px;height:58px;border:2px solid #fff3db;background:#050505;display:flex;align-items:flex-end;justify-content:center;overflow:hidden}.world-creator-card-avatar{display:block;width:auto;height:54px;max-width:none;max-height:none;image-rendering:pixelated}.world-creator-card-body{min-width:0;display:flex;flex-direction:column;gap:2px}.world-creator-card-name{color:var(--hud-trial-blue);font-size:13px;line-height:1.1;overflow-wrap:anywhere}.world-creator-card-stats{display:flex;flex-direction:column;gap:2px}.world-creator-stat-row{display:flex;align-items:center;gap:8px;min-height:15px}.world-creator-stat-icons{display:flex;align-items:center;gap:6px;min-height:16px;color:#fff;line-height:1;flex:0 0 auto}.world-creator-stat-icons[data-placeholder=true]{color:var(--text-muted)}.world-creator-stat-level-icon{display:block;width:16px;height:16px;image-rendering:pixelated;flex:0 0 auto}.world-creator-stat-level-label{color:#fff3db;font-family:Early GameBoy,monospace;font-size:8px;line-height:1.15;letter-spacing:.04em;white-space:nowrap}.world-creator-stat-progress{flex:1 1 auto;min-width:84px;height:6px;margin-top:0;border:1px solid #fff3db;background:#050505;box-shadow:1px 1px #18161c,inset 1px 1px #fff3db0f;overflow:hidden}.world-creator-stat-progress-fill{height:100%;width:0;background:#fff3db}.world-creator-stat-progress-fill-player{background:#277b30}.world-creator-stat-progress-fill-curator{background:#79ccde}.world-creator-stat-progress-fill-builder{background:#fcea7c}.world-state-wrap{margin-left:auto;display:inline-flex;align-items:center;gap:6px}.world-state-pill{padding:4px 7px 3px;border-radius:0;background:#151515;color:#fff;font-size:10px;text-transform:uppercase;border:2px solid #18161c;letter-spacing:.08em;box-shadow:2px 2px #18161c}.world-state-pill[data-world-state-tone=published]{background:var(--hud-trial-green);color:#fff}.world-state-pill[data-world-state-tone=minted]{background:var(--hud-trial-blue);color:var(--hud-trial-ink-dark)}.world-state-pill[data-world-state-tone=draft]{background:var(--hud-trial-yellow);color:var(--hud-trial-ink-dark)}.world-state-pill[data-world-state-tone=frontier]{background:var(--hud-trial-red);color:#fff}.world-state-pill[data-world-state-tone=empty]{background:#151515;color:var(--text-muted)}.world-title-lock-wrap{position:relative;display:inline-flex;align-items:center;flex:0 0 auto}.world-title-lock-button{width:20px;height:20px;padding:0;border:2px solid #18161c;border-radius:0;background:transparent;display:inline-flex;align-items:center;justify-content:center;cursor:help;box-shadow:2px 2px #18161c}.world-title-lock-icon{display:block;width:14px;height:14px;image-rendering:pixelated;pointer-events:none}.world-title-lock-button:hover,.world-title-lock-button:focus-visible{border-color:#f65699;outline:none}.world-title-lock-tooltip{position:absolute;top:calc(100% + 8px);right:0;z-index:28;width:min(220px,calc(100vw - 48px));padding:10px 12px;border:2px solid #f65699;border-radius:0;background:#090909;box-shadow:3px 3px #18161c;color:var(--text);font-size:10px;line-height:1.45;opacity:0;pointer-events:none;transform:translateY(-4px);transition:opacity .12s ease,transform .12s ease}.world-title-lock-wrap:hover .world-title-lock-tooltip,.world-title-lock-wrap:focus-within .world-title-lock-tooltip{opacity:1;pointer-events:auto;transform:translateY(0)}.world-hud-meta,.world-hud-status,.world-hud-goal{color:var(--text-muted);font-size:12px;line-height:1.35}.world-hud-meta[data-world-meta-tone=draft]{color:#ffd9a8}.world-hud-meta[data-world-meta-tone=frontier]{color:var(--hud-trial-red)}#world-status:empty,#world-selected-meta:empty,#world-selected-subtitle:empty,#world-selected-goal:empty,#world-leaderboard:empty{display:none}#world-selected-goal{color:var(--hud-trial-yellow)}#world-leaderboard{padding-top:8px;border-top:2px solid rgba(255,243,219,.14);color:var(--text)}.world-goal-panel{--hud-trial-yellow: #fcea7c;--hud-trial-blue: #79ccde;--hud-trial-green: #277b30;--hud-trial-red: #ed5f4b;--hud-trial-ink-dark: #000;position:absolute;top:calc(16px + var(--safe-top));right:calc(16px + var(--safe-right));z-index:10;min-width:210px;max-width:min(320px,calc(100vw - 32px - var(--safe-left) - var(--safe-right)));padding:12px 14px;border-radius:0;background:#050505;border:2px solid var(--hud-trial-yellow);box-shadow:4px 4px #18161c;display:flex;flex-direction:column;gap:6px;pointer-events:none;font-family:var(--hud-ui-font)}.world-goal-panel[data-goal-panel-tone=active]{border-color:var(--hud-trial-yellow)}.world-goal-panel[data-goal-panel-tone=complete]{border-color:var(--hud-trial-green)}.world-goal-panel[data-goal-panel-tone=failed]{border-color:var(--hud-trial-red)}.world-goal-panel-room{color:#f3eee2d1;font-size:10px;letter-spacing:.12em;text-transform:uppercase}.world-goal-panel-goal{color:var(--hud-trial-yellow);font-size:14px;font-weight:600;line-height:1.2}.world-goal-panel[data-goal-panel-tone=complete] .world-goal-panel-goal,.world-goal-panel[data-goal-panel-tone=complete] .world-goal-panel-timer{color:var(--hud-trial-green)}.world-goal-panel[data-goal-panel-tone=failed] .world-goal-panel-goal,.world-goal-panel[data-goal-panel-tone=failed] .world-goal-panel-timer{color:var(--hud-trial-red)}.world-goal-panel-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}.world-goal-panel-progress{color:var(--text);font-size:12px;line-height:1.3}.world-goal-panel-timer{color:var(--hud-trial-yellow);font-size:14px;font-weight:600;white-space:nowrap}.world-sign-panel{position:absolute;left:50%;bottom:calc(84px + var(--safe-bottom));z-index:10;width:min(460px,calc(100vw - 32px - var(--safe-left) - var(--safe-right)));padding:14px 16px;border-radius:0;border:2px solid #1c0911;background:#fff3db;box-shadow:0 12px 28px #1c091138;transform:translate(-50%);display:flex;flex-direction:column;gap:0;pointer-events:none}.world-sign-panel-label{display:none}.world-sign-panel-text{color:#1c0911;font-family:"Super Mario Bros. NES",Early GameBoy,monospace;font-size:14px;line-height:1.7;letter-spacing:.03em;white-space:pre-wrap;overflow-wrap:anywhere}.room-title-input{width:100%}#world-jump-input{flex:1;min-width:0;padding:5px 8px;background:var(--panel-2);border:2px solid #18161c;border-radius:0;color:var(--text);font-size:11px;font-family:var(--hud-ui-font);box-shadow:2px 2px #18161c}#world-jump-input:focus{outline:none;border-color:var(--accent-cool)}.room-chat-composer{position:absolute;left:50%;bottom:calc(68px + var(--safe-bottom));z-index:18;width:min(360px,calc(100% - 32px - var(--safe-left) - var(--safe-right)));transform:translate(-50%)}.room-chat-composer-form{display:flex;align-items:center;gap:8px;padding:10px 12px;border:3px solid #79ccde;border-radius:0;background:#fff3db;box-shadow:6px 6px #18161c;-webkit-backdrop-filter:none;backdrop-filter:none}.room-chat-input{flex:1;min-width:0;padding:8px 10px;background:#fffaf0;border:2px solid #2c5071;border-radius:0;color:#18161c;font-size:12px;font-family:HomeVideo,IBM Plex Mono,Courier New,monospace}.room-chat-input:focus{outline:none;border-color:#79ccde}.room-chat-input:disabled{color:#6d6768;background:#e5ddd0}.room-chat-send{min-width:72px;padding:8px 12px 7px;border:2px solid #18161c;border-radius:0;background:#277b30!important;color:#fff3db!important;font-family:HomeVideo,IBM Plex Mono,Courier New,monospace;font-size:11px;letter-spacing:.03em;line-height:1.1;text-transform:uppercase;box-shadow:3px 3px #18161c}.chat-panel{position:absolute;right:calc(16px + var(--safe-right));bottom:calc(52px + var(--safe-bottom));z-index:11;width:min(360px,calc(100% - 32px));display:none;flex-direction:column;align-items:flex-end;gap:8px}.chat-toggle{display:inline-flex;align-items:center;gap:8px;margin-left:auto;min-height:36px;padding:8px 12px 7px;border:2px solid #18161c;border-radius:0;background:#79ccde!important;color:#000!important;font-family:HomeVideo,IBM Plex Mono,Courier New,monospace;font-size:11px;letter-spacing:.03em;line-height:1.1;text-transform:uppercase;box-shadow:3px 3px #18161c}.chat-panel-body{width:100%;display:flex;flex-direction:column;gap:10px;padding:14px;background:#fff3db;border:3px solid #79ccde;border-radius:0;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:6px 6px #18161c;max-height:min(620px,76vh)}.chat-panel-header{display:flex;align-items:center;justify-content:space-between;gap:10px}.chat-panel-title{color:#18161c;font-family:"Super Mario Bros. NES",monospace;font-size:18px;line-height:1.2}.chat-panel-close{margin-left:auto;min-width:74px;padding:8px 12px 7px;border:2px solid #18161c;border-radius:0;background:#79ccde!important;color:#000!important;font-family:HomeVideo,IBM Plex Mono,Courier New,monospace;font-size:11px;letter-spacing:.03em;line-height:1.1;text-transform:uppercase;box-shadow:3px 3px #18161c}.chat-messages{min-height:240px;max-height:min(460px,60vh);overflow-y:auto;display:flex;flex-direction:column;gap:10px;padding:10px;border:2px solid #79ccde;background:#fffaf0;box-shadow:inset 0 0 0 1px #2c507114}.chat-empty,.chat-status{padding:9px 10px;border:2px solid #2c5071;background:#fff3db;color:#2c5071;font-family:HomeVideo,IBM Plex Mono,Courier New,monospace;font-size:12px;line-height:1.45}.chat-form{display:flex;align-items:center;gap:8px}.chat-input{flex:1;min-width:0;padding:8px 10px;background:#fffaf0;border:2px solid #2c5071;border-radius:0;color:#18161c;font-size:12px;font-family:HomeVideo,IBM Plex Mono,Courier New,monospace}.chat-input:focus{outline:none;border-color:#79ccde}.chat-input:disabled{color:#6d6768;background:#e5ddd0}.chat-unread-badge{min-width:20px;padding:3px 6px 2px;border:2px solid #18161c;border-radius:0;background:#ed5f4b;color:#fff3db;font-family:Early GameBoy,monospace;font-size:8px;line-height:1.2;text-align:center;box-shadow:2px 2px #18161c}.chat-message{display:flex;flex-direction:column;gap:6px;padding:10px;border:2px solid #79ccde;background:#fff3db;box-shadow:2px 2px #18161c}.chat-message:last-child{margin-bottom:0}.chat-message-header{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.chat-message-author{color:#2c5071;font-family:HomeVideo,IBM Plex Mono,Courier New,monospace;font-size:12px}.chat-message-time{color:#6d6768;font-family:HomeVideo,IBM Plex Mono,Courier New,monospace;font-size:11px;white-space:nowrap}.chat-message-body{color:#18161c;font-family:HomeVideo,IBM Plex Mono,Courier New,monospace;font-size:12px;line-height:1.45;white-space:pre-wrap;word-break:break-word}.chat-message-actions{display:flex;flex-wrap:wrap;gap:6px}.chat-message-action{min-width:70px;padding:7px 10px 6px;border:2px solid #18161c;border-radius:0;background:#79ccde!important;color:#000!important;font-family:HomeVideo,IBM Plex Mono,Courier New,monospace;font-size:11px;letter-spacing:.03em;line-height:1.1;text-transform:uppercase;box-shadow:2px 2px #18161c}.chat-message-action.bar-btn-danger{background:#ed5f4b!important;color:#fff3db!important}#btn-chat-send{min-width:76px;padding:8px 12px 7px;border:2px solid #18161c;border-radius:0;background:#277b30!important;color:#fff3db!important;font-family:HomeVideo,IBM Plex Mono,Courier New,monospace;font-size:11px;letter-spacing:.03em;line-height:1.1;text-transform:uppercase;box-shadow:3px 3px #18161c}#bottom-bar{grid-column:1 / -1;grid-row:2;width:100%;min-width:0;height:36px;background:var(--panel);border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;padding:0 12px;gap:12px;font-family:var(--hud-ui-font)}.mobile-play-controls{position:absolute;top:0;right:0;bottom:0;left:0;z-index:14;pointer-events:none}.mobile-world-stop{position:absolute;top:calc(46px + var(--safe-top));left:calc(8px + var(--safe-left));z-index:12;min-width:68px}.mobile-world-restart{position:absolute;top:calc(46px + var(--safe-top));left:calc(84px + var(--safe-left));z-index:12;min-width:82px}.mobile-play-actions{position:absolute;right:calc(8px + var(--safe-right));bottom:calc(4px + var(--safe-bottom));width:188px;height:180px;pointer-events:auto}.mobile-action-btn{position:absolute;width:74px;height:74px;padding:0 10px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;isolation:isolate;pointer-events:auto;touch-action:none;color:#f6ead2;font-family:var(--hud-ui-font);font-size:10px;font-weight:700;letter-spacing:.04em;line-height:1.05;text-align:center;box-shadow:none}.mobile-action-btn:before{content:"";position:absolute;top:11px;right:11px;bottom:11px;left:11px;z-index:-1;border-radius:999px;border:1px solid rgba(243,238,226,.16);background:#0b0b0ba3;box-shadow:0 14px 30px #0000004d;transition:transform .06s ease,background .12s ease,border-color .12s ease,box-shadow .12s ease}.mobile-action-btn:active,.mobile-action-btn.is-pressed{transform:none}.mobile-action-btn:active:before,.mobile-action-btn.is-pressed:before{transform:translateY(2px)}.mobile-action-jump{left:74px;top:74px;width:106px;height:106px;color:#eaffea;font-size:12px;letter-spacing:.05em}.mobile-action-jump:before{top:10px;right:10px;bottom:10px;left:10px;border-color:#34743380;background:linear-gradient(180deg,#49a053d1,#215827e6)}.mobile-action-slash{left:108px;top:0;color:#edf5ff}.mobile-action-slash:before{border-color:#458aff80;background:linear-gradient(180deg,#4d8effcc,#1f4ca8e6)}.mobile-action-shoot{left:0;top:98px;color:#fff0ed}.mobile-action-shoot:before{border-color:#df453a85;background:linear-gradient(180deg,#ef564bd1,#aa2020eb)}.mobile-dpad{position:absolute;left:calc(8px + var(--safe-left));bottom:calc(4px + var(--safe-bottom));width:212px;height:176px;pointer-events:none}.mobile-dpad-btn{position:absolute;width:74px;height:60px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;isolation:isolate;color:#f3eee2db;font-family:IBM Plex Mono,Courier New,monospace;font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;box-shadow:none;pointer-events:auto;touch-action:none}.mobile-dpad-btn:before{content:"";position:absolute;top:11px;right:10px;bottom:11px;left:10px;z-index:-1;border-radius:999px;border:1px solid rgba(243,238,226,.18);background:linear-gradient(180deg,#1a1a1ac2,#070707e0);box-shadow:0 14px 30px #00000047;transition:transform .06s ease,background .12s ease,border-color .12s ease,box-shadow .12s ease}.mobile-dpad-btn.is-active,.mobile-dpad-btn:active{transform:none}.mobile-dpad-btn.is-active:before,.mobile-dpad-btn:active:before{transform:translateY(2px);background:linear-gradient(180deg,#434343d6,#0f0f0feb)}.mobile-dpad-up{left:69px;top:0}.mobile-dpad-left{left:0;top:47px;width:96px;height:82px}.mobile-dpad-right{right:0;top:47px;width:96px;height:82px}.mobile-dpad-down{left:69px;top:116px}.mobile-editor-nav{position:fixed;left:calc(8px + var(--safe-left));right:calc(8px + var(--safe-right));bottom:calc(46px + var(--safe-bottom));z-index:18;display:flex;justify-content:center;gap:0;overflow-x:auto;padding:0 2px 2px;scrollbar-width:none}.mobile-editor-nav .bar-btn{padding:8px 6px;flex:0 0 auto;min-width:86px}.mobile-editor-nav::-webkit-scrollbar{display:none}.mobile-goal-footer{display:none;align-items:center;justify-content:space-between;gap:12px;min-width:0;padding:8px 10px;border:1px solid rgba(255,193,7,.34);border-radius:12px;background:#050505eb;box-shadow:0 10px 24px #00000038}.mobile-goal-footer[data-goal-panel-tone=complete]{border-color:#34743373}.mobile-goal-footer[data-goal-panel-tone=failed]{border-color:#b222227a}.mobile-goal-footer-copy{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1 1 auto}.mobile-goal-footer-goal{color:var(--accent-warm);font-size:11px;font-weight:600;line-height:1.2}.mobile-goal-footer-progress{color:var(--text);font-size:10px;line-height:1.3}.mobile-goal-footer-timer{color:#ffcf4c;font-size:13px;font-weight:600;white-space:nowrap}.mobile-goal-footer[data-goal-panel-tone=complete] .mobile-goal-footer-goal,.mobile-goal-footer[data-goal-panel-tone=complete] .mobile-goal-footer-timer{color:#b6ffbe}.mobile-goal-footer[data-goal-panel-tone=failed] .mobile-goal-footer-goal,.mobile-goal-footer[data-goal-panel-tone=failed] .mobile-goal-footer-timer{color:#ff9c91}@media(max-width:900px){.world-sign-panel{bottom:calc(156px + var(--safe-bottom));width:calc(100vw - 24px - var(--safe-left) - var(--safe-right));padding:10px 12px}.world-sign-panel-text{font-size:13px}}.mobile-editor-tab,.mobile-editor-utility{border-radius:0}.mobile-editor-nav .mobile-editor-tab:first-of-type{border-top-left-radius:14px}.mobile-editor-nav .mobile-editor-utility:last-of-type{border-top-right-radius:14px}.mobile-editor-utility{color:var(--accent-warm)}.mobile-editor-actions-panel,.mobile-editor-only,.background-card-grid{display:none}.mobile-sheet-panel{width:min(460px,calc(100vw - 24px))}.mobile-jump-sheet-form{display:flex;align-items:center;gap:10px}.bar-left,.bar-right{display:flex;align-items:center;gap:8px;color:var(--text-muted);font-size:11px}.bar-center{display:flex;gap:8px;justify-content:center;flex:1;align-items:center}#room-save-status{min-width:0;text-align:right;color:var(--text-muted);transition:color .12s ease,background .12s ease,border-color .12s ease}#room-save-status[data-overworld-tone]{display:inline-flex;align-items:center;justify-content:flex-end;min-height:24px;padding:3px 8px;border:1px solid transparent;border-radius:999px}#room-save-status:empty,#room-coords:empty,#cursor-coords:empty,#world-online-count:empty{display:none}#room-save-status[data-overworld-tone=play-score]{color:#ffe9a3;background:var(--accent-warm-soft);border-color:#ffc10757}#room-save-status[data-overworld-tone=challenge-active]{color:#ffd7d7;background:var(--danger-soft);border-color:#b222226b}#room-save-status[data-overworld-tone=challenge-complete]{color:#e9ffef;background:var(--success-soft);border-color:#34743373}#room-save-status[data-overworld-tone=challenge-failed]{color:#ffd7d7;background:var(--danger-soft);border-color:#b222227a}#room-save-status.editor-save-status-rich{display:inline-flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:6px}.editor-save-status-accent{color:var(--success);font-weight:600}.editor-save-status-link{color:var(--accent-warm);text-decoration:underline;text-underline-offset:2px}.editor-save-status-link:hover{color:#ffd868}.separator{color:var(--border)}.bar-btn{padding:4px 14px;background:var(--panel-2);border:1px solid var(--border-strong);border-radius:3px;color:var(--text);font-size:11px;font-family:IBM Plex Mono,Courier New,monospace;cursor:pointer;transition:background .1s,border-color .1s,color .1s,transform .06s ease,box-shadow .06s ease;box-shadow:0 2px #0000004d}#world-hud .bar-btn,.world-goal-panel .bar-btn,#bottom-bar .bar-btn{font-family:var(--hud-ui-font)}#world-hud .bar-btn{border-radius:0;border-width:2px;border-color:#18161c;color:#fff;box-shadow:2px 2px #18161c}#world-hud .bar-btn:hover{filter:brightness(1.06)}#world-hud .bar-btn:disabled:hover{filter:none}.bar-btn:hover{background:var(--panel-3)}#world-hud .bar-btn.active{background:var(--accent-cool-soft);border-color:var(--accent-cool);color:#fff}.bar-btn.is-pressed:not(:disabled){transform:translateY(2px);box-shadow:0 0 #0000002e}.bar-btn-danger{border-color:#b222228c;color:#ffd7d7}.bar-btn-danger:hover{background:var(--danger-soft)}#world-hud .bar-btn:disabled{background:#121212;border-color:#252525;color:var(--text-dim);cursor:not-allowed;box-shadow:none}.bar-btn:disabled{background:#101010;border-color:var(--border);color:var(--text-dim);cursor:not-allowed;box-shadow:none}.bar-btn-small{padding:4px 8px;font-size:10px}.bar-btn.hidden,.world-only-control{display:none}body[data-app-mode=world] .world-only-control,body[data-app-mode=play-world] .world-only-control{display:inline-flex}#world-hud .world-btn-play:not(:disabled){background:var(--hud-trial-green);border-color:#18161c;color:#fff}#world-hud .world-btn-play:not(:disabled):hover{background:var(--hud-trial-green)}#world-hud .world-btn-play.active{background:var(--hud-trial-red);border-color:#18161c;color:#fff}#world-hud .world-btn-play.active:hover{background:var(--hud-trial-red)}.world-btn-play.hidden{display:none}#world-hud .world-btn-edit:not(:disabled),#world-hud .world-btn-course-builder:not(:disabled){background:var(--hud-trial-yellow);border-color:#18161c;color:var(--hud-trial-ink-dark)}#world-hud .world-btn-edit:not(:disabled):hover,#world-hud .world-btn-course-builder:not(:disabled):hover{background:var(--hud-trial-yellow)}#world-hud .world-btn-build:not(:disabled){background:var(--hud-trial-red);border-color:#18161c;color:#fff}#world-hud .world-btn-build:not(:disabled):hover{background:var(--hud-trial-red)}#world-hud #btn-world-jump,#world-hud .world-btn-leaderboard,#world-hud .world-btn-controls{background:var(--hud-trial-blue);border-color:#18161c;color:var(--hud-trial-ink-dark)}#world-hud #btn-world-jump:hover,#world-hud .world-btn-leaderboard:hover,#world-hud .world-btn-controls:hover{background:var(--hud-trial-blue)}.world-online-wrap{--world-online-green: #277b30;position:relative;display:inline-flex;align-items:center;justify-content:center;align-self:center;flex:0 0 auto}.world-online-pill{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:4px 10px 3px;border-radius:0;border:2px solid #18161c;background:var(--world-online-green);color:#fff3db;font-size:8px;font-family:Early GameBoy,monospace;letter-spacing:.05em;line-height:1.15;text-transform:uppercase;white-space:nowrap;cursor:pointer;box-shadow:2px 2px #18161c;transition:filter .12s ease,transform .08s ease}#bottom-bar .world-footer-controls-btn{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:4px 10px 3px;border-radius:0;border:2px solid #18161c;background:#79ccde;color:#000;font-size:8px;font-family:Early GameBoy,monospace;letter-spacing:.05em;line-height:1.15;text-transform:uppercase;white-space:nowrap;box-shadow:2px 2px #18161c}#bottom-bar .world-footer-controls-btn:hover{background:#79ccde;filter:brightness(1.06)}#bottom-bar .world-footer-controls-btn:focus-visible{outline:2px solid #fff3db;outline-offset:2px}.world-online-pill:hover,.world-online-wrap.is-open .world-online-pill{filter:brightness(1.06)}.world-online-pill:focus-visible{outline:2px solid #fff3db;outline-offset:2px}.world-online-popover{position:absolute;left:50%;bottom:calc(100% + 10px);transform:translate(-50%);width:min(320px,calc(100vw - 32px));max-height:min(320px,42vh);overflow:auto;z-index:26;padding:12px;border:2px solid var(--world-online-green);border-radius:0;background:#fff3db;box-shadow:4px 4px #18161c;-webkit-backdrop-filter:none;backdrop-filter:none}.world-online-popover-header{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px}.world-online-popover-title{color:var(--world-online-green);font-size:10px;font-family:"Super Mario Bros. NES",monospace;line-height:1.35}.world-online-popover-summary,.world-online-popover-empty,.world-online-popover-room{color:#18161c;font-size:10px;font-family:HomeVideo,IBM Plex Mono,Courier New,monospace;line-height:1.2}.world-online-popover-list{display:grid;gap:6px}.world-online-popover-entry{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;width:100%;padding:7px 8px;border:1px solid rgba(39,123,48,.32);border-radius:0;background:transparent;color:#18161c;text-align:left;cursor:pointer}.world-online-popover-entry:hover,.world-online-popover-entry:focus-visible{border-color:var(--world-online-green);background:#277b301a;outline:none}.world-online-popover-entry:disabled{cursor:default;opacity:.82}.world-online-popover-entry-name{min-width:0;color:#18161c;font-size:11px;font-family:HomeVideo,IBM Plex Mono,Courier New,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.world-online-popover-entry-name.profile-trigger{text-decoration:none}.world-online-popover-entry-name[data-online-self=true]{color:var(--world-online-green)}.history-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:flex;align-items:center;justify-content:center;padding:20px;background:#18161ccc;-webkit-backdrop-filter:none;backdrop-filter:none}#room-history-modal,#course-modal{background:#18161ccc;-webkit-backdrop-filter:none;backdrop-filter:none}.history-modal-panel{width:min(680px,calc(100vw - 40px));max-height:min(720px,calc(100vh - 40px));display:flex;flex-direction:column;gap:12px;padding:16px;background:#0b0b0bf5;border:1px solid var(--border-strong);border-radius:8px;box-shadow:0 18px 48px #0000006b}#room-history-modal .history-modal-panel,#course-modal .history-modal-panel{width:min(780px,calc(100vw - 36px));gap:16px;padding:20px 18px 18px;background:#fff3db;border:3px solid #79ccde;border-radius:0;box-shadow:6px 6px #18161c}#room-history-modal .history-modal-kicker,#course-modal .history-modal-kicker{color:#2c5071;font-family:HomeVideo,IBM Plex Mono,Courier New,monospace;font-size:11px;letter-spacing:.04em;line-height:1.3;text-transform:uppercase}#room-history-modal .history-modal-title,#course-modal .history-modal-title{margin-top:6px;color:#18161c;font-family:"Super Mario Bros. NES",monospace;font-size:19px;line-height:1.25}#room-history-modal .history-modal-meta,#course-modal .history-modal-meta{color:#18161c;font-family:HomeVideo,IBM Plex Mono,Courier New,monospace;font-size:12px;line-height:1.5}#room-history-modal .history-modal-meta a,#course-modal .history-modal-meta a{color:#2c5071}#room-history-modal .history-modal-meta a:hover,#course-modal .history-modal-meta a:hover{color:#1d3850}#room-history-modal .history-modal-header-actions .bar-btn,#room-history-modal .history-version-actions .bar-btn,#course-modal .history-modal-header .bar-btn,#course-modal .course-room-actions .bar-btn{min-height:34px;padding:8px 12px 7px;border:2px solid #18161c;border-radius:0;background:#79ccde;color:#000;font-family:HomeVideo,IBM Plex Mono,Courier New,monospace;font-size:11px;letter-spacing:.03em;line-height:1.1;text-transform:uppercase;box-shadow:3px 3px #18161c}#room-history-modal .history-modal-header-actions .bar-btn:hover,#room-history-modal .history-version-actions .bar-btn:hover,#course-modal .history-modal-header .bar-btn:hover,#course-modal .course-room-actions .bar-btn:hover{filter:brightness(1.06)}#btn-room-history-restore-canonical{background:#fcea7c!important;color:#000!important}#btn-room-history-refresh-metadata,#btn-room-history-close,#btn-course-close{background:#79ccde!important;color:#000!important}#room-history-modal .history-modal-error,#course-modal .history-modal-error{padding:12px;border:2px solid #18161c;border-radius:0;background:#ed5f4b;color:#fff3db;font-family:HomeVideo,IBM Plex Mono,Courier New,monospace;font-size:12px;line-height:1.45;box-shadow:3px 3px #18161c}#room-history-modal .history-version-list{gap:12px;padding-right:2px}#room-history-modal .history-version-empty{padding:12px;border:2px dashed #79ccde;background:#fffaf0;color:#2c5071;font-family:HomeVideo,IBM Plex Mono,Courier New,monospace;font-size:12px}#room-history-modal .history-version-row{align-items:flex-start;padding:14px;background:#fffaf0;border:2px solid #79ccde;border-radius:0;box-shadow:3px 3px #18161c}#room-history-modal .history-version-copy{display:flex;flex-direction:column;gap:6px}#room-history-modal .history-version-label{color:#18161c;font-family:HomeVideo,IBM Plex Mono,Courier New,monospace;font-size:14px;line-height:1.2}#room-history-modal .history-version-badge{padding:3px 6px 2px;border:2px solid #18161c;border-radius:0;background:#fcea7c;color:#000;font-family:Early GameBoy,monospace;font-size:8px;letter-spacing:.04em;line-height:1.2;box-shadow:2px 2px #18161c}#room-history-modal .history-version-meta{color:#2c5071;font-family:HomeVideo,IBM Plex Mono,Courier New,monospace;font-size:12px;line-height:1.45}#room-history-modal .history-version-actions{align-self:stretch;justify-content:flex-start}#course-modal .course-modal-panel{gap:16px}#course-modal .about-copy{gap:14px;padding-right:2px}#course-modal .about-section{gap:10px;padding:14px;background:#fffaf0;border:2px solid #79ccde;border-radius:0;box-shadow:3px 3px #18161c}#course-modal .about-section-title{color:#2c5071;font-family:HomeVideo,IBM Plex Mono,Courier New,monospace;font-size:11px;letter-spacing:.04em;line-height:1.3;text-transform:uppercase}#course-modal #course-title-input{padding:9px 10px;border:2px solid #2c5071;border-radius:0;background:#fff3db;color:#18161c;font-family:HomeVideo,IBM Plex Mono,Courier New,monospace;font-size:12px;box-shadow:inset 0 0 0 1px #79ccde38}#course-modal #course-title-input:focus{outline:none;border-color:#79ccde;box-shadow:inset 0 0 0 1px #79ccde59,0 0 0 1px #79ccde6b}#course-modal #course-published-state,#course-modal #course-summary{margin-top:0;padding:9px 10px;border:2px solid #2c5071;background:#fff3db;color:#18161c;font-family:HomeVideo,IBM Plex Mono,Courier New,monospace;font-size:12px;line-height:1.45;box-shadow:none}#course-modal .goal-placement-hint,#course-modal #course-selected-room-status,#course-modal #course-test-draft-reason,#course-modal #course-save-draft-reason,#course-modal #course-publish-reason,#course-modal #course-unpublish-reason,#course-modal #course-modal-status,#course-modal #course-published-warning{margin-top:0;padding:9px 10px;border:2px solid #18161c;border-radius:0;background:#fff3db;color:#18161c;font-family:HomeVideo,IBM Plex Mono,Courier New,monospace;font-size:12px;line-height:1.45;box-shadow:none}#course-modal #course-published-warning,#course-modal #course-test-draft-reason,#course-modal #course-save-draft-reason{background:#fff7cf;color:#18161c;border-color:#fcea7c}#course-modal #course-publish-reason,#course-modal #course-unpublish-reason{background:#eefbfd;color:#000;border-color:#79ccde}#course-modal #course-modal-status{background:#eef7dd;color:#18161c;border-color:#277b30}#course-modal .course-room-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}#course-modal .course-room-actions .bar-btn{width:100%}#course-modal .course-room-row{width:100%;padding:14px 12px;border:2px solid #79ccde;border-radius:0;background:#fffaf0;box-shadow:3px 3px #18161c}#course-modal .course-room-row-selected{border-color:#277b30;background:#eef7dd}#course-modal .leaderboard-rank{color:#2c5071;font-family:Early GameBoy,monospace;font-size:8px}#course-modal .leaderboard-primary{color:#18161c;font-family:HomeVideo,IBM Plex Mono,Courier New,monospace;font-size:12px;line-height:1.3}#course-modal .leaderboard-secondary{color:#2c5071;font-family:HomeVideo,IBM Plex Mono,Courier New,monospace;font-size:12px;line-height:1.35}#course-modal #btn-course-add-selected-room{background:#79ccde!important;color:#000!important}#course-modal #btn-course-remove-selected-room{background:#ed5f4b!important;color:#fff3db!important}#course-modal #btn-course-edit-selected-room,#course-modal #btn-course-save-draft{background:#fcea7c!important;color:#000!important}#course-modal #btn-course-test-draft{background:#277b30!important;color:#fff3db!important}#course-modal #btn-course-publish{background:#ed5f4b!important;color:#fff3db!important}#course-modal #btn-course-unpublish{background:#79ccde!important;color:#000!important}.controls-modal-panel{width:min(720px,calc(100vw - 40px))}#controls-modal{background:#050505cc;-webkit-backdrop-filter:none;backdrop-filter:none}#controls-modal .controls-modal-panel{width:min(760px,calc(100vw - 40px));max-height:calc(100vh - 32px);gap:14px;padding:18px;overflow-y:auto;overscroll-behavior:contain;background:#fff3db;border:2px solid #79ccde;border-radius:0;box-shadow:4px 4px #18161c}#controls-modal .history-modal-kicker{color:#18161c;font-family:Early GameBoy,monospace;font-size:8px;letter-spacing:.08em;line-height:1.3}#controls-modal .history-modal-title{margin-top:6px;color:#18161c;font-family:"Super Mario Bros. NES",monospace;font-size:18px;line-height:1.25}#controls-modal .history-modal-meta{color:#18161c;font-family:HomeVideo,IBM Plex Mono,Courier New,monospace;font-size:11px;line-height:1.35}#controls-modal #btn-controls-close{padding:5px 10px 4px;border:2px solid #18161c;border-radius:0;background:#79ccde;color:#000;font-family:Early GameBoy,monospace;font-size:8px;letter-spacing:.05em;box-shadow:2px 2px #18161c}#controls-modal #btn-controls-close:hover{background:#79ccde;filter:brightness(1.06)}.about-modal-panel{width:min(720px,calc(100vw - 40px))}#about-modal{background:#050505cc;-webkit-backdrop-filter:none;backdrop-filter:none}#about-modal .about-modal-panel{width:min(760px,calc(100vw - 40px));max-height:calc(100vh - 32px);gap:14px;padding:18px;overflow-y:auto;overscroll-behavior:contain;background:#fff3db;border:2px solid #79ccde;border-radius:0;box-shadow:4px 4px #18161c}#about-modal .history-modal-kicker{color:#18161c;font-family:Early GameBoy,monospace;font-size:8px;letter-spacing:.08em;line-height:1.3}#about-modal .history-modal-title{margin-top:6px;color:#18161c;font-family:"Super Mario Bros. NES",monospace;font-size:18px;line-height:1.25}#about-modal .history-modal-meta,#about-modal .about-copy-status,#about-modal .about-modal-note{color:#18161c;font-family:HomeVideo,IBM Plex Mono,Courier New,monospace;font-size:11px;line-height:1.35}#about-modal .history-modal-meta a,#about-modal .about-section a{color:#2c5071}#about-modal .history-modal-meta a:hover,#about-modal .about-section a:hover{color:#1d3850}#about-modal #btn-about-close,#about-modal .about-action-row .bar-btn{padding:5px 10px 4px;border:2px solid #18161c;border-radius:0;background:#79ccde;color:#000;font-family:Early GameBoy,monospace;font-size:8px;letter-spacing:.05em;box-shadow:2px 2px #18161c}#about-modal #btn-about-close:hover,#about-modal .about-action-row .bar-btn:hover{background:#79ccde;filter:brightness(1.06)}.course-modal-panel{width:min(760px,calc(100vw - 40px))}.install-help-modal-panel{width:min(620px,calc(100vw - 40px))}#install-help-modal{z-index:160}body:not([data-device-class=phone]) #course-modal{z-index:12;display:block;padding:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none}body:not([data-device-class=phone]) #course-modal .course-modal-panel{position:absolute;top:calc(220px + var(--safe-top));left:calc(16px + var(--safe-left));width:320px;max-height:calc(100vh - 236px - var(--safe-top) - var(--safe-bottom));margin:0;pointer-events:auto}.controls-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.install-help-search-prompt{margin:0;padding:10px 12px;border:1px solid rgba(243,238,226,.12);border-radius:8px;background:#ffffff05;color:var(--text-muted);font-size:11px;line-height:1.5}.install-help-search-prompt code{color:var(--accent-cool);font-size:11px;overflow-wrap:anywhere}.about-copy{min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding-right:4px}.about-section{display:flex;flex-direction:column;gap:8px;padding:12px;background:#f3eee208;border:1px solid rgba(243,238,226,.08);border-radius:8px}#about-modal .about-section{gap:8px;padding:12px;background:#79ccde1f;border:2px solid #79ccde;border-radius:0}.about-section-title{color:var(--accent-warm);font-size:12px;letter-spacing:.08em;text-transform:uppercase}#about-modal .about-section-title{color:#18161c;font-family:Early GameBoy,monospace;font-size:8px;letter-spacing:.08em}.about-section p{margin:0;color:var(--text);font-size:12px;line-height:1.6}#about-modal .about-section p,#about-modal .about-list{color:#18161c;font-family:HomeVideo,IBM Plex Mono,Courier New,monospace;font-size:12px;line-height:1.45}.about-section a{color:#8fd8ff;text-decoration:underline;text-underline-offset:2px}.about-section a:hover{color:#b7e9ff}.about-action-row{display:flex;flex-wrap:wrap;gap:8px}.about-copy-status{min-height:15px;color:var(--accent-cool);font-size:11px;line-height:1.4}.course-room-actions{display:flex;flex-wrap:wrap;gap:8px}.chat-moderation-modal-panel{width:min(640px,calc(100vw - 40px))}.editor-music-phrase-save-modal-panel{width:min(520px,calc(100vw - 40px))}.chat-moderation-section{display:flex;flex-direction:column;gap:10px;padding:12px;background:#f3eee208;border:1px solid rgba(243,238,226,.08);border-radius:8px}.chat-moderation-form{display:flex;gap:8px}.chat-moderation-input{flex:1;min-width:0;padding:8px 10px;border:1px solid var(--border);border-radius:4px;background:var(--field);color:var(--text);font-size:12px;font-family:IBM Plex Mono,Courier New,monospace}.chat-moderation-input:focus{outline:none;border-color:var(--accent-cool)}.chat-moderation-list{display:flex;flex-direction:column;gap:8px}.chat-moderation-item{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border:1px solid rgba(243,238,226,.08);border-radius:6px;background:#ffffff05}.chat-moderation-item-text{min-width:0;display:flex;flex-direction:column;gap:3px}.chat-moderation-item-title{color:var(--text);font-size:12px;font-weight:600}.chat-moderation-item-meta{color:var(--text-muted);font-size:11px;line-height:1.4}.chat-moderation-empty{padding:12px;border:1px dashed rgba(243,238,226,.12);border-radius:6px;color:var(--text-muted);font-size:11px;line-height:1.5}.chat-moderation-status-success{color:var(--accent-cool)}.course-room-row{display:grid;grid-template-columns:44px minmax(0,1.4fr) auto auto;align-items:center}.course-room-row-selected{border-color:#3c8fff80;background:#3c8fff14}.about-list{display:flex;flex-direction:column;gap:6px;margin:0;padding-left:18px;color:var(--text);font-size:12px;line-height:1.6}.about-modal-note code{color:var(--accent-warm)}.controls-section{display:flex;flex-direction:column;gap:8px;padding:12px;background:#f3eee208;border:1px solid rgba(243,238,226,.08);border-radius:8px}#controls-modal .controls-section{gap:10px;padding:12px;background:#79ccde1f;border:2px solid #79ccde;border-radius:0}.controls-section-title{color:var(--accent-warm);font-size:12px;letter-spacing:.08em;text-transform:uppercase}#controls-modal .controls-section-title{color:#18161c;font-family:Early GameBoy,monospace;font-size:8px;letter-spacing:.08em}.controls-row{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--text);font-size:12px}#controls-modal .controls-row{align-items:flex-start;color:#18161c;font-family:HomeVideo,IBM Plex Mono,Courier New,monospace;font-size:11px;line-height:1.2}.install-help-footer{display:flex;justify-content:flex-end;gap:8px}.controls-key{flex-shrink:0;padding:2px 8px;border-radius:999px;background:#f3eee214;border:1px solid rgba(243,238,226,.12);color:var(--accent-warm)}#controls-modal .controls-key{padding:4px 6px 3px;border-radius:0;border:2px solid #18161c;background:#79ccde;color:#000;font-family:Early GameBoy,monospace;font-size:8px;line-height:1.2;box-shadow:2px 2px #18161c}.history-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.history-modal-header-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.history-modal-title-group{min-width:0}.history-modal-kicker{color:var(--text-muted);font-size:10px;letter-spacing:1px;text-transform:uppercase}.history-modal-title{margin-top:4px;font-size:20px;font-weight:400;color:var(--text)}.history-modal-meta{margin-top:6px;color:var(--text-muted);font-size:11px;line-height:1.5}.history-modal-meta a{color:#8fd8ff;text-decoration:underline;text-underline-offset:2px}.history-modal-meta a:hover{color:#b7e9ff}.history-modal-error{padding:8px 10px;background:#ff6b6b1f;border:1px solid rgba(255,107,107,.35);border-radius:4px;color:#ffd7d7;font-size:11px;line-height:1.4}.history-version-list{flex:1 1 auto;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding-right:4px}.history-version-empty{padding:16px 0;color:var(--text-muted);font-size:11px}.history-version-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:var(--panel-2);border:1px solid var(--border);border-radius:6px}.history-version-copy{min-width:0}.history-version-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.history-version-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.history-version-label{color:var(--text);font-size:13px}.history-version-badge{padding:2px 6px;border:1px solid var(--border-strong);border-radius:999px;color:var(--accent-warm);font-size:10px;letter-spacing:.4px;text-transform:uppercase}.history-version-meta{margin-top:4px;color:var(--text-muted);font-size:11px;line-height:1.4}.leaderboard-modal-panel{max-width:min(720px,calc(100vw - 32px));overflow:hidden}.leaderboard-tabs{display:flex;gap:8px;padding:0 20px 12px}.leaderboard-panel{flex:1 1 auto;min-height:0;overflow:hidden;display:flex;flex-direction:column;gap:10px;padding:0 20px 20px}.leaderboard-difficulty{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border:1px solid var(--border-muted);border-radius:12px;background:#0c0d12a3}.leaderboard-difficulty-actions,.leaderboard-discover-filters{display:flex;flex-wrap:wrap;gap:8px}.leaderboard-difficulty-actions .bar-btn.active,.leaderboard-discover-filters .bar-btn.active{border-color:var(--accent-cool);color:var(--accent-cool)}.leaderboard-discover-row{width:100%;border:1px solid var(--border-muted);border-radius:12px;background:#0f1118cc;color:inherit;text-align:left;padding:12px;cursor:pointer}.leaderboard-discover-row:hover,.leaderboard-discover-row:focus-visible{border-color:var(--accent-cool);outline:none}.leaderboard-discover-title{color:var(--text);font-size:13px}.leaderboard-discover-meta{margin-top:4px;color:var(--text-muted);font-size:11px;line-height:1.4}.leaderboard-controls{display:flex;align-items:center;gap:10px}.leaderboard-row{display:grid;grid-template-columns:40px minmax(0,1.8fr) minmax(0,1fr) 70px 110px;gap:10px;align-items:center}.leaderboard-row.leaderboard-global-row{grid-template-columns:40px minmax(0,2fr) 100px 110px 90px}.leaderboard-rank{color:var(--accent-warm)}.leaderboard-primary{color:var(--text)}.leaderboard-secondary{color:var(--text-muted);font-size:11px}.leaderboard-viewer{color:var(--accent-cool)}.leaderboard-empty{color:var(--text-muted);padding:6px 0}.profile-modal-panel{max-width:min(760px,calc(100vw - 32px))}.profile-modal-header{justify-content:flex-end;gap:0}.profile-modal-body{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;gap:14px;overflow-y:auto;padding-right:4px}.profile-hero{display:flex;gap:14px;align-items:flex-start;padding:12px;border:1px solid rgba(243,238,226,.08);border-radius:12px;background:#ffffff08}.profile-avatar-shell{position:relative;width:84px;height:84px;flex:0 0 auto}.profile-avatar-image,.profile-avatar-fallback{width:84px;height:84px;border-radius:18px;border:1px solid rgba(243,238,226,.1)}.profile-avatar-image{display:block;object-fit:cover;background:#ffffff05}.profile-avatar-fallback{display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at top,rgba(143,216,255,.22),transparent 65%),#0f1118eb;color:var(--accent-cool);font-size:28px;font-weight:700;letter-spacing:.08em}.profile-hero-copy{display:flex;flex-direction:column;gap:6px;min-width:0}.profile-display-name{color:var(--text);font-size:20px;font-weight:700;line-height:1.1}.profile-overview-bio{color:var(--text);font-size:12px;line-height:1.6;white-space:pre-wrap}.profile-overview-bio-empty{color:var(--text-muted)}.profile-edit-fields{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid rgba(243,238,226,.08);border-radius:12px;background:#ffffff05}.profile-bio-input{min-height:88px;resize:vertical}.profile-edit-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.profile-tabs{padding:0}.profile-modal-panel .leaderboard-panel{flex:0 0 auto;min-height:auto;overflow:visible;padding:0}.profile-modal-panel .history-version-list{flex:0 0 auto;min-height:auto;max-height:none}.run-rating-modal-panel{max-width:min(620px,calc(100vw - 32px))}.run-rating-panel{gap:14px}.run-rating-result{color:var(--text);font-size:16px;font-weight:700;letter-spacing:.02em}.run-rating-section{display:flex;flex-direction:column;gap:8px}.run-rating-section-label{color:var(--accent-warm);font-size:11px;letter-spacing:.12em;text-transform:uppercase}.run-rating-quality-actions,.run-rating-actions{display:flex;flex-wrap:wrap;gap:8px}.run-rating-quality-actions .bar-btn.active,#run-rating-difficulty-actions .bar-btn.active{border-color:var(--accent-cool);color:var(--accent-cool)}.run-rating-actions{justify-content:flex-end;padding-top:4px}.profile-room-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}.profile-room-card{display:flex;flex-direction:column;gap:10px;width:100%;padding:12px;border:1px solid rgba(243,238,226,.08);border-radius:14px;background:#ffffff08;text-align:left;transition:transform .12s ease,border-color .12s ease,background .12s ease}.profile-room-card:hover,.profile-room-card:focus-visible{transform:translateY(-1px);border-color:#a7c95766;background:#ffffff0b}.profile-room-preview{position:relative;overflow:hidden;aspect-ratio:18 / 10;border-radius:10px;border:1px solid rgba(243,238,226,.08);background:linear-gradient(180deg,#12151ceb,#0a0c12f5)}.profile-room-preview-image,.profile-room-preview-fallback{width:100%;height:100%}.profile-room-preview-image{display:block;object-fit:cover;image-rendering:pixelated}.profile-room-preview-fallback{display:flex;align-items:center;justify-content:center;padding:10px;color:var(--text-muted);font-size:12px;text-align:center}.profile-room-card-copy{display:flex;flex-direction:column;gap:4px}.profile-room-card-title{color:var(--text);font-size:13px;font-weight:600;line-height:1.3}.profile-room-card-meta{color:var(--text-muted);font-size:11px;line-height:1.5}.profile-stats-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.profile-stats-row{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid rgba(243,238,226,.08);border-radius:12px;background:#ffffff08}.profile-stats-label{color:var(--text-muted);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.profile-stats-value{color:var(--text);font-size:13px}.sign-text-modal-panel{width:min(560px,calc(100vw - 24px))}.sign-text-modal-field{display:flex;flex-direction:column;gap:8px}.sign-text-modal-label{color:var(--text);font-size:12px;font-weight:600}.sign-text-modal-input{min-height:140px;resize:vertical;padding:12px;border:1px solid var(--border-strong);border-radius:10px;background:#0a0c10eb;color:var(--text);font:inherit;line-height:1.4}.sign-text-modal-input:focus{outline:none;border-color:var(--accent-cool);box-shadow:0 0 0 1px #7ee0bf3d}.sign-text-modal-footer,.sign-text-modal-actions{display:flex;align-items:center;justify-content:space-between;gap:10px}.sign-text-modal-actions{justify-content:flex-end}.sign-text-modal-counter{color:var(--text-muted);font-family:IBM Plex Mono,Courier New,monospace;font-size:11px;white-space:nowrap}@media(max-width:700px){.leaderboard-row,.leaderboard-row.leaderboard-global-row{grid-template-columns:36px minmax(0,1.4fr) minmax(0,1fr)}.leaderboard-row>:nth-child(4),.leaderboard-row>:nth-child(5){display:none}.profile-hero{flex-direction:column}.profile-stats-list{grid-template-columns:1fr}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#676153}.hidden{display:none!important}body[data-device-class=tablet][data-coarse-pointer=true] .bar-btn,body[data-device-class=tablet][data-coarse-pointer=true] .tool-btn,body[data-device-class=tablet][data-coarse-pointer=true] .layer-btn,body[data-device-class=tablet][data-coarse-pointer=true] .palette-tab,body[data-device-class=tablet][data-coarse-pointer=true] .obj-cat-tab,body[data-device-class=tablet][data-coarse-pointer=true] .object-item{min-height:44px}body[data-device-class=tablet][data-app-mode=editor] #sidebar{width:340px}body[data-device-class=tablet][data-coarse-pointer=true] #auth-panel{top:calc(12px + var(--safe-top));right:calc(12px + var(--safe-right))}body[data-device-class=tablet][data-coarse-pointer=true] #global-chat{top:calc(76px + var(--safe-top));right:calc(12px + var(--safe-right));bottom:auto;left:auto;width:min(320px,calc(100vw - 24px - var(--safe-left) - var(--safe-right)));max-width:calc(100vw - 24px - var(--safe-left) - var(--safe-right))}body[data-device-class=tablet][data-coarse-pointer=true] #global-chat.is-open{z-index:22}body[data-device-class=tablet][data-coarse-pointer=true] #global-chat .chat-panel-body{max-height:min(420px,calc(100vh - 104px - var(--safe-top) - var(--safe-bottom)));background:#fff3db;-webkit-backdrop-filter:none;backdrop-filter:none}body[data-device-class=phone] #app{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto}body[data-device-class=phone] #bottom-bar{height:auto;min-height:52px;padding:8px calc(10px + var(--safe-right)) calc(8px + var(--safe-bottom)) calc(10px + var(--safe-left));gap:10px;flex-wrap:wrap;background:#050505a8;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}body[data-device-class=phone] .bar-left,body[data-device-class=phone] .bar-right,body[data-device-class=phone] .bar-center{flex-wrap:wrap}body[data-device-class=phone][data-app-mode=play-world] .mobile-goal-footer{display:none!important}body[data-device-class=phone][data-app-mode=play-world] #bottom-bar{min-height:0;padding:0 calc(10px + var(--safe-right)) calc(4px + var(--safe-bottom)) calc(10px + var(--safe-left));gap:6px;align-items:flex-end;justify-content:center;background:linear-gradient(180deg,#05050500,#05050566);border-top:none}body[data-device-class=phone][data-app-mode=play-world] .bar-left{display:none}body[data-device-class=phone][data-app-mode=play-world] .bar-center,body[data-device-class=phone][data-app-mode=play-world] .bar-right{flex:0 1 auto;gap:6px}body[data-device-class=phone][data-app-mode=play-world] .bar-right{justify-content:flex-start}body[data-device-class=phone][data-app-mode=play-world] #btn-world-zoom-out-footer,body[data-device-class=phone][data-app-mode=play-world] #btn-world-zoom-in-footer,body[data-device-class=phone][data-app-mode=play-world] #btn-fit-screen,body[data-device-class=phone][data-app-mode=play-world] #zoom-level{display:none}body[data-device-class=phone][data-app-mode=play-world] #world-online-count,body[data-device-class=phone][data-app-mode=play-world] #btn-world-controls,body[data-device-class=phone][data-app-mode=play-world] #room-save-status{min-height:20px;padding:3px 7px}body[data-device-class=phone][data-app-mode=play-world] #world-online-count,body[data-device-class=phone][data-app-mode=play-world] #btn-world-controls{font-size:7px}body[data-device-class=phone] .world-online-popover{width:min(280px,calc(100vw - 24px - var(--safe-left) - var(--safe-right)));max-height:min(260px,36vh)}body[data-device-class=phone][data-app-mode=play-world] #room-save-status{max-width:46vw;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}body[data-device-class=phone][data-app-mode=editor] #game-container,body[data-device-class=phone][data-app-mode=world] #game-container,body[data-device-class=phone][data-app-mode=play-world] #game-container{grid-column:1 / -1}.world-hud-mobile-toggle,.world-hud-toggle{white-space:nowrap}.world-hud-toggle{position:absolute;top:calc(8px + var(--safe-top));left:calc(8px + var(--safe-left));z-index:11}body[data-device-class=phone] #world-hud{top:calc(8px + var(--safe-top));left:calc(8px + var(--safe-left));right:auto;width:min(296px,calc(100vw - 96px - var(--safe-left) - var(--safe-right)));max-width:calc(100vw - 96px - var(--safe-left) - var(--safe-right));padding:12px;gap:10px;background:#0b0b0b;transition:transform .16s ease,opacity .16s ease}body[data-device-class=phone] .world-goal-panel{top:calc(8px + var(--safe-top));right:auto;left:50%;transform:translate(-50%);min-width:0;width:min(230px,calc(100vw - 120px - var(--safe-left) - var(--safe-right)));max-width:calc(100vw - 120px - var(--safe-left) - var(--safe-right));padding:10px 12px;gap:4px;background:#050505}body[data-device-class=phone] .world-goal-panel-goal,body[data-device-class=phone] .world-goal-panel-timer{font-size:13px}body[data-device-class=phone] .world-goal-panel-progress{font-size:11px}body[data-device-class=phone][data-app-mode=play-world] .world-goal-panel{top:calc(6px + var(--safe-top));width:min(264px,calc(100vw - 128px - var(--safe-left) - var(--safe-right)));max-width:calc(100vw - 128px - var(--safe-left) - var(--safe-right));padding:8px 12px;gap:3px;border-radius:0}body[data-device-class=phone][data-app-mode=play-world] .world-goal-panel-room{display:none}body[data-device-class=phone][data-app-mode=play-world] .world-goal-panel-goal{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body[data-device-class=phone][data-app-mode=play-world] .world-goal-panel-row{align-items:center;gap:8px}body[data-device-class=phone][data-app-mode=play-world] .world-goal-panel-progress{min-width:0;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}body[data-device-class=phone][data-app-mode=play-world] .world-goal-panel-timer{flex:0 0 auto;font-size:12px}body[data-coarse-pointer=true]:not([data-device-class=desktop])[data-mobile-world-hud-collapsed=true] #world-hud{transform:translateY(calc(-100% - 14px));opacity:0;pointer-events:none}body[data-device-class=phone] #auth-panel{left:calc(8px + var(--safe-left));right:calc(8px + var(--safe-right));width:auto}body[data-device-class=phone] #menu-body{width:100%;max-width:none;max-height:calc(100vh - 72px - var(--safe-top) - var(--safe-bottom));padding:10px}body[data-device-class=phone] #menu-body .bar-btn{width:100%}body[data-device-class=phone] .auth-session-summary-value{font-size:9px}body[data-device-class=phone] .world-room-title{font-size:16px}body[data-device-class=phone] .world-room-title[data-title-size=compact]{font-size:14px}body[data-device-class=phone] .world-room-title[data-title-size=tiny]{font-size:12px}body[data-device-class=phone] .world-room-subtitle,body[data-device-class=phone] .world-hud-title{font-size:11px}body[data-device-class=phone] .world-hud-title-wrap{gap:6px}body[data-device-class=phone] .world-hud-beta{padding:2px 6px;font-size:8px}body[data-device-class=phone] .world-hud-row{gap:6px}body[data-device-class=phone] .world-creator-card{padding:6px 8px;gap:8px}body[data-device-class=phone] .world-creator-card-avatar-frame{width:54px;min-width:54px;height:48px}body[data-device-class=phone] .world-creator-card-avatar{width:auto;height:44px;max-width:none;max-height:none}body[data-device-class=phone] .world-creator-card-name{font-size:12px}body[data-device-class=phone] .world-creator-stat-icons{gap:5px}body[data-device-class=phone] .world-creator-stat-level-icon{width:14px;height:14px}body[data-device-class=phone] .world-creator-stat-level-label{font-size:7px}body[data-device-class=phone] .world-creator-stat-row{gap:6px}body[data-device-class=phone] .world-creator-stat-progress{min-width:68px}body[data-device-class=phone] #world-jump-row{display:none}body[data-device-class=phone] .world-hud-toggle{top:calc(8px + var(--safe-top));left:calc(8px + var(--safe-left))}body[data-device-class=phone] .mobile-world-stop{top:calc(48px + var(--safe-top));left:calc(8px + var(--safe-left))}body[data-device-class=phone] .mobile-world-restart{top:calc(48px + var(--safe-top));left:calc(84px + var(--safe-left))}body[data-device-class=phone] #global-chat{right:calc(8px + var(--safe-right));left:calc(8px + var(--safe-left));width:auto;bottom:calc(60px + var(--safe-bottom))}body[data-device-class=phone] .room-chat-composer{bottom:calc(112px + var(--safe-bottom));width:min(320px,calc(100vw - 24px - var(--safe-left) - var(--safe-right)))}body[data-device-class=phone] .room-chat-composer-form{padding:8px 10px;border-radius:0}body[data-device-class=phone] #global-chat.is-open{top:calc(8px + var(--safe-top));right:calc(8px + var(--safe-right));bottom:calc(8px + var(--safe-bottom));left:calc(8px + var(--safe-left));z-index:22;gap:0}body[data-device-class=phone] #global-chat.is-open .chat-toggle{display:none}body[data-device-class=phone] #global-chat .chat-panel-body{min-height:0;max-height:78vh;border-radius:0;background:#fff3db;-webkit-backdrop-filter:none;backdrop-filter:none}body[data-device-class=phone] #global-chat.is-open .chat-panel-body{flex:1 1 auto;height:100%;max-height:none;padding:0;overflow:hidden}body[data-device-class=phone] #global-chat .chat-panel-header{position:sticky;top:0;z-index:1;padding:12px 12px 8px;background:#fff3db;-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom:2px solid #79ccde}body[data-device-class=phone] #global-chat .chat-messages{min-height:0;max-height:min(480px,62vh)}body[data-device-class=phone] #global-chat.is-open .chat-messages{flex:1 1 auto;max-height:none;padding:10px;margin:0 12px}body[data-device-class=phone] #global-chat.is-open .chat-empty,body[data-device-class=phone] #global-chat.is-open .chat-status,body[data-device-class=phone] #global-chat.is-open .chat-form{margin-left:12px;margin-right:12px}body[data-device-class=phone] #global-chat.is-open .chat-form{padding-bottom:12px}body[data-device-class=phone][data-app-mode=play-world] #global-chat{left:auto;right:calc(204px + var(--safe-right));bottom:calc(8px + var(--safe-bottom));width:min(280px,calc(100vw - 236px - var(--safe-left) - var(--safe-right)))}body[data-device-class=phone][data-app-mode=play-world] #global-chat.is-open{left:calc(8px + var(--safe-left));right:calc(8px + var(--safe-right));width:auto}body[data-device-class=phone][data-app-mode=play-world] #global-chat .chat-toggle{margin-left:0}body[data-device-class=phone][data-app-mode=play-world] #btn-world-room-chat{position:fixed;right:calc(204px + var(--safe-right));bottom:calc(48px + var(--safe-bottom));z-index:23}body[data-device-class=phone][data-app-mode=play-world] .room-chat-composer-form{padding:8px 10px}body[data-device-class=phone][data-app-mode=editor]{--phone-editor-sheet-height: min(46vh, 344px)}body[data-device-class=phone][data-app-mode=editor] #sidebar{position:fixed;left:0;right:0;bottom:0;top:auto;z-index:17;width:auto;height:var(--phone-editor-sheet-height);max-height:calc(min(100dvh,var(--app-viewport-height)) - 108px - var(--safe-top));padding-bottom:var(--safe-bottom);border-right:none;border-top:1px solid var(--border);background:#0b0b0bf5;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:16px 16px 0 0;box-shadow:0 -20px 48px #00000057;transition:transform .16s ease,opacity .16s ease}body[data-device-class=phone][data-app-mode=editor][data-mobile-editor-collapsed=true] #sidebar{transform:translateY(calc(100% + 10px));opacity:0;pointer-events:none}body[data-device-class=phone][data-app-mode=editor] #bottom-bar{display:none}body[data-device-class=phone][data-app-mode=editor] .mobile-editor-only{display:block}body[data-device-class=phone] .desktop-editor-only{display:none!important}body[data-device-class=phone][data-app-mode=editor] .background-card-grid{display:grid}body[data-device-class=phone][data-app-mode=editor] #sidebar .sidebar-section{display:none}body[data-device-class=phone][data-app-mode=editor][data-mobile-editor-sheet=tools] #sidebar .sidebar-section[data-mobile-panel=tools],body[data-device-class=phone][data-app-mode=editor][data-mobile-editor-sheet=background] #sidebar .sidebar-section[data-mobile-panel=background],body[data-device-class=phone][data-app-mode=editor][data-mobile-editor-sheet=palette] #sidebar .sidebar-section[data-mobile-panel=palette],body[data-device-class=phone][data-app-mode=editor][data-mobile-editor-sheet=objects] #sidebar .sidebar-section[data-mobile-panel=objects],body[data-device-class=phone][data-app-mode=editor][data-mobile-editor-sheet=objects] #sidebar .sidebar-section[data-mobile-panel-alt=objects],body[data-device-class=phone][data-app-mode=editor][data-mobile-editor-sheet=goal] #sidebar .sidebar-section[data-mobile-panel=goal],body[data-device-class=phone][data-app-mode=editor][data-mobile-editor-sheet=actions] #sidebar .sidebar-section[data-mobile-panel=actions]{display:block}body[data-device-class=phone][data-app-mode=editor] #sidebar .sidebar-section{padding:10px 12px;overflow:visible}body[data-device-class=phone][data-app-mode=editor] #sidebar .section-label{margin-bottom:6px}body[data-device-class=phone][data-app-mode=editor] .sidebar-section-toggle{display:none}body[data-device-class=phone][data-app-mode=editor] #sidebar .sidebar-section.is-collapsed .sidebar-section-body{display:block}body[data-app-mode=editor]:not([data-device-class=phone]) #tile-palette-section,body[data-app-mode=editor]:not([data-device-class=phone]) #object-palette-section{flex:1 1 auto;overflow:hidden}body[data-app-mode=editor]:not([data-device-class=phone]) #tile-palette-section{min-height:220px;max-height:270px}body[data-app-mode=editor]:not([data-device-class=phone]) #object-palette-section{min-height:340px;max-height:420px}body[data-app-mode=editor]:not([data-device-class=phone]) #tile-palette-section .sidebar-section-body,body[data-app-mode=editor]:not([data-device-class=phone]) #object-palette-section .sidebar-section-body{overflow:hidden}body[data-device-class=phone][data-app-mode=editor] #mobile-editor-nav{left:50%;right:auto;bottom:calc(var(--phone-editor-sheet-height) - 1px);width:min(calc(100vw - 12px - var(--safe-left) - var(--safe-right)),820px);transform:translate(-50%);padding:0;background:#0e0e0efa;border:1px solid var(--border-strong);border-bottom:none;border-radius:16px 16px 0 0;box-shadow:0 -14px 30px #00000042}body[data-device-class=phone][data-app-mode=editor][data-mobile-editor-collapsed=true] #mobile-editor-nav{bottom:0}body[data-device-class=phone][data-app-mode=editor] #mobile-editor-nav .bar-btn{min-width:0;padding:10px 12px;border:none;border-right:1px solid rgba(243,238,226,.08);background:transparent;box-shadow:none;color:var(--text-muted)}body[data-device-class=phone][data-app-mode=editor] #mobile-editor-nav .bar-btn:last-child{border-right:none}body[data-device-class=phone][data-app-mode=editor] #mobile-editor-nav .mobile-editor-tab.active{background:#0b0b0bfa;color:#f7ecd1}body[data-device-class=phone][data-app-mode=editor] #mobile-editor-nav .mobile-editor-utility{color:var(--accent-warm)}body[data-device-class=phone][data-app-mode=editor] #mobile-editor-nav .mobile-editor-utility:active,body[data-device-class=phone][data-app-mode=editor] #mobile-editor-nav .mobile-editor-tab:active{background:#f3eee214}body[data-device-class=phone][data-app-mode=editor] #tools,body[data-device-class=phone][data-app-mode=editor] #layers{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}body[data-device-class=phone][data-app-mode=editor] #layers{grid-template-columns:repeat(3,minmax(0,1fr))}body[data-device-class=phone][data-app-mode=editor] #background-select,body[data-device-class=phone][data-app-mode=editor] .palette-tabs,body[data-device-class=phone][data-app-mode=editor] #object-palette-section>.section-label,body[data-device-class=phone][data-app-mode=editor] [data-mobile-panel=background]>.section-label{display:none}body[data-device-class=phone][data-app-mode=editor] #palette-container{flex:none;max-height:166px;overflow:auto}body[data-device-class=phone][data-app-mode=editor] #palette-canvas{margin:0 auto}body[data-device-class=phone][data-app-mode=editor] .object-category-tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px}body[data-device-class=phone][data-app-mode=editor] .object-search-input{font-size:16px}body[data-device-class=phone][data-app-mode=editor] #object-grid{display:grid;grid-auto-flow:column;grid-template-rows:repeat(2,minmax(70px,1fr));grid-auto-columns:86px;gap:6px;overflow-x:auto;overflow-y:hidden;padding:2px 2px 6px}body[data-device-class=phone][data-app-mode=editor] .object-item{min-height:70px}body[data-device-class=phone][data-app-mode=editor] .palette-hint{padding-top:2px}body[data-device-class=phone][data-app-mode=editor] .editor-music-overlay{z-index:24;padding:calc(8px + var(--safe-top)) calc(8px + var(--safe-right)) calc(84px + var(--safe-bottom)) calc(8px + var(--safe-left))}body[data-device-class=phone][data-app-mode=editor] .editor-music-shell{width:calc(100% - 8px);padding:8px 10px 10px;gap:8px;border-radius:4px}body[data-device-class=phone][data-app-mode=editor] .editor-music-strip{gap:8px;flex-wrap:wrap;overflow-x:visible}body[data-device-class=phone][data-app-mode=editor] .editor-music-tab-dock{width:100%;margin-top:-14px;padding-top:14px}body[data-device-class=phone][data-app-mode=editor] .editor-music-tab-strip{width:100%;flex-wrap:wrap}body[data-device-class=phone][data-app-mode=editor] .editor-music-control-cluster{width:100%}body[data-device-class=phone][data-app-mode=editor] .editor-music-legacy-notice{flex-direction:column;align-items:stretch}body[data-device-class=phone][data-app-mode=editor] .editor-music-arrangement-overlay{width:100%;grid-template-columns:1fr;gap:10px;padding:12px}body[data-device-class=phone][data-app-mode=editor] #room-title-section,body[data-device-class=phone][data-app-mode=editor] #editor-advanced,body[data-device-class=phone][data-app-mode=editor] #goal-section{max-height:calc(var(--phone-editor-sheet-height) - 26px);overflow:auto}body[data-device-class=phone][data-app-mode=editor] #editor-advanced,body[data-device-class=phone][data-app-mode=editor] #goal-section{display:grid;gap:10px}body[data-device-class=phone][data-app-mode=editor] .editor-music-key-grid,body[data-device-class=phone][data-app-mode=editor] .editor-music-arrangement-row{grid-template-columns:1fr}body[data-device-class=phone][data-app-mode=editor] .editor-music-arrangement-cells{grid-template-columns:repeat(8,48px);overflow-x:auto;padding-bottom:2px}body[data-device-class=phone][data-app-mode=editor] .editor-music-arrangement-overlay .bar-btn{width:100%}body[data-device-class=phone][data-app-mode=editor] .editor-music-arrangement-label{padding-top:0;min-height:0}body[data-device-class=phone][data-app-mode=editor] #goal-section .goal-control-row{display:grid;grid-template-columns:minmax(88px,auto) minmax(0,1fr);align-items:center;gap:10px;margin-top:0}body[data-device-class=phone][data-app-mode=editor] #goal-section .goal-inline-input{min-width:0}body[data-device-class=phone][data-app-mode=editor] #goal-marker-controls{margin-top:0}body[data-device-class=phone][data-app-mode=editor] #editor-actions{display:flex;flex-direction:column;gap:10px}body[data-device-class=phone][data-app-mode=editor] .editor-action-rail{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}body[data-device-class=phone][data-app-mode=editor] .editor-top-save-status{margin-top:0}body[data-device-class=phone][data-app-mode=editor] .mobile-editor-actions-panel,body[data-device-class=phone][data-app-mode=editor] #editor-advanced{display:flex;flex-direction:column;gap:10px}body[data-device-class=phone][data-app-mode=editor] .mobile-editor-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}body[data-device-class=phone][data-app-mode=editor] .mobile-editor-status-card{display:flex;flex-direction:column;gap:4px;min-width:0;padding:10px;border:1px solid rgba(243,238,226,.08);border-radius:10px;background:#f3eee208}body[data-device-class=phone][data-app-mode=editor] .mobile-editor-status-card-wide{grid-column:1 / -1}body[data-device-class=phone][data-app-mode=editor] .mobile-editor-status-label{color:var(--text-dim);font-size:10px;letter-spacing:.12em;text-transform:uppercase}body[data-device-class=phone][data-app-mode=editor] .mobile-editor-status-value{min-width:0;color:var(--text);font-size:11px;line-height:1.45;word-break:break-word}body[data-device-class=phone][data-app-mode=editor] .mobile-editor-status-value.editor-save-status-rich{display:flex;flex-wrap:wrap;align-items:center;gap:6px}body[data-device-class=phone][data-app-mode=editor] .mobile-editor-zoom-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:8px;align-items:center}body[data-device-class=phone][data-app-mode=editor] .mobile-editor-zoom-readout{min-width:0;padding:9px 10px;border:1px solid rgba(243,238,226,.08);border-radius:10px;background:#f3eee208;color:var(--text);font-size:11px;text-align:center}body[data-device-class=phone][data-app-mode=editor] .background-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}body[data-device-class=phone][data-app-mode=editor] .background-card{display:flex;flex-direction:column;gap:8px;min-width:0;padding:8px;border:1px solid rgba(243,238,226,.12);border-radius:12px;background:#f3eee208;color:var(--text);box-shadow:0 10px 24px #0003}body[data-device-class=phone][data-app-mode=editor] .background-card.active{border-color:var(--accent-warm);background:#ffc1071a}body[data-device-class=phone][data-app-mode=editor] .background-card-art{display:block;width:100%;aspect-ratio:16 / 9;border-radius:8px;border:1px solid rgba(243,238,226,.08);background-color:#111;background-image:linear-gradient(180deg,#0b0b0b14,#0b0b0b38),var(--background-card-front),var(--background-card-back);background-size:cover,contain,cover;background-position:center,center bottom,center;background-repeat:no-repeat;box-shadow:inset 0 -18px 28px #00000047}body[data-device-class=phone][data-app-mode=editor] .background-card:not(.background-card-none) .background-card-art{background-color:var(--background-card-tint, #111)}body[data-device-class=phone][data-app-mode=editor] .background-card-none .background-card-art{background-image:radial-gradient(circle at 22% 30%,rgba(243,238,226,.9) 0 1px,transparent 1px),radial-gradient(circle at 65% 42%,rgba(255,193,7,.82) 0 1.2px,transparent 1.2px),linear-gradient(180deg,#2c3f59eb,#0b0b0bfa);background-size:auto,auto,cover}body[data-device-class=phone][data-app-mode=editor] .background-card-solid .background-card-art{background-color:var(--background-card-solid, #24324a);background-image:linear-gradient(180deg,#ffffff1f,#0b0b0b2e),linear-gradient(135deg,rgba(255,255,255,.14),transparent 55%);background-size:cover,cover;background-position:center,center;background-repeat:no-repeat}body[data-device-class=phone][data-app-mode=editor] .background-solid-controls{margin-top:12px}body[data-device-class=phone][data-app-mode=editor] .background-card-label{font-size:11px;text-align:left}body[data-device-class=phone] .chat-form,body[data-device-class=phone] .chat-moderation-form,body[data-device-class=phone] .mobile-jump-sheet-form,body[data-device-class=phone] .leaderboard-controls{flex-direction:column;align-items:stretch}body[data-device-class=phone] .chat-moderation-item{align-items:stretch;flex-direction:column}body[data-device-class=phone] .leaderboard-row,body[data-device-class=phone] .leaderboard-row.leaderboard-global-row{grid-template-columns:32px minmax(0,1fr)}body[data-device-class=phone] .leaderboard-row>:nth-child(n+3){grid-column:2}body[data-device-class=phone] .history-modal,body[data-device-class=phone] #mobile-jump-sheet{padding:0}body[data-device-class=phone] .history-modal-panel,body[data-device-class=phone] .mobile-sheet-panel{width:100vw;max-width:none;max-height:100vh;min-height:100vh;border-radius:0;padding:calc(18px + var(--safe-top)) calc(14px + var(--safe-right)) calc(18px + var(--safe-bottom)) calc(14px + var(--safe-left))}body[data-device-class=phone][data-coarse-pointer=true] .object-item:hover,body[data-device-class=phone][data-coarse-pointer=true] .tool-btn:hover,body[data-device-class=phone][data-coarse-pointer=true] .layer-btn:hover,body[data-device-class=phone][data-coarse-pointer=true] .palette-tab:hover,body[data-device-class=phone][data-coarse-pointer=true] .obj-cat-tab:hover,body[data-device-class=phone][data-coarse-pointer=true] .bar-btn:hover,body[data-device-class=tablet][data-coarse-pointer=true] .object-item:hover,body[data-device-class=tablet][data-coarse-pointer=true] .tool-btn:hover,body[data-device-class=tablet][data-coarse-pointer=true] .layer-btn:hover,body[data-device-class=tablet][data-coarse-pointer=true] .palette-tab:hover,body[data-device-class=tablet][data-coarse-pointer=true] .obj-cat-tab:hover,body[data-device-class=tablet][data-coarse-pointer=true] .bar-btn:hover{background:inherit}@media(max-width:900px){#auth-panel{width:calc(100vw - 24px);top:12px;right:12px}#world-hud{top:12px;left:12px;width:min(340px,calc(100vw - 24px));max-width:calc(100vw - 24px)}.history-modal{padding:12px}.history-modal-panel{width:calc(100vw - 24px);max-height:calc(100vh - 24px);padding:14px}.history-modal-header,.history-version-row{flex-direction:column;align-items:stretch}.controls-grid{grid-template-columns:1fr}.chat-panel{right:12px;bottom:48px;width:min(320px,calc(100% - 24px))}.chat-messages{max-height:min(420px,56vh)}}
