#controlsTab{position:fixed;bottom:20px;left:200px;transform:none;width:220px;background:rgba(255,255,255,0.95);border:none;border-radius:12px;z-index:104;display:none;font-size:12px;color:#475569;max-width:220px;max-height:60vh;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,0.1)}
#controlsTab.show{display:block}
#ctrlHeader{padding:12px 16px;cursor:pointer;color:#667eea;font-family:'Poppins',sans-serif;font-weight:600}
#ctrlContent{padding:12px 16px;border-top:2px solid #f1f5f9;line-height:1.8;max-height:calc(60vh - 48px);overflow-y:auto}
#ctrlContent.hidden{display:none}
#controlsTab.compact{width:max-content;max-width:max-content;overflow:visible}
#controlsTab.compact #ctrlHeader{white-space:nowrap;padding:10px 14px}
#mobileTouchControls{position:fixed;inset:0;display:none;pointer-events:none;z-index:106}
#mobileTouchControls.show{display:block}
.mobilePad{position:absolute;top:58%;transform:translateY(-50%);width:126px;height:126px;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);gap:4px;pointer-events:none}
#mobileMovePad{right:10px}
#mobileLookPad{left:10px}
.mobileNavBtn{border:none;border-radius:10px;background:rgba(15,23,42,0.62);backdrop-filter:blur(6px);color:#ffffff;font-size:18px;font-weight:700;display:flex;align-items:center;justify-content:center;pointer-events:auto;touch-action:none;box-shadow:0 6px 16px rgba(0,0,0,0.24)}
.mobileNavBtn.active{background:rgba(37,99,235,0.82);transform:scale(0.97)}
.mobileNavBtn.up{grid-column:2;grid-row:1}
.mobileNavBtn.left{grid-column:1;grid-row:2}
.mobileNavBtn.right{grid-column:3;grid-row:2}
.mobileNavBtn.down{grid-column:2;grid-row:3}
.mobilePadLabel{grid-column:2;grid-row:2;border-radius:10px;background:rgba(255,255,255,0.85);color:#334155;font-size:9px;font-weight:700;letter-spacing:0.7px;display:flex;align-items:center;justify-content:center;text-transform:uppercase}
#mobileActionStack{position:absolute;left:10px;top:73%;transform:none;display:flex;flex-direction:column;gap:8px;pointer-events:none;width:126px}
.mobileActionBtn{min-width:88px;padding:10px 14px;border:none;border-radius:12px;background:rgba(15,23,42,0.62);backdrop-filter:blur(6px);color:#ffffff;font-size:12px;font-weight:700;letter-spacing:0.3px;pointer-events:auto;touch-action:none;box-shadow:0 8px 18px rgba(0,0,0,0.24)}
.mobileActionBtn.active{background:rgba(37,99,235,0.82);transform:scale(0.97)}
.mobilePad.hidden,.mobileActionBtn.hidden{display:none}
#mobileTouchControls.mode-driving #mobileMoveLeft,
#mobileTouchControls.mode-driving #mobileMoveRight,
#mobileTouchControls.mode-driving #mobileLookUp,
#mobileTouchControls.mode-driving #mobileLookDown{display:none}
#mobileTouchControls.mode-driving #mobileMoveLabel,
#mobileTouchControls.mode-driving #mobileLookLabel{display:none}
#mobileTouchControls.mode-driving #mobileActionStack{left:10px;top:58%;transform:translateY(-50%);width:126px}
#mobileTouchControls.mode-driving .mobileActionBtn{min-width:126px}
#mobileTouchControls.mode-driving #mobileActionSecondary{display:none!important}
#mobileTouchControls.mode-rocket #mobileMovePad{display:none}
#mobileTouchControls.mode-rocket #mobileLookPad{left:auto;right:10px;top:58%}
#mobileTouchControls.mode-rocket #mobileActionStack{left:10px;top:50%;transform:translateY(-50%);width:126px}
#mobileTouchControls.mode-rocket .mobileActionBtn{min-width:126px}
@media (hover:hover) and (pointer:fine){
  #mobileTouchControls{display:none!important}
}
#memoryFlowerFloatBtn{position:fixed;bottom:78px;left:200px;width:46px;height:46px;background:linear-gradient(135deg,#ec4899,#db2777);border:none;border-radius:50%;color:#ffffff;font-size:23px;cursor:pointer;box-shadow:0 10px 26px rgba(236,72,153,0.38);z-index:103;display:none;transition:all 0.2s}
#memoryFlowerFloatBtn.show{display:flex;align-items:center;justify-content:center}
#memoryFlowerFloatBtn:hover{transform:scale(1.08);box-shadow:0 14px 34px rgba(236,72,153,0.45)}
#flowerActionMenu{position:fixed;left:145px;bottom:132px;min-width:208px;background:rgba(255,255,255,0.97);border:1px solid rgba(148,163,184,0.4);border-radius:12px;box-shadow:0 12px 28px rgba(15,23,42,0.22);padding:8px;display:none;z-index:104;backdrop-filter:blur(8px)}
#flowerActionMenu.open{display:block}
.flowerActionOption{width:100%;border:none;background:#f8fafc;color:#334155;font-family:'Poppins',sans-serif;font-size:12px;font-weight:600;border-radius:8px;padding:8px 10px;text-align:left;cursor:pointer;margin:2px 0}
.flowerActionOption:hover{background:#e2e8f0}
.flowerActionOption.danger{background:#fef2f2;color:#b91c1c}
.flowerActionOption.danger:hover{background:#fee2e2}
#gameShareFloatBtn{position:fixed;bottom:130px;left:200px;width:46px;height:46px;background:linear-gradient(135deg,#2563eb,#1d4ed8);border:none;border-radius:50%;color:#ffffff;cursor:pointer;box-shadow:0 10px 24px rgba(37,99,235,0.35);z-index:103;display:none;transition:all 0.2s;padding:0}
#gameShareFloatBtn.show{display:flex;align-items:center;justify-content:center}
#gameShareFloatBtn:hover{transform:scale(1.08);box-shadow:0 14px 34px rgba(37,99,235,0.42)}
#gameShareFloatBtn .shareIcon{width:22px;height:22px;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;fill:none}
#gameShareMenu{position:fixed;left:145px;bottom:182px;width:158px;background:rgba(255,255,255,0.96);border:1px solid rgba(148,163,184,0.35);border-radius:12px;box-shadow:0 12px 26px rgba(15,23,42,0.2);padding:8px;display:none;z-index:103;backdrop-filter:blur(8px)}
#gameShareMenu.show{display:block}
.gameShareOption{width:100%;border:none;background:#f8fafc;color:#334155;font-family:'Poppins',sans-serif;font-size:12px;font-weight:600;border-radius:8px;padding:7px 8px;cursor:pointer;text-align:left;margin:2px 0}
.gameShareOption:hover{background:#e2e8f0}
#gameShareStatus{font-size:10px;line-height:1.25;color:#475569;min-height:12px;margin-top:6px}
#buildModeIndicator{position:fixed;left:20px;bottom:78px;background:rgba(17,24,39,0.88);border:1px solid rgba(251,146,60,0.7);border-radius:10px;padding:9px 12px;font-size:11px;color:#fdba74;z-index:101;display:none;max-width:280px;line-height:1.45;box-shadow:0 8px 20px rgba(0,0,0,0.25)}
#buildModeIndicator.show{display:block}
#coords{position:fixed;bottom:200px;left:20px;background:rgba(255,255,255,0.95);border:none;border-radius:10px;padding:10px 14px;font-size:11px;color:#475569;z-index:100;display:none;box-shadow:0 4px 12px rgba(0,0,0,0.1);cursor:pointer}
#coords.show{display:block}
#interiorPrompt{position:fixed;left:50%;bottom:116px;transform:translateX(-50%);display:none;max-width:min(78vw,420px);padding:10px 14px;border-radius:999px;background:rgba(15,23,42,0.9);border:1px solid rgba(148,163,184,0.35);color:#f8fafc;font-family:'Poppins',sans-serif;font-size:12px;font-weight:600;letter-spacing:0.2px;z-index:140;box-shadow:0 12px 28px rgba(15,23,42,0.3);backdrop-filter:blur(8px);pointer-events:none}
#interiorPrompt.show{display:block}
#interiorPrompt[data-variant="supported"],#interiorPrompt[data-variant="active"]{border-color:rgba(52,211,153,0.65);color:#dcfce7}
#interiorPrompt[data-variant="loading"]{border-color:rgba(96,165,250,0.65);color:#dbeafe}
#interiorPrompt[data-variant="notice"]{border-color:rgba(248,113,113,0.65);color:#fee2e2}
#boatPrompt{position:fixed;left:50%;bottom:76px;transform:translateX(-50%);display:none;max-width:min(82vw,480px);padding:10px 14px;border-radius:999px;background:rgba(8,47,73,0.92);border:1px solid rgba(125,211,252,0.5);color:#e0f2fe;font-family:'Poppins',sans-serif;font-size:12px;font-weight:600;letter-spacing:0.2px;z-index:141;box-shadow:0 12px 28px rgba(8,47,73,0.28);backdrop-filter:blur(8px);pointer-events:none}
#boatPrompt.show{display:block}
#boatPrompt[data-variant="supported"],#boatPrompt[data-variant="active"]{border-color:rgba(56,189,248,0.78);color:#e0f2fe}
#boatPrompt[data-variant="notice"]{border-color:rgba(248,113,113,0.65);color:#fee2e2}
#boatWaveDock{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);display:none;align-items:center;gap:12px;min-width:min(88vw,380px);padding:10px 14px;border-radius:999px;background:rgba(6,24,40,0.9);border:1px solid rgba(125,211,252,0.36);color:#e0f2fe;font-family:'Poppins',sans-serif;z-index:142;box-shadow:0 14px 34px rgba(2,12,27,0.34);backdrop-filter:blur(10px)}
#boatWaveDock.show{display:flex}
.boatWaveMeta{display:flex;flex-direction:column;gap:2px;min-width:90px}
#boatWaveLabel{font-size:12px;font-weight:700;letter-spacing:0.2px}
#boatWaveHint{font-size:10px;color:rgba(191,219,254,0.78)}
#boatWaveValue{min-width:42px;text-align:right;font-size:12px;font-weight:700;color:#bae6fd}
#boatWaveSlider{flex:1;min-width:120px;-webkit-appearance:none;appearance:none;height:6px;border-radius:999px;background:linear-gradient(90deg,rgba(125,211,252,0.28),rgba(56,189,248,0.62));outline:none}
#boatWaveSlider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:#f8fafc;border:2px solid #38bdf8;box-shadow:0 2px 10px rgba(14,165,233,0.35);cursor:pointer}
#boatWaveSlider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#f8fafc;border:2px solid #38bdf8;box-shadow:0 2px 10px rgba(14,165,233,0.35);cursor:pointer}
#boatWaveSlider::-moz-range-track{height:6px;border-radius:999px;background:linear-gradient(90deg,rgba(125,211,252,0.28),rgba(56,189,248,0.62))}
#flowerChallengeHud{position:fixed;top:88px;left:50%;transform:translateX(-50%);display:none;align-items:center;gap:10px;background:rgba(15,23,42,0.84);color:#f8fafc;border:1px solid rgba(248,113,113,0.65);border-radius:12px;padding:9px 14px;z-index:140;backdrop-filter:blur(8px);box-shadow:0 10px 26px rgba(15,23,42,0.35)}
#flowerChallengeHud.show{display:flex}
#flowerChallengeHudStatus{font-size:12px;font-weight:700;letter-spacing:0.3px}
#flowerChallengeHudTimer{font-family:'Orbitron',sans-serif;font-size:12px;color:#fecaca;min-width:60px;text-align:right}
#loading{position:fixed;inset:0;background:#000 url('../loading-bg.jpg') center center/cover no-repeat;display:none;align-items:center;justify-content:center;flex-direction:column;z-index:300;cursor:pointer}
#loading.show{display:flex}
.spinner{width:48px;height:48px;border:4px solid rgba(255,255,255,0.3);border-top-color:#ffffff;border-radius:50%;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
#loadText{color:#ffffff;font-family:'Poppins',sans-serif;margin-top:20px;font-size:15px;font-weight:500}
#pauseScreen{position:fixed;inset:0;background:rgba(0,0,0,0.8);display:none;align-items:center;justify-content:center;flex-direction:column;z-index:250;backdrop-filter:blur(8px)}
#pauseScreen.show{display:flex}
.pauseTitle{font-family:'Poppins',sans-serif;font-size:42px;font-weight:700;color:#ffffff;margin-bottom:32px}
.pauseBtn{background:#ffffff;border:none;border-radius:12px;padding:14px 40px;color:#1e293b;font-family:'Poppins',sans-serif;font-size:14px;font-weight:600;cursor:pointer;margin:8px;min-width:180px;transition:all 0.2s}
.pauseBtn:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(255,255,255,0.2)}
#resultScreen{position:fixed;inset:0;background:rgba(0,0,0,0.8);display:none;align-items:center;justify-content:center;z-index:260;backdrop-filter:blur(8px)}
#resultScreen.show{display:flex}
.resultBox{background:#ffffff;border:none;border-radius:20px;padding:40px 60px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,0.3)}
#resultTitle{font-family:'Poppins',sans-serif;font-size:32px;font-weight:700;color:#667eea;margin-bottom:16px}
#resultStats{color:#475569;margin-bottom:24px;line-height:1.8;font-size:15px}
#caughtScreen{position:fixed;inset:0;background:rgba(220,38,38,0.15);display:none;align-items:center;justify-content:center;z-index:270;backdrop-filter:blur(8px)}
#caughtScreen.show{display:flex}
.caughtBox{background:#ffffff;border:none;border-radius:20px;padding:40px;text-align:center;box-shadow:0 20px 60px rgba(220,38,38,0.3)}
.caughtTitle{font-family:'Poppins',sans-serif;font-size:36px;font-weight:700;color:#dc2626;margin-bottom:16px}
.caughtText{color:#475569;margin-bottom:24px;font-size:15px}
.caughtBtn{background:#dc2626;border:none;border-radius:12px;padding:14px 32px;color:#ffffff;font-family:'Poppins',sans-serif;font-weight:600;cursor:pointer;transition:all 0.2s}
.caughtBtn:hover{background:#b91c1c;transform:translateY(-2px);box-shadow:0 8px 24px rgba(220,38,38,0.3)}

/* Real Estate System Styles */
#propertyPanel{position:fixed;top:20px;right:20px;width:380px;max-height:80vh;background:rgba(255,255,255,0.98);border:none;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,0.2);z-index:110;display:none;overflow:hidden;backdrop-filter:blur(10px)}
#propertyPanel.show{display:flex;flex-direction:column}
.panel-header{background:linear-gradient(135deg,#667eea,#764ba2);padding:20px;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}
.panel-title{font-family:'Poppins',sans-serif;font-size:18px;font-weight:700;color:#ffffff;letter-spacing:0.5px}
.panel-close{background:rgba(255,255,255,0.2);border:none;color:#ffffff;font-size:24px;width:32px;height:32px;border-radius:50%;cursor:pointer;transition:all 0.2s;display:flex;align-items:center;justify-content:center}
.panel-close:hover{background:rgba(255,255,255,0.3);transform:scale(1.1)}
.panel-content{padding:16px;overflow-y:auto;flex:1}
.property-card{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;padding:12px;margin-bottom:12px;cursor:pointer;transition:all 0.2s}
.property-card:hover{border-color:#667eea;transform:translateY(-2px);box-shadow:0 4px 12px rgba(102,126,234,0.2)}
.prop-photo{width:100%;height:180px;background:#e2e8f0;border-radius:8px;overflow:hidden;margin-bottom:10px;display:flex;align-items:center;justify-content:center}
.prop-photo img{width:100%;height:100%;object-fit:cover}
.prop-photo-placeholder{font-size:48px;color:#cbd5e1}
.prop-price{font-family:'Poppins',sans-serif;font-size:20px;font-weight:700;color:#667eea;margin-bottom:4px}
.prop-address{font-size:13px;color:#1e293b;font-weight:500;margin-bottom:6px}
.prop-details{font-size:12px;color:#64748b;display:flex;gap:12px}
#propertyModal{position:fixed;inset:0;background:rgba(0,0,0,0.85);display:none;align-items:center;justify-content:center;z-index:200;backdrop-filter:blur(8px)}
#propertyModal.show{display:flex}
.modal-content{background:#ffffff;border-radius:20px;width:90%;max-width:700px;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,0.3)}
.modal-header{background:linear-gradient(135deg,#667eea,#764ba2);padding:24px;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}
.modal-title{font-family:'Poppins',sans-serif;font-size:20px;font-weight:700;color:#ffffff;flex:1;padding-right:20px}
.modal-close{background:rgba(255,255,255,0.2);border:none;color:#ffffff;font-size:28px;width:40px;height:40px;border-radius:50%;cursor:pointer;transition:all 0.2s;display:flex;align-items:center;justify-content:center;line-height:1}
.modal-close:hover{background:rgba(255,255,255,0.3);transform:scale(1.1)}
.modal-body{padding:24px;overflow-y:auto;flex:1}
.modal-body img{width:100%;border-radius:12px;margin-bottom:16px}
.modal-body p{color:#475569;line-height:1.6;margin-bottom:12px}
.modal-body button{background:#667eea;border:none;border-radius:8px;padding:12px 24px;color:#ffffff;font-family:'Poppins',sans-serif;font-weight:600;cursor:pointer;transition:all 0.2s;margin-top:12px}
.modal-body button:hover{background:#5568d3;transform:translateY(-2px);box-shadow:0 4px 12px rgba(102,126,234,0.3)}
.prop-stat{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #e2e8f0}
.prop-stat-label{color:#64748b;font-size:13px}
.prop-stat-value{color:#1e293b;font-weight:600;font-size:13px}
#realEstateBtn{position:fixed;bottom:90px;right:20px;width:56px;height:56px;background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:50%;color:#ffffff;font-size:24px;cursor:pointer;box-shadow:0 8px 24px rgba(16,185,129,0.4);transition:all 0.2s;z-index:100;display:none}
#realEstateBtn.show{display:block}
#realEstateBtn:hover{transform:scale(1.1);box-shadow:0 12px 32px rgba(16,185,129,0.5)}
#historicBtn.show{display:block}
#historicBtn:hover{transform:scale(1.1);box-shadow:0 12px 32px rgba(245,158,11,0.5)}
#historicPanel.show{display:flex}

/* Persistent memory markers */
#memoryComposer{position:fixed;right:20px;bottom:20px;width:min(360px,calc(100vw - 28px));background:rgba(255,255,255,0.98);border:none;border-radius:14px;box-shadow:0 16px 40px rgba(0,0,0,0.28);padding:14px;z-index:140;display:none;backdrop-filter:blur(8px)}
#memoryComposer.show{display:block}
.memoryComposerTitle{font-family:'Poppins',sans-serif;font-size:15px;font-weight:700;color:#1f2937}
.memoryComposerSub{font-size:11px;color:#64748b;margin-top:2px;margin-bottom:10px}
.memoryComposerSub.warn{color:#b91c1c;font-weight:600}
.memoryTypeRow{display:flex;gap:8px;margin-bottom:10px}
.memoryTypeBtn{flex:1;background:#f1f5f9;border:2px solid #dbe4ef;border-radius:10px;padding:8px 10px;font-family:'Poppins',sans-serif;font-size:12px;font-weight:600;color:#475569;cursor:pointer;transition:all 0.2s}
.memoryTypeBtn:hover{border-color:#cbd5e1;background:#e9eff7}
.memoryTypeBtn.active{border-color:#6366f1;background:#e0e7ff;color:#3730a3}
#memoryMessageInput{width:100%;min-height:90px;max-height:180px;resize:vertical;border:2px solid #e2e8f0;border-radius:10px;padding:10px 12px;font-family:'Inter',sans-serif;font-size:13px;line-height:1.4;color:#334155}
#memoryMessageInput:focus{outline:none;border-color:#818cf8;box-shadow:0 0 0 3px rgba(129,140,248,0.2)}
.memoryComposerMeta{display:flex;justify-content:space-between;align-items:center;margin-top:8px}
#memoryComposerStatus{font-size:11px;color:#64748b}
#memoryComposerStatus.error{color:#b91c1c}
#memoryCharCount{font-size:11px;color:#64748b;font-weight:600}
.memoryActionRow{display:flex;gap:8px;margin-top:10px}
.memoryActionBtn{flex:1;border:none;border-radius:10px;padding:10px 12px;font-family:'Poppins',sans-serif;font-size:12px;font-weight:600;cursor:pointer;transition:all 0.2s}
#memoryCancelBtn{background:#e2e8f0;color:#334155}
#memoryCancelBtn:hover{background:#cbd5e1}
#memoryPlaceBtn{background:#4f46e5;color:#ffffff}
#memoryPlaceBtn:hover{background:#4338ca}
#memoryDeleteAllBtn{background:#b91c1c;color:#ffffff}
#memoryDeleteAllBtn:hover{background:#991b1b}

#memoryInfoPanel{position:fixed;top:95px;right:20px;width:min(340px,calc(100vw - 28px));background:rgba(17,24,39,0.94);color:#e2e8f0;border:1px solid rgba(99,102,241,0.4);border-radius:12px;box-shadow:0 16px 38px rgba(0,0,0,0.35);padding:12px;display:none;z-index:135}
#memoryInfoPanel.show{display:block}
#memoryInfoTitle{font-family:'Poppins',sans-serif;font-size:14px;font-weight:700;color:#c7d2fe;margin-bottom:6px}
#memoryInfoText{font-size:13px;line-height:1.5;color:#f8fafc;white-space:pre-wrap;word-break:break-word}
#memoryInfoMeta{font-size:11px;color:#93c5fd;margin-top:8px}
.memoryInfoActions{display:flex;gap:8px;margin-top:10px}
.memoryInfoBtn{flex:1;border:none;border-radius:8px;padding:8px 10px;font-family:'Poppins',sans-serif;font-size:11px;font-weight:600;cursor:pointer}
#memoryInfoCloseBtn{background:#1e293b;color:#e2e8f0}
#memoryDeleteBtn{background:#b91c1c;color:#ffffff}

#editorPanel{position:fixed;top:88px;right:20px;width:min(380px,calc(100vw - 28px));max-height:calc(100dvh - 112px);background:rgba(11,19,32,0.94);color:#e2e8f0;border:1px solid rgba(94,234,212,0.28);border-radius:16px;box-shadow:0 24px 54px rgba(2,6,23,0.42);backdrop-filter:blur(14px);display:none;flex-direction:column;overflow:hidden;z-index:140}
#editorPanel.show{display:flex}
.editorPanelHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px 10px;border-bottom:1px solid rgba(148,163,184,0.16)}
.editorPanelTitleWrap{display:flex;flex-direction:column;gap:4px;min-width:0}
#editorPanelTitle{font-family:'Orbitron',sans-serif;font-size:14px;letter-spacing:0.04em;color:#ccfbf1}
#editorPanelSubline{font-size:11px;line-height:1.4;color:#cbd5e1}
#editorAuthBadge{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:5px 9px;border-radius:999px;background:rgba(15,23,42,0.72);border:1px solid rgba(148,163,184,0.24);font-size:10px;color:#bfdbfe}
.editorHeaderActions{display:flex;align-items:center;gap:8px}
#editorHelpBtn,#editorViewModeBtn,#editorPeekBtn,#editorCloseBtn{border:none;background:rgba(15,23,42,0.92);color:#e2e8f0;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700;cursor:pointer}
#editorHelpBtn:hover,#editorViewModeBtn:hover,#editorPeekBtn:hover,#editorCloseBtn:hover{background:rgba(30,41,59,0.96)}
#editorStatus{min-height:18px;padding:0 16px 10px;font-size:11px;color:#bfdbfe}
#editorStatus[data-tone="ok"]{color:#86efac}
#editorStatus[data-tone="error"]{color:#fca5a5}
.editorTabRow{display:flex;gap:8px;padding:0 16px 12px}
.editorTabBtn{flex:1;border:1px solid rgba(148,163,184,0.26);background:rgba(15,23,42,0.72);color:#cbd5e1;border-radius:10px;padding:8px 10px;font-size:11px;font-weight:700;cursor:pointer}
.editorTabBtn.active{background:rgba(20,184,166,0.18);border-color:rgba(94,234,212,0.42);color:#ecfeff}
.editorPanelBody{padding:0 16px 16px;overflow:auto;display:flex;flex-direction:column;gap:12px}
.editorPane{display:none;flex-direction:column;gap:12px}
.editorPane.active{display:flex}
.editorHintCard{background:rgba(15,23,42,0.72);border:1px solid rgba(148,163,184,0.18);border-radius:12px;padding:10px 12px;font-size:11px;line-height:1.45;color:#dbeafe}
.editorTargetCard{background:rgba(8,30,37,0.84);border:1px solid rgba(45,212,191,0.24);border-radius:12px;padding:11px 12px;font-size:11px;line-height:1.45;color:#ccfbf1;display:flex;flex-direction:column;gap:4px}
.editorCaptureRow{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.editorSmallBtn{border:none;border-radius:10px;padding:9px 10px;font-size:11px;font-weight:700;cursor:pointer;background:#164e63;color:#ecfeff}
.editorSmallBtn.alt{background:#1e293b;color:#e2e8f0}
.editorSmallBtn.warn{background:#7c2d12;color:#ffedd5}
.editorField{display:flex;flex-direction:column;gap:6px}
.editorFieldLabel{font-size:10px;font-weight:700;letter-spacing:0.05em;text-transform:uppercase;color:#94a3b8}
.editorFieldLead{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}
.editorFieldHelp{font-size:11px;line-height:1.45;color:#cbd5e1}
.editorFieldExample{font-size:10px;color:#7dd3fc}
.editorFieldHelpBtn{border:none;border-radius:999px;padding:4px 8px;background:rgba(15,23,42,0.92);color:#cbd5e1;font-size:10px;font-weight:700;cursor:pointer}
.editorField input,.editorField select,.editorField textarea{width:100%;border:1px solid rgba(148,163,184,0.28);border-radius:10px;padding:10px 12px;background:rgba(15,23,42,0.74);color:#f8fafc;font-size:12px;font-family:'Inter',sans-serif}
.editorField textarea{min-height:94px;max-height:200px;resize:vertical}
.editorField input:focus,.editorField select:focus,.editorField textarea:focus{outline:none;border-color:rgba(94,234,212,0.58);box-shadow:0 0 0 2px rgba(45,212,191,0.18)}
.editorActionRow{display:flex;gap:8px}
.editorActionBtn{flex:1;border:none;border-radius:10px;padding:10px 12px;font-size:12px;font-weight:700;cursor:pointer}
#editorPreviewBtn{background:#0f766e;color:#ecfeff}
#editorSubmitBtn{background:#1d4ed8;color:#eff6ff}
#editorCancelBtn{background:#334155;color:#e2e8f0}
.editorFieldGroup{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.editorFieldGroup[hidden]{display:none!important}
.editorField.wide{grid-column:1 / -1}
.editorSubmissionList{display:flex;flex-direction:column;gap:10px}
.editorSubmissionCard{background:rgba(15,23,42,0.72);border:1px solid rgba(148,163,184,0.2);border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:6px}
.editorSubmissionCard.selected{border-color:rgba(94,234,212,0.56);box-shadow:0 0 0 1px rgba(94,234,212,0.24)}
.editorSubmissionTop{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.editorSubmissionTop strong{color:#f8fafc;font-size:12px}
.editorSubmissionSubtitle{font-size:11px;color:#cbd5e1;line-height:1.4}
.editorSubmissionChipRow{display:flex;flex-wrap:wrap;gap:6px}
.editorSubmissionChipRow span{display:inline-flex;align-items:center;padding:3px 7px;border-radius:999px;background:rgba(15,23,42,0.9);border:1px solid rgba(148,163,184,0.24);font-size:10px;color:#bfdbfe;text-transform:capitalize}
.editorSubmissionStatus{display:inline-flex;align-items:center;justify-content:center;padding:3px 8px;border-radius:999px;background:rgba(59,130,246,0.18);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:0.06em;color:#bfdbfe}
.editorSubmissionStatus[data-status="approved"]{background:rgba(34,197,94,0.18);color:#bbf7d0}
.editorSubmissionStatus[data-status="rejected"]{background:rgba(239,68,68,0.18);color:#fecaca}
.editorSubmissionMeta{font-size:10px;color:#94a3b8}
.editorSubmissionNote{font-size:11px;line-height:1.45;color:#dbeafe}
.editorSubmissionActions{display:flex;gap:6px;flex-wrap:wrap}
.editorSubmissionActions button{border:none;border-radius:8px;padding:7px 9px;font-size:10px;font-weight:700;cursor:pointer;background:#1e293b;color:#e2e8f0}
.editorSubmissionActions button[data-editor-action="approve"]{background:#166534;color:#dcfce7}
.editorSubmissionActions button[data-editor-action="reject"]{background:#7f1d1d;color:#fee2e2}
.editorSubmissionActions button[data-editor-action="focus"]{background:#1d4ed8;color:#eff6ff}
.editorEmptyState{background:rgba(15,23,42,0.5);border:1px dashed rgba(148,163,184,0.24);border-radius:12px;padding:14px;font-size:11px;color:#cbd5e1;text-align:center}
.editorModerationControls{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.editorModerationControls .editorField.wide{grid-column:1 / -1}
.editorModerationDetail{background:rgba(15,23,42,0.78);border:1px solid rgba(148,163,184,0.24);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:10px}
.editorModerationDetailHead{display:flex;justify-content:space-between;gap:10px;align-items:flex-start}
.editorModerationDetailTitle{font-size:13px;font-weight:700;color:#f8fafc}
.editorModerationDetailGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.editorModerationCell{background:rgba(2,6,23,0.34);border:1px solid rgba(148,163,184,0.16);border-radius:10px;padding:8px}
.editorModerationCellLabel{font-size:10px;text-transform:uppercase;letter-spacing:0.05em;color:#94a3b8;margin-bottom:4px}
.editorModerationCellValue{font-size:11px;line-height:1.4;color:#e2e8f0;word-break:break-word}
.editorPhotoPreview{width:100%;max-width:320px;max-height:220px;object-fit:cover;border-radius:12px;border:1px solid rgba(148,163,184,0.22);background:#0f172a}
.editorDetailLink{font-size:11px;font-weight:700;color:#67e8f9;text-decoration:none}
.editorDetailLink:hover{text-decoration:underline}
#editorTutorialModal{position:fixed;inset:0;background:rgba(2,6,23,0.64);backdrop-filter:blur(6px);z-index:190;display:none;align-items:center;justify-content:center;padding:18px}
#editorTutorialModal.show{display:flex}
.editorTutorialCard{width:min(420px,100%);background:#0f172a;border:1px solid rgba(94,234,212,0.28);border-radius:18px;box-shadow:0 24px 64px rgba(2,6,23,0.48);padding:18px 18px 16px;color:#e2e8f0;display:flex;flex-direction:column;gap:12px}
.editorTutorialTitle{font-family:'Orbitron',sans-serif;font-size:16px;color:#ccfbf1}
.editorTutorialText{font-size:12px;line-height:1.55;color:#cbd5e1}
.editorTutorialList{display:flex;flex-direction:column;gap:8px;font-size:12px;color:#dbeafe}
.editorTutorialList div{padding:9px 10px;border-radius:10px;background:rgba(15,23,42,0.82);border:1px solid rgba(148,163,184,0.18)}
.editorTutorialActions{display:flex;gap:8px}
.editorTutorialActions button{flex:1;border:none;border-radius:10px;padding:11px 12px;font-size:12px;font-weight:700;cursor:pointer}
body.activity-creator-open #hud,
body.activity-creator-open #minimap,
body.activity-creator-open #minimapZoomControls,
body.activity-creator-open #coords,
body.activity-creator-open #controlsTab,
body.activity-creator-open #floatMenuContainer,
body.activity-creator-open #mainMenuBtn,
body.activity-creator-open #memoryFlowerFloatBtn,
body.activity-creator-open #gameShareFloatBtn,
body.activity-creator-open #gameShareMenu,
body.activity-creator-open #flowerActionMenu,
body.activity-creator-open #realEstateBtn,
body.activity-creator-open #historicBtn,
body.activity-creator-open #memoryComposer,
body.activity-creator-open #memoryInfoPanel,
body.activity-creator-open #largeMap,
body.activity-creator-open #legendPanel,
body.activity-creator-open #mapInfoPanel,
body.activity-creator-open #propertyPanel,
body.activity-creator-open #propertyModal,
body.activity-creator-open #historicPanel,
body.activity-creator-open #roomPanelModal,
body.activity-creator-open #navigationHud,
body.activity-creator-open #paintTownHud,
body.activity-creator-open #flowerChallengeHud,
body.activity-creator-open #boatPrompt,
body.activity-creator-open #boatWaveDock,
body.activity-creator-open #activityDiscoveryPanel,
body.activity-creator-open #activityDiscoveryPrompt,
body.activity-creator-open #activityRunHud,
body.activity-creator-open #creatorProfilePanel,
body.activity-creator-open #liveEarthLocalPanel,
body.activity-creator-open #tutorialHintCard,
body.activity-creator-open .auth-float-toggle,
body.activity-creator-open .auth-float-panel,
body.activity-creator-open .pro-access-panel{
  display:none!important;
}
body.activity-browser-open #tutorialHintCard,
body.activity-running #tutorialHintCard{
  display:none!important;
}
#activityCreatorPanel{position:fixed;inset:0;display:none;padding:18px;pointer-events:none;z-index:245;color:#e2e8f0}
#activityCreatorPanel.show{display:block}
.activityCreatorTopBar,.activityCreatorSidePanel,.activityCreatorToolDock,.activityCreatorTestBar,#activityCreatorStatus{pointer-events:auto}
.activityCreatorTopBar{position:absolute;top:18px;left:18px;right:18px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 16px;border-radius:18px;background:rgba(8,15,28,0.9);border:1px solid rgba(94,234,212,0.22);box-shadow:0 18px 48px rgba(2,6,23,0.34);backdrop-filter:blur(14px)}
.activityCreatorTitleWrap{display:flex;flex-direction:column;gap:4px;max-width:640px}
#activityCreatorTitle{font-family:'Orbitron',sans-serif;font-size:16px;color:#ccfbf1}
#activityCreatorSubline{font-size:12px;line-height:1.5;color:#cbd5e1}
.activityCreatorHeaderActions{display:flex;align-items:center;gap:8px}
.activityCreatorHeaderActions button,.activityCreatorToolDock button,.activityCreatorMiniRow button,.activityCreatorRowActions button,#activityCreatorStopTestBtn{border:none;border-radius:10px;padding:9px 12px;background:rgba(15,23,42,0.92);color:#e2e8f0;font-size:11px;font-weight:700;cursor:pointer}
.activityCreatorHeaderActions button:hover,.activityCreatorToolDock button:hover,.activityCreatorMiniRow button:hover,.activityCreatorRowActions button:hover,#activityCreatorStopTestBtn:hover{background:rgba(30,41,59,0.96)}
#activityCreatorStatus{position:absolute;top:100px;left:18px;max-width:min(360px,calc(100vw - 36px));padding:8px 12px;border-radius:14px;background:rgba(8,15,28,0.86);border:1px solid rgba(125,211,252,0.18);box-shadow:0 12px 28px rgba(2,6,23,0.22);backdrop-filter:blur(12px);font-size:11px}
#activityCreatorStatus[data-tone="ok"]{color:#86efac}
#activityCreatorStatus[data-tone="warning"]{color:#fde68a}
#activityCreatorStatus[data-tone="error"]{color:#fca5a5}
.activityCreatorWorkspaceShell{position:absolute;inset:0}
.activityCreatorSidePanel{position:absolute;top:146px;bottom:94px;display:flex;flex-direction:column;gap:12px;padding:14px;background:rgba(8,15,28,0.88);border:1px solid rgba(148,163,184,0.18);border-radius:16px;box-shadow:0 18px 40px rgba(2,6,23,0.28);backdrop-filter:blur(14px);overflow:auto}
.activityCreatorLeftPanel{left:18px;width:min(330px,calc(100vw - 36px))}
.activityCreatorRightPanel{right:18px;width:min(340px,calc(100vw - 36px))}
.activityCreatorViewportPanel{position:absolute;inset:0;background:transparent}
.activityCreatorToolDock{position:absolute;left:18px;bottom:18px;display:flex;flex-wrap:wrap;gap:8px;width:min(452px,calc(100vw - 36px));padding:10px 12px;background:rgba(8,15,28,0.82);border:1px solid rgba(148,163,184,0.18);border-radius:14px;box-shadow:0 14px 34px rgba(2,6,23,0.26);backdrop-filter:blur(12px)}
.activityCreatorToolDock button.active{background:rgba(56,189,248,0.18);border:1px solid rgba(125,211,252,0.5);color:#e0f2fe}
.activityCreatorTestBar{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);display:flex;align-items:center;justify-content:space-between;gap:12px;width:min(560px,calc(100vw - 36px));padding:12px 14px;border-radius:16px;background:rgba(8,15,28,0.92);border:1px solid rgba(34,197,94,0.28);box-shadow:0 18px 40px rgba(2,6,23,0.32);backdrop-filter:blur(14px);pointer-events:auto}
.activityCreatorTestBar[hidden]{display:none!important}
#activityCreatorTestSummary{font-size:12px;line-height:1.5;color:#dcfce7}
#activityCreatorPanel.activityCreatorTesting .activityCreatorSidePanel,
#activityCreatorPanel.activityCreatorTesting .activityCreatorToolDock,
#activityCreatorPanel.activityCreatorTesting .activityCreatorTopBar,
#activityCreatorPanel.activityCreatorTesting #activityCreatorStatus{display:none}
.activityCreatorSectionTitle{font-size:10px;font-weight:800;letter-spacing:0.08em;text-transform:uppercase;color:#7dd3fc}
.activityCreatorFieldStack,.activityCreatorChecklist,.activityCreatorValidation,.activityCreatorAnchorPalette,.activityCreatorAnchorList{display:flex;flex-direction:column;gap:10px}
.activityCreatorFieldGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.activityCreatorField{display:flex;flex-direction:column;gap:6px}
.activityCreatorField span{font-size:10px;font-weight:800;letter-spacing:0.06em;text-transform:uppercase;color:#94a3b8}
.activityCreatorField input,.activityCreatorField select,.activityCreatorField textarea{width:100%;border:1px solid rgba(148,163,184,0.28);border-radius:10px;padding:10px 12px;background:rgba(15,23,42,0.74);color:#f8fafc;font-size:12px;font-family:'Inter',sans-serif}
.activityCreatorField textarea{min-height:84px;resize:vertical}
.activityCreatorField input:focus,.activityCreatorField select:focus,.activityCreatorField textarea:focus{outline:none;border-color:rgba(94,234,212,0.58);box-shadow:0 0 0 2px rgba(45,212,191,0.18)}
.activityCreatorToggle{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:12px;background:rgba(15,23,42,0.72);border:1px solid rgba(148,163,184,0.18);font-size:11px;font-weight:700;color:#e2e8f0}
.activityCreatorSummaryCard,.activityCreatorHelpCard,.activityCreatorMetaCard{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:14px;background:rgba(15,23,42,0.72);border:1px solid rgba(148,163,184,0.18)}
.activityCreatorSummaryTitle,.activityCreatorInspectorTitle{font-family:'Orbitron',sans-serif;font-size:14px;color:#f8fafc}
.activityCreatorSummaryMeta{font-size:10px;color:#7dd3fc;text-transform:uppercase;letter-spacing:0.06em}
.activityCreatorSummaryText,.activityCreatorHelpCard,.activityCreatorInspectorMeta,.activityCreatorMetaCard{font-size:12px;line-height:1.5;color:#dbeafe}
.activityCreatorGuideCard{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:14px;background:linear-gradient(180deg, rgba(8,47,73,0.72), rgba(15,23,42,0.74));border:1px solid rgba(103,232,249,0.22)}
.activityCreatorGuideCard[hidden]{display:none!important}
.activityCreatorGuideHead{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.activityCreatorGuideProgress{font-size:10px;font-weight:800;letter-spacing:0.08em;text-transform:uppercase;color:#a5f3fc}
.activityCreatorGuideTitle{font-family:'Orbitron',sans-serif;font-size:14px;color:#f0fdfa}
.activityCreatorGuideBody{font-size:12px;line-height:1.6;color:#dbeafe}
.activityCreatorGuideHead button{border:none;border-radius:10px;padding:8px 10px;background:rgba(2,6,23,0.34);border:1px solid rgba(148,163,184,0.16);color:#e2e8f0;font-size:10px;font-weight:700;cursor:pointer}
.activityCreatorGuideActions{display:flex;flex-wrap:wrap;gap:8px}
.activityCreatorGuideActions button{border:none;border-radius:10px;padding:9px 12px;background:rgba(2,6,23,0.5);border:1px solid rgba(148,163,184,0.16);color:#e2e8f0;font-size:11px;font-weight:700;cursor:pointer}
.activityCreatorGuideActions button.primary{background:rgba(45,212,191,0.14);border-color:rgba(94,234,212,0.34);color:#ecfeff}
.activityCreatorChecklistItem,.activityCreatorIssue,.activityCreatorAnchorRow{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:12px;background:rgba(2,6,23,0.34);border:1px solid rgba(148,163,184,0.16)}
.activityCreatorChecklistItem.ok{border-color:rgba(34,197,94,0.32);color:#dcfce7}
.activityCreatorChecklistItem.warn{border-color:rgba(250,204,21,0.28);color:#fef3c7}
.activityCreatorIssue{display:flex;flex-direction:column;align-items:flex-start}
.activityCreatorIssue.ok{border-color:rgba(34,197,94,0.3);color:#dcfce7}
.activityCreatorIssue.warning{border-color:rgba(250,204,21,0.28);color:#fef3c7}
.activityCreatorIssue.error{border-color:rgba(248,113,113,0.28);color:#fee2e2}
.activityCreatorIssue span{font-size:11px;line-height:1.45;color:#cbd5e1}
.activityCreatorAnchorBtn{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:11px 12px;border-radius:12px;border:1px solid rgba(148,163,184,0.18);background:rgba(2,6,23,0.34);color:#e2e8f0;cursor:pointer;text-align:left}
.activityCreatorAnchorBtn strong{font-size:12px}
.activityCreatorAnchorBtn small{font-size:10px;line-height:1.35;color:#94a3b8}
.activityCreatorAnchorBtn.active{border-color:rgba(125,211,252,0.58);box-shadow:0 0 0 1px rgba(125,211,252,0.22)}
.activityCreatorAnchorRow{cursor:pointer}
.activityCreatorAnchorRow.selected{border-color:rgba(125,211,252,0.58);box-shadow:0 0 0 1px rgba(125,211,252,0.22)}
.activityCreatorAnchorRow strong{font-size:12px;color:#f8fafc}
.activityCreatorAnchorRow span{display:block;font-size:10px;color:#94a3b8;text-transform:capitalize;line-height:1.4}
.activityCreatorRowActions,.activityCreatorMiniRow{display:flex;gap:6px;flex-wrap:wrap}
.activityCreatorInspectorBody{display:flex;flex-direction:column;gap:12px}
.activityCreatorMetaCard.invalid{border-color:rgba(248,113,113,0.34);color:#fee2e2}
.activityCreatorEmptyState{padding:14px;border-radius:14px;border:1px dashed rgba(148,163,184,0.24);background:rgba(15,23,42,0.42);font-size:12px;line-height:1.55;color:#cbd5e1;text-align:center}
body.activity-browser-open #floatMenuContainer,
body.activity-browser-open #mainMenuBtn,
body.activity-browser-open #memoryFlowerFloatBtn,
body.activity-browser-open #gameShareFloatBtn,
body.activity-browser-open #gameShareMenu,
body.activity-browser-open #flowerActionMenu,
body.activity-browser-open #propertyPanel,
body.activity-browser-open #historicPanel,
body.activity-browser-open #memoryComposer,
body.activity-browser-open #memoryInfoPanel,
body.activity-browser-open #roomPanelModal{
  display:none!important;
}
body.creator-profile-open #tutorialHintCard{
  display:none!important;
}
#activityDiscoveryPanel{position:fixed;inset:0;display:none;padding:18px;pointer-events:none;z-index:243;color:#e2e8f0}
#activityDiscoveryPanel.show{display:block}
.activityDiscoveryTopBar,.activityDiscoveryPanelCol,.activityDiscoveryPrompt,.activityRunHud{pointer-events:auto}
.activityDiscoveryTopBar{position:absolute;top:18px;left:18px;right:18px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:14px 16px;border-radius:18px;background:rgba(8,15,28,0.9);border:1px solid rgba(125,211,252,0.22);box-shadow:0 18px 48px rgba(2,6,23,0.34);backdrop-filter:blur(14px)}
.activityDiscoveryTitleWrap{display:flex;flex-direction:column;gap:4px;max-width:620px}
#activityDiscoveryTitle{font-family:'Orbitron',sans-serif;font-size:16px;color:#e0f2fe}
#activityDiscoverySubline{font-size:12px;line-height:1.5;color:#cbd5e1}
.activityDiscoveryHeaderActions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.activityDiscoveryHeaderActions button,.activityDiscoveryDetailActions button,.activityDiscoveryPromptActions button,.activityRunHud button{border:none;border-radius:10px;padding:9px 12px;background:rgba(15,23,42,0.92);color:#e2e8f0;font-size:11px;font-weight:700;cursor:pointer}
.activityDiscoveryHeaderActions button:hover,.activityDiscoveryDetailActions button:hover,.activityDiscoveryPromptActions button:hover,.activityRunHud button:hover{background:rgba(30,41,59,0.96)}
#activityDiscoveryStatus{position:absolute;top:98px;left:18px;max-width:min(380px,calc(100vw - 36px));padding:8px 12px;border-radius:14px;background:rgba(8,15,28,0.86);border:1px solid rgba(125,211,252,0.18);box-shadow:0 12px 28px rgba(2,6,23,0.22);backdrop-filter:blur(12px);font-size:11px;color:#bfdbfe}
.activityDiscoveryPanelCol{position:absolute;top:146px;bottom:18px;display:flex;flex-direction:column;gap:12px;padding:14px;background:rgba(8,15,28,0.88);border:1px solid rgba(148,163,184,0.18);border-radius:16px;box-shadow:0 18px 40px rgba(2,6,23,0.28);backdrop-filter:blur(14px);overflow:auto}
.activityDiscoveryBrowseCol{left:18px;width:min(400px,calc(100vw - 420px))}
.activityDiscoveryDetailCol{right:18px;width:min(360px,calc(100vw - 36px))}
.activityDiscoverySectionTitle{font-size:10px;font-weight:800;letter-spacing:0.08em;text-transform:uppercase;color:#7dd3fc}
.activityDiscoverySearchRow{display:flex;gap:10px}
.activityDiscoverySearchRow input,.activityDiscoverySearchRow select{width:100%;border:1px solid rgba(148,163,184,0.28);border-radius:10px;padding:10px 12px;background:rgba(15,23,42,0.74);color:#f8fafc;font-size:12px;font-family:'Inter',sans-serif}
.activityDiscoveryChipRow{display:flex;gap:8px;flex-wrap:wrap}
.activityDiscoveryChipRow button{border:1px solid rgba(148,163,184,0.22);border-radius:999px;padding:8px 12px;background:rgba(15,23,42,0.58);color:#cbd5e1;font-size:11px;font-weight:700;cursor:pointer}
.activityDiscoveryChipRow button.active{background:rgba(14,165,233,0.16);border-color:rgba(125,211,252,0.45);color:#ecfeff}
.activityDiscoveryFeaturedStrip,.activityDiscoveryCardList,.activityDiscoveryRouteList{display:flex;flex-direction:column;gap:10px}
.activityDiscoveryFeaturedCard,.activityDiscoveryCard{border:none;border-radius:14px;padding:12px;background:rgba(15,23,42,0.76);border:1px solid rgba(148,163,184,0.18);color:#e2e8f0;cursor:pointer;text-align:left}
.activityDiscoveryFeaturedCard:hover,.activityDiscoveryCard:hover{border-color:rgba(125,211,252,0.38);transform:translateY(-1px)}
.activityDiscoveryFeaturedCard strong,.activityDiscoveryCardTitle{display:block;font-family:'Orbitron',sans-serif;font-size:13px;color:#f8fafc}
.activityDiscoveryFeaturedCard em,.activityDiscoveryCardText,.activityDiscoveryDetailText,.activityDiscoveryCompletionText{display:block;font-size:12px;line-height:1.5;color:#cbd5e1;font-style:normal}
.activityDiscoveryCard.selected{border-color:rgba(125,211,252,0.56);box-shadow:0 0 0 1px rgba(125,211,252,0.22)}
.activityDiscoveryCardHead{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}
.activityDiscoveryCardBadge,.activityDiscoveryDetailBadge{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;border:1px solid rgba(125,211,252,0.3);font-size:10px;font-weight:800;letter-spacing:0.06em;text-transform:uppercase}
.activityDiscoveryCardDistance{font-size:11px;color:#94a3b8}
.activityDiscoveryCardMeta,.activityDiscoveryDetailMeta{font-size:11px;color:#7dd3fc;line-height:1.5;text-transform:capitalize}
.activityDiscoveryDetailHead{display:flex;flex-direction:column;gap:8px}
.activityDiscoveryDetailTitle{font-family:'Orbitron',sans-serif;font-size:18px;color:#f8fafc}
.activityDiscoveryStatGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.activityDiscoveryStatGrid div{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border-radius:12px;background:rgba(2,6,23,0.34);border:1px solid rgba(148,163,184,0.16)}
.activityDiscoveryStatGrid span{font-size:10px;font-weight:800;letter-spacing:0.06em;text-transform:uppercase;color:#94a3b8}
.activityDiscoveryStatGrid strong{font-size:12px;color:#f8fafc}
.activityDiscoveryCreatorLink{display:inline-flex;align-items:center;gap:6px;border:1px solid rgba(125,211,252,0.24);background:rgba(2,6,23,0.34);padding:6px 10px;border-radius:999px;color:#bfdbfe;font:700 12px/1.4 Inter,sans-serif;cursor:pointer;text-align:left}
.activityDiscoveryCreatorLink:hover{border-color:rgba(125,211,252,0.46);background:rgba(14,165,233,0.1)}
.activityDiscoveryDetailActions{display:flex;flex-wrap:wrap;gap:8px}
.activityDiscoveryDetailActions .primary,.activityDiscoveryPromptActions .primary,.activityRunHud .primary{background:#0369a1;color:#eff6ff}
.activityDiscoveryDetailSection{display:flex;flex-direction:column;gap:10px}
.activityDiscoveryDetailSectionTitle{font-size:10px;font-weight:800;letter-spacing:0.08em;text-transform:uppercase;color:#7dd3fc}
.activityDiscoveryRouteRow{display:grid;grid-template-columns:28px 1fr auto;gap:10px;align-items:center;padding:10px 12px;border-radius:12px;background:rgba(2,6,23,0.34);border:1px solid rgba(148,163,184,0.16)}
.activityDiscoveryRouteRow span{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:999px;background:rgba(14,165,233,0.16);color:#bae6fd;font-size:11px;font-weight:800}
.activityDiscoveryRouteRow strong{font-size:12px;color:#f8fafc}
.activityDiscoveryRouteRow em{font-size:10px;color:#94a3b8;font-style:normal;text-transform:capitalize}
.activityDiscoveryEmptyState,.activityDiscoveryEmptyDetail{padding:14px;border-radius:14px;border:1px dashed rgba(148,163,184,0.24);background:rgba(15,23,42,0.42);font-size:12px;line-height:1.55;color:#cbd5e1;text-align:center}
.activityDiscoveryPrompt{position:absolute;left:50%;bottom:18px;transform:translateX(-50%);display:none;align-items:center;gap:14px;min-width:min(520px,calc(100vw - 36px));max-width:min(620px,calc(100vw - 36px));padding:12px 14px;border-radius:16px;background:rgba(8,15,28,0.92);border:1px solid rgba(56,189,248,0.28);box-shadow:0 18px 40px rgba(2,6,23,0.32);backdrop-filter:blur(14px)}
.activityDiscoveryPrompt.show{display:flex}
.activityDiscoveryPromptCopy{display:flex;flex-direction:column;gap:4px;min-width:0}
.activityDiscoveryPromptTitle{font-family:'Orbitron',sans-serif;font-size:13px;color:#f8fafc}
.activityDiscoveryPromptMeta{font-size:11px;color:#cbd5e1;line-height:1.5}
.activityDiscoveryPromptActions{display:flex;gap:8px;margin-left:auto}
.activityRunHud{position:absolute;right:18px;bottom:178px;display:none;align-items:center;gap:12px;min-width:min(460px,calc(100vw - 36px));max-width:min(540px,calc(100vw - 36px));padding:12px 14px;border-radius:16px;background:rgba(8,15,28,0.92);border:1px solid rgba(34,197,94,0.28);box-shadow:0 18px 40px rgba(2,6,23,0.32);backdrop-filter:blur(14px)}
.activityRunHud.show{display:flex}
.activityRunHudCopy{display:flex;flex-direction:column;gap:4px;min-width:0}
#activityRunTitle{font-family:'Orbitron',sans-serif;font-size:13px;color:#f8fafc}
#activityRunStatus{font-size:11px;color:#dcfce7;line-height:1.5}
#activityRunProgress{font-size:10px;color:#86efac;text-transform:uppercase;letter-spacing:0.08em}
.creatorProfilePanel{position:fixed;top:18px;right:18px;bottom:18px;width:min(420px,calc(100vw - 36px));display:none;pointer-events:none;z-index:244;color:#e2e8f0}
.creatorProfilePanel.show{display:block}
.creatorProfileShell{height:100%;display:flex;flex-direction:column;gap:12px;padding:16px;background:
  radial-gradient(circle at top left, rgba(14,165,233,0.12), transparent 34%),
  radial-gradient(circle at top right, rgba(59,130,246,0.1), transparent 36%),
  rgba(8,15,28,0.94);border:1px solid rgba(148,163,184,0.18);border-radius:18px;box-shadow:0 24px 52px rgba(2,6,23,0.4);backdrop-filter:blur(16px);pointer-events:auto;overflow:hidden}
.creatorProfileTopBar{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.creatorProfileTitleWrap{display:flex;flex-direction:column;gap:4px}
#creatorProfileTitle{font-family:'Orbitron',sans-serif;font-size:16px;color:#e0f2fe}
#creatorProfileSubline{font-size:12px;line-height:1.5;color:#cbd5e1}
.creatorProfileTopBar button,.creatorProfileSectionHead button,.creatorProfileListActions button{border:none;border-radius:10px;padding:9px 12px;background:rgba(15,23,42,0.92);color:#e2e8f0;font-size:11px;font-weight:700;cursor:pointer}
#creatorProfileStatus{min-height:18px;font-size:11px;color:#bfdbfe}
#creatorProfileBody{overflow:auto;display:flex;flex-direction:column;gap:14px;padding-right:2px}
.creatorProfileHero{display:grid;grid-template-columns:auto 1fr;gap:14px;padding:16px;border-radius:18px;background:linear-gradient(180deg, rgba(15,23,42,0.86), rgba(15,23,42,0.68));border:1px solid rgba(148,163,184,0.16)}
.creatorProfileAvatar{width:68px;height:68px;border-radius:20px;display:grid;place-items:center;background:linear-gradient(180deg, rgba(30,41,59,0.92), rgba(15,23,42,0.88));border:1px solid rgba(96,165,250,0.26);font-size:32px;box-shadow:inset 0 1px 0 rgba(255,255,255,0.04)}
.creatorProfileHeroCopy{display:flex;flex-direction:column;gap:8px}
.creatorProfileHeroLead{font-size:10px;font-weight:800;letter-spacing:0.1em;text-transform:uppercase;color:#7dd3fc}
.creatorProfileNameRow{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.creatorProfileNameRow h2{margin:0;font-family:'Orbitron',sans-serif;font-size:20px;color:#f8fafc}
.creatorProfileSelfTag{padding:4px 9px;border-radius:999px;background:rgba(59,130,246,0.18);border:1px solid rgba(96,165,250,0.32);color:#bfdbfe;font-size:10px;font-weight:800;letter-spacing:0.08em;text-transform:uppercase}
.creatorProfileMeta{font-size:11px;color:#94a3b8;line-height:1.5}
.creatorProfileBio{font-size:12px;color:#dbeafe;line-height:1.55}
.creatorProfileHeroSummary{font-size:12px;line-height:1.6;color:#dbeafe}
.creatorProfileBadgeRow{display:flex;flex-wrap:wrap;gap:8px}
.creatorProfileBadge{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;background:rgba(14,165,233,0.1);border:1px solid rgba(125,211,252,0.24);font-size:10px;font-weight:800;letter-spacing:0.07em;text-transform:uppercase;color:#d8f3ff}
.creatorProfileHeroActions{display:flex;flex-wrap:wrap;gap:8px}
.creatorProfileHeroActions button{border:none;border-radius:10px;padding:9px 12px;background:rgba(2,6,23,0.5);border:1px solid rgba(148,163,184,0.16);color:#e2e8f0;font-size:11px;font-weight:700;cursor:pointer}
.creatorProfileStats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.creatorProfileStat{padding:10px 12px;border-radius:12px;background:rgba(2,6,23,0.34);border:1px solid rgba(148,163,184,0.16);display:flex;flex-direction:column;gap:6px}
.creatorProfileStat span{font-size:10px;font-weight:800;letter-spacing:0.06em;text-transform:uppercase;color:#94a3b8}
.creatorProfileStat strong{font-family:'Orbitron',sans-serif;font-size:15px;color:#f8fafc}
.creatorProfileSection{display:flex;flex-direction:column;gap:10px}
.creatorProfileSectionHead{display:flex;justify-content:space-between;align-items:center;gap:10px}
.creatorProfileSectionHead h3{margin:0;font-size:10px;font-weight:800;letter-spacing:0.08em;text-transform:uppercase;color:#7dd3fc}
.creatorProfileSectionTitleRow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.creatorProfileSectionCount{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 8px;border-radius:999px;background:rgba(30,41,59,0.9);border:1px solid rgba(148,163,184,0.16);font-size:10px;font-weight:800;color:#e2e8f0}
.creatorProfileList{display:flex;flex-direction:column;gap:10px}
.creatorProfileListItem,.creatorProfileSpaceCard{padding:12px;border-radius:14px;background:rgba(15,23,42,0.72);border:1px solid rgba(148,163,184,0.14);display:flex;flex-direction:column;gap:7px}
.creatorProfileListHead{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.creatorProfileListHead strong{font-size:13px;color:#f8fafc}
.creatorProfileListHead span{font-size:10px;color:#93c5fd;font-weight:800;letter-spacing:0.08em;text-transform:uppercase}
.creatorProfileListMeta{font-size:11px;color:#94a3b8;line-height:1.5}
.creatorProfileMetaRow{display:flex;flex-wrap:wrap;gap:8px}
.creatorProfileMetaBadge{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:rgba(2,6,23,0.34);border:1px solid rgba(148,163,184,0.16);font-size:10px;font-weight:700;color:#cbd5e1;text-transform:capitalize}
.creatorProfileListText,.creatorProfileSpaceCard{font-size:12px;color:#dbeafe;line-height:1.55}
.creatorProfileListActions{display:flex;justify-content:flex-start}
.creatorProfileEmpty{padding:14px;border-radius:14px;border:1px dashed rgba(148,163,184,0.24);background:rgba(15,23,42,0.42);font-size:12px;line-height:1.6;color:#cbd5e1;text-align:center}
@media (max-width:1100px){
  .activityDiscoveryBrowseCol{width:min(360px,calc(100vw - 36px))}
}
@media (max-width:860px){
  #activityDiscoveryPanel{padding:12px}
  .activityDiscoveryTopBar{top:12px;left:12px;right:12px;flex-direction:column;align-items:flex-start}
  #activityDiscoveryStatus{top:128px;left:12px;right:12px;max-width:none}
  .activityDiscoveryPanelCol{position:relative;top:auto;left:auto;right:auto;bottom:auto;width:auto}
  .activityDiscoveryBrowseCol{margin-top:148px;min-height:40vh}
  .activityDiscoveryDetailCol{margin-top:12px;margin-bottom:92px}
  .activityDiscoveryPrompt{left:12px;right:12px;bottom:12px;transform:none;min-width:0;max-width:none;flex-direction:column;align-items:flex-start}
  .activityDiscoveryPromptActions{margin-left:0}
  .activityRunHud{left:12px;right:12px;bottom:128px;min-width:0;max-width:none}
  .creatorProfilePanel{top:12px;left:12px;right:12px;bottom:12px;width:auto}
  .creatorProfileStats{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:1100px){
  .activityCreatorLeftPanel,.activityCreatorRightPanel{width:min(300px,calc(100vw - 36px))}
  .activityCreatorTopBar{flex-direction:column;align-items:flex-start}
}
@media (max-width:860px){
  #activityCreatorPanel{padding:12px}
  .activityCreatorTopBar{top:12px;left:12px;right:12px}
  #activityCreatorStatus{top:120px;left:12px}
  .activityCreatorSidePanel{left:12px;right:12px;top:auto;bottom:auto;width:auto;position:relative}
  .activityCreatorWorkspaceShell{position:absolute;inset:148px 0 88px 0;padding:0 12px;display:flex;flex-direction:column;gap:12px;overflow:auto}
  .activityCreatorLeftPanel,.activityCreatorRightPanel{position:relative;bottom:auto}
  .activityCreatorToolDock{left:12px;right:12px;bottom:12px;width:auto}
  .activityCreatorTestBar{left:12px;right:12px;bottom:12px;transform:none;width:auto}
}
body.editor-workspace-open #hud,
body.editor-workspace-open #minimap,
body.editor-workspace-open #minimapZoomControls,
body.editor-workspace-open #coords,
body.editor-workspace-open #controlsTab,
body.editor-workspace-open #floatMenuContainer,
body.editor-workspace-open #mainMenuBtn,
body.editor-workspace-open #memoryFlowerFloatBtn,
body.editor-workspace-open #gameShareFloatBtn,
body.editor-workspace-open #gameShareMenu,
body.editor-workspace-open #flowerActionMenu,
body.editor-workspace-open #realEstateBtn,
body.editor-workspace-open #historicBtn,
body.editor-workspace-open #memoryComposer,
body.editor-workspace-open #memoryInfoPanel,
body.editor-workspace-open #largeMap,
body.editor-workspace-open #legendPanel,
body.editor-workspace-open #mapInfoPanel,
body.editor-workspace-open #propertyPanel,
body.editor-workspace-open #propertyModal,
body.editor-workspace-open #historicPanel,
body.editor-workspace-open #roomPanelModal,
body.editor-workspace-open #navigationHud,
body.editor-workspace-open #paintTownHud,
body.editor-workspace-open #flowerChallengeHud,
body.editor-workspace-open #boatPrompt,
body.editor-workspace-open #boatWaveDock,
body.editor-workspace-open #activityDiscoveryPanel,
body.editor-workspace-open #activityDiscoveryPrompt,
body.editor-workspace-open #activityRunHud,
body.editor-workspace-open #creatorProfilePanel,
body.editor-workspace-open #liveEarthLocalPanel,
body.editor-workspace-open .auth-float-toggle,
body.editor-workspace-open .auth-float-panel,
body.editor-workspace-open .pro-access-panel{
  display:none!important;
}
body.editor-workspace-open .floatMenu.open .floatItems{display:none!important}
.editorToolbar{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px 12px}
.editorPanelHeader,.editorTabRow,.editorToolbar{flex-shrink:0}
#editorPanel{position:fixed;inset:0;width:auto;max-height:none;padding:18px;background:transparent;color:#e2e8f0;border:none;border-radius:0;box-shadow:none;backdrop-filter:none;display:none;flex-direction:column;overflow:visible;z-index:240;pointer-events:none}
.editorPanelHeader,.editorToolbar,.editorTabRow,#editorStatus,.editorSidePanel,.editorPreviewDrawer,.editorHelpDrawer,#editorMinePane.active,#editorModerationPane.active{pointer-events:auto}
.editorPanelHeader{position:absolute;top:18px;left:18px;width:min(440px,calc(100vw - 420px));padding:12px 14px;background:rgba(8,15,28,0.9);border:1px solid rgba(94,234,212,0.22);border-radius:18px;box-shadow:0 18px 48px rgba(2,6,23,0.34);backdrop-filter:blur(14px);z-index:6}
.editorPanelTitleWrap{max-width:100%}
#editorPanelSubline{max-width:380px}
#editorStatus{position:absolute;top:102px;left:18px;max-width:min(320px,calc(100vw - 36px));padding:8px 12px;border-radius:14px;background:rgba(8,15,28,0.86);border:1px solid rgba(125,211,252,0.18);box-shadow:0 12px 28px rgba(2,6,23,0.22);backdrop-filter:blur(12px);z-index:6}
.editorToolbar,.editorTabRow{padding:10px 12px;background:rgba(8,15,28,0.82);border:1px solid rgba(148,163,184,0.18);border-radius:14px;box-shadow:0 14px 34px rgba(2,6,23,0.26);backdrop-filter:blur(12px)}
.editorTabRow{position:absolute;top:18px;right:18px;display:flex;gap:10px;max-width:calc(100vw - 520px);z-index:6}
.editorTabBtn{flex:0 0 auto;min-width:108px}
.editorToolbar{position:absolute;left:18px;bottom:18px;transform:none;width:min(336px,calc(100vw - 36px));justify-content:flex-start;z-index:6}
.editorPanelBody{position:absolute;inset:0;padding:0;overflow:visible;display:flex;flex-direction:column;gap:12px;flex:1;min-height:0;pointer-events:none}
.editorPane{display:none;flex-direction:column;gap:12px;min-height:0;flex:1;pointer-events:none}
.editorPane.active{display:flex}
#editorWorkspacePane.active{display:block}
.editorToolbar button{border:1px solid rgba(148,163,184,0.26);background:rgba(15,23,42,0.72);color:#cbd5e1;border-radius:10px;padding:8px 10px;font-size:11px;font-weight:700;cursor:pointer}
.editorToolbar button.active{background:rgba(56,189,248,0.18);border-color:rgba(125,211,252,0.5);color:#e0f2fe}
.editorToolbarSpacer{display:none}
.editorWorkspaceShell{position:absolute;inset:0;min-height:0;flex:1;align-items:stretch}
.editorSidePanel,.editorViewportPanel{min-height:0}
.editorSidePanel{position:absolute;top:146px;bottom:94px;overflow:auto;display:flex;flex-direction:column;gap:12px;padding:14px;background:rgba(8,15,28,0.88);border:1px solid rgba(148,163,184,0.18);border-radius:16px;box-shadow:0 18px 40px rgba(2,6,23,0.28);backdrop-filter:blur(14px);z-index:5}
.editorWorkspaceShell>.editorSidePanel:first-child{left:18px;width:min(320px,calc(100vw - 36px))}
.editorInspectorPanel{position:absolute;top:94px;right:18px;bottom:18px;width:min(340px,calc(100vw - 36px));z-index:5}
.editorViewportPanel{position:absolute;inset:0;overflow:visible;background:transparent;border:none;padding:0;pointer-events:none}
.editorViewportHint,.editorViewportMeta{display:none!important}
.editorViewportMetaChip{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:rgba(8,30,37,0.86);border:1px solid rgba(45,212,191,0.26);font-size:10px;font-weight:800;letter-spacing:0.08em;text-transform:uppercase;color:#ccfbf1;backdrop-filter:blur(12px)}
.editorViewportMetaTitle{padding:12px 14px;border-radius:14px;background:rgba(8,15,28,0.82);border:1px solid rgba(125,211,252,0.2);box-shadow:0 18px 40px rgba(2,6,23,0.24);font-family:'Orbitron',sans-serif;font-size:14px;color:#f8fafc;backdrop-filter:blur(14px)}
.editorViewportMetaText{padding:10px 12px;border-radius:12px;background:rgba(8,15,28,0.74);border:1px solid rgba(148,163,184,0.16);box-shadow:0 14px 30px rgba(2,6,23,0.2);font-size:12px;line-height:1.5;color:#dbeafe;backdrop-filter:blur(14px)}
.editorPanelSwitch{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.editorPanelSwitch button{border:1px solid rgba(148,163,184,0.22);border-radius:10px;padding:9px 10px;background:rgba(15,23,42,0.58);color:#cbd5e1;font-size:11px;font-weight:700;cursor:pointer}
.editorPanelSwitch button.active{background:rgba(20,184,166,0.18);border-color:rgba(94,234,212,0.42);color:#ecfeff}
.editorPanelSwitch button:disabled{opacity:0.42;cursor:default}
.editorSidebarView{display:flex;flex-direction:column;gap:12px}
.editorSidebarView[hidden]{display:none!important}
.editorSectionBlock{display:flex;flex-direction:column;gap:10px}
.editorOnboardingCard{display:flex;flex-direction:column;gap:12px;padding:14px;border-radius:14px;background:linear-gradient(180deg,rgba(8,30,37,0.92),rgba(15,23,42,0.88));border:1px solid rgba(45,212,191,0.22);box-shadow:0 14px 32px rgba(2,6,23,0.24)}
.editorOnboardingEyebrow{font-size:10px;font-weight:800;letter-spacing:0.08em;text-transform:uppercase;color:#7dd3fc}
.editorOnboardingTitle{font-family:'Orbitron',sans-serif;font-size:15px;color:#f8fafc}
.editorOnboardingCopy{font-size:12px;line-height:1.55;color:#dbeafe}
.editorOnboardingSteps{display:flex;flex-direction:column;gap:8px}
.editorOnboardingStep{padding:10px 12px;border-radius:12px;background:rgba(2,6,23,0.3);border:1px solid rgba(148,163,184,0.16);font-size:11px;line-height:1.5;color:#cbd5e1}
.editorOnboardingStep strong{display:block;margin-bottom:4px;color:#f8fafc;font-size:11px}
.editorOnboardingActions{display:flex;flex-wrap:wrap;gap:8px}
.editorOnboardingActions button{border:none;border-radius:10px;padding:10px 12px;font-size:11px;font-weight:700;cursor:pointer;background:#164e63;color:#ecfeff}
.editorOnboardingActions button.secondary{background:#1e293b;color:#e2e8f0}
.editorInspectorPanel[hidden]{display:none!important}
.editorPresetGrid .editorEmptyState,.editorListStack .editorEmptyState{margin:0}
.editorNoSelection .editorToolbar{width:min(300px,calc(100vw - 36px))}
.editorSectionTitle{font-size:10px;font-weight:800;letter-spacing:0.08em;text-transform:uppercase;color:#7dd3fc}
.editorPresetGrid,.editorListStack{display:flex;flex-direction:column;gap:8px}
.editorPresetCategoryBlock{display:flex;flex-direction:column;gap:8px}
.editorPresetCategoryLabel{font-size:10px;font-weight:800;letter-spacing:0.08em;text-transform:uppercase;color:#94a3b8}
.editorPresetCard,.editorListRow{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;border:1px solid rgba(148,163,184,0.18);border-radius:12px;padding:10px 12px;background:rgba(2,6,23,0.34);color:#e2e8f0;cursor:pointer;text-align:left}
.editorPresetCard strong,.editorListRow span:first-child{font-size:12px}
.editorPresetCard span,.editorListRow span:last-child{font-size:10px;color:#94a3b8;text-transform:capitalize}
.editorPresetCard.active,.editorListRow.selected{border-color:rgba(125,211,252,0.58);box-shadow:0 0 0 1px rgba(125,211,252,0.22)}
.editorPresetSummaryCard{display:flex;flex-direction:column;gap:10px}
.editorPresetSummaryTitle{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.editorPresetSummaryTitle strong{font-size:13px;color:#f8fafc}
.editorPresetSummaryMeta{font-size:10px;color:#7dd3fc;text-transform:uppercase;letter-spacing:0.06em}
.editorPresetSummaryText{font-size:12px;line-height:1.5;color:#dbeafe}
.editorPresetSummaryList{display:flex;flex-direction:column;gap:6px}
.editorPresetSummaryList div{font-size:11px;line-height:1.4;color:#cbd5e1}
.editorPresetSummaryRelated{display:flex;flex-wrap:wrap;gap:6px}
.editorPresetSummaryRelated button{border:none;border-radius:999px;padding:5px 8px;background:rgba(8,30,37,0.88);color:#ccfbf1;font-size:10px;font-weight:700;cursor:pointer}
.editorInspectorTop{display:flex;flex-direction:column;gap:4px}
#editorSelectedFeatureTitle{font-family:'Orbitron',sans-serif;font-size:14px;color:#f8fafc}
#editorSelectedFeatureMeta{font-size:11px;color:#cbd5e1;line-height:1.45}
.editorMetaRow{display:flex;justify-content:space-between;gap:10px;align-items:center;font-size:11px;color:#cbd5e1}
.editorGuidedFieldPanel{display:flex;flex-direction:column;gap:12px}
.editorFieldGroupCard{display:flex;flex-direction:column;gap:10px;padding:12px;border-radius:12px;background:rgba(2,6,23,0.24);border:1px solid rgba(148,163,184,0.16)}
.editorFieldGroupTitle{font-size:11px;font-weight:800;letter-spacing:0.06em;text-transform:uppercase;color:#bfdbfe}
.editorSelectOptionHint{margin-top:6px;font-size:10px;line-height:1.4;color:#94a3b8}
.editorAdvancedToggle{display:flex;align-items:flex-start;gap:10px;padding:12px;border-radius:12px;background:rgba(8,30,37,0.84);border:1px solid rgba(45,212,191,0.22);font-size:12px;line-height:1.45;color:#e2e8f0}
.editorAdvancedToggle input{margin-top:2px}
.editorAdvancedPanel{display:flex;flex-direction:column;gap:12px;padding:12px;border-radius:12px;background:rgba(2,6,23,0.38);border:1px solid rgba(148,163,184,0.18)}
.editorAdvancedPanel[hidden]{display:none!important}
.editorAdvancedWarning{font-size:11px;line-height:1.5;color:#fcd34d;background:rgba(120,53,15,0.24);border:1px solid rgba(251,191,36,0.2);border-radius:10px;padding:10px 12px}
.editorAdvancedMapping{display:flex;flex-direction:column;gap:8px}
.editorAdvancedMappingRow{display:flex;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:10px;background:rgba(15,23,42,0.72);border:1px solid rgba(148,163,184,0.16)}
.editorAdvancedMappingRow strong{font-size:11px;color:#f8fafc}
.editorAdvancedMappingRow span{font-size:10px;color:#94a3b8}
.editorGridTwo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.editorToggleRow{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.editorToggleRow label{display:flex;align-items:center;gap:8px;font-size:12px;color:#e2e8f0}
.editorTagList{display:flex;flex-direction:column;gap:8px}
.editorKeyValueRow{display:grid;grid-template-columns:120px 1fr;gap:8px;align-items:center}
.editorKeyValueRow span{font-size:11px;color:#cbd5e1;word-break:break-word}
.editorKeyValueRow input,.editorKeyValueComposer input,.editorField input,.editorField select,.editorField textarea{width:100%;border:1px solid rgba(148,163,184,0.28);border-radius:10px;padding:10px 12px;background:rgba(15,23,42,0.74);color:#f8fafc;font-size:12px;font-family:'Inter',sans-serif}
.editorKeyValueComposer{display:grid;grid-template-columns:minmax(110px,0.9fr) minmax(0,1fr) auto;gap:8px}
.editorKeyValueComposer button,.editorActionRow.compact button{border:none;border-radius:10px;padding:10px 12px;font-size:11px;font-weight:700;cursor:pointer;background:#164e63;color:#ecfeff}
.editorIssue{border-radius:10px;padding:9px 10px;font-size:11px;line-height:1.4;background:rgba(30,41,59,0.72);color:#dbeafe}
.editorIssue.warning{background:rgba(120,53,15,0.32);color:#fdba74}
.editorIssue.error{background:rgba(127,29,29,0.34);color:#fecaca}
.editorIssue.ok{background:rgba(6,78,59,0.28);color:#bbf7d0}
.editorIssueHead{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.editorIssueTitle{font-size:11px;font-weight:700;color:inherit}
.editorIssueHint{margin-top:6px;font-size:10px;line-height:1.4;color:inherit;opacity:0.92}
.editorIssueHelpBtn{border:none;border-radius:999px;padding:4px 8px;background:rgba(2,6,23,0.42);color:inherit;font-size:10px;font-weight:700;cursor:pointer}
.editorPreviewDrawer{display:none;position:absolute;right:18px;bottom:18px;left:auto;transform:none;width:min(360px,calc(100vw - 36px));margin-top:0;border:1px solid rgba(125,211,252,0.22);border-radius:16px;padding:14px;background:rgba(8,30,37,0.92);box-shadow:0 20px 44px rgba(2,6,23,0.28);backdrop-filter:blur(14px);z-index:6}
.editorPreviewDrawer.show{display:block}
.editorHasSelection .editorPreviewDrawer{right:370px}
.editorPreviewHead{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:10px}
#editorPreviewSummary{font-size:12px;color:#e0f2fe;line-height:1.5}
#editorPreviewHighlights,#editorPreviewChecklist{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.editorPreviewChip{padding:8px 10px;border-radius:10px;background:rgba(15,23,42,0.72);border:1px solid rgba(148,163,184,0.16);font-size:11px;line-height:1.4;color:#e2e8f0}
#editorPreviewValidation{display:flex;flex-direction:column;gap:8px;margin-top:10px}
#editorMinePane .editorPaneIntro,#editorModerationPane .editorPaneIntro{font-size:12px;line-height:1.5;color:#cbd5e1;background:rgba(15,23,42,0.72);border:1px solid rgba(148,163,184,0.18);border-radius:12px;padding:12px}
.editorModerationShell{display:grid;grid-template-columns:minmax(240px,320px) 1fr;gap:12px;min-height:0}
#editorModerationDetail{background:rgba(15,23,42,0.78);border:1px solid rgba(148,163,184,0.24);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:10px;min-height:180px}
.editorModerationDetailTitle{font-size:14px;font-weight:700;color:#f8fafc}
.editorHelpDrawer{position:absolute;top:84px;right:18px;bottom:18px;width:min(420px,calc(100vw - 36px));display:flex;flex-direction:column;gap:12px;padding:18px;background:rgba(6,10,19,0.98);border:1px solid rgba(148,163,184,0.22);border-radius:18px;box-shadow:-18px 0 42px rgba(2,6,23,0.42);transform:translateX(105%);transition:transform 0.22s ease;z-index:5}
.editorHelpDrawer.show{transform:translateX(0)}
.editorHelpHead{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}
.editorHelpHead button{border:none;border-radius:999px;padding:6px 10px;background:rgba(15,23,42,0.92);color:#e2e8f0;font-size:12px;font-weight:700;cursor:pointer}
.editorHelpTitle{font-family:'Orbitron',sans-serif;font-size:14px;color:#f8fafc}
.editorHelpSummary{font-size:12px;line-height:1.5;color:#cbd5e1}
.editorHelpTopicList{display:flex;flex-wrap:wrap;gap:8px}
.editorHelpTopicList button{border:1px solid rgba(148,163,184,0.2);border-radius:999px;padding:6px 10px;background:rgba(15,23,42,0.7);color:#cbd5e1;font-size:10px;font-weight:700;cursor:pointer}
.editorHelpTopicList button.active{background:rgba(20,184,166,0.18);border-color:rgba(94,234,212,0.42);color:#ecfeff}
.editorHelpContent{overflow:auto;display:flex;flex-direction:column;gap:12px;padding-right:4px}
.editorHelpSection{display:flex;flex-direction:column;gap:8px;padding:12px;border-radius:12px;background:rgba(15,23,42,0.72);border:1px solid rgba(148,163,184,0.16)}
.editorHelpSection strong{font-size:11px;letter-spacing:0.06em;text-transform:uppercase;color:#7dd3fc}
.editorHelpSection div{font-size:12px;line-height:1.55;color:#e2e8f0}
.editorWorldPeek .editorWorkspaceShell{grid-template-columns:1fr}
.editorWorldPeek .editorSidePanel,
.editorWorldPeek #editorPreviewDrawer,
.editorWorldPeek .editorHelpDrawer{display:none!important}
.editorWorldPeek .editorToolbar,
.editorWorldPeek #editorStatus,
.editorWorldPeek .editorPreviewDrawer,
.editorWorldPeek .editorHelpDrawer{display:none!important}
#editorMinePane.active,#editorModerationPane.active{position:absolute;top:84px;left:18px;right:18px;bottom:18px;padding:18px;overflow:auto;background:rgba(8,15,28,0.88);border:1px solid rgba(148,163,184,0.18);border-radius:18px;box-shadow:0 18px 40px rgba(2,6,23,0.28);backdrop-filter:blur(14px)}

@media (max-width: 1180px){
  #editorPanel{padding:10px}
  .editorPanelHeader,#editorStatus,.editorTabRow,.editorToolbar{position:static;width:auto;max-width:none;transform:none;margin:0 0 10px}
  .editorPanelBody{position:relative;padding:0;overflow:auto}
  .editorPane.active{position:relative;display:flex}
  #editorWorkspacePane.active{display:flex}
  .editorWorkspaceShell{position:relative;display:grid;grid-template-columns:1fr;gap:12px}
  .editorWorkspaceShell>.editorSidePanel:first-child,
  .editorInspectorPanel,
  .editorViewportPanel,
  #editorPreviewDrawer{position:relative;inset:auto;left:auto;right:auto;top:auto;bottom:auto;width:auto;transform:none}
  .editorSidePanel{position:relative;top:auto;bottom:auto}
  .editorViewportPanel{min-height:220px}
  .editorViewportHint{position:relative;top:auto;left:auto;transform:none;max-width:none}
  .editorViewportMeta{position:relative;left:auto;bottom:auto;transform:none;width:auto;margin-top:12px}
  .editorModerationShell{grid-template-columns:1fr}
  .editorHelpDrawer{top:auto;right:0;left:0;bottom:0;width:100%;border-left:none;border-radius:18px 18px 0 0}
  #editorMinePane.active,#editorModerationPane.active{position:relative;top:auto;left:auto;right:auto;bottom:auto}
}

@media (max-width: 720px){
  .editorGridTwo,.editorToggleRow,.editorKeyValueComposer,.editorKeyValueRow{grid-template-columns:1fr}
  .editorToolbar{padding:10px 12px}
  .editorToolbarSpacer{display:none}
  .editorFieldLead{flex-direction:column}
  .editorHeaderActions{align-self:flex-start}
}
#editorTutorialStartBtn{background:#14b8a6;color:#042f2e}
#editorTutorialCancelBtn{background:#334155;color:#e2e8f0}

.auth-float-toggle{position:fixed;top:14px;left:12px;z-index:242;background:#fbbf24;color:#422006;border:none;border-radius:999px;padding:9px 13px;font-size:12px;font-weight:800;cursor:pointer;box-shadow:0 10px 24px rgba(2,6,23,0.34);border:1px solid rgba(251,191,36,0.75)}
.auth-float-toggle:hover{filter:brightness(1.04)}
.auth-float-panel{position:fixed;top:56px;left:12px;z-index:241;width:min(350px,calc(100vw - 24px));background:rgba(10,20,35,0.92);border:1px solid rgba(147,197,253,0.48);border-radius:14px;padding:12px;box-shadow:0 16px 36px rgba(2,6,23,0.38);backdrop-filter:blur(10px);display:flex;flex-direction:column;gap:8px}
.auth-float-panel[hidden]{display:none!important}
.auth-form-block[hidden],.auth-signedin-block[hidden]{display:none!important}
.auth-tabs{display:flex;gap:8px}
.auth-tab-btn{flex:1;border:none;border-radius:999px;padding:8px 10px;font-size:12px;font-weight:700;cursor:pointer;background:#1e293b;color:#cbd5e1}
.auth-tab-btn.active{background:#3b82f6;color:#eaf4ff}
.auth-row{display:flex;flex-direction:column;gap:4px}
.auth-row[hidden]{display:none!important}
.auth-row label{font-size:11px;color:#bfdbfe;font-weight:600}
.auth-row input{width:100%;border:1px solid rgba(148,163,184,0.45);background:#0f172a;color:#f8fafc;border-radius:9px;padding:9px 10px;font-size:13px}
.auth-row input:focus{outline:none;border-color:#60a5fa;box-shadow:0 0 0 2px rgba(96,165,250,0.26)}
.auth-actions{display:flex;gap:8px}
.auth-main-btn{flex:1;border:none;border-radius:999px;padding:9px 12px;font-size:12px;font-weight:800;cursor:pointer}
#authEmailSubmitBtn{background:#fbbf24;color:#422006}
#authGoogleBtn{background:#60a5fa;color:#05243e}
.auth-link-btn{border:none;border-radius:999px;padding:7px 10px;font-size:11px;font-weight:700;cursor:pointer;background:#1e293b;color:#cbd5e1;align-self:flex-start}
.auth-user-summary{font-size:12px;color:#bfdbfe;font-weight:600}
#authAccountBtn{background:#60a5fa;color:#05243e}
#authSignOutBtn{background:#f87171;color:#3f0f0f}
#authPanelStatus{min-height:16px;font-size:11px;color:#93c5fd}
.auth-hint{margin:0;font-size:10px;color:#94a3b8;line-height:1.35}

.pro-access-panel{position:fixed;top:66px;left:50%;transform:translateX(-50%);z-index:235;width:min(430px,calc(100vw - 26px));background:rgba(9,18,32,0.88);border:1px solid rgba(245,158,11,0.42);border-radius:14px;box-shadow:0 16px 36px rgba(2,6,23,0.36);backdrop-filter:blur(10px);padding:12px;display:flex;flex-direction:column;gap:10px}
.pro-access-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.pro-access-title{font-family:'Orbitron',sans-serif;font-size:12px;letter-spacing:0.08em;color:#fde68a}
.pro-access-state{font-size:11px;color:#e2e8f0}
.pro-access-note{font-size:12px;color:#cbd5e1;line-height:1.4}
.pro-access-btn{border:none;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:700;cursor:pointer}
#upgradeFromAppBtn{background:#f59e0b;color:#381d00}
.pro-access-links{display:flex;flex-wrap:wrap;gap:8px}
.pro-access-links a{font-size:12px;font-weight:600;color:#bfdbfe;text-decoration:none;border:1px solid rgba(148,163,184,0.38);padding:6px 10px;border-radius:999px;background:rgba(15,23,42,0.58)}
.pro-access-links a:hover{text-decoration:underline}
#proAccessStatus{min-height:16px;font-size:11px;color:#93c5fd}
.pro-access-panel[hidden]{display:none!important}

.floatBtn.multiplayer{
  width:46px;
  height:46px;
  min-width:46px;
  padding:0;
  border-radius:50%;
  background:linear-gradient(135deg,#16a34a,#15803d);
  color:#ffffff;
  box-shadow:0 10px 24px rgba(22,163,74,0.34);
  font-size:20px;
}
#multiplayerMenu{
  position:fixed;
  left:252px;
  bottom:78px;
  z-index:104;
}
#multiplayerBtn .btnText{display:none}
#multiplayerBtn .btnIcon{display:block;font-size:20px;line-height:1}
#multiplayerMenu.open .floatItems{
  left:145px;
  right:auto;
  bottom:182px;
}
.floatItem.disabled{opacity:0.45;pointer-events:none}

.mp-card{background:#f8fafc;border:2px solid #dbe5f5;border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:10px}
.mp-title{font-family:'Poppins',sans-serif;font-size:14px;font-weight:700;color:#14532d}
.mp-plan-state{font-size:12px;color:#334155;line-height:1.45}
.mp-plan-state.warn{color:#b91c1c}
.mp-row{display:flex;gap:8px;flex-wrap:wrap}
.mp-input{flex:1;min-width:160px;border:2px solid #dbe5f5;border-radius:8px;padding:10px 11px;font-size:13px;font-family:'Inter',sans-serif;color:#1e293b}
.mp-input:focus{outline:none;border-color:#60a5fa;box-shadow:0 0 0 3px rgba(96,165,250,0.16)}
.mp-select{border:2px solid #dbe5f5;border-radius:8px;padding:10px 11px;font-size:13px;font-family:'Inter',sans-serif;color:#1e293b;background:#ffffff;min-width:140px}
.mp-select:focus{outline:none;border-color:#60a5fa;box-shadow:0 0 0 3px rgba(96,165,250,0.16)}
.mp-btn{border:none;border-radius:8px;padding:10px 12px;font-family:'Poppins',sans-serif;font-size:12px;font-weight:700;cursor:pointer}
.mp-btn.primary{background:#16a34a;color:#ffffff}
.mp-btn.secondary{background:#0f172a;color:#e2e8f0}
.mp-btn.warn{background:#f59e0b;color:#381d00}
.mp-status{min-height:16px;font-size:11px;color:#64748b}
.mp-subtitle{font-family:'Poppins',sans-serif;font-size:12px;font-weight:700;color:#1d4ed8}
.mp-room-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:180px;overflow:auto}
.mpRoomItem{display:flex;align-items:center;justify-content:space-between;gap:8px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;padding:8px}
.mpRoomItem.active{border-color:#60a5fa;box-shadow:0 0 0 2px rgba(96,165,250,0.18)}
.mpRoomInfo{display:flex;flex-direction:column;gap:2px;min-width:0}
.mpRoomName{font-size:12px;font-weight:700;color:#0f172a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mpRoomMeta{font-size:11px;color:#475569;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mpRoomJoinBtn{flex:0 0 auto;padding:8px 10px}
.mpRoomEmpty{font-size:11px;color:#64748b;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:8px;padding:10px;text-align:center}
.mpLine{font-size:11px;color:#475569;line-height:1.4}
.mpLine strong{color:#0f172a}
.mp-check{display:flex;align-items:center;gap:8px;background:#f1f5f9;border:1px solid #dbe5f5;border-radius:8px;padding:9px 10px;font-size:12px;color:#334155}
.mp-check input{width:15px;height:15px;cursor:pointer}
.mp-pill{display:inline-flex;align-items:center;gap:6px;background:#e2e8f0;border:1px solid #cbd5e1;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:700;color:#334155}
.mp-row .mpSmallBtn{padding:8px 10px;font-size:11px}
.mpMeta{font-size:10px;color:#64748b;line-height:1.35}
.mpFeedList{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;max-height:160px;overflow:auto}
.mpFeedItem{background:#f8fafc;border:1px solid #dbe5f5;border-radius:8px;padding:8px}
.mpFeedTitle{font-size:12px;font-weight:700;color:#0f172a}
.mpFeedMeta{font-size:10px;color:#64748b;margin-top:3px;line-height:1.3}
.mpArtifactList .mpRoomItem{align-items:flex-start}
.mpArtifactInfo{display:flex;flex-direction:column;gap:3px;min-width:0}
.mpArtifactTitle{font-size:12px;font-weight:700;color:#e2e8f0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mpArtifactMeta{font-size:10px;color:#94a3b8;line-height:1.35}

.room-panel-modal{position:fixed;inset:0;display:none;align-items:center;justify-content:center;z-index:240;background:rgba(2,6,23,0.74);backdrop-filter:blur(4px);padding:14px}
.room-panel-modal.show{display:flex}
.room-panel{width:min(480px,calc(100vw - 26px));max-height:min(82vh,720px);display:flex;flex-direction:column;background:rgba(9,18,32,0.96);border:1px solid rgba(148,163,184,0.35);border-radius:16px;box-shadow:0 20px 44px rgba(2,6,23,0.5);color:#e2e8f0;overflow:hidden}
.room-panel-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;border-bottom:1px solid rgba(148,163,184,0.24)}
.room-panel-title{font-family:'Orbitron',sans-serif;font-size:13px;letter-spacing:0.04em;color:#bbf7d0}
.room-panel-close{border:none;background:#1e293b;color:#cbd5e1;border-radius:999px;padding:6px 10px;font-size:12px;cursor:pointer}
.room-panel-body{padding:12px 14px;display:flex;flex-direction:column;gap:10px;overflow:auto}
.room-meta{background:rgba(15,23,42,0.8);border:1px solid rgba(148,163,184,0.28);border-radius:10px;padding:10px}
.room-meta-code{font-size:13px;font-weight:700;color:#a7f3d0}
.room-meta-name{font-size:11px;color:#cbd5e1;margin-top:4px}
.room-player-head{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#cbd5e1}
.mp-player-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px;max-height:200px;overflow:auto}
.mpPlayerItem{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;background:rgba(15,23,42,0.66);border:1px solid rgba(148,163,184,0.28);border-radius:9px}
.mpPlayerName{font-size:12px;color:#f8fafc;font-weight:600}
.mpPlayerMeta{font-size:11px;color:#94a3b8}
.mpPlayerEmpty{font-size:11px;color:#94a3b8;padding:10px;background:rgba(15,23,42,0.42);border:1px dashed rgba(148,163,184,0.3);border-radius:9px;text-align:center}
#roomPanelStatus{min-height:16px;font-size:11px;color:#93c5fd}

.room-chat-drawer{position:fixed;right:12px;bottom:max(14px,calc(env(safe-area-inset-bottom) + 12px));z-index:130;width:min(340px,calc(100vw - 18px));max-height:min(56vh,440px);display:flex;flex-direction:column;background:rgba(9,18,32,0.95);border:1px solid rgba(148,163,184,0.42);border-radius:14px;box-shadow:0 16px 36px rgba(2,6,23,0.45);transform:translateY(120%);opacity:0;pointer-events:none;transition:transform 0.22s ease,opacity 0.22s ease}
.room-chat-drawer.open{transform:translateY(0);opacity:1;pointer-events:auto}
.room-chat-head{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid rgba(148,163,184,0.25);font-size:12px;color:#bbf7d0;font-family:'Poppins',sans-serif}
.room-chat-head button{border:none;background:#1e293b;color:#cbd5e1;border-radius:999px;padding:5px 8px;font-size:11px;cursor:pointer}
.room-chat-body{padding:10px 12px;display:flex;flex-direction:column;gap:8px}
.room-chat-messages{max-height:min(34vh,260px);overflow:auto;display:flex;flex-direction:column;gap:8px}
.mpChatRow{padding:8px 9px;background:rgba(15,23,42,0.66);border:1px solid rgba(148,163,184,0.24);border-radius:8px}
.mpChatRow.mine{border-color:rgba(34,197,94,0.55);background:rgba(20,83,45,0.44)}
.mpChatHead{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:#bfdbfe;margin-bottom:4px}
.mpChatText{font-size:12px;color:#f8fafc;line-height:1.35;word-break:break-word}
.mpChatReport{border:none;background:#dc2626;color:#fee2e2;border-radius:999px;padding:3px 8px;font-size:10px;cursor:pointer}
.mpChatEmpty{font-size:11px;color:#94a3b8;background:rgba(15,23,42,0.38);border:1px dashed rgba(148,163,184,0.24);border-radius:8px;padding:10px;text-align:center}
.room-chat-compose{display:flex;gap:8px}
.room-chat-compose .mp-input{min-width:0;background:#0f172a;color:#e2e8f0;border-color:rgba(148,163,184,0.42)}
.room-chat-compose .mp-btn{padding:9px 12px}
.mpChatPolicy{font-size:11px;line-height:1.4;color:#93c5fd}
#roomChatStatus{min-height:15px;font-size:11px;color:#93c5fd}
#roomChatToggleBtn.on{background:#16a34a;color:#fff}

@media (max-width: 768px){
  #memoryComposer{left:10px;right:10px;bottom:12px;width:auto}
  #memoryInfoPanel{left:10px;right:10px;top:72px;width:auto}
  #editorPanel{left:10px;right:10px;top:72px;width:auto;max-height:calc(100dvh - 84px)}
  .editorCaptureRow{grid-template-columns:1fr}
  .editorFieldGroup,.editorModerationControls,.editorModerationDetailGrid{grid-template-columns:1fr}
  .auth-float-toggle{top:max(8px,calc(env(safe-area-inset-top) + 6px));left:10px;padding:8px 11px;font-size:11px}
  .auth-float-panel{top:max(48px,calc(env(safe-area-inset-top) + 46px));left:8px;right:8px;width:auto}
  .pro-access-panel{top:max(54px,calc(env(safe-area-inset-top) + 52px));padding:10px}
  .room-chat-drawer{right:8px;bottom:max(8px,calc(env(safe-area-inset-bottom) + 8px));width:min(360px,calc(100vw - 12px))}
}

@media (pointer:coarse){
  #multiplayerMenu{position:relative;left:auto!important;bottom:auto!important;z-index:auto}
  .floatBtn.multiplayer{width:100%;min-width:0;height:52px;border-radius:12px}
  #tutorialHintCard{right:max(6px,env(safe-area-inset-right))!important;bottom:max(72px,calc(env(safe-area-inset-bottom) + 66px))!important}
  body:has(.floatMenu.open) #tutorialHintCard{display:none!important}
  #multiplayerMenu.open .floatItems{
    left:max(6px,env(safe-area-inset-left))!important;right:max(6px,env(safe-area-inset-right))!important;
    bottom:max(66px,calc(env(safe-area-inset-bottom) + 60px))!important
  }
}
