:root{--bg:#0e1014;--panel:#161920;--panel-2:#1c2029;--panel-3:#232936;--border:#262b36;--border-strong:#36405230;--text:#e7eaf0;--text-dim:#98a0b3;--text-faint:#6a7284;--accent:#62a0ff;--accent-active:#3d7de0;--accent-soft:#62a0ff21;--danger:#ff7070;--radius:10px;--radius-sm:7px;--shadow-card:0 12px 32px #00000059;color:var(--text);background:var(--bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font:14px/1.45 Segoe UI Variable,Segoe UI,system-ui,Roboto,sans-serif}*{box-sizing:border-box}body{margin:0;overflow:hidden}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{border:2px solid var(--bg);background:#2c3240;border-radius:8px}::-webkit-scrollbar-track{background:0 0}#app{grid-template:"toolbar toolbar""sidebar viewport"1fr"statusbar statusbar"/244px 1fr;width:100vw;height:100vh;display:grid}#toolbar{background:linear-gradient(180deg, #191d26 0%, var(--panel) 100%);border-bottom:1px solid var(--border);flex-wrap:wrap;grid-area:toolbar;justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex}.toolbar-group{border:1px solid var(--border);border-radius:calc(var(--radius) + 2px);background:#00000038;gap:4px;padding:4px;display:flex}button{color:var(--text);border-radius:var(--radius-sm);cursor:pointer;font:inherit;white-space:nowrap;background:0 0;border:1px solid #0000;padding:7px 11px;font-size:13px;transition:background .13s,border-color .13s,color .13s}button:hover{background:var(--panel-3)}button:disabled{opacity:.42;cursor:default}button:disabled:hover{background:0 0}.tool-btn.active,.brush-type-btn.active,#btn-sea-toggle.active,.transform-mode-btn.active{background:var(--accent-soft);border-color:var(--accent-active);color:#cfe2ff}#sidebar{background:var(--panel);border-right:1px solid var(--border);grid-area:sidebar;padding:14px 12px 18px;overflow-y:auto}.panel{flex-direction:column;gap:11px;display:none}.panel.active{display:flex}.panel h3,.panel-fixed h3{text-transform:uppercase;letter-spacing:1.1px;color:var(--text-dim);align-items:center;gap:8px;margin:0 0 2px;font-size:11.5px;font-weight:700;display:flex}.panel h3:after,.panel-fixed h3:after{content:"";background:var(--border);flex:1;height:1px}.panel label{color:var(--text-dim);flex-direction:column;gap:5px;font-size:12px;display:flex}.hint{color:var(--text-faint);margin:4px 0 0;font-size:11.5px;line-height:1.45}input[type=range]{accent-color:var(--accent)}.path-actions button,.selection-actions button,.selection-nudge-row button,.large-map-actions button,.map-grow-pad button{background:var(--panel-2);border-color:var(--border)}.path-actions button:hover,.selection-actions button:hover,.selection-nudge-row button:hover,.large-map-actions button:hover,.map-grow-pad button:hover{border-color:var(--accent-active);background:var(--panel-3)}#color-swatches,#path-colors{grid-template-columns:repeat(4,1fr);gap:7px;display:grid}.swatch{aspect-ratio:1;border-radius:var(--radius-sm);cursor:pointer;border:2px solid #ffffff14;width:100%;padding:0;transition:transform .12s,border-color .12s}.swatch:hover{transform:scale(1.06)}.swatch.selected{box-shadow:0 0 0 2px var(--accent-active);border-color:#fff}.object-browser-tools{flex-direction:column;gap:7px;display:flex}.object-browser-tools input,.object-browser-tools select,.transform-fields input,.large-map-controls select{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;min-width:0;color:var(--text);font:inherit;background:#10131a;outline:none;padding:8px 9px;font-size:12.5px;transition:border-color .13s}.object-browser-tools input:focus,.object-browser-tools select:focus,.transform-fields input:focus,.large-map-controls select:focus{border-color:var(--accent)}#object-palette{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.palette-item{border-radius:var(--radius);border:1px solid var(--border);background:var(--panel-2);cursor:pointer;flex-direction:column;align-items:stretch;gap:0;min-height:86px;padding:0;transition:border-color .13s,transform .13s;display:flex;position:relative;overflow:hidden}.palette-item:hover{border-color:var(--border-strong);background:var(--panel-2);transform:translateY(-1px)}.palette-item.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.palette-picture{aspect-ratio:4/3;object-fit:cover;-webkit-user-select:none;user-select:none;background:#0c0e13;width:100%;display:block}.palette-icon{aspect-ratio:4/3;background:linear-gradient(160deg,#1f2530 0%,#171b23 100%);place-items:center;width:100%;font-size:26px;line-height:1;display:grid}.palette-item span.label{color:var(--text-dim);text-align:center;overflow-wrap:anywhere;background:#0000002e;padding:6px 6px 7px;font-size:10.5px;line-height:1.2;display:block}.palette-item.selected span.label{color:#fff}.palette-item.is-placeholder{border-style:dashed}.palette-item.is-loading{border-color:#46628c}.palette-item.has-error{border-color:#8c554f}.asset-state{letter-spacing:.3px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:5px;padding:2px 5px;font-size:7.5px;font-weight:700;line-height:1.3;position:absolute;top:5px;right:5px}.asset-state.ready{color:#b9f4ce;background:#265c3ee0}.asset-state.loading{color:#c9dcf5;background:#2b4769e0}.asset-state.fallback{color:#f2d495;background:#5e4d2de0}.library-info{color:var(--text-faint);font-size:10px;line-height:1.4}.brush-type-row{grid-template-columns:repeat(2,1fr);gap:6px;display:grid}.brush-type-row button,.water-type-row button{background:var(--panel-2);border-color:var(--border)}.water-type-row{grid-template-columns:repeat(3,1fr)}.water-subpanel{flex-direction:column;gap:10px;display:none}.water-subpanel.active{display:flex}.path-actions{flex-direction:column;gap:6px;display:flex}.info-box,#selection-info{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-dim);padding:9px 10px;font-size:12px}#selection-info.has-selection{color:var(--text);border-left:3px solid #ffd447}#selection-controls{flex-direction:column;gap:10px;display:flex}#selection-controls[hidden]{display:none}.transform-mode-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;display:grid}.transform-mode-row button{background:var(--panel-2);border-color:var(--border);min-width:0;padding:7px 3px;font-size:11px}.transform-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.transform-fields label{min-width:0}.selection-nudge-row{grid-template-columns:1fr 1.15fr 1fr;gap:5px;display:grid}.selection-nudge-row button{padding-inline:4px}.selection-actions{grid-template-columns:1fr 1fr;gap:6px;display:grid}.danger-action,#btn-selection-delete{color:#ff9b9b}.selection-shortcuts{border-top:1px solid var(--border);padding-top:9px}.large-map-controls{border-top:1px solid var(--border);gap:8px;margin-top:9px;padding-top:10px;display:grid}.large-map-controls label{gap:5px;display:grid}.large-map-actions{grid-template-columns:1fr auto;gap:5px;display:grid}#map-expand-progress{width:100%;height:9px;accent-color:var(--accent)}.map-expand-info{min-height:26px;color:var(--text-faint);font-size:10px;line-height:1.35}.panel-fixed{border-top:1px solid var(--border);flex-direction:column;gap:10px;margin-top:18px;padding-top:14px;display:flex}.map-grow-pad{grid-template-columns:repeat(3,1fr);place-items:center;gap:6px;display:grid}.map-grow-pad button{width:100%}#map-bounds{color:var(--text-dim);text-align:center;font-size:12px}#viewport{grid-area:viewport;position:relative}#viewport canvas{display:block}#statusbar{background:var(--panel);border-top:1px solid var(--border);color:var(--text-dim);grid-area:statusbar;padding:5px 14px;font-size:12px}#node-context-menu{z-index:100;border:1px solid var(--border-strong);border-radius:var(--radius);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:216px;box-shadow:var(--shadow-card);background:#181b23f5;flex-direction:column;gap:4px;padding:9px;display:flex;position:fixed}#node-context-menu[hidden]{display:none}#node-context-menu strong{color:var(--text-dim);text-transform:uppercase;letter-spacing:.6px;padding:3px 4px 7px;font-size:11px}#node-context-menu button{text-align:left;width:100%}#node-context-menu button:hover{background:var(--accent-soft)}#node-context-menu .danger-action{color:#ff9b9b}#launcher{z-index:50;color:var(--text);background:radial-gradient(900px 480px at 18% -8%,#62a0ff21 0%,#0000 60%),radial-gradient(1100px 560px at 88% 4%,#5482c817 0%,#0000 55%),linear-gradient(170deg,#12151c 0%,#0d0f14 100%);position:fixed;inset:0;overflow-y:auto}#launcher[hidden]{display:none}.launcher-inner{max-width:1120px;margin:0 auto;padding:44px 30px 64px}.launcher-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px;display:flex}.launcher-brand{align-items:center;gap:15px;display:flex}.launcher-logo{width:56px;height:56px;box-shadow:var(--shadow-card);background:linear-gradient(150deg,#2a3a55 0%,#1b2434 100%);border:1px solid #35486a;border-radius:16px;place-items:center;font-size:28px;display:grid}.launcher-title{letter-spacing:-.6px;margin:0;font-size:30px;font-weight:750}.launcher-subtitle{color:var(--text-dim);margin:3px 0 0;font-size:14px}.launcher-header-actions{gap:10px;display:flex}.launcher-btn{font:inherit;color:var(--text);background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap;padding:8px 13px;font-size:13px;transition:background .13s,border-color .13s,transform .13s}.launcher-btn:hover{border-color:var(--accent-active);background:var(--panel-3)}.launcher-btn.primary{background:linear-gradient(180deg, #4a8bf0 0%, var(--accent-active) 100%);border-color:var(--accent-active);font-weight:600}.launcher-btn.primary:hover{background:var(--accent);transform:translateY(-1px)}.launcher-btn.danger:hover{border-color:var(--danger);color:#ffa3a3}.launcher-btn.big{padding:11px 20px;font-size:14px}.launcher-btn.grow{flex:1}.launcher-btn.icon{flex:none;padding:8px 10px}.launcher-card.featured{background:linear-gradient(150deg, #1d2634 0%, var(--panel) 72%);border-radius:calc(var(--radius) + 6px);box-shadow:var(--shadow-card);border:1px solid #33445f;flex-direction:row;align-items:stretch;gap:0;margin-bottom:38px;display:flex;overflow:hidden}.launcher-card.featured .launcher-thumb{aspect-ratio:auto;border-radius:0;flex:0 0 44%;min-height:210px}.launcher-card.featured .launcher-card-body{flex-direction:column;flex:1;justify-content:center;gap:10px;padding:28px 32px;display:flex}.launcher-badge{letter-spacing:1.2px;color:#9ec4ff;background:#62a0ff24;border:1px solid #62a0ff4d;border-radius:999px;align-self:flex-start;padding:3px 9px;font-size:10px;font-weight:700}.launcher-card.featured .launcher-card-title{margin:0;font-size:26px}.launcher-card.featured .launcher-card-meta{max-width:46ch;font-size:13.5px;line-height:1.55}.launcher-card.featured .launcher-card-actions{border:0;margin-top:6px;padding:0}.launcher-thumb.demo-art{background:linear-gradient(#7fa8c9 0%,#a9c6d4 46%,#cfdcd2 72%,#dbd8c0 100%);position:relative;overflow:hidden}.demo-art-sun{background:radial-gradient(circle,#fff7dd 0%,#ffe9a8 55%,#0000 72%);border-radius:50%;width:44px;height:44px;position:absolute;top:12%;right:14%}.demo-art-range{height:70%;position:absolute;bottom:18%;left:0;right:0}.demo-art-range.back{clip-path:polygon(0 100%,8% 52%,19% 74%,32% 30%,43% 62%,56% 18%,68% 58%,80% 36%,92% 68%,100% 50%,100% 100%);opacity:.85;background:#5c7186}.demo-art-range.front{clip-path:polygon(0 100%,0 64%,12% 84%,26% 44%,40% 76%,54% 34%,66% 70%,82% 48%,94% 78%,100% 62%,100% 100%);background:#3f5468;bottom:8%}.demo-art-lake{opacity:.92;background:linear-gradient(#6ea3c4 0%,#4f7fa4 100%);border-radius:50%;height:12%;position:absolute;bottom:4%;left:18%;right:22%}.launcher-featured-row{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:34px;display:grid}.launcher-featured-row .launcher-card.featured{margin-bottom:0}@media (width<=760px){.launcher-featured-row{grid-template-columns:1fr}}.launcher-thumb.fjord-art{background:linear-gradient(#8fb2cf 0%,#bcd2d8 40%,#7fa7bf 58%,#35617f 100%);position:relative;overflow:hidden}.fjord-art-sun{background:radial-gradient(circle,#fff7dd 0%,#ffe4a0 55%,#0000 72%);border-radius:50%;width:40px;height:40px;position:absolute;top:14%;left:16%}.fjord-art-peak{background:linear-gradient(#7d8ea0 0%,#566d84 70%,#3f5468 100%);width:62%;height:52%;position:absolute;bottom:42%}.fjord-art-peak.left{clip-path:polygon(0 100%,40% 8%,62% 46%,82% 22%,100% 100%);left:-6%}.fjord-art-peak.right{clip-path:polygon(0 100%,20% 40%,46% 10%,72% 44%,100% 100%);opacity:.9;right:-6%}.fjord-art-sea{background:linear-gradient(#5b93b6 0%,#2f5c7a 100%);height:42%;position:absolute;bottom:0;left:0;right:0}.fjord-art-island{background:linear-gradient(#6f8d4f 0%,#4f793d 100%);border-radius:50% 50% 45% 45%;width:44px;height:16px;position:absolute;bottom:16%;left:46%}.launcher-section{margin-bottom:34px}.launcher-section-title{text-transform:uppercase;letter-spacing:1.2px;color:var(--text-dim);margin:0 0 14px;font-size:12px;font-weight:700}.launcher-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px;display:grid}.launcher-card{background:var(--panel);border:1px solid var(--border);border-radius:calc(var(--radius) + 4px);flex-direction:column;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex;overflow:hidden}.launcher-card:hover:not(.featured){border-color:var(--accent-active);box-shadow:var(--shadow-card);transform:translateY(-3px)}.launcher-thumb{aspect-ratio:16/9;background:#0c0e13;width:100%;position:relative;overflow:hidden}.launcher-thumb-img{object-fit:cover;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.launcher-thumb.placeholder{background:radial-gradient(300px 130px at 50% 110%,#62a0ff24 0%,#0000 70%),linear-gradient(160deg,#1b202b 0%,#141821 100%);place-items:center;display:grid}.launcher-thumb-emoji{opacity:.6;font-size:38px}.launcher-card-body{padding:12px 14px 8px}.launcher-card-title{white-space:nowrap;text-overflow:ellipsis;margin:0 0 3px;font-size:15.5px;font-weight:650;overflow:hidden}.launcher-card-meta{color:var(--text-dim);margin:0;font-size:12px}.launcher-card-id{color:var(--text-faint);white-space:nowrap;text-overflow:ellipsis;margin:5px 0 0;font-family:ui-monospace,Consolas,monospace;font-size:9.5px;overflow:hidden}.launcher-card-actions{border-top:1px solid #ffffff0a;gap:6px;margin-top:8px;padding:10px 12px 12px;display:flex}.launcher-empty{text-align:center;color:var(--text-dim);border:1px dashed var(--border-strong);border-radius:calc(var(--radius) + 4px);background:#ffffff03;place-items:center;gap:4px;padding:42px 26px;display:grid}.launcher-empty p{margin:0}.launcher-empty-icon{opacity:.55;font-size:34px}.launcher-empty-hint{color:var(--text-faint);font-size:12px}.launcher-footer{border-top:1px solid var(--border);color:var(--text-faint);text-align:center;margin-top:44px;padding-top:18px;font-size:12px}.launcher-loading{flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex;position:absolute;inset:0}.launcher-spinner{border:4px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:46px;height:46px;animation:.9s linear infinite launcher-spin}@keyframes launcher-spin{to{transform:rotate(360deg)}}.launcher-loading-text{color:var(--text-dim);font-size:14px}@media (width<=720px){.launcher-card.featured{flex-direction:column}.launcher-card.featured .launcher-thumb{aspect-ratio:16/9;flex:none;width:100%;min-height:0}.launcher-card.featured .launcher-card-body{padding:20px}}.toolbar-group.brand{background:linear-gradient(150deg,#62a0ff24 0%,#00000038 80%);border-color:#33445f}.toolbar-group.brand button{font-weight:650}.compass-btn{letter-spacing:.5px;width:100%;color:var(--text-dim);background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 0;font-size:11.5px;font-weight:700}.compass-btn:hover{color:var(--text);border-color:var(--accent-active);background:var(--panel-3)}.add-object-btn{color:#cfe2ff;background:var(--accent-soft);border:1px dashed var(--accent-active);border-radius:var(--radius-sm);padding:10px;font-weight:600}.add-object-btn:hover{background:#62a0ff38;border-style:solid}.af-dialog{width:min(440px,100vw - 40px);color:var(--text);background:linear-gradient(165deg, #1b1f28 0%, var(--panel) 100%);border:1px solid var(--border-strong);border-radius:16px;padding:22px 22px 18px;box-shadow:0 24px 70px #0000008c}.af-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#06080ca8}.af-dialog h3{margin:0 0 6px;font-size:17px}.dialog-sub{color:var(--text-dim);margin:0 0 14px;font-size:12.5px;line-height:1.5}.dialog-choices{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;display:grid}.dialog-choice{text-align:center;background:var(--panel-2);border:1px solid var(--border);cursor:pointer;border-radius:12px;flex-direction:column;align-items:center;gap:6px;padding:18px 12px;transition:border-color .13s,transform .13s,background .13s;display:flex}.dialog-choice:hover{border-color:var(--accent);background:var(--panel-3);transform:translateY(-2px)}.dialog-choice .choice-icon{font-size:26px}.dialog-choice strong{font-size:13.5px}.dialog-choice .choice-hint{color:var(--text-dim);font-size:11px;line-height:1.35}.dialog-label{color:var(--text-dim);flex-direction:column;gap:6px;margin-bottom:12px;font-size:12px;display:flex}.dialog-textarea{resize:vertical;border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;min-height:68px;color:var(--text);font:inherit;background:#10131a;outline:none;padding:9px 10px;font-size:13px}.dialog-textarea:focus{border-color:var(--accent)}.dialog-footer{justify-content:flex-end;gap:8px;margin-top:6px;display:flex}.dialog-btn{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px 14px}.dialog-btn:hover{border-color:var(--accent-active);background:var(--panel-3)}.dialog-btn.primary{background:linear-gradient(180deg, #4a8bf0 0%, var(--accent-active) 100%);border-color:var(--accent-active);font-weight:600}.dialog-btn.primary:hover{background:var(--accent)}.generate-status{color:var(--text-dim);border-radius:var(--radius-sm);background:#62a0ff12;border:1px solid #62a0ff33;align-items:center;gap:10px;margin-bottom:10px;padding:10px 12px;font-size:12.5px;display:flex}.generate-status[hidden]{display:none}.dialog-spinner{border:2.5px solid var(--border);border-top-color:var(--accent);border-radius:50%;flex:none;width:16px;height:16px;animation:.8s linear infinite launcher-spin}.af-dialog.viewer{width:min(420px,100vw - 40px)}.viewer-host{border:1px solid var(--border);background:radial-gradient(280px 160px at 50% 82%,#62a0ff1f 0%,#0000 70%),linear-gradient(170deg,#171b23 0%,#10131a 100%);border-radius:12px;place-items:center;margin-bottom:10px;display:grid;overflow:hidden}.viewer-host canvas{display:block}.generate-status{flex-direction:column;align-items:stretch}.generate-status-line{align-items:center;gap:10px;display:flex}.generate-progress{width:100%;height:8px;accent-color:var(--accent);margin-top:8px}.generate-progress[hidden]{display:none}#btn-create-game{color:#cfe2ff;font-weight:600}#game-group[hidden],#mode-group[hidden],.phase-game .panel-fixed,.phase-game #btn-undo{display:none}.zone-type-grid{grid-template-columns:repeat(2,1fr);gap:6px;display:grid}.zone-type-btn{text-align:left;background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:7px;padding:8px 9px;font-size:11.5px;display:flex}.zone-type-btn:hover{border-color:var(--accent-active);background:var(--panel-3)}.zone-type-btn.active{border-color:var(--accent);background:var(--accent-soft);color:#fff}.zone-dot{border-radius:50%;flex:none;width:10px;height:10px;box-shadow:0 0 0 2px #ffffff1f}#panel-zone input[type=text]{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;color:var(--text);font:inherit;background:#10131a;outline:none;padding:8px 9px;font-size:12.5px}#panel-zone input[type=text]:focus{border-color:var(--accent)}.zone-list{flex-direction:column;gap:5px;display:flex}.zone-list:empty{display:none}.zone-row{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:8px;padding:7px 9px;display:flex}.zone-row-label{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;font-size:12px;overflow:hidden}.zone-row-delete{color:#ff9b9b;background:0 0;border:1px solid #0000;flex:none;padding:3px 7px;font-size:12px}.zone-row-delete:hover{border-color:var(--danger);background:#ff70701a}.inspect-switch{grid-template-columns:1fr 1fr;gap:6px;display:grid}.inspect-btn{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius-sm);padding:8px}.inspect-btn:hover{border-color:var(--accent-active);background:var(--panel-3)}.inspect-btn.active{border-color:var(--accent);background:var(--accent-soft);color:#fff}.inspect-report{flex-direction:column;gap:5px;display:flex}.inspect-report:empty{display:none}.inspect-row{color:var(--text-dim);background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;padding:8px 10px;font-size:12.5px;display:flex}.inspect-row strong{color:var(--text);font-size:14px}.inspect-row.warn{color:#f2d495;border-color:#6b4a2b}.inspect-row.warn strong{color:#ffcf7a}.inspect-verdict{border-radius:var(--radius-sm);border:1px solid var(--border);margin-top:4px;padding:10px 11px;font-size:12px;line-height:1.5}.inspect-verdict.ok{color:#b9f4ce;background:#4dd06a1a;border-color:#4dd06a59}.inspect-verdict.warn{color:#ffd9a0;background:#ffb3471a;border-color:#ffb34759}.inspect-empty{color:var(--text-dim);text-align:center;padding:16px;font-size:12.5px}.launcher-header-actions{flex-wrap:wrap;align-items:center}.launcher-btn.google{color:#1f2430;background:#fff;border-color:#fff;align-items:center;gap:9px;padding:10px 16px;font-weight:600;display:inline-flex}.launcher-btn.google:hover{background:#f1f3f6;border-color:#f1f3f6;transform:translateY(-1px)}.google-icon{line-height:0;display:inline-flex}.launcher-btn.small{padding:6px 11px;font-size:12px}.auth-chip{background:var(--panel-2);border:1px solid var(--border);border-radius:999px;align-items:center;gap:9px;padding:5px 6px 5px 5px;display:inline-flex}.auth-chip.muted{color:var(--text-faint);border-style:dashed;padding:8px 14px;font-size:12.5px}.auth-avatar{object-fit:cover;background:var(--panel-3);border-radius:50%;width:30px;height:30px}.auth-avatar.fallback{place-items:center;font-size:16px;display:grid}.auth-name{white-space:nowrap;text-overflow:ellipsis;max-width:160px;font-size:13px;font-weight:600;overflow:hidden}.credit-pill{color:#ffe08a;white-space:nowrap;background:#ffc85a21;border:1px solid #ffc85a52;border-radius:999px;align-items:center;padding:4px 10px;font-size:12.5px;font-weight:700;display:inline-flex}.auth-identity{cursor:pointer;color:inherit;background:0 0;border:none;align-items:center;gap:9px;padding:0;display:inline-flex}.auth-identity:hover{background:0 0}.auth-identity:hover .auth-name{color:var(--accent)}.profile-dialog{width:min(460px,100vw - 40px)}.profile-head{align-items:center;gap:15px;margin-bottom:16px;display:flex}.profile-avatar{object-fit:cover;background:var(--panel-3);border:2px solid var(--border-strong);border-radius:50%;width:64px;height:64px}.profile-avatar.fallback{place-items:center;font-size:30px;display:grid}.profile-identity{min-width:0}.profile-name{margin:0;font-size:19px}.profile-email{color:var(--text-dim);text-overflow:ellipsis;margin:3px 0 0;font-size:13px;overflow:hidden}.profile-credits{background:#ffc85a17;border:1px solid #ffc85a42;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;padding:14px 16px;display:flex}.profile-credits-value{color:#ffe08a;font-size:22px;font-weight:800}.profile-credits-label{color:var(--text-dim);margin-top:2px;font-size:12px;display:block}.profile-stats{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px;display:grid}.profile-stat{background:var(--panel-2);border:1px solid var(--border);border-radius:10px;flex-direction:column;align-items:center;gap:3px;padding:12px 6px;display:flex}.profile-stat strong{font-size:18px}.profile-stat span{color:var(--text-dim);text-align:center;font-size:11px}.profile-note{color:var(--text-faint);margin:0 0 4px;font-size:12px;line-height:1.5}.card-title-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.vis-badge{white-space:nowrap;border-radius:999px;flex:none;padding:2px 7px;font-size:10px;font-weight:700}.vis-badge.public{color:#b9f4ce;background:#4dd06a24;border:1px solid #4dd06a4d}.vis-badge.private{color:var(--text-dim);background:var(--panel-3);border:1px solid var(--border)}.card-attribution{color:#9ec4ff;margin:5px 0 0;font-size:11.5px}.explore-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.explore-head .launcher-section-title{margin:0}.explore-search{min-width:200px;max-width:340px;font:inherit;color:var(--text);border:1px solid var(--border);background:#10131a;border-radius:999px;outline:none;flex:1;padding:9px 12px;font-size:13px}.explore-search:focus{border-color:var(--accent)}.explore-empty{text-align:center;color:var(--text-dim);padding:24px;font-size:13px}.settings-visibility{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.settings-radio,.settings-check{background:var(--panel-2);border:1px solid var(--border);cursor:pointer;border-radius:10px;align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.settings-radio:hover,.settings-check:hover{border-color:var(--accent-active)}.settings-radio strong{font-size:13.5px;display:block}.settings-permissions{flex-direction:column;gap:8px;margin-bottom:12px;display:flex}.settings-check{align-items:center}.settings-hint{color:var(--text-dim);margin:2px 0 0;font-size:11.5px;display:block}.view-banner{z-index:60;box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#181e2af7;border:1px solid #3a5a7a;border-radius:999px;align-items:center;gap:14px;max-width:calc(100vw - 40px);padding:10px 12px 10px 18px;font-size:13px;display:flex;position:fixed;bottom:20px;left:50%;transform:translate(-50%)}.view-banner button{color:#fff;background:var(--accent-active);border:1px solid var(--accent);border-radius:999px;flex:none;padding:8px 14px;font-weight:600}.view-banner button:hover{background:var(--accent)}.settings-section-title{margin:16px 0 6px;font-size:13px}.collab-add{grid-template-columns:1fr auto auto;gap:6px;margin-bottom:8px;display:grid}.collab-input,.collab-select{font:inherit;color:var(--text);border:1px solid var(--border);border-radius:var(--radius-sm);background:#10131a;outline:none;min-width:0;padding:8px 9px;font-size:12.5px}.collab-input:focus,.collab-select:focus{border-color:var(--accent)}.collab-list{flex-direction:column;gap:5px;display:flex}.collab-row{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:8px;padding:7px 9px;display:flex}.collab-email{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:12px;overflow:hidden}.collab-role{color:var(--text-dim);font-size:11px}.profile-friends{margin:6px 0 4px}.friend-search{width:100%;font:inherit;color:var(--text);border:1px solid var(--border);background:#10131a;border-radius:999px;outline:none;margin-bottom:8px;padding:9px 11px;font-size:13px}.friend-search:focus{border-color:var(--accent)}.friend-results:not(:empty),.friend-block:not(:empty){flex-direction:column;gap:5px;margin-bottom:8px;display:flex}.friend-row{background:var(--panel-2);border:1px solid var(--border);border-radius:var(--radius-sm);align-items:center;gap:9px;padding:6px 9px;display:flex}.friend-identity{cursor:pointer;min-width:0;color:inherit;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:9px;padding:0;display:flex}.friend-identity:hover .friend-name{color:var(--accent)}.friend-avatar{object-fit:cover;background:var(--panel-3);border-radius:50%;flex:none;width:30px;height:30px}.friend-avatar.fallback{place-items:center;font-size:15px;display:grid}.friend-name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}.launcher-btn.small.primary{background:var(--accent-active);border-color:var(--accent);color:#fff}.profile-public-maps{flex-direction:column;gap:5px;display:flex}.selection-role-row{border-bottom:1px solid var(--border);align-items:center;gap:8px;margin-bottom:10px;padding-bottom:10px;display:flex}.selection-role-label{color:var(--text-dim);margin-right:2px;font-size:12px}.role-btn{cursor:pointer;background:var(--panel-3);border:1px solid var(--border);color:var(--text);border-radius:7px;flex:1;padding:7px 8px;font:600 12px system-ui,sans-serif}.role-btn:hover{border-color:#4a5262}.role-btn[data-role=player].active{color:#dbeafe;background:#16386e;border-color:#3b82f6}.role-btn[data-role=ai].active{color:#fee2e2;background:#6e1f22;border-color:#ef4444}.studio-btn{color:#d9ccff;background:#2b2140;border-color:#5b4a8a}.studio-btn:hover{background:#362a52}.studio-btn.active{background:#46367a;border-color:#7a63c9}body.studio-mode #app{grid-template-columns:330px 1fr}body.studio-mode #sidebar{display:none}#studio{background:var(--panel);border-right:1px solid var(--border);flex-direction:column;grid-area:sidebar;display:flex;overflow:hidden}#studio[hidden]{display:none}.studio-tabs{gap:6px;padding:10px 10px 0;display:flex}.studio-tab{cursor:pointer;background:var(--panel-2);border:1px solid var(--border);color:var(--text-dim);border-bottom:none;border-radius:8px 8px 0 0;flex:1;padding:8px;font:600 13px system-ui,sans-serif}.studio-tab.active{background:var(--panel-3);color:var(--text)}.studio-pane{flex-direction:column;flex:1;gap:8px;padding:10px;display:flex;overflow-y:auto}#studio-search{background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:8px 10px}#studio-list{flex-direction:column;gap:2px;display:flex}.studio-section-title{letter-spacing:.6px;text-transform:uppercase;color:var(--text-dim);margin:10px 0 4px;font-size:11px}.studio-item{cursor:pointer;border:1px solid #0000;border-radius:7px;align-items:center;gap:8px;padding:5px 8px;display:flex}.studio-item:hover{background:var(--panel-2)}.studio-item.selected{background:#2b2f45;border-color:#4a5fa0}.studio-item-icon{text-align:center;flex:none;width:18px}.studio-item-name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}.studio-rename-btn{cursor:pointer;opacity:0;color:var(--text-dim);background:0 0;border:none;flex:none;font-size:12px}.studio-item:hover .studio-rename-btn{opacity:1}.studio-rename-input{background:var(--panel-3);border:1px solid var(--accent);min-width:0;color:var(--text);border-radius:5px;flex:1;padding:2px 6px;font-size:13px}.studio-hint{color:var(--text-dim);margin:4px 0;font-size:12px}.studio-field{color:var(--text-dim);flex-direction:column;gap:4px;font-size:12px;display:flex}.studio-field input{background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:7px;padding:7px 9px}.studio-select,.studio-key-input,.studio-num-input,.studio-text-input{background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:6px;padding:5px 7px;font-size:12px}.studio-key-input{text-align:center;text-transform:uppercase;width:52px}.studio-num-input{width:64px}.studio-text-input{flex:1;min-width:80px}.studio-rule{border:1px solid var(--border);background:var(--panel-2);border-radius:9px;flex-direction:column;gap:7px;padding:8px;display:flex}.studio-rule-head{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.studio-trigger-type{flex:1;min-width:130px}.studio-once{color:var(--text-dim);align-items:center;gap:4px;font-size:11px;display:flex}.studio-rule-actions{border-left:2px solid var(--border-strong);flex-direction:column;gap:5px;padding-left:10px;display:flex}.studio-action-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.studio-action-type{max-width:165px}.studio-del-btn{cursor:pointer;color:#c97a7a;background:0 0;border:none;border-radius:5px;flex:none;padding:2px 6px;font-size:13px}.studio-del-btn:hover{background:#3a2328}.studio-add-action,#studio-add-rule{cursor:pointer;background:var(--panel-3);color:var(--text-dim);border:1px dashed #4a5262;border-radius:7px;align-self:flex-start;padding:6px 12px;font:600 12px system-ui,sans-serif}.studio-add-action:hover,#studio-add-rule:hover{color:var(--text);border-color:var(--accent)}#studio-add-rule{text-align:center;align-self:stretch;padding:9px}#game-rt-hud{z-index:45;pointer-events:none;position:fixed;inset:0}#game-rt-stats{flex-direction:column;align-items:flex-end;gap:6px;display:flex;position:absolute;top:60px;right:18px}#game-rt-stats span{color:#fff;background:#0c0f14ad;border:1px solid #ffffff24;border-radius:9px;padding:7px 14px;font:700 16px system-ui,sans-serif}#game-rt-messages{flex-direction:column;align-items:center;gap:8px;display:flex;position:absolute;top:24%;left:50%;transform:translate(-50%)}.game-rt-message{color:#fff;text-align:center;background:#0c0f14b8;border:1px solid #ffffff29;border-radius:10px;padding:10px 22px;font:600 17px system-ui,sans-serif;animation:.25s gameMsgIn}@keyframes gameMsgIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1}}#game-rt-end{pointer-events:auto;background:#080a0e8c;place-items:center;display:grid;position:absolute;inset:0}#game-rt-end[hidden]{display:none}#game-rt-end-card{background:var(--panel);border:1px solid var(--border-strong);text-align:center;color:var(--text);border-radius:14px;padding:28px 40px}#game-rt-end-card h2{margin:0 0 8px;font-size:26px}#game-rt-end-card p{color:var(--text-dim);margin:0 0 18px}#game-rt-end-card button{cursor:pointer;background:var(--panel-3);border:1px solid var(--border);color:var(--text);border-radius:8px;margin:0 6px;padding:9px 18px;font:600 14px system-ui,sans-serif}#game-rt-end-card button#game-rt-replay{color:#b9f5cd;background:#1d4327;border-color:#2f6b3f}.play-btn{color:#b9f5cd;background:#17351f;border-color:#2f6b3f}.play-btn:hover{background:#1d4327}body.play-mode #toolbar,body.play-mode #sidebar,body.play-mode #statusbar,body.play-mode #node-context-menu,body.play-mode .view-banner{display:none!important}body.play-mode #viewport{z-index:1;width:100vw;height:100vh;position:fixed;inset:0}body.play-mode{cursor:none}#play-hud{z-index:40;pointer-events:none;position:fixed;inset:0}#play-crosshair{background:#ffffffd9;border-radius:50%;width:8px;height:8px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 2px #00000073}#play-hint{color:#dfe4ee;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#0c0f149e;border:1px solid #ffffff1f;border-radius:999px;flex-wrap:wrap;justify-content:center;gap:18px;padding:9px 18px;font:13px/1 system-ui,sans-serif;display:flex;position:absolute;top:16px;left:50%;transform:translate(-50%)}#play-hint b{color:#7fe0a0;font-weight:700}#play-quit{pointer-events:auto;cursor:pointer;color:#ffd7da;background:#501418bf;border:1px solid #b3434d;border-radius:8px;padding:8px 14px;font:600 13px system-ui,sans-serif;position:absolute;top:14px;right:16px}#play-quit:hover{background:#781c22e6}
