mirror of
https://github.com/tiennm99/WPlace-AutoBOT.git
synced 2026-10-11 12:08:55 +00:00
Merge pull request #214 from Dax233/2.1.1
Update codebase to v2.1.0 & Fix WASM 403 errors via API Hooking
This commit is contained in:
14 files changed
+5813
-5389
No files matched your search
@@ -614,15 +614,99 @@
|
||||
/* Theme-specific styling applied via theme files */
|
||||
}
|
||||
|
||||
/* V2 Two-Column Layout */
|
||||
.resize-container-v2 {
|
||||
max-width: 1400px;
|
||||
width: 95%;
|
||||
max-height: 95%;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.resize-two-column-layout {
|
||||
display: flex;
|
||||
gap: 20px;
|
||||
height: calc(100vh - 200px);
|
||||
max-height: 800px;
|
||||
margin-top: 15px;
|
||||
}
|
||||
|
||||
/* Left Column: Scrollable Configurations */
|
||||
.resize-config-column {
|
||||
flex: 0 0 480px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.resize-config-scroll {
|
||||
flex: 1;
|
||||
overflow-y: auto;
|
||||
overflow-x: hidden;
|
||||
padding-right: 10px;
|
||||
}
|
||||
|
||||
/* Custom scrollbar for config column */
|
||||
.resize-config-scroll::-webkit-scrollbar {
|
||||
width: 8px;
|
||||
}
|
||||
|
||||
.resize-config-scroll::-webkit-scrollbar-track {
|
||||
background: var(--wplace-bg-ghost);
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.resize-config-scroll::-webkit-scrollbar-thumb {
|
||||
background: var(--wplace-border-subtle);
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.resize-config-scroll::-webkit-scrollbar-thumb:hover {
|
||||
background: var(--wplace-accent);
|
||||
}
|
||||
|
||||
/* Right Column: Fixed Preview */
|
||||
.resize-preview-column {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
min-width: 600px;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.resize-preview-zoom-controls {
|
||||
flex-shrink: 0;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
padding: 10px;
|
||||
border-bottom: 1px solid var(--wplace-border-subtle);
|
||||
background: var(--wplace-bg-ghost);
|
||||
flex-wrap: wrap;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.resize-preview-wrapper {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
margin: 15px 0;
|
||||
height: 300px;
|
||||
overflow: hidden;
|
||||
position: relative;
|
||||
background: var(--wplace-bg-canvas, #1a1a1a);
|
||||
border: 1px solid var(--wplace-border-subtle);
|
||||
margin: 0;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
/* Theme-specific styling applied via theme files */
|
||||
.resize-camera-help {
|
||||
flex-shrink: 0;
|
||||
text-align: center;
|
||||
padding: 8px;
|
||||
font-size: 12px;
|
||||
color: var(--wplace-text-dim);
|
||||
border-top: 1px solid var(--wplace-border-subtle);
|
||||
background: var(--wplace-bg-ghost);
|
||||
}
|
||||
|
||||
.resize-canvas-stack {
|
||||
@@ -648,8 +732,12 @@
|
||||
display: flex;
|
||||
gap: 8px;
|
||||
align-items: center;
|
||||
margin-top: 8px;
|
||||
margin: 20px 0;
|
||||
font-size: 12px;
|
||||
padding: 15px;
|
||||
background: var(--wplace-bg-ghost);
|
||||
border-radius: 8px;
|
||||
border: 1px solid var(--wplace-border-subtle);
|
||||
}
|
||||
|
||||
/* Missing button hover styles */
|
||||
@@ -668,19 +756,84 @@
|
||||
|
||||
.resize-controls {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr;
|
||||
grid-template-columns: 1fr;
|
||||
gap: 15px;
|
||||
align-items: center;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.resize-control-label {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 5px;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
.resize-checkbox-label {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
font-size: 14px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.resize-checkbox-label input[type="checkbox"] {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.resize-slider {
|
||||
width: 100%;
|
||||
height: 4px;
|
||||
height: 6px;
|
||||
border: none;
|
||||
outline: none;
|
||||
appearance: none;
|
||||
-webkit-appearance: none;
|
||||
background: linear-gradient(to right, var(--wplace-icon-primary), var(--wplace-icon-secondary));
|
||||
border-radius: 3px;
|
||||
cursor: pointer;
|
||||
transition: opacity 0.2s ease;
|
||||
}
|
||||
|
||||
/* Theme-specific styling applied via theme files */
|
||||
.resize-slider:hover {
|
||||
opacity: 0.9;
|
||||
}
|
||||
|
||||
.resize-slider::-webkit-slider-thumb {
|
||||
-webkit-appearance: none;
|
||||
appearance: none;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
border-radius: 50%;
|
||||
background: var(--wplace-slider-thumb-bg, white);
|
||||
cursor: pointer;
|
||||
box-shadow: var(--wplace-shadow-slider-thumb);
|
||||
transition: all 0.2s ease;
|
||||
}
|
||||
|
||||
.resize-slider::-webkit-slider-thumb:hover {
|
||||
transform: scale(1.2);
|
||||
box-shadow: var(--wplace-shadow-slider-hover);
|
||||
}
|
||||
|
||||
.resize-slider::-moz-range-thumb {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
border-radius: 50%;
|
||||
background: var(--wplace-slider-thumb-bg, white);
|
||||
cursor: pointer;
|
||||
border: none;
|
||||
box-shadow: var(--wplace-shadow-slider-thumb);
|
||||
transition: all 0.2s ease;
|
||||
}
|
||||
|
||||
.resize-slider::-moz-range-thumb:hover {
|
||||
transform: scale(1.2);
|
||||
box-shadow: var(--wplace-shadow-slider-hover);
|
||||
}
|
||||
|
||||
.resize-slider::-moz-range-track {
|
||||
background: transparent;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.resize-zoom-controls {
|
||||
@@ -1360,6 +1513,7 @@
|
||||
|
||||
.wplace-overlay-opacity-slider {
|
||||
width: 100%;
|
||||
appearance: none;
|
||||
-webkit-appearance: none;
|
||||
height: 8px;
|
||||
outline: none;
|
||||
@@ -1493,6 +1647,25 @@
|
||||
padding: 4px 8px;
|
||||
}
|
||||
|
||||
/* Edit Artwork button - enlarged */
|
||||
#editImageBtn {
|
||||
padding: 12px 24px !important;
|
||||
font-size: 16px !important;
|
||||
font-weight: bold !important;
|
||||
min-width: 180px;
|
||||
transition: all 0.2s ease;
|
||||
}
|
||||
|
||||
#editImageBtn i {
|
||||
font-size: 18px;
|
||||
margin-right: 8px;
|
||||
}
|
||||
|
||||
#editImageBtn:hover {
|
||||
transform: scale(1.05);
|
||||
box-shadow: 0 4px 12px rgba(79, 172, 254, 0.4);
|
||||
}
|
||||
|
||||
.resize-zoom-slider {
|
||||
max-width: 220px;
|
||||
}
|
||||
@@ -1631,11 +1804,24 @@
|
||||
}
|
||||
|
||||
.resize-advanced-select {
|
||||
padding: 6px 8px;
|
||||
width: 100%;
|
||||
max-width: 100%;
|
||||
padding: 8px 10px;
|
||||
border-radius: 6px;
|
||||
border: 1px solid var(--wplace-border-faint);
|
||||
background: var(--wplace-bg-whisper);
|
||||
color: var(--wplace-text);
|
||||
font-size: 12px;
|
||||
cursor: pointer;
|
||||
box-sizing: border-box;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.resize-advanced-select:hover {
|
||||
border-color: var(--wplace-border-subtle);
|
||||
background: var(--wplace-bg-subtle);
|
||||
}
|
||||
|
||||
.resize-advanced-toggle {
|
||||
@@ -1643,6 +1829,21 @@
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
font-size: 12px;
|
||||
padding: 12px 0;
|
||||
border-bottom: 1px solid var(--wplace-border-ultra-faint);
|
||||
}
|
||||
|
||||
.resize-advanced-toggle:last-child {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.resize-advanced-controls > div:not(.resize-advanced-toggle) {
|
||||
padding: 12px 0;
|
||||
border-bottom: 1px solid var(--wplace-border-ultra-faint);
|
||||
}
|
||||
|
||||
.resize-advanced-controls > div:last-child {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.resize-advanced-toggle-content {
|
||||
@@ -1652,6 +1853,35 @@
|
||||
.resize-advanced-description {
|
||||
margin-top: 2px;
|
||||
opacity: 0.65;
|
||||
font-size: 11px;
|
||||
line-height: 1.4;
|
||||
}
|
||||
|
||||
.resize-slider-label {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
margin-bottom: 8px;
|
||||
font-size: 13px;
|
||||
font-weight: 500;
|
||||
color: var(--wplace-text);
|
||||
}
|
||||
|
||||
.resize-slider-label i {
|
||||
margin-right: 6px;
|
||||
color: var(--wplace-icon-primary);
|
||||
}
|
||||
|
||||
.resize-slider-value {
|
||||
background: var(--wplace-bg-subtle);
|
||||
padding: 3px 10px;
|
||||
border-radius: 12px;
|
||||
font-size: 12px;
|
||||
font-weight: 600;
|
||||
min-width: 50px;
|
||||
text-align: center;
|
||||
color: var(--wplace-highlight);
|
||||
border: 1px solid var(--wplace-border-ghost);
|
||||
}
|
||||
|
||||
.resize-advanced-checkbox {
|
||||
@@ -2236,4 +2466,65 @@ input[type="number"] {
|
||||
|
||||
.pill-btn.active {
|
||||
color: white;
|
||||
}
|
||||
|
||||
/* ========================= */
|
||||
/* Responsive Design */
|
||||
/* ========================= */
|
||||
|
||||
/* Adjust layout for smaller screens */
|
||||
@media (max-width: 1400px) {
|
||||
.resize-container-v2 {
|
||||
max-width: 95%;
|
||||
}
|
||||
|
||||
.resize-two-column-layout {
|
||||
max-height: 700px;
|
||||
}
|
||||
|
||||
.resize-config-column {
|
||||
flex: 0 0 400px;
|
||||
}
|
||||
|
||||
.resize-preview-column {
|
||||
min-width: 500px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 1200px) {
|
||||
.resize-two-column-layout {
|
||||
flex-direction: column;
|
||||
max-height: 85vh;
|
||||
}
|
||||
|
||||
.resize-config-column {
|
||||
flex: 0 0 auto;
|
||||
max-height: 300px;
|
||||
}
|
||||
|
||||
.resize-preview-column {
|
||||
flex: 1;
|
||||
min-width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
.resize-container-v2 {
|
||||
width: 98%;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.resize-config-column {
|
||||
max-height: 250px;
|
||||
}
|
||||
|
||||
.resize-preview-zoom-controls {
|
||||
flex-wrap: wrap;
|
||||
gap: 4px;
|
||||
}
|
||||
|
||||
.resize-zoom-btn {
|
||||
padding: 4px 8px;
|
||||
font-size: 12px;
|
||||
}
|
||||
}
|
||||
@@ -140,6 +140,26 @@ async function executeLocalScript(scriptName, tabId) {
|
||||
} else {
|
||||
console.warn(`%c⚠️ auto-image-styles.css not found in loaded themes`, 'color: #f59e0b; font-weight: bold;');
|
||||
}
|
||||
|
||||
// Inject edit-panel.css if available (THEME-INDEPENDENT)
|
||||
// This ensures edit panel has its own styling regardless of bot theme
|
||||
if (themeCSS['edit-panel.css']) {
|
||||
const editPanelContent = themeCSS['edit-panel.css'];
|
||||
const styleElement = document.createElement('style');
|
||||
styleElement.id = 'edit-panel-stylesheet';
|
||||
styleElement.textContent = editPanelContent;
|
||||
document.head.appendChild(styleElement);
|
||||
|
||||
console.log(`%c✨ AUTO-INJECTED: edit-panel.css (THEME-INDEPENDENT)`, 'color: #10b981; font-weight: bold;');
|
||||
console.log(` 📏 Injected size: ${editPanelContent.length.toLocaleString()} characters`);
|
||||
console.log(` 📍 Source: Extension local file`);
|
||||
console.log(` 🎯 Target: <head> as <style> element`);
|
||||
console.log(` 🆔 Element ID: edit-panel-stylesheet`);
|
||||
console.log(` 🎨 Independence: Will override any theme-specific edit panel styles`);
|
||||
} else {
|
||||
console.warn(`%c⚠️ edit-panel.css not found in loaded themes`, 'color: #f59e0b; font-weight: bold;');
|
||||
}
|
||||
|
||||
console.groupEnd();
|
||||
} else {
|
||||
console.warn(`%c⚠️ No themes received from extension`, 'color: #f59e0b; font-weight: bold;');
|
||||
@@ -249,6 +269,22 @@ async function executeLocalScript(scriptName, tabId) {
|
||||
styleElement.textContent = themeContent;
|
||||
document.head.appendChild(styleElement);
|
||||
|
||||
// CRITICAL: Re-inject edit-panel.css AFTER theme to ensure it always wins
|
||||
// This makes edit panel styling independent from bot themes
|
||||
if (window.AUTOBOT_THEMES['edit-panel.css']) {
|
||||
const existingEditPanel = document.getElementById('edit-panel-stylesheet');
|
||||
if (existingEditPanel) {
|
||||
existingEditPanel.remove();
|
||||
}
|
||||
|
||||
const editPanelStyle = document.createElement('style');
|
||||
editPanelStyle.id = 'edit-panel-stylesheet';
|
||||
editPanelStyle.textContent = window.AUTOBOT_THEMES['edit-panel.css'];
|
||||
document.head.appendChild(editPanelStyle);
|
||||
|
||||
console.log(` 🎨 Edit panel CSS re-injected after theme (ensures independence)`);
|
||||
}
|
||||
|
||||
console.log(`%c✅ Theme applied successfully: ${themeName}`, 'color: #10b981; font-weight: bold;');
|
||||
console.log(` 📏 Content size: ${themeContent.length.toLocaleString()} characters`);
|
||||
console.log(` 📍 Source: Extension local file`);
|
||||
@@ -317,6 +353,7 @@ async function loadExtensionResources() {
|
||||
console.group('%c🎨 Theme Files Loading', 'color: #8b5cf6; font-weight: bold;');
|
||||
const themeFiles = [
|
||||
'auto-image-styles.css',
|
||||
'edit-panel.css',
|
||||
'themes/acrylic.css',
|
||||
'themes/classic-light.css',
|
||||
'themes/classic.css',
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"manifest_version": 3,
|
||||
"name": "WPlace AutoBOT Script Launcher",
|
||||
"version": "2.0.7",
|
||||
"version": "2.1.0",
|
||||
"description": "Launch and manage automation scripts for WPlace",
|
||||
"icons": {
|
||||
"16": "icons/icon16.png",
|
||||
@@ -55,6 +55,7 @@
|
||||
"Script-manager.js",
|
||||
"Script-manager-fixed.js",
|
||||
"auto-image-styles.css",
|
||||
"edit-panel.css",
|
||||
"themes/*.css",
|
||||
"lang/*.json",
|
||||
"lang/lang/*.json",
|
||||
|
||||
@@ -113,7 +113,7 @@
|
||||
|
||||
<footer>
|
||||
<div class="footer-info">
|
||||
<span>v2.0.7</span>
|
||||
<span>v2.1.0</span>
|
||||
<a href="#" id="settingsBtn">Settings</a>
|
||||
</div>
|
||||
</footer>
|
||||
|
||||
+2378
-1000
File diff suppressed because it is too large.
Load diff
@@ -472,113 +472,77 @@
|
||||
|
||||
async function createWasmToken(regionX, regionY, payload) {
|
||||
try {
|
||||
// Load the Pawtect module and WASM
|
||||
const mod = await import(new URL('/_app/immutable/chunks/'+pawtect_chunk, location.origin).href);
|
||||
let wasm;
|
||||
try {
|
||||
wasm = await mod._();
|
||||
console.log('✅ WASM initialized successfully');
|
||||
} catch (wasmError) {
|
||||
console.error('❌ WASM initialization failed:', wasmError);
|
||||
// Load the Pawtect module
|
||||
// Fallback to D1pWKeJi.js if pawtect_chunk is undefined, ensuring stability
|
||||
const chunkName = (typeof pawtect_chunk !== 'undefined' && pawtect_chunk) ? pawtect_chunk : "D1pWKeJi.js";
|
||||
const mod = await import(new URL('/_app/immutable/chunks/' + chunkName, location.origin).href);
|
||||
|
||||
// Check for API client (mod.a) instead of WASM init (mod._)
|
||||
if (!mod.a) {
|
||||
console.error('❌ API Client (mod.a) not found');
|
||||
return null;
|
||||
}
|
||||
try {
|
||||
try {
|
||||
const me = await fetch(`https://backend.wplace.live/me`, { credentials: 'include' }).then(r => r.ok ? r.json() : null);
|
||||
if (me?.id) {
|
||||
mod.i(me.id);
|
||||
console.log('✅ user ID set:', me.id);
|
||||
}
|
||||
} catch { }
|
||||
} catch (userIdError) {
|
||||
console.log('⚠️ Error setting user ID:', userIdError.message);
|
||||
}
|
||||
try {
|
||||
const testUrl = `https://backend.wplace.live/s0/pixel/${regionX}/${regionY}`;
|
||||
if (mod.r) {
|
||||
mod.r(testUrl);
|
||||
console.log('✅ Request URL set:', testUrl);
|
||||
} else {
|
||||
console.log('⚠️ request_url function (mod.r) not available');
|
||||
}
|
||||
} catch (urlError) {
|
||||
console.log('⚠️ Error setting request URL:', urlError.message);
|
||||
console.log('✅ Module loaded and API client found');
|
||||
|
||||
// Prepare data for paint() method
|
||||
// We need to reconstruct the internal pixel object structure expected by mod.a.paint
|
||||
console.log('📝 Reconstructing paint data from payload...');
|
||||
const paintPixels = [];
|
||||
for (let i = 0; i < payload.colors.length; i++) {
|
||||
paintPixels.push({
|
||||
tile: [regionX, regionY],
|
||||
pixel: [payload.coords[i * 2], payload.coords[i * 2 + 1]],
|
||||
season: mod.C, // Use exported season constant
|
||||
colorIdx: payload.colors[i]
|
||||
});
|
||||
}
|
||||
|
||||
console.log('🔍 payload:', payload);
|
||||
// Hook request method to capture token
|
||||
// This bypasses the need to manually handle WASM memory or obfuscated context functions
|
||||
console.log('🚀 Hooking API client to capture token...');
|
||||
const originalRequest = mod.a.request.bind(mod.a);
|
||||
let capturedToken = null;
|
||||
|
||||
// Encode payload
|
||||
const enc = new TextEncoder();
|
||||
const dec = new TextDecoder();
|
||||
const bodyStr = JSON.stringify(payload);
|
||||
const bytes = enc.encode(bodyStr);
|
||||
console.log('🔍 Payload size:', bytes.length, 'bytes');
|
||||
console.log('🔄 Payload string:', bodyStr);
|
||||
|
||||
// Allocate WASM memory with validation
|
||||
let inPtr;
|
||||
try {
|
||||
if (!wasm.__wbindgen_malloc) {
|
||||
console.error('❌ __wbindgen_malloc function not found');
|
||||
return null;
|
||||
mod.a.request = async function(url, options) {
|
||||
// Intercept the token from headers
|
||||
if (options && options.headers && options.headers['x-pawtect-token']) {
|
||||
capturedToken = options.headers['x-pawtect-token'];
|
||||
console.log('✅ Token captured via hook');
|
||||
|
||||
// Return fake success to satisfy paint() execution flow
|
||||
return { status: 200, json: async () => ({}) };
|
||||
}
|
||||
// Pass through other requests (like /me)
|
||||
return originalRequest(url, options);
|
||||
};
|
||||
|
||||
inPtr = wasm.__wbindgen_malloc(bytes.length, 1);
|
||||
console.log('✅ WASM memory allocated, pointer:', inPtr);
|
||||
// Trigger the paint function
|
||||
console.log('🚀 Calling mod.a.paint() to generate token...');
|
||||
try {
|
||||
// This handles UserID, URL, and WASM interaction internally
|
||||
await mod.a.paint(paintPixels, payload.fp);
|
||||
} catch (e) {
|
||||
// Ignore errors caused by our fake request response
|
||||
} finally {
|
||||
// Restore original request method (Cleanup)
|
||||
mod.a.request = originalRequest;
|
||||
console.log('✅ Request hook restored');
|
||||
}
|
||||
|
||||
// Copy data to WASM memory
|
||||
const wasmBuffer = new Uint8Array(wasm.memory.buffer, inPtr, bytes.length);
|
||||
wasmBuffer.set(bytes);
|
||||
console.log('✅ Data copied to WASM memory');
|
||||
} catch (memError) {
|
||||
console.error('❌ Memory allocation error:', memError);
|
||||
// Validate and return result
|
||||
if (capturedToken) {
|
||||
console.log('');
|
||||
console.log('🎉 SUCCESS!');
|
||||
console.log('🔑 Full token:');
|
||||
console.log(capturedToken);
|
||||
return capturedToken;
|
||||
} else {
|
||||
console.error('❌ Failed to capture token via hooking');
|
||||
return null;
|
||||
}
|
||||
|
||||
// Call the WASM function
|
||||
console.log('🚀 Calling get_pawtected_endpoint_payload...');
|
||||
let outPtr, outLen, token;
|
||||
try {
|
||||
const result = wasm.get_pawtected_endpoint_payload(inPtr, bytes.length);
|
||||
console.log('✅ Function called, result type:', typeof result, result);
|
||||
|
||||
if (Array.isArray(result) && result.length === 2) {
|
||||
[outPtr, outLen] = result;
|
||||
console.log('✅ Got output pointer:', outPtr, 'length:', outLen);
|
||||
|
||||
// Decode the result
|
||||
const outputBuffer = new Uint8Array(wasm.memory.buffer, outPtr, outLen);
|
||||
token = dec.decode(outputBuffer);
|
||||
console.log('✅ Token decoded successfully');
|
||||
} else {
|
||||
console.error('❌ Unexpected function result format:', result);
|
||||
return null;
|
||||
}
|
||||
} catch (funcError) {
|
||||
console.error('❌ Function call error:', funcError);
|
||||
console.error('Stack trace:', funcError.stack);
|
||||
return null;
|
||||
}
|
||||
|
||||
// Cleanup memory
|
||||
try {
|
||||
if (wasm.__wbindgen_free && outPtr && outLen) {
|
||||
wasm.__wbindgen_free(outPtr, outLen, 1);
|
||||
console.log('✅ Output memory freed');
|
||||
}
|
||||
if (wasm.__wbindgen_free && inPtr) {
|
||||
wasm.__wbindgen_free(inPtr, bytes.length, 1);
|
||||
console.log('✅ Input memory freed');
|
||||
}
|
||||
} catch (cleanupError) {
|
||||
console.log('⚠️ Cleanup warning:', cleanupError.message);
|
||||
}
|
||||
|
||||
console.log('🎉 SUCCESS!');
|
||||
console.log('🔑 Full token:', token);
|
||||
return token;
|
||||
} catch (error) {
|
||||
console.error('❌ Failed to generate fp parameter:', error);
|
||||
console.error('❌ Failed to generate token:', error);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
@@ -1,883 +0,0 @@
|
||||
/* WPlace Auto-Image Bot - Acrylic Theme */
|
||||
/* Beautiful theme with translucent blurred panels */
|
||||
|
||||
@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');
|
||||
|
||||
@font-face {
|
||||
font-family: 'Apple Color Emoji';
|
||||
src: url('https://raw.githubusercontent.com/GORAlexComp/AppleColorEmojiFont/refs/heads/main/fonts/AppleColorEmoji.ttf');
|
||||
}
|
||||
|
||||
/* Multi-account panel styling */
|
||||
.wplace-theme-acrylic #wplace-accounts-container {
|
||||
background: var(--wplace-primary);
|
||||
color: var(--wplace-text);
|
||||
border-radius: var(--wplace-radius);
|
||||
box-shadow: none;
|
||||
backdrop-filter: var(--wplace-backdrop);
|
||||
border: var(--wplace-border-width) var(--wplace-border-style) var(--wplace-border-color);
|
||||
min-width: 250px;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic #wplace-accounts-container * {
|
||||
font-size: 15px;
|
||||
line-height: normal;
|
||||
}
|
||||
|
||||
/* Active account styles */
|
||||
.wplace-theme-acrylic .wplace-accounts-container .active-account {
|
||||
--active-bg: color-mix(in srgb, white 15%, transparent);
|
||||
--active-color: var(--wplace-success);
|
||||
--inactive-color: var(--wplace-text);
|
||||
--progress-bg: rgb(255 255 255 / 10%);
|
||||
--progress-fill: white;
|
||||
}
|
||||
|
||||
/* Main Container */
|
||||
.wplace-theme-acrylic #wplace-image-bot-container {
|
||||
background: var(--wplace-primary);
|
||||
color: var(--wplace-text);
|
||||
border-radius: var(--wplace-radius);
|
||||
box-shadow: none;
|
||||
backdrop-filter: var(--wplace-backdrop);
|
||||
border: var(--wplace-border-width) var(--wplace-border-style) var(--wplace-border-color);
|
||||
min-width: 300px;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic #wplace-image-bot-container * {
|
||||
font-size: 15px;
|
||||
line-height: normal;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-content {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
/* gap: 10px; */
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
#wplace-image-bot-container.wplace-dragging {
|
||||
transition: none !important;
|
||||
box-shadow: none !important;
|
||||
transform: none !important;
|
||||
}
|
||||
|
||||
/* Stats */
|
||||
.wplace-theme-acrylic #wplace-stats-container {
|
||||
background: var(--wplace-primary);
|
||||
color: var(--wplace-text);
|
||||
border-radius: var(--wplace-radius);
|
||||
box-shadow: none;
|
||||
backdrop-filter: var(--wplace-backdrop);
|
||||
border: var(--wplace-border-width) var(--wplace-border-style) var(--wplace-border-color);
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-stats {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-colors-section {
|
||||
border-top: none;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/* Settings Container */
|
||||
.wplace-theme-acrylic #wplace-settings-container {
|
||||
background: var(--wplace-primary) !important;
|
||||
color: var(--wplace-text) !important;
|
||||
border-radius: var(--wplace-radius) !important;
|
||||
box-shadow: none !important;
|
||||
backdrop-filter: var(--wplace-backdrop) !important;
|
||||
border: var(--wplace-border-width) var(--wplace-border-style) var(--wplace-border-color) !important;
|
||||
max-width: 400px !important;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-settings-header {
|
||||
background: transparent;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-settings-header:hover {
|
||||
background: transparent !important;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-settings-icon {
|
||||
animation: none;
|
||||
font-size: 15px;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-settings-content {
|
||||
padding: 10px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-settings-footer {
|
||||
border-top: none;
|
||||
padding: 10px;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-settings-section {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-settings-section-wrapper,
|
||||
.wplace-theme-acrylic .wplace-overlay-wrapper,
|
||||
.wplace-theme-acrylic .wplace-batch-controls {
|
||||
padding: 0 !important;
|
||||
background: transparent !important;
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
/* Headers */
|
||||
.wplace-theme-acrylic .wplace-header,
|
||||
.wplace-theme-acrylic .wplace-settings-title-wrapper {
|
||||
height: 40px;
|
||||
padding: 7px 7px 7px 10px;
|
||||
font-weight: 600;
|
||||
background: var(--wplace-accent);
|
||||
color: var(--wplace-highlight);
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-header span,
|
||||
.wplace-theme-acrylic .wplace-settings-title {
|
||||
max-width: 150px;
|
||||
font-size: 15px;
|
||||
font-weight: 600;
|
||||
white-space: nowrap;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-header-controls #compactBtn {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-header-btn,
|
||||
.wplace-theme-acrylic .wplace-settings-close-btn {
|
||||
background: #2e2e2e;
|
||||
color: var(--wplace-highlight);
|
||||
border: none;
|
||||
font-size: 12px;
|
||||
border-radius: 4px;
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-header-btn i {
|
||||
font-size: 12px !important;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-header-btn:hover,
|
||||
.wplace-theme-acrylic .wplace-settings-close-btn:hover {
|
||||
background: transparent;
|
||||
transform: none;
|
||||
}
|
||||
|
||||
/* Sections */
|
||||
.wplace-theme-acrylic .wplace-section {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 8px;
|
||||
background: transparent;
|
||||
padding: 0;
|
||||
border: none;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-section-title {
|
||||
color: var(--wplace-highlight);
|
||||
text-transform: capitalize;
|
||||
font-size: 13px;
|
||||
font-weight: 600;
|
||||
pointer-events: none;
|
||||
letter-spacing: unset;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-section-title i {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-status-section {
|
||||
background: transparent;
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
border: none;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
/* Status Styling */
|
||||
.wplace-theme-acrylic .wplace-stats {
|
||||
background: transparent;
|
||||
padding: 0;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-stat-value {
|
||||
color: var(--wplace-highlight);
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-status {
|
||||
border-radius: var(--wplace-radius);
|
||||
border: none;
|
||||
box-shadow: none;
|
||||
padding: 10px;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .status-default {
|
||||
background: color-mix(in srgb, white 15%, transparent) !important;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .status-success {
|
||||
background: color-mix(in srgb, var(--wplace-success) 15%, transparent);
|
||||
color: var(--wplace-success);
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .status-error {
|
||||
background: color-mix(in srgb, var(--wplace-error) 15%, transparent);
|
||||
color: var(--wplace-error);
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .status-warning {
|
||||
background: color-mix(in srgb, var(--wplace-warning) 15%, transparent);
|
||||
color: var(--wplace-warning);
|
||||
}
|
||||
|
||||
/* Buttons */
|
||||
.wplace-theme-acrylic .wplace-btn {
|
||||
border-radius: 8px;
|
||||
border: none;
|
||||
height: max-content;
|
||||
padding: 10px;
|
||||
gap: 5px;
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
line-height: normal;
|
||||
text-align: left;
|
||||
font-size: 15px !important;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-btn::before {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-btn:disabled {
|
||||
box-shadow: none !important;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-btn:hover:not(:disabled) {
|
||||
transform: none;
|
||||
animation: none;
|
||||
box-shadow: none !important;
|
||||
filter: brightness(0.9);
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-btn-primary,
|
||||
.wplace-theme-acrylic .wplace-btn-upload {
|
||||
background: white !important;
|
||||
color: black !important;
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-btn-upload:hover:not(:disabled) {
|
||||
background: revert !important;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-btn-secondary,
|
||||
.wplace-theme-acrylic .wplace-btn-select,
|
||||
.wplace-theme-acrylic .wplace-btn-file,
|
||||
.wplace-theme-acrylic .wplace-btn-overlay {
|
||||
background: var(--wplace-secondary);
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-btn-start {
|
||||
background: var(--wplace-success);
|
||||
color: white;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-btn-stop {
|
||||
background: var(--wplace-error);
|
||||
color: white;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-btn.active {
|
||||
background: white;
|
||||
color: black;
|
||||
box-shadow: none !important;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-btn.active i {
|
||||
filter: none;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-settings-apply-btn {
|
||||
background: white;
|
||||
color: black;
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
/* Compact Input Buttons */
|
||||
.wplace-theme-acrylic .wplace-input-btn-small,
|
||||
.wplace-theme-acrylic .wplace-input-btn-small:hover,
|
||||
.wplace-theme-acrylic .wplace-input-btn-small:active {
|
||||
background: white;
|
||||
color: black;
|
||||
border: none;
|
||||
transform: none;
|
||||
border-radius: 4px;
|
||||
box-shadow: none;
|
||||
font-weight: 500;
|
||||
width: 25px;
|
||||
height: 25px;
|
||||
}
|
||||
|
||||
/* Alerts */
|
||||
.wplace-theme-acrylic .wplace-alert-base {
|
||||
border-radius: var(--wplace-radius);
|
||||
backdrop-filter: var(--wplace-backdrop);
|
||||
border: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-alert-info {
|
||||
background: color-mix(in srgb, #0000e5 50%, transparent);
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-alert-success {
|
||||
background: color-mix(in srgb, var(--wplace-success) 50%, transparent);
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-alert-error {
|
||||
background: color-mix(in srgb, var(--wplace-error) 50%, transparent);
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-alert-warning {
|
||||
background: color-mix(in srgb, var(--wplace-warning) 50%, transparent);
|
||||
}
|
||||
|
||||
/* Progress Bar */
|
||||
.wplace-theme-acrylic .wplace-progress {
|
||||
background: var(--wplace-secondary);
|
||||
border-radius: 4px;
|
||||
margin: 0;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-progress-bar {
|
||||
background: white;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-progress-bar::after {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* Form Controls */
|
||||
.wplace-theme-acrylic .wplace-settings-checkbox,
|
||||
.wplace-theme-acrylic .wplace-notification-checkbox,
|
||||
.wplace-theme-acrylic .wplace-speed-checkbox {
|
||||
cursor: pointer;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
flex-shrink: 0;
|
||||
accent-color: var(--wplace-highlight);
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-settings-select,
|
||||
.wplace-theme-acrylic .wplace-settings-number-input,
|
||||
.wplace-theme-acrylic .wplace-cooldown-input,
|
||||
.wplace-theme-acrylic .wplace-notification-interval-input {
|
||||
background: rgb(255 255 255 / 10%);
|
||||
color: white;
|
||||
border: 1px solid rgb(255 255 255 / 25%);
|
||||
border-radius: 8px;
|
||||
box-shadow: none;
|
||||
transition-duration: 0.3s;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-settings-select:hover,
|
||||
.wplace-theme-acrylic .wplace-settings-number-input:hover,
|
||||
.wplace-theme-acrylic .wplace-cooldown-input:hover,
|
||||
.wplace-theme-acrylic .wplace-notification-interval-input:hover {
|
||||
border-color: rgb(255 255 255 / 50%);
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-settings-select:focus,
|
||||
.wplace-theme-acrylic .wplace-settings-number-input:focus,
|
||||
.wplace-theme-acrylic .wplace-cooldown-input:focus,
|
||||
.wplace-theme-acrylic .wplace-notification-interval-input:focus {
|
||||
border-color: white;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-settings-option {
|
||||
background: #2d3748;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-settings-select option {
|
||||
background: #2d3748;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-cooldown-input {
|
||||
border-radius: 4px !important;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-cooldown-input:focus {
|
||||
background: rgb(255 255 255 / 10%);
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-overlay-opacity-value {
|
||||
background-color: var(--wplace-secondary) !important;
|
||||
border: none !important;
|
||||
}
|
||||
|
||||
/* Sliders */
|
||||
.wplace-theme-acrylic .wplace-slider,
|
||||
.wplace-theme-acrylic .wplace-speed-slider,
|
||||
.wplace-theme-acrylic .wplace-overlay-opacity-slider {
|
||||
background: var(--wplace-secondary) !important;
|
||||
border-radius: 3px !important;
|
||||
height: 6px !important;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-slider::-webkit-slider-thumb,
|
||||
.wplace-theme-acrylic .resize-slider::-webkit-slider-thumb,
|
||||
.wplace-theme-acrylic .wplace-speed-slider::-webkit-slider-thumb,
|
||||
.wplace-theme-acrylic .wplace-overlay-opacity-slider::-webkit-slider-thumb {
|
||||
width: 16px !important;
|
||||
height: 16px !important;
|
||||
border-radius: 4px !important;
|
||||
background: white !important;
|
||||
box-shadow: none !important;
|
||||
transform: none !important;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-speed-value {
|
||||
background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%);
|
||||
border-radius: 8px;
|
||||
color: white;
|
||||
box-shadow: 0 3px 10px rgb(79 172 254 / 30%);
|
||||
border: 1px solid rgb(255 255 255 / 20%);
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .resize-slider {
|
||||
-webkit-appearance: revert;
|
||||
}
|
||||
|
||||
/* Layout Controls */
|
||||
.wplace-theme-acrylic .wplace-slider-container {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-input-label-compact {
|
||||
color: rgba(255, 255, 255, 0.75);
|
||||
margin-left: 4px;
|
||||
text-transform: lowercase;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-cooldown-control {
|
||||
margin: 0;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-cooldown-control label {
|
||||
font-weight: 400;
|
||||
margin-bottom: 0;
|
||||
display: block;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-cooldown-input-group {
|
||||
margin: 0;
|
||||
background: transparent;
|
||||
}
|
||||
|
||||
/* Color Elements */
|
||||
.wplace-theme-acrylic .wplace-color-item-name {
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-color-swatch {
|
||||
border: 1px solid rgb(255 255 255 / 20%);
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-color-swatch:not(.active) {
|
||||
filter: grayscale(80%);
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-color-swatch.unavailable {
|
||||
border-color: #666;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-color-swatch.unavailable:not(.active) {
|
||||
filter: grayscale(90%);
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-color-swatch.active::after {
|
||||
text-shadow: 0 0 3px black;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-stat-color-swatch {
|
||||
border-radius: 3px;
|
||||
border: 1px solid rgb(255 255 255 / 10%);
|
||||
box-shadow: inset 0 0 2px rgb(0 0 0 / 50%);
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-stat-colors-grid {
|
||||
background: var(--wplace-secondary);
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-color-divider {
|
||||
background: rgb(255 255 255 / 10%);
|
||||
}
|
||||
|
||||
/* Icons */
|
||||
.wplace-theme-acrylic .wplace-icon-key,
|
||||
.wplace-theme-acrylic .wplace-icon-robot,
|
||||
.wplace-theme-acrylic .wplace-icon-speed,
|
||||
.wplace-theme-acrylic .wplace-icon-bell,
|
||||
.wplace-theme-acrylic .wplace-icon-palette,
|
||||
.wplace-theme-acrylic .wplace-icon-globe,
|
||||
.wplace-theme-acrylic .wplace-icon-paint,
|
||||
.wplace-theme-acrylic .wplace-icon-eye,
|
||||
.wplace-theme-acrylic .wplace-icon-compass,
|
||||
.wplace-theme-acrylic .wplace-icon-route,
|
||||
.wplace-theme-acrylic .wplace-icon-table,
|
||||
.wplace-theme-acrylic .wplace-icon-dice {
|
||||
color: white;
|
||||
}
|
||||
|
||||
/* Typography */
|
||||
.wplace-theme-acrylic .wplace-cooldown-unit {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-settings-toggle-title,
|
||||
.wplace-theme-acrylic .wplace-overlay-opacity-label {
|
||||
font-size: 15px !important;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-settings-description,
|
||||
.wplace-theme-acrylic .wplace-random-batch-description,
|
||||
.wplace-theme-acrylic .wplace-settings-toggle-description {
|
||||
font-size: 12px;
|
||||
color: rgb(255 255 255 / 75%) !important;
|
||||
}
|
||||
|
||||
/* Turnstile Overlay */
|
||||
.wplace-theme-acrylic .wplace-turnstile-overlay {
|
||||
background: var(--wplace-primary);
|
||||
border-radius: var(--wplace-radius);
|
||||
box-shadow: none;
|
||||
backdrop-filter: var(--wplace-backdrop);
|
||||
border: none;
|
||||
padding: 16px !important;
|
||||
color: var(--wplace-text) !important;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-turnstile-hide-btn {
|
||||
border-radius: 8px !important;
|
||||
backdrop-filter: var(--wplace-backdrop) !important;
|
||||
background: var(--wplace-primary) !important;
|
||||
top: -25px !important;
|
||||
right: 0 !important;
|
||||
transition: all 0.3s ease !important;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-turnstile-hide-btn:hover {
|
||||
background: white !important;
|
||||
color: black !important;
|
||||
}
|
||||
|
||||
/* Resize Tools */
|
||||
.wplace-theme-acrylic .resize-tools button {
|
||||
border-radius: 6px;
|
||||
border: 1px solid rgb(255 255 255 / 20%);
|
||||
background: rgb(255 255 255 / 6%);
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .resize-overlay {
|
||||
background: rgb(0 0 0 / 50%);
|
||||
}
|
||||
|
||||
/* TODO: More resize menu styles */
|
||||
.wplace-theme-acrylic .resize-container {
|
||||
background: var(--wplace-secondary);
|
||||
backdrop-filter: var(--wplace-backdrop);
|
||||
border: none;
|
||||
border-radius: var(--wplace-radius);
|
||||
color: var(--wplace-text);
|
||||
}
|
||||
|
||||
/* Account switching UI styles */
|
||||
.wplace-theme-acrylic .wplace-section {
|
||||
margin: 5px;
|
||||
border-radius: var(--wplace-radius);
|
||||
background: rgba(255, 255, 255, 0.08);
|
||||
padding: 5px;
|
||||
border: 1px solid rgba(255, 255, 255, 0.15);
|
||||
backdrop-filter: var(--wplace-backdrop);
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-section-title {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
font-weight: 600;
|
||||
color: var(--wplace-text);
|
||||
margin: 2px;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
/* Auto-swap toggle switch */
|
||||
.wplace-theme-acrylic .wplace-switch {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
width: 50px;
|
||||
height: 24px;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-switch input {
|
||||
opacity: 0;
|
||||
width: 0;
|
||||
height: 0;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-slider-round {
|
||||
position: absolute;
|
||||
cursor: pointer;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background-color: rgba(255, 255, 255, 0.2);
|
||||
transition: 0.4s;
|
||||
border-radius: 24px;
|
||||
backdrop-filter: blur(10px);
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-slider-round:before {
|
||||
position: absolute;
|
||||
content: "";
|
||||
height: 18px;
|
||||
width: 18px;
|
||||
left: 3px;
|
||||
bottom: 3px;
|
||||
background-color: white;
|
||||
transition: 0.4s;
|
||||
border-radius: 50%;
|
||||
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-switch input:checked+.wplace-slider-round {
|
||||
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-switch input:checked+.wplace-slider-round:before {
|
||||
transform: translateX(26px);
|
||||
}
|
||||
|
||||
/* Account list container */
|
||||
.wplace-theme-acrylic .accounts-list-container {
|
||||
max-height: 500px;
|
||||
overflow-y: auto;
|
||||
/* margin-top: 10px; */
|
||||
padding: 0 6px;
|
||||
}
|
||||
|
||||
/* Individual account item */
|
||||
.wplace-theme-acrylic .wplace-account-item {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 6px 8px;
|
||||
margin: 4px 0;
|
||||
background: rgba(255, 255, 255, 0.05);
|
||||
border-radius: 8px;
|
||||
border: 1px solid rgba(255, 255, 255, 0.15);
|
||||
transition: all 0.3s ease;
|
||||
backdrop-filter: blur(10px);
|
||||
position: relative;
|
||||
}
|
||||
|
||||
/* Account ordering number */
|
||||
.wplace-theme-acrylic .wplace-account-number {
|
||||
position: absolute;
|
||||
top: 3px;
|
||||
left: 3px;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
||||
color: white;
|
||||
border-radius: 50%;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 9px;
|
||||
font-weight: bold;
|
||||
z-index: 1;
|
||||
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-account-item:hover {
|
||||
background: rgba(255, 255, 255, 0.12);
|
||||
border-color: rgba(255, 255, 255, 0.3);
|
||||
transform: translateY(-1px);
|
||||
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-account-item.is-current {
|
||||
background: linear-gradient(135deg, rgba(102, 126, 234, 0.3) 0%, rgba(118, 75, 162, 0.3) 100%);
|
||||
border-color: #667eea;
|
||||
box-shadow: 0 0 20px rgba(102, 126, 234, 0.4);
|
||||
}
|
||||
|
||||
/* Account details */
|
||||
.wplace-theme-acrylic .wplace-account-details {
|
||||
flex: 1;
|
||||
margin-left: 25px;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-account-name {
|
||||
font-weight: 600;
|
||||
color: var(--wplace-text);
|
||||
font-size: 13px;
|
||||
margin-bottom: 2px;
|
||||
}
|
||||
|
||||
/* Account statistics */
|
||||
.wplace-theme-acrylic .wplace-account-stats {
|
||||
display: flex;
|
||||
gap: 12px;
|
||||
align-items: center;
|
||||
font-size: 12px;
|
||||
color: rgba(255, 255, 255, 0.75);
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-account-stats i {
|
||||
margin-right: 4px;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-account-stats .fas.fa-bolt {
|
||||
color: #ffd700;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-account-stats .fas.fa-tint {
|
||||
color: #00bfff;
|
||||
}
|
||||
|
||||
/* Move Artwork Panel Styles for Acrylic Theme */
|
||||
.wplace-theme-acrylic .wplace-move-panel {
|
||||
position: fixed;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
background: var(--wplace-primary);
|
||||
border: var(--wplace-border-width) var(--wplace-border-style) var(--wplace-border-color);
|
||||
border-radius: var(--wplace-radius);
|
||||
padding: 24px;
|
||||
z-index: 10000;
|
||||
backdrop-filter: var(--wplace-backdrop);
|
||||
min-width: 240px;
|
||||
text-align: center;
|
||||
font-family: var(--wplace-font);
|
||||
box-shadow: 0 20px 50px rgba(0, 0, 0, 0.15);
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-move-panel-title {
|
||||
color: var(--wplace-text);
|
||||
margin: 0 0 20px 0;
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
letter-spacing: 0.5px;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-move-controls {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr 1fr;
|
||||
gap: 12px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-move-btn {
|
||||
padding: 12px;
|
||||
background: rgba(255, 255, 255, 0.2);
|
||||
color: var(--wplace-text);
|
||||
border: 1px solid rgba(255, 255, 255, 0.3);
|
||||
border-radius: 12px;
|
||||
cursor: pointer;
|
||||
font-family: var(--wplace-font);
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
transition: all 0.3s ease;
|
||||
backdrop-filter: blur(10px);
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-move-btn:hover {
|
||||
background: rgba(255, 255, 255, 0.3);
|
||||
border-color: rgba(255, 255, 255, 0.5);
|
||||
transform: translateY(-2px);
|
||||
box-shadow: 0 8px 20px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-move-btn:active {
|
||||
transform: translateY(0);
|
||||
background: rgba(255, 255, 255, 0.4);
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-move-center {
|
||||
color: var(--wplace-text);
|
||||
padding: 12px;
|
||||
font-size: 14px;
|
||||
font-weight: 600;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
opacity: 0.8;
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-move-close-btn {
|
||||
background: rgba(255, 59, 48, 0.8);
|
||||
color: white;
|
||||
border: 1px solid rgba(255, 59, 48, 0.3);
|
||||
padding: 12px 20px;
|
||||
border-radius: 12px;
|
||||
cursor: pointer;
|
||||
font-family: var(--wplace-font);
|
||||
font-size: 15px;
|
||||
font-weight: 600;
|
||||
transition: all 0.3s ease;
|
||||
backdrop-filter: blur(10px);
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-move-close-btn:hover {
|
||||
background: rgba(255, 59, 48, 1);
|
||||
transform: translateY(-1px);
|
||||
box-shadow: 0 8px 20px rgba(255, 59, 48, 0.3);
|
||||
}
|
||||
|
||||
.wplace-theme-acrylic .wplace-move-overlay {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: rgba(0, 0, 0, 0.4);
|
||||
z-index: 9999;
|
||||
backdrop-filter: blur(8px);
|
||||
}
|
||||
@@ -555,7 +555,7 @@
|
||||
border-radius: 4px;
|
||||
color: var(--wplace-text);
|
||||
padding: 4px 8px;
|
||||
font-size: 12px;
|
||||
font-size: 10px;
|
||||
width: 65px;
|
||||
text-align: center;
|
||||
transition: all 0.2s ease;
|
||||
@@ -775,984 +775,3 @@
|
||||
color: #2196f3;
|
||||
}
|
||||
|
||||
/* Edit Panel Styles for Classic Light Theme - Fullscreen Layout */
|
||||
:root .edit-overlay,
|
||||
.wplace-theme-classic-light .edit-overlay {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
background: rgba(255, 255, 255, 0.95);
|
||||
z-index: 10001;
|
||||
backdrop-filter: blur(8px);
|
||||
}
|
||||
|
||||
/* Enhanced Container Layout */
|
||||
:root .edit-container,
|
||||
.wplace-theme-classic-light .edit-container {
|
||||
background: linear-gradient(135deg, #FBFBFB 0%, #E0E0E1 100%);
|
||||
border-radius: 8px;
|
||||
box-shadow: 0 15px 60px rgba(0, 0, 0, 0.2);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
width: 98vw;
|
||||
height: 98vh;
|
||||
max-width: 98vw;
|
||||
max-height: 98vh;
|
||||
min-width: 1000px;
|
||||
min-height: 700px;
|
||||
overflow: hidden;
|
||||
backdrop-filter: blur(15px);
|
||||
border: 1px solid rgba(0, 0, 0, 0.1);
|
||||
position: fixed;
|
||||
top: 1vh;
|
||||
left: 1vw;
|
||||
z-index: 10000;
|
||||
}
|
||||
|
||||
:root .edit-main,
|
||||
.wplace-theme-classic-light .edit-main {
|
||||
display: flex;
|
||||
flex: 1;
|
||||
min-height: 0;
|
||||
}
|
||||
|
||||
/* Enhanced Header Layout */
|
||||
:root .edit-header,
|
||||
.wplace-theme-classic-light .edit-header {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 12px 20px;
|
||||
background: linear-gradient(135deg, #E0E0E1 0%, #F3F3F3 100%);
|
||||
border-bottom: 1px solid rgba(0, 0, 0, 0.2);
|
||||
min-height: 70px;
|
||||
}
|
||||
|
||||
:root .edit-header-left,
|
||||
.wplace-theme-classic-light .edit-header-left {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 4px;
|
||||
}
|
||||
|
||||
:root .edit-header h3,
|
||||
.wplace-theme-classic-light .edit-header h3 {
|
||||
margin: 0;
|
||||
color: var(--wplace-text);
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
:root .edit-nav-controls,
|
||||
.wplace-theme-classic-light .edit-nav-controls {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 20px;
|
||||
}
|
||||
|
||||
/* Zoom Controls */
|
||||
:root .zoom-controls,
|
||||
.wplace-theme-classic-light .zoom-controls {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
background: rgba(0, 0, 0, 0.05);
|
||||
padding: 6px 12px;
|
||||
border-radius: 6px;
|
||||
border: 1px solid rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
:root .zoom-select,
|
||||
.wplace-theme-classic-light .zoom-select {
|
||||
background: linear-gradient(135deg, #F3F3F3 0%, #FBFBFB 100%);
|
||||
border: 1px solid rgba(0, 0, 0, 0.2);
|
||||
color: var(--wplace-text);
|
||||
border-radius: 4px;
|
||||
padding: 4px 8px;
|
||||
font-size: 11px;
|
||||
cursor: pointer;
|
||||
min-width: 60px;
|
||||
}
|
||||
|
||||
:root .zoom-select:hover,
|
||||
.wplace-theme-classic-light .zoom-select:hover {
|
||||
background: linear-gradient(135deg, #FBFBFB 0%, #F3F3F3 100%);
|
||||
}
|
||||
|
||||
:root .edit-content,
|
||||
.wplace-theme-classic-light .edit-content {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
flex: 1;
|
||||
min-height: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
:root .edit-main-area,
|
||||
.wplace-theme-classic-light .edit-main-area {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex: 1;
|
||||
min-height: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
:root .edit-toolbar,
|
||||
.wplace-theme-classic-light .edit-toolbar {
|
||||
width: 80px;
|
||||
min-width: 80px;
|
||||
background: rgba(0, 0, 0, 0.05);
|
||||
border-right: 1px solid rgba(0, 0, 0, 0.2);
|
||||
padding: 8px 4px;
|
||||
overflow-y: auto;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
:root .edit-canvas-area,
|
||||
.wplace-theme-classic-light .edit-canvas-area {
|
||||
flex: 4;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
position: relative;
|
||||
background: #F3F3F3;
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
:root .edit-canvas-container,
|
||||
.wplace-theme-classic-light .edit-canvas-container {
|
||||
flex: 1;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
min-height: 400px;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
:root .edit-canvas,
|
||||
.wplace-theme-classic-light .edit-canvas {
|
||||
border: 1px solid rgba(0, 0, 0, 0.3);
|
||||
cursor: crosshair;
|
||||
image-rendering: pixelated;
|
||||
image-rendering: -moz-crisp-edges;
|
||||
image-rendering: crisp-edges;
|
||||
background-image:
|
||||
repeating-conic-gradient(rgba(0, 0, 0, 0.08) 0% 25%, transparent 0% 50%) 50% / 20px 20px;
|
||||
}
|
||||
|
||||
:root .edit-tool-group,
|
||||
.wplace-theme-classic-light .edit-tool-group {
|
||||
background: rgba(0, 0, 0, 0.05);
|
||||
border-radius: 6px;
|
||||
padding: 6px 4px;
|
||||
border: 1px solid rgba(0, 0, 0, 0.1);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
:root .edit-tool-group h4,
|
||||
.wplace-theme-classic-light .edit-tool-group h4 {
|
||||
color: var(--wplace-highlight);
|
||||
margin: 0 0 8px 0;
|
||||
font-size: 13px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
:root .edit-brush-tools,
|
||||
.wplace-theme-classic-light .edit-brush-tools {
|
||||
display: flex;
|
||||
gap: 8px;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
:root .edit-tool-btn,
|
||||
.wplace-theme-classic-light .edit-tool-btn {
|
||||
background: linear-gradient(135deg, #FBFBFB 0%, #E0E0E1 100%);
|
||||
border: 1px solid rgba(0, 0, 0, 0.2);
|
||||
color: var(--wplace-text);
|
||||
border-radius: 6px;
|
||||
padding: 8px 12px;
|
||||
cursor: pointer;
|
||||
transition: all 0.2s ease;
|
||||
font-size: 12px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
}
|
||||
|
||||
:root .edit-tool-btn:hover,
|
||||
.wplace-theme-classic-light .edit-tool-btn:hover {
|
||||
background: linear-gradient(135deg, #E0E0E1 0%, #FBFBFB 100%);
|
||||
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
|
||||
}
|
||||
|
||||
:root .edit-tool-btn.active,
|
||||
.wplace-theme-classic-light .edit-tool-btn.active {
|
||||
background: var(--wplace-highlight);
|
||||
color: white;
|
||||
border-color: var(--wplace-text);
|
||||
box-shadow: 0 0 8px rgba(0, 0, 0, 0.25) inset, 0 0 6px rgba(32, 60, 93, 0.3);
|
||||
}
|
||||
|
||||
:root .edit-color-palette,
|
||||
.wplace-theme-classic-light .edit-color-palette {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(24px, 1fr));
|
||||
gap: 4px;
|
||||
max-height: 150px;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
:root .edit-color-swatch,
|
||||
.wplace-theme-classic-light .edit-color-swatch {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
border: 2px solid rgba(0, 0, 0, 0.3);
|
||||
border-radius: 4px;
|
||||
cursor: pointer;
|
||||
transition: all 0.2s ease;
|
||||
}
|
||||
|
||||
:root .edit-color-swatch:hover,
|
||||
.wplace-theme-classic-light .edit-color-swatch:hover {
|
||||
transform: scale(1.1);
|
||||
border-color: var(--wplace-text);
|
||||
}
|
||||
|
||||
:root .edit-color-swatch.active,
|
||||
.wplace-theme-classic-light .edit-color-swatch.active {
|
||||
border-color: #4facfe;
|
||||
box-shadow: 0 0 8px rgba(79, 172, 254, 0.5);
|
||||
transform: scale(1.1);
|
||||
}
|
||||
|
||||
:root .edit-brush-size-container,
|
||||
.wplace-theme-classic-light .edit-brush-size-container {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
:root .edit-brush-size-slider,
|
||||
.wplace-theme-classic-light .edit-brush-size-slider {
|
||||
width: 100%;
|
||||
background: linear-gradient(to right, #4facfe 0%, #00f2fe 100%);
|
||||
border-radius: 4px;
|
||||
height: 6px;
|
||||
outline: none;
|
||||
appearance: none;
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
|
||||
:root .edit-brush-size-slider::-webkit-slider-thumb,
|
||||
.wplace-theme-classic-light .edit-brush-size-slider::-webkit-slider-thumb {
|
||||
appearance: none;
|
||||
-webkit-appearance: none;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
border-radius: 50%;
|
||||
background: white;
|
||||
border: 2px solid #4facfe;
|
||||
cursor: pointer;
|
||||
transition: all 0.2s ease;
|
||||
}
|
||||
|
||||
:root .edit-brush-size-slider::-webkit-slider-thumb:hover,
|
||||
.wplace-theme-classic-light .edit-brush-size-slider::-webkit-slider-thumb:hover {
|
||||
transform: scale(1.2);
|
||||
}
|
||||
|
||||
:root .edit-brush-size-display,
|
||||
.wplace-theme-classic-light .edit-brush-size-display {
|
||||
color: var(--wplace-text);
|
||||
font-size: 12px;
|
||||
text-align: center;
|
||||
background: rgba(0, 0, 0, 0.1);
|
||||
padding: 4px 8px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
:root .edit-action-buttons,
|
||||
.wplace-theme-classic-light .edit-action-buttons {
|
||||
display: flex;
|
||||
gap: 10px;
|
||||
padding: 10px;
|
||||
background: rgba(0, 0, 0, 0.05);
|
||||
border-top: 1px solid rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
|
||||
:root .edit-btn-primary,
|
||||
.wplace-theme-classic-light .edit-btn-primary {
|
||||
background: linear-gradient(135deg, #4CAF50 0%, #45a049 100%);
|
||||
color: white;
|
||||
border: 1px solid rgba(0, 0, 0, 0.2);
|
||||
border-radius: 6px;
|
||||
padding: 10px 20px;
|
||||
cursor: pointer;
|
||||
font-weight: bold;
|
||||
transition: all 0.2s ease;
|
||||
}
|
||||
|
||||
:root .edit-btn-secondary,
|
||||
.wplace-theme-classic-light .edit-btn-secondary {
|
||||
background: linear-gradient(135deg, #E0E0E1 0%, #FBFBFB 100%);
|
||||
color: var(--wplace-text);
|
||||
border: 1px solid rgba(0, 0, 0, 0.2);
|
||||
border-radius: 6px;
|
||||
padding: 10px 20px;
|
||||
cursor: pointer;
|
||||
transition: all 0.2s ease;
|
||||
}
|
||||
|
||||
:root .edit-btn-primary:hover,
|
||||
.wplace-theme-classic-light .edit-btn-primary:hover {
|
||||
background: linear-gradient(135deg, #45a049 0%, #4CAF50 100%);
|
||||
transform: translateY(-1px);
|
||||
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
|
||||
:root .edit-btn-secondary:hover,
|
||||
.wplace-theme-classic-light .edit-btn-secondary:hover {
|
||||
background: linear-gradient(135deg, #FBFBFB 0%, #E0E0E1 100%);
|
||||
transform: translateY(-1px);
|
||||
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
|
||||
}
|
||||
|
||||
:root .edit-zoom-controls,
|
||||
.wplace-theme-classic-light .edit-zoom-controls {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
:root .edit-zoom-btn,
|
||||
.wplace-theme-classic-light .edit-zoom-btn {
|
||||
background: rgba(0, 0, 0, 0.1);
|
||||
border: 1px solid rgba(0, 0, 0, 0.3);
|
||||
color: var(--wplace-text);
|
||||
border-radius: 4px;
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
cursor: pointer;
|
||||
transition: all 0.2s ease;
|
||||
}
|
||||
|
||||
:root .edit-zoom-btn:hover,
|
||||
.wplace-theme-classic-light .edit-zoom-btn:hover {
|
||||
background: rgba(0, 0, 0, 0.2);
|
||||
border-color: var(--wplace-text);
|
||||
}
|
||||
|
||||
:root .edit-zoom-display,
|
||||
.wplace-theme-classic-light .edit-zoom-display {
|
||||
color: var(--wplace-text);
|
||||
font-size: 12px;
|
||||
min-width: 60px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
:root .edit-instructions,
|
||||
.wplace-theme-classic-light .edit-instructions {
|
||||
color: rgba(0, 0, 0, 0.7);
|
||||
font-size: 11px;
|
||||
margin: 5px 0;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
:root .edit-status-bar,
|
||||
.wplace-theme-classic-light .edit-status-bar {
|
||||
background: rgba(255, 255, 255, 0.3);
|
||||
border-bottom: 1px solid rgba(0, 0, 0, 0.2);
|
||||
padding: 5px 15px;
|
||||
font-size: 11px;
|
||||
color: rgba(0, 0, 0, 0.8);
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
:root .edit-tool,
|
||||
.wplace-theme-classic-light .edit-tool {
|
||||
background: linear-gradient(135deg, #F3F3F3 0%, #FBFBFB 100%);
|
||||
border: 1px solid rgba(0, 0, 0, 0.2);
|
||||
color: var(--wplace-text);
|
||||
border-radius: 6px;
|
||||
padding: 8px 12px;
|
||||
cursor: pointer;
|
||||
transition: all 0.2s ease;
|
||||
font-size: 16px;
|
||||
min-width: 40px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
:root .edit-tool:hover,
|
||||
.wplace-theme-classic-light .edit-tool:hover {
|
||||
background: linear-gradient(135deg, #FBFBFB 0%, #F3F3F3 100%);
|
||||
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
:root .edit-tool.active,
|
||||
.wplace-theme-classic-light .edit-tool.active {
|
||||
background: var(--wplace-highlight);
|
||||
color: white;
|
||||
border-color: var(--wplace-text);
|
||||
box-shadow: 0 0 8px rgba(0, 0, 0, 0.25) inset, 0 0 6px rgba(32, 60, 93, 0.3);
|
||||
}
|
||||
|
||||
:root .edit-toggle,
|
||||
.wplace-theme-classic-light .edit-toggle {
|
||||
background: linear-gradient(135deg, #F3F3F3 0%, #FBFBFB 100%);
|
||||
border: 1px solid rgba(0, 0, 0, 0.2);
|
||||
color: var(--wplace-text);
|
||||
border-radius: 6px;
|
||||
padding: 6px 10px;
|
||||
cursor: pointer;
|
||||
transition: all 0.2s ease;
|
||||
font-size: 14px;
|
||||
min-width: 35px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
:root .edit-toggle:hover,
|
||||
.wplace-theme-classic-light .edit-toggle:hover {
|
||||
background: linear-gradient(135deg, #FBFBFB 0%, #F3F3F3 100%);
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
:root .edit-toggle.active,
|
||||
.wplace-theme-classic-light .edit-toggle.active {
|
||||
background: var(--wplace-highlight);
|
||||
color: white;
|
||||
border-color: var(--wplace-text);
|
||||
box-shadow: 0 0 6px rgba(32, 60, 93, 0.3);
|
||||
}
|
||||
|
||||
:root .edit-slider,
|
||||
.wplace-theme-classic-light .edit-slider {
|
||||
width: 80px;
|
||||
background: linear-gradient(to right, #4facfe 0%, #00f2fe 100%);
|
||||
border-radius: 4px;
|
||||
height: 6px;
|
||||
outline: none;
|
||||
appearance: none;
|
||||
-webkit-appearance: none;
|
||||
margin: 0 8px;
|
||||
}
|
||||
|
||||
:root .edit-color-grid,
|
||||
.wplace-theme-classic-light .edit-color-grid {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
align-items: center;
|
||||
gap: 3px;
|
||||
max-height: 80px;
|
||||
overflow: visible;
|
||||
padding: 4px 0;
|
||||
justify-content: flex-start;
|
||||
flex-direction: row;
|
||||
}
|
||||
|
||||
:root .edit-color-grid::-webkit-scrollbar,
|
||||
.wplace-theme-classic-light .edit-color-grid::-webkit-scrollbar {
|
||||
width: 6px;
|
||||
}
|
||||
|
||||
:root .edit-color-grid::-webkit-scrollbar-track,
|
||||
.wplace-theme-classic-light .edit-color-grid::-webkit-scrollbar-track {
|
||||
background: rgba(0, 0, 0, 0.1);
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
:root .edit-color-grid::-webkit-scrollbar-thumb,
|
||||
.wplace-theme-classic-light .edit-color-grid::-webkit-scrollbar-thumb {
|
||||
background: rgba(0, 0, 0, 0.3);
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
:root .edit-color-grid::-webkit-scrollbar-thumb:hover,
|
||||
.wplace-theme-classic-light .edit-color-grid::-webkit-scrollbar-thumb:hover {
|
||||
background: rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
|
||||
/* Minimap Container & Components */
|
||||
:root .minimap-container,
|
||||
.wplace-theme-classic-light .minimap-container {
|
||||
width: 200px;
|
||||
height: 200px;
|
||||
background: linear-gradient(135deg, #F8F8F8 0%, #EEEEEE 100%);
|
||||
border: 2px solid rgba(0, 0, 0, 0.2);
|
||||
border-radius: 8px;
|
||||
position: absolute;
|
||||
top: 80px;
|
||||
right: 20px;
|
||||
overflow: hidden;
|
||||
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
|
||||
backdrop-filter: blur(10px);
|
||||
flex-shrink: 0;
|
||||
z-index: 1000;
|
||||
}
|
||||
|
||||
:root .minimap-header,
|
||||
.wplace-theme-classic-light .minimap-header {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
height: 24px;
|
||||
background: linear-gradient(135deg, #E0E0E1 0%, #F3F3F3 100%);
|
||||
border-bottom: 1px solid rgba(0, 0, 0, 0.2);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 10px;
|
||||
font-weight: 600;
|
||||
color: var(--wplace-text);
|
||||
z-index: 3;
|
||||
}
|
||||
|
||||
:root .minimap-content,
|
||||
.wplace-theme-classic-light .minimap-content {
|
||||
position: absolute;
|
||||
top: 24px;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
:root .minimap-canvas,
|
||||
.wplace-theme-classic-light .minimap-canvas {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
cursor: crosshair;
|
||||
image-rendering: pixelated;
|
||||
image-rendering: -moz-crisp-edges;
|
||||
image-rendering: crisp-edges;
|
||||
background-image:
|
||||
repeating-conic-gradient(rgba(0, 0, 0, 0.08) 0% 25%, transparent 0% 50%) 50% / 8px 8px;
|
||||
}
|
||||
|
||||
:root .minimap-viewport,
|
||||
.wplace-theme-classic-light .minimap-viewport {
|
||||
position: absolute;
|
||||
border: 2px solid #4A9EFF;
|
||||
background: rgba(74, 158, 255, 0.1);
|
||||
pointer-events: none;
|
||||
z-index: 2;
|
||||
box-shadow: 0 0 8px rgba(74, 158, 255, 0.4);
|
||||
}
|
||||
|
||||
/* Bottom Bar Styles */
|
||||
:root .edit-bottom-bar,
|
||||
.wplace-theme-classic-light .edit-bottom-bar {
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
gap: 12px;
|
||||
padding: 8px 12px;
|
||||
background: linear-gradient(135deg, #E0E0E1 0%, #F3F3F3 100%);
|
||||
border-top: 1px solid rgba(0, 0, 0, 0.2);
|
||||
min-height: 70px;
|
||||
max-height: 120px;
|
||||
overflow: visible;
|
||||
width: 100%;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
:root .edit-info-section,
|
||||
.wplace-theme-classic-light .edit-info-section {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
color: rgba(0, 0, 0, 0.8);
|
||||
font-size: 10px;
|
||||
font-family: monospace;
|
||||
white-space: nowrap;
|
||||
min-width: 180px;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
:root .edit-current-color,
|
||||
.wplace-theme-classic-light .edit-current-color {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
color: var(--wplace-text);
|
||||
font-size: 11px;
|
||||
white-space: nowrap;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
:root .edit-available-colors,
|
||||
.wplace-theme-classic-light .edit-available-colors {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 4px;
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
:root .edit-available-colors label,
|
||||
.wplace-theme-classic-light .edit-available-colors label {
|
||||
color: var(--wplace-text);
|
||||
font-size: 10px;
|
||||
font-weight: 600;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
:root .color-display,
|
||||
.wplace-theme-classic-light .color-display {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
border: 1px solid rgba(0, 0, 0, 0.3);
|
||||
border-radius: 3px;
|
||||
cursor: pointer;
|
||||
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
:root .edit-color-grid .color-btn,
|
||||
.wplace-theme-classic-light .edit-color-grid .color-btn {
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
border: 1px solid rgba(0, 0, 0, 0.3);
|
||||
border-radius: 2px;
|
||||
cursor: pointer;
|
||||
transition: all 0.2s ease;
|
||||
position: relative;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
:root .edit-color-grid .color-btn:hover,
|
||||
.wplace-theme-classic-light .edit-color-grid .color-btn:hover {
|
||||
border-color: rgba(0, 0, 0, 0.6);
|
||||
transform: scale(1.1);
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
:root .edit-color-grid .color-btn.selected,
|
||||
.wplace-theme-classic-light .edit-color-grid .color-btn.selected {
|
||||
border-color: #4facfe;
|
||||
box-shadow: 0 0 8px rgba(79, 172, 254, 0.5);
|
||||
transform: scale(1.1);
|
||||
}
|
||||
|
||||
/* Mobile Responsive Adjustments */
|
||||
@media (max-width: 1024px) {
|
||||
:root .edit-container,
|
||||
.wplace-theme-classic-light .edit-container {
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
min-width: 100vw;
|
||||
min-height: 100vh;
|
||||
top: 0;
|
||||
left: 0;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
:root .edit-nav-controls,
|
||||
.wplace-theme-classic-light .edit-nav-controls {
|
||||
flex-direction: column;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
:root .edit-main-area,
|
||||
.wplace-theme-classic-light .edit-main-area {
|
||||
flex-direction: row;
|
||||
}
|
||||
|
||||
:root .edit-toolbar,
|
||||
.wplace-theme-classic-light .edit-toolbar {
|
||||
width: 60px;
|
||||
min-width: 60px;
|
||||
}
|
||||
|
||||
:root .minimap-container,
|
||||
.wplace-theme-classic-light .minimap-container {
|
||||
top: 80px;
|
||||
right: 8px;
|
||||
transform: scale(0.8);
|
||||
}
|
||||
|
||||
:root .zoom-controls,
|
||||
.wplace-theme-classic-light .zoom-controls {
|
||||
flex-wrap: wrap;
|
||||
gap: 4px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
:root .edit-header,
|
||||
.wplace-theme-classic-light .edit-header {
|
||||
padding: 8px 12px;
|
||||
flex-direction: column;
|
||||
gap: 8px;
|
||||
min-height: 60px;
|
||||
}
|
||||
|
||||
:root .edit-main-area,
|
||||
.wplace-theme-classic-light .edit-main-area {
|
||||
flex-direction: row;
|
||||
}
|
||||
|
||||
:root .edit-toolbar,
|
||||
.wplace-theme-classic-light .edit-toolbar {
|
||||
width: 50px;
|
||||
min-width: 50px;
|
||||
}
|
||||
|
||||
:root .zoom-controls,
|
||||
.wplace-theme-classic-light .zoom-controls {
|
||||
scale: 0.9;
|
||||
}
|
||||
|
||||
:root .minimap-container,
|
||||
.wplace-theme-classic-light .minimap-container {
|
||||
display: none;
|
||||
}
|
||||
|
||||
:root .edit-color-grid .color-btn,
|
||||
.wplace-theme-classic-light .edit-color-grid .color-btn {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
}
|
||||
}
|
||||
|
||||
/* Touch Device Optimizations */
|
||||
@media (hover: none) and (pointer: coarse) {
|
||||
:root .zoom-btn,
|
||||
.wplace-theme-classic-light .zoom-btn {
|
||||
min-width: 44px;
|
||||
min-height: 44px;
|
||||
}
|
||||
}
|
||||
|
||||
/* Move Artwork Panel Styles for Classic Light Theme */
|
||||
.wplace-theme-classic-light .wplace-move-panel {
|
||||
position: fixed;
|
||||
top: 50%;
|
||||
left: 50%;
|
||||
transform: translate(-50%, -50%);
|
||||
background: var(--wplace-primary);
|
||||
border: 2px solid var(--wplace-border-color);
|
||||
border-radius: var(--wplace-radius);
|
||||
padding: 20px;
|
||||
z-index: 10000;
|
||||
box-shadow: var(--wplace-shadow);
|
||||
min-width: 200px;
|
||||
text-align: center;
|
||||
backdrop-filter: var(--wplace-backdrop);
|
||||
font-family: var(--wplace-font);
|
||||
}
|
||||
|
||||
.wplace-theme-classic-light .wplace-move-panel-title {
|
||||
color: var(--wplace-text);
|
||||
margin: 0 0 15px 0;
|
||||
font-size: 16px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.wplace-theme-classic-light .wplace-move-controls {
|
||||
display: grid;
|
||||
grid-template-columns: 1fr 1fr 1fr;
|
||||
gap: 8px;
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
|
||||
.wplace-theme-classic-light .wplace-move-btn {
|
||||
padding: 10px;
|
||||
background: linear-gradient(135deg, #4CAF50 0%, #45a049 100%);
|
||||
color: white;
|
||||
border: 1px solid var(--wplace-border-color);
|
||||
border-radius: var(--wplace-btn-radius);
|
||||
cursor: pointer;
|
||||
font-family: var(--wplace-font);
|
||||
font-size: 14px;
|
||||
transition: all 0.2s ease;
|
||||
box-shadow: 0 2px 4px rgb(0 0 0 / 10%);
|
||||
}
|
||||
|
||||
.wplace-theme-classic-light .wplace-move-btn:hover {
|
||||
background: linear-gradient(135deg, #45a049 0%, #4CAF50 100%);
|
||||
transform: translateY(-1px);
|
||||
box-shadow: 0 4px 8px rgb(0 0 0 / 15%);
|
||||
}
|
||||
|
||||
.wplace-theme-classic-light .wplace-move-btn:active {
|
||||
transform: translateY(0);
|
||||
box-shadow: 0 2px 4px rgb(0 0 0 / 10%);
|
||||
}
|
||||
|
||||
.wplace-theme-classic-light .wplace-move-center {
|
||||
color: var(--wplace-highlight);
|
||||
padding: 10px;
|
||||
font-size: 12px;
|
||||
font-weight: bold;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.wplace-theme-classic-light .wplace-move-close-btn {
|
||||
background: linear-gradient(135deg, #f44336 0%, #d32f2f 100%);
|
||||
color: white;
|
||||
border: 1px solid var(--wplace-border-color);
|
||||
padding: 10px 16px;
|
||||
border-radius: var(--wplace-btn-radius);
|
||||
cursor: pointer;
|
||||
font-family: var(--wplace-font);
|
||||
transition: all 0.2s ease;
|
||||
box-shadow: 0 2px 4px rgb(0 0 0 / 10%);
|
||||
}
|
||||
|
||||
.wplace-theme-classic-light .wplace-move-close-btn:hover {
|
||||
background: linear-gradient(135deg, #d32f2f 0%, #f44336 100%);
|
||||
transform: translateY(-1px);
|
||||
box-shadow: 0 4px 8px rgb(0 0 0 / 15%);
|
||||
}
|
||||
|
||||
.wplace-theme-classic-light .wplace-move-overlay {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background: rgba(0, 0, 0, 0.5);
|
||||
z-index: 9999;
|
||||
backdrop-filter: blur(4px);
|
||||
}
|
||||
|
||||
/* Mobile Responsive Adjustments */
|
||||
@media (max-width: 1024px) {
|
||||
:root .edit-container,
|
||||
.wplace-theme-classic-light .edit-container {
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
min-width: 100vw;
|
||||
min-height: 100vh;
|
||||
top: 0;
|
||||
left: 0;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
:root .edit-nav-controls,
|
||||
.wplace-theme-classic-light .edit-nav-controls {
|
||||
flex-direction: column;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
:root .edit-main-area,
|
||||
.wplace-theme-classic-light .edit-main-area {
|
||||
flex-direction: row;
|
||||
}
|
||||
|
||||
:root .edit-toolbar,
|
||||
.wplace-theme-classic-light .edit-toolbar {
|
||||
width: 60px;
|
||||
min-width: 60px;
|
||||
}
|
||||
|
||||
:root .minimap-container,
|
||||
.wplace-theme-classic-light .minimap-container {
|
||||
top: 80px;
|
||||
right: 8px;
|
||||
transform: scale(0.8);
|
||||
}
|
||||
|
||||
:root .zoom-controls,
|
||||
.wplace-theme-classic-light .zoom-controls {
|
||||
flex-wrap: wrap;
|
||||
gap: 4px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
:root .edit-header,
|
||||
.wplace-theme-classic-light .edit-header {
|
||||
padding: 8px 12px;
|
||||
flex-direction: column;
|
||||
gap: 8px;
|
||||
min-height: 60px;
|
||||
}
|
||||
|
||||
:root .edit-main-area,
|
||||
.wplace-theme-classic-light .edit-main-area {
|
||||
flex-direction: row;
|
||||
}
|
||||
|
||||
:root .edit-toolbar,
|
||||
.wplace-theme-classic-light .edit-toolbar {
|
||||
width: 50px;
|
||||
min-width: 50px;
|
||||
}
|
||||
|
||||
:root .zoom-controls,
|
||||
.wplace-theme-classic-light .zoom-controls {
|
||||
scale: 0.9;
|
||||
}
|
||||
|
||||
:root .minimap-container,
|
||||
.wplace-theme-classic-light .minimap-container {
|
||||
display: none;
|
||||
}
|
||||
|
||||
:root .edit-color-grid .color-btn,
|
||||
.wplace-theme-classic-light .edit-color-grid .color-btn {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
}
|
||||
}
|
||||
|
||||
/* Touch Device Optimizations */
|
||||
@media (hover: none) and (pointer: coarse) {
|
||||
:root .zoom-btn,
|
||||
.wplace-theme-classic-light .zoom-btn {
|
||||
min-width: 44px;
|
||||
min-height: 44px;
|
||||
}
|
||||
|
||||
:root .edit-tool,
|
||||
.wplace-theme-classic-light .edit-tool {
|
||||
min-width: 44px;
|
||||
min-height: 44px;
|
||||
padding: 12px;
|
||||
}
|
||||
|
||||
:root .edit-color-btn,
|
||||
.wplace-theme-classic-light .edit-color-btn {
|
||||
min-width: 20px;
|
||||
min-height: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
/* High DPI Display Optimizations */
|
||||
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
|
||||
:root .edit-canvas,
|
||||
.wplace-theme-classic-light .edit-canvas {
|
||||
image-rendering: -webkit-optimize-contrast;
|
||||
image-rendering: pixelated;
|
||||
}
|
||||
|
||||
:root .minimap-canvas,
|
||||
.wplace-theme-classic-light .minimap-canvas {
|
||||
image-rendering: -webkit-optimize-contrast;
|
||||
image-rendering: pixelated;
|
||||
}
|
||||
}
|
||||
@@ -1029,988 +1029,3 @@
|
||||
backdrop-filter: blur(4px);
|
||||
}
|
||||
|
||||
/* Edit Panel Styles for Classic Theme - Fullscreen Layout */
|
||||
:root .edit-overlay,
|
||||
.wplace-theme-classic .edit-overlay {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
background: rgba(0, 0, 0, 0.95);
|
||||
z-index: 10001;
|
||||
backdrop-filter: blur(8px);
|
||||
}
|
||||
|
||||
/* OLD STYLES - REMOVED - Now using enhanced fullscreen layout */
|
||||
|
||||
:root .edit-header,
|
||||
.wplace-theme-classic .edit-header {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 10px 15px;
|
||||
background: linear-gradient(135deg, #111 0%, #2a2a2a 100%);
|
||||
border-bottom: 1px solid #fff;
|
||||
color: white;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
:root .edit-content,
|
||||
.wplace-theme-classic .edit-content {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
flex: 1;
|
||||
min-height: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
:root .edit-main-area,
|
||||
.wplace-theme-classic .edit-main-area {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex: 1;
|
||||
min-height: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
:root .edit-toolbar,
|
||||
.wplace-theme-classic .edit-toolbar {
|
||||
width: 80px;
|
||||
min-width: 80px;
|
||||
background: rgba(255, 255, 255, 0.05);
|
||||
border-right: 1px solid rgba(255, 255, 255, 0.2);
|
||||
padding: 8px 4px;
|
||||
overflow-y: auto;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
:root .edit-canvas-area,
|
||||
.wplace-theme-classic .edit-canvas-area {
|
||||
flex: 4;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
position: relative;
|
||||
background: #111;
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
:root .edit-canvas-container,
|
||||
.wplace-theme-classic .edit-canvas-container {
|
||||
flex: 1;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
min-height: 400px;
|
||||
max-width: 100%;
|
||||
}
|
||||
|
||||
:root .edit-canvas,
|
||||
.wplace-theme-classic .edit-canvas {
|
||||
border: 1px solid rgba(255, 255, 255, 0.3);
|
||||
cursor: crosshair;
|
||||
image-rendering: pixelated;
|
||||
image-rendering: -moz-crisp-edges;
|
||||
image-rendering: crisp-edges;
|
||||
}
|
||||
|
||||
:root .edit-tool-group,
|
||||
.wplace-theme-classic .edit-tool-group {
|
||||
background: rgba(255, 255, 255, 0.05);
|
||||
border-radius: 6px;
|
||||
padding: 6px 4px;
|
||||
border: 1px solid rgba(255, 255, 255, 0.1);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
:root .edit-tool-group h4,
|
||||
.wplace-theme-classic .edit-tool-group h4 {
|
||||
color: var(--wplace-highlight);
|
||||
margin: 0 0 8px 0;
|
||||
font-size: 13px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
:root .edit-brush-tools,
|
||||
.wplace-theme-classic .edit-brush-tools {
|
||||
display: flex;
|
||||
gap: 8px;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
:root .edit-tool-btn,
|
||||
.wplace-theme-classic .edit-tool-btn {
|
||||
background: linear-gradient(135deg, #222 0%, #4a4a4a 100%);
|
||||
border: 1px solid rgba(255, 255, 255, 0.2);
|
||||
color: white;
|
||||
border-radius: 6px;
|
||||
padding: 8px 12px;
|
||||
cursor: pointer;
|
||||
transition: all 0.2s ease;
|
||||
font-size: 12px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
}
|
||||
|
||||
:root .edit-tool-btn:hover,
|
||||
.wplace-theme-classic .edit-tool-btn:hover {
|
||||
background: linear-gradient(135deg, #4a4a4a 0%, #222 100%);
|
||||
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
|
||||
}
|
||||
|
||||
:root .edit-tool-btn.active,
|
||||
.wplace-theme-classic .edit-tool-btn.active {
|
||||
background: var(--wplace-highlight);
|
||||
color: #000;
|
||||
border-color: white;
|
||||
box-shadow: 0 0 8px rgba(0, 0, 0, 0.25) inset, 0 0 6px rgba(0, 0, 0, 0.2);
|
||||
}
|
||||
|
||||
:root .edit-color-palette,
|
||||
.wplace-theme-classic .edit-color-palette {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(24px, 1fr));
|
||||
gap: 4px;
|
||||
max-height: 150px;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
:root .edit-color-swatch,
|
||||
.wplace-theme-classic .edit-color-swatch {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
border: 2px solid rgba(255, 255, 255, 0.3);
|
||||
border-radius: 4px;
|
||||
cursor: pointer;
|
||||
transition: all 0.2s ease;
|
||||
}
|
||||
|
||||
:root .edit-color-swatch:hover,
|
||||
.wplace-theme-classic .edit-color-swatch:hover {
|
||||
transform: scale(1.1);
|
||||
border-color: white;
|
||||
}
|
||||
|
||||
:root .edit-color-swatch.active,
|
||||
.wplace-theme-classic .edit-color-swatch.active {
|
||||
border-color: #4facfe;
|
||||
box-shadow: 0 0 8px rgba(79, 172, 254, 0.5);
|
||||
transform: scale(1.1);
|
||||
}
|
||||
|
||||
:root .edit-brush-size-container,
|
||||
.wplace-theme-classic .edit-brush-size-container {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
:root .edit-brush-size-slider,
|
||||
.wplace-theme-classic .edit-brush-size-slider {
|
||||
width: 100%;
|
||||
background: linear-gradient(to right, #4facfe 0%, #00f2fe 100%);
|
||||
border-radius: 4px;
|
||||
height: 6px;
|
||||
outline: none;
|
||||
appearance: none;
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
|
||||
:root .edit-brush-size-slider::-webkit-slider-thumb,
|
||||
.wplace-theme-classic .edit-brush-size-slider::-webkit-slider-thumb {
|
||||
appearance: none;
|
||||
-webkit-appearance: none;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
border-radius: 50%;
|
||||
background: white;
|
||||
border: 2px solid #4facfe;
|
||||
cursor: pointer;
|
||||
transition: all 0.2s ease;
|
||||
}
|
||||
|
||||
:root .edit-brush-size-slider::-webkit-slider-thumb:hover,
|
||||
.wplace-theme-classic .edit-brush-size-slider::-webkit-slider-thumb:hover {
|
||||
transform: scale(1.2);
|
||||
}
|
||||
|
||||
:root .edit-brush-size-display,
|
||||
.wplace-theme-classic .edit-brush-size-display {
|
||||
color: white;
|
||||
font-size: 12px;
|
||||
text-align: center;
|
||||
background: rgba(255, 255, 255, 0.1);
|
||||
padding: 4px 8px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
:root .edit-action-buttons,
|
||||
.wplace-theme-classic .edit-action-buttons {
|
||||
display: flex;
|
||||
gap: 10px;
|
||||
padding: 10px;
|
||||
background: rgba(255, 255, 255, 0.05);
|
||||
border-top: 1px solid rgba(255, 255, 255, 0.2);
|
||||
}
|
||||
|
||||
:root .edit-btn-primary,
|
||||
.wplace-theme-classic .edit-btn-primary {
|
||||
background: linear-gradient(135deg, #4CAF50 0%, #45a049 100%);
|
||||
color: white;
|
||||
border: 1px solid rgba(255, 255, 255, 0.2);
|
||||
border-radius: 6px;
|
||||
padding: 10px 20px;
|
||||
cursor: pointer;
|
||||
font-weight: bold;
|
||||
transition: all 0.2s ease;
|
||||
}
|
||||
|
||||
:root .edit-btn-secondary,
|
||||
.wplace-theme-classic .edit-btn-secondary {
|
||||
background: linear-gradient(135deg, #666 0%, #444 100%);
|
||||
color: white;
|
||||
border: 1px solid rgba(255, 255, 255, 0.2);
|
||||
border-radius: 6px;
|
||||
padding: 10px 20px;
|
||||
cursor: pointer;
|
||||
transition: all 0.2s ease;
|
||||
}
|
||||
|
||||
:root .edit-btn-primary:hover,
|
||||
.wplace-theme-classic .edit-btn-primary:hover {
|
||||
background: linear-gradient(135deg, #45a049 0%, #4CAF50 100%);
|
||||
transform: translateY(-1px);
|
||||
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
|
||||
:root .edit-btn-secondary:hover,
|
||||
.wplace-theme-classic .edit-btn-secondary:hover {
|
||||
background: linear-gradient(135deg, #444 0%, #666 100%);
|
||||
transform: translateY(-1px);
|
||||
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
|
||||
:root .edit-zoom-controls,
|
||||
.wplace-theme-classic .edit-zoom-controls {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
:root .edit-zoom-btn,
|
||||
.wplace-theme-classic .edit-zoom-btn {
|
||||
background: rgba(255, 255, 255, 0.1);
|
||||
border: 1px solid rgba(255, 255, 255, 0.3);
|
||||
color: white;
|
||||
border-radius: 4px;
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
cursor: pointer;
|
||||
transition: all 0.2s ease;
|
||||
}
|
||||
|
||||
:root .edit-zoom-btn:hover,
|
||||
.wplace-theme-classic .edit-zoom-btn:hover {
|
||||
background: rgba(255, 255, 255, 0.2);
|
||||
border-color: white;
|
||||
}
|
||||
|
||||
:root .edit-zoom-display,
|
||||
.wplace-theme-classic .edit-zoom-display {
|
||||
color: white;
|
||||
font-size: 12px;
|
||||
min-width: 60px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
/* New Edit Panel Enhancement Styles */
|
||||
|
||||
:root .edit-instructions,
|
||||
.wplace-theme-classic .edit-instructions {
|
||||
color: rgba(255, 255, 255, 0.7);
|
||||
font-size: 11px;
|
||||
margin: 5px 0;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
:root .edit-status-bar,
|
||||
.wplace-theme-classic .edit-status-bar {
|
||||
background: rgba(0, 0, 0, 0.3);
|
||||
border-bottom: 1px solid rgba(255, 255, 255, 0.2);
|
||||
padding: 5px 15px;
|
||||
font-size: 11px;
|
||||
color: rgba(255, 255, 255, 0.8);
|
||||
font-family: monospace;
|
||||
}
|
||||
|
||||
:root .edit-tool,
|
||||
.wplace-theme-classic .edit-tool {
|
||||
background: linear-gradient(135deg, #333 0%, #555 100%);
|
||||
border: 1px solid rgba(255, 255, 255, 0.2);
|
||||
color: white;
|
||||
border-radius: 6px;
|
||||
padding: 8px 12px;
|
||||
cursor: pointer;
|
||||
transition: all 0.2s ease;
|
||||
font-size: 16px;
|
||||
min-width: 40px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
:root .edit-tool:hover,
|
||||
.wplace-theme-classic .edit-tool:hover {
|
||||
background: linear-gradient(135deg, #555 0%, #333 100%);
|
||||
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.4);
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
:root .edit-tool.active,
|
||||
.wplace-theme-classic .edit-tool.active {
|
||||
background: var(--wplace-highlight);
|
||||
color: #000;
|
||||
border-color: white;
|
||||
box-shadow: 0 0 8px rgba(0, 0, 0, 0.25) inset, 0 0 6px rgba(79, 172, 254, 0.5);
|
||||
}
|
||||
|
||||
/* Specific tool styling to ensure proper click handling */
|
||||
:root #fillTool,
|
||||
.wplace-theme-classic #fillTool {
|
||||
position: relative;
|
||||
z-index: 10;
|
||||
pointer-events: auto;
|
||||
}
|
||||
|
||||
:root .edit-toggle,
|
||||
.wplace-theme-classic .edit-toggle {
|
||||
background: linear-gradient(135deg, #333 0%, #555 100%);
|
||||
border: 1px solid rgba(255, 255, 255, 0.2);
|
||||
color: white;
|
||||
border-radius: 6px;
|
||||
padding: 6px 10px;
|
||||
cursor: pointer;
|
||||
transition: all 0.2s ease;
|
||||
font-size: 14px;
|
||||
min-width: 35px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
:root .edit-toggle:hover,
|
||||
.wplace-theme-classic .edit-toggle:hover {
|
||||
background: linear-gradient(135deg, #555 0%, #333 100%);
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
:root .edit-toggle.active,
|
||||
.wplace-theme-classic .edit-toggle.active {
|
||||
background: var(--wplace-highlight);
|
||||
color: #000;
|
||||
border-color: white;
|
||||
box-shadow: 0 0 6px rgba(79, 172, 254, 0.5);
|
||||
}
|
||||
|
||||
:root .edit-slider,
|
||||
.wplace-theme-classic .edit-slider {
|
||||
width: 80px;
|
||||
background: linear-gradient(to right, #4facfe 0%, #00f2fe 100%);
|
||||
border-radius: 4px;
|
||||
height: 6px;
|
||||
outline: none;
|
||||
appearance: none;
|
||||
-webkit-appearance: none;
|
||||
margin: 0 8px;
|
||||
}
|
||||
|
||||
:root .edit-slider::-webkit-slider-thumb,
|
||||
.wplace-theme-classic .edit-slider::-webkit-slider-thumb {
|
||||
appearance: none;
|
||||
-webkit-appearance: none;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
border-radius: 50%;
|
||||
background: white;
|
||||
border: 2px solid #4facfe;
|
||||
cursor: pointer;
|
||||
transition: all 0.2s ease;
|
||||
}
|
||||
|
||||
:root .edit-slider::-webkit-slider-thumb:hover,
|
||||
.wplace-theme-classic .edit-slider::-webkit-slider-thumb:hover {
|
||||
transform: scale(1.2);
|
||||
}
|
||||
|
||||
:root .edit-color-btn,
|
||||
.wplace-theme-classic .edit-color-btn {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
border: 2px solid rgba(255, 255, 255, 0.3);
|
||||
border-radius: 4px;
|
||||
cursor: pointer;
|
||||
transition: all 0.2s ease;
|
||||
margin: 2px;
|
||||
}
|
||||
|
||||
:root .edit-color-btn:hover,
|
||||
.wplace-theme-classic .edit-color-btn:hover {
|
||||
transform: scale(1.15);
|
||||
border-color: white;
|
||||
box-shadow: 0 0 8px rgba(255, 255, 255, 0.3);
|
||||
}
|
||||
|
||||
:root .edit-color-btn.active,
|
||||
.wplace-theme-classic .edit-color-btn.active {
|
||||
border-color: #4facfe;
|
||||
box-shadow: 0 0 8px rgba(79, 172, 254, 0.8);
|
||||
transform: scale(1.15);
|
||||
}
|
||||
|
||||
:root .edit-color-grid,
|
||||
.wplace-theme-classic .edit-color-grid {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
gap: 3px;
|
||||
height: 32px;
|
||||
padding: 2px;
|
||||
background: rgba(0, 0, 0, 0.2);
|
||||
border-radius: 4px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
:root .color-display,
|
||||
.wplace-theme-classic .color-display {
|
||||
width: 30px;
|
||||
height: 20px;
|
||||
border: 2px solid rgba(255, 255, 255, 0.3);
|
||||
border-radius: 4px;
|
||||
margin-left: 8px;
|
||||
background: #000000;
|
||||
}
|
||||
|
||||
:root .zoom-btn,
|
||||
.wplace-theme-classic .zoom-btn {
|
||||
background: rgba(255, 255, 255, 0.1);
|
||||
border: 1px solid rgba(255, 255, 255, 0.3);
|
||||
color: white;
|
||||
border-radius: 4px;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
cursor: pointer;
|
||||
transition: all 0.2s ease;
|
||||
font-size: 14px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
:root .zoom-btn:hover,
|
||||
.wplace-theme-classic .zoom-btn:hover {
|
||||
background: rgba(255, 255, 255, 0.2);
|
||||
border-color: white;
|
||||
transform: translateY(-1px);
|
||||
}
|
||||
|
||||
/* Scrollbar styling for color grid */
|
||||
:root .edit-color-grid::-webkit-scrollbar,
|
||||
.wplace-theme-classic .edit-color-grid::-webkit-scrollbar {
|
||||
width: 6px;
|
||||
}
|
||||
|
||||
:root .edit-color-grid::-webkit-scrollbar-track,
|
||||
.wplace-theme-classic .edit-color-grid::-webkit-scrollbar-track {
|
||||
background: rgba(255, 255, 255, 0.1);
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
:root .edit-color-grid::-webkit-scrollbar-thumb,
|
||||
.wplace-theme-classic .edit-color-grid::-webkit-scrollbar-thumb {
|
||||
background: var(--wplace-highlight);
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
:root .edit-color-grid::-webkit-scrollbar-thumb:hover,
|
||||
.wplace-theme-classic .edit-color-grid::-webkit-scrollbar-thumb:hover {
|
||||
background: #4facfe;
|
||||
}
|
||||
|
||||
/* Enhanced Layout for Fullscreen Canvas with Navigation Bar and Bottom Bar */
|
||||
|
||||
:root .edit-header,
|
||||
.wplace-theme-classic .edit-header {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 12px 20px;
|
||||
background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);
|
||||
border-bottom: 1px solid rgba(255, 255, 255, 0.2);
|
||||
min-height: 70px;
|
||||
}
|
||||
|
||||
:root .edit-header-left,
|
||||
.wplace-theme-classic .edit-header-left {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 4px;
|
||||
}
|
||||
|
||||
:root .edit-header h3,
|
||||
.wplace-theme-classic .edit-header h3 {
|
||||
margin: 0;
|
||||
color: white;
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
:root .edit-instructions,
|
||||
.wplace-theme-classic .edit-instructions {
|
||||
color: rgba(255, 255, 255, 0.7);
|
||||
}
|
||||
|
||||
:root .edit-nav-controls,
|
||||
.wplace-theme-classic .edit-nav-controls {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 20px;
|
||||
}
|
||||
|
||||
:root .zoom-controls,
|
||||
.wplace-theme-classic .zoom-controls {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
background: rgba(255, 255, 255, 0.05);
|
||||
padding: 6px 12px;
|
||||
border-radius: 6px;
|
||||
border: 1px solid rgba(255, 255, 255, 0.1);
|
||||
}
|
||||
|
||||
:root .zoom-select,
|
||||
.wplace-theme-classic .zoom-select {
|
||||
background: linear-gradient(135deg, #333 0%, #555 100%);
|
||||
border: 1px solid rgba(255, 255, 255, 0.2);
|
||||
color: white;
|
||||
border-radius: 4px;
|
||||
padding: 4px 8px;
|
||||
font-size: 11px;
|
||||
cursor: pointer;
|
||||
min-width: 60px;
|
||||
}
|
||||
|
||||
:root .zoom-select:hover,
|
||||
.wplace-theme-classic .zoom-select:hover {
|
||||
background: linear-gradient(135deg, #555 0%, #333 100%);
|
||||
}
|
||||
|
||||
:root .edit-canvas-container,
|
||||
.wplace-theme-classic .edit-canvas-container {
|
||||
flex: 1;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background:
|
||||
linear-gradient(45deg, #f0f0f0 25%, transparent 25%),
|
||||
linear-gradient(-45deg, #f0f0f0 25%, transparent 25%),
|
||||
linear-gradient(45deg, transparent 75%, #f0f0f0 75%),
|
||||
linear-gradient(-45deg, transparent 75%, #f0f0f0 75%);
|
||||
background-size: 20px 20px;
|
||||
background-position: 0 0, 0 10px, 10px -10px, -10px 0px;
|
||||
background-color: #ddd;
|
||||
}
|
||||
|
||||
:root .edit-canvas-wrapper,
|
||||
.wplace-theme-classic .edit-canvas-wrapper {
|
||||
position: relative;
|
||||
transform-origin: center center;
|
||||
display: inline-block;
|
||||
box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
|
||||
border: 2px solid #333;
|
||||
background: white;
|
||||
transition: transform 0.1s ease-out;
|
||||
image-rendering: pixelated;
|
||||
}
|
||||
|
||||
:root .brush-preview,
|
||||
.wplace-theme-classic .brush-preview {
|
||||
position: absolute;
|
||||
pointer-events: none;
|
||||
border: 2px solid rgba(255, 255, 255, 0.8);
|
||||
background: rgba(0, 0, 0, 0.1);
|
||||
z-index: 1000;
|
||||
transform-origin: top left;
|
||||
display: none;
|
||||
box-shadow: 0 0 4px rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
|
||||
:root .minimap-container,
|
||||
.wplace-theme-classic .minimap-container {
|
||||
position: absolute;
|
||||
top: 16px;
|
||||
right: 16px;
|
||||
background: rgba(0, 0, 0, 0.85);
|
||||
border: 1px solid #666;
|
||||
border-radius: 6px;
|
||||
padding: 8px;
|
||||
z-index: 100;
|
||||
backdrop-filter: blur(4px);
|
||||
box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
|
||||
}
|
||||
|
||||
:root .minimap-header,
|
||||
.wplace-theme-classic .minimap-header {
|
||||
color: white;
|
||||
font-size: 10px;
|
||||
margin-bottom: 6px;
|
||||
text-align: center;
|
||||
font-weight: 600;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.5px;
|
||||
}
|
||||
|
||||
:root .minimap-content,
|
||||
.wplace-theme-classic .minimap-content {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
:root .minimap-canvas,
|
||||
.wplace-theme-classic .minimap-canvas {
|
||||
border: 1px solid #999;
|
||||
cursor: pointer;
|
||||
display: block;
|
||||
image-rendering: pixelated;
|
||||
image-rendering: -moz-crisp-edges;
|
||||
image-rendering: crisp-edges;
|
||||
}
|
||||
|
||||
:root .minimap-canvas:hover,
|
||||
.wplace-theme-classic .minimap-canvas:hover {
|
||||
border-color: #4facfe;
|
||||
}
|
||||
|
||||
:root .minimap-viewport,
|
||||
.wplace-theme-classic .minimap-viewport {
|
||||
position: absolute;
|
||||
border: 2px solid #ff6b6b;
|
||||
background: rgba(255, 107, 107, 0.2);
|
||||
pointer-events: none;
|
||||
box-shadow: inset 0 0 4px rgba(255, 107, 107, 0.5);
|
||||
transition: all 0.1s ease;
|
||||
}
|
||||
|
||||
/* Almost Fullscreen Layout Design */
|
||||
|
||||
:root .edit-container,
|
||||
.wplace-theme-classic .edit-container {
|
||||
background: linear-gradient(135deg, #1a1a1a 0%, #2d2d2d 100%);
|
||||
border-radius: 8px;
|
||||
box-shadow: 0 15px 60px rgba(0, 0, 0, 0.7);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
width: 98vw;
|
||||
height: 98vh;
|
||||
max-width: 98vw;
|
||||
max-height: 98vh;
|
||||
min-width: 1000px;
|
||||
min-height: 700px;
|
||||
overflow: hidden;
|
||||
backdrop-filter: blur(15px);
|
||||
border: 1px solid rgba(255, 255, 255, 0.1);
|
||||
position: fixed;
|
||||
top: 1vh;
|
||||
left: 1vw;
|
||||
z-index: 10000;
|
||||
}
|
||||
|
||||
:root .edit-main,
|
||||
.wplace-theme-classic .edit-main {
|
||||
display: flex;
|
||||
flex: 1;
|
||||
min-height: 0;
|
||||
}
|
||||
|
||||
:root .edit-canvas-area,
|
||||
.wplace-theme-classic .edit-canvas-area {
|
||||
flex: 4;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
min-width: 0;
|
||||
min-height: 0;
|
||||
background: linear-gradient(135deg, #2a2a2a 0%, #1a1a1a 100%);
|
||||
}
|
||||
|
||||
/* Bottom Bar Styles */
|
||||
:root .edit-bottom-bar,
|
||||
.wplace-theme-classic .edit-bottom-bar {
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
gap: 12px;
|
||||
padding: 8px 12px;
|
||||
background: linear-gradient(135deg, #2d2d2d 0%, #1a1a1a 100%);
|
||||
border-top: 1px solid rgba(255, 255, 255, 0.2);
|
||||
min-height: 70px;
|
||||
max-height: 120px;
|
||||
overflow: visible;
|
||||
width: 100%;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
:root .edit-info-section,
|
||||
.wplace-theme-classic .edit-info-section {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
color: rgba(255, 255, 255, 0.8);
|
||||
font-size: 10px;
|
||||
font-family: monospace;
|
||||
white-space: nowrap;
|
||||
min-width: 180px;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
:root .edit-current-color,
|
||||
.wplace-theme-classic .edit-current-color {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
color: white;
|
||||
font-size: 11px;
|
||||
white-space: nowrap;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
:root .edit-available-colors,
|
||||
.wplace-theme-classic .edit-available-colors {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 4px;
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
:root .edit-available-colors label,
|
||||
.wplace-theme-classic .edit-available-colors label {
|
||||
color: white;
|
||||
font-size: 10px;
|
||||
font-weight: 600;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
:root .color-display,
|
||||
.wplace-theme-classic .color-display {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
border: 1px solid rgba(255, 255, 255, 0.3);
|
||||
border-radius: 3px;
|
||||
cursor: pointer;
|
||||
box-shadow: 0 1px 4px rgba(0, 0, 0, 0.3);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
:root .edit-color-grid,
|
||||
.wplace-theme-classic .edit-color-grid {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
align-items: center;
|
||||
gap: 3px;
|
||||
max-height: 80px;
|
||||
overflow: visible;
|
||||
padding: 4px 0;
|
||||
justify-content: flex-start;
|
||||
flex-direction: row;
|
||||
}
|
||||
|
||||
:root .edit-color-grid .color-btn,
|
||||
.wplace-theme-classic .edit-color-grid .color-btn {
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
border: 1px solid rgba(255, 255, 255, 0.3);
|
||||
border-radius: 2px;
|
||||
cursor: pointer;
|
||||
transition: all 0.2s ease;
|
||||
position: relative;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
:root .edit-color-grid .color-btn:hover,
|
||||
.wplace-theme-classic .edit-color-grid .color-btn:hover {
|
||||
border-color: rgba(255, 255, 255, 0.6);
|
||||
transform: scale(1.1);
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
:root .edit-color-grid .color-btn.selected,
|
||||
.wplace-theme-classic .edit-color-grid .color-btn.selected {
|
||||
border-color: #4facfe;
|
||||
box-shadow: 0 0 8px rgba(79, 172, 254, 0.5);
|
||||
transform: scale(1.1);
|
||||
}
|
||||
|
||||
/* Mobile Responsive Adjustments */
|
||||
@media (max-width: 1024px) {
|
||||
|
||||
:root .edit-container,
|
||||
.wplace-theme-classic .edit-container {
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
min-width: 100vw;
|
||||
min-height: 100vh;
|
||||
top: 0;
|
||||
left: 0;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
:root .edit-nav-controls,
|
||||
.wplace-theme-classic .edit-nav-controls {
|
||||
flex-direction: column;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
:root .edit-main-area,
|
||||
.wplace-theme-classic .edit-main-area {
|
||||
flex-direction: row;
|
||||
}
|
||||
|
||||
:root .edit-toolbar,
|
||||
.wplace-theme-classic .edit-toolbar {
|
||||
width: 60px;
|
||||
min-width: 60px;
|
||||
}
|
||||
|
||||
:root .minimap-container,
|
||||
.wplace-theme-classic .minimap-container {
|
||||
top: 80px;
|
||||
right: 8px;
|
||||
transform: scale(0.8);
|
||||
}
|
||||
|
||||
:root .zoom-controls,
|
||||
.wplace-theme-classic .zoom-controls {
|
||||
flex-wrap: wrap;
|
||||
gap: 4px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
|
||||
:root .edit-header,
|
||||
.wplace-theme-classic .edit-header {
|
||||
padding: 8px 12px;
|
||||
flex-direction: column;
|
||||
gap: 8px;
|
||||
min-height: 60px;
|
||||
}
|
||||
|
||||
:root .edit-main-area,
|
||||
.wplace-theme-classic .edit-main-area {
|
||||
flex-direction: row;
|
||||
}
|
||||
|
||||
:root .edit-toolbar,
|
||||
.wplace-theme-classic .edit-toolbar {
|
||||
width: 50px;
|
||||
min-width: 50px;
|
||||
}
|
||||
|
||||
:root .zoom-controls,
|
||||
.wplace-theme-classic .zoom-controls {
|
||||
scale: 0.9;
|
||||
}
|
||||
|
||||
:root .minimap-container,
|
||||
.wplace-theme-classic .minimap-container {
|
||||
display: none;
|
||||
}
|
||||
|
||||
:root .edit-color-grid .color-btn,
|
||||
.wplace-theme-classic .edit-color-grid .color-btn {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
}
|
||||
}
|
||||
|
||||
/* Touch Device Optimizations */
|
||||
@media (hover: none) and (pointer: coarse) {
|
||||
|
||||
:root .zoom-btn,
|
||||
.wplace-theme-classic .zoom-btn {
|
||||
min-width: 44px;
|
||||
min-height: 44px;
|
||||
}
|
||||
|
||||
:root .edit-tool,
|
||||
.wplace-theme-classic .edit-tool {
|
||||
min-width: 44px;
|
||||
min-height: 44px;
|
||||
padding: 12px;
|
||||
}
|
||||
|
||||
:root .edit-color-btn,
|
||||
.wplace-theme-classic .edit-color-btn {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
}
|
||||
}
|
||||
|
||||
/* High DPI Display Support */
|
||||
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
|
||||
|
||||
:root .edit-canvas,
|
||||
.wplace-theme-classic .edit-canvas {
|
||||
image-rendering: pixelated;
|
||||
image-rendering: -moz-crisp-edges;
|
||||
image-rendering: crisp-edges;
|
||||
}
|
||||
|
||||
:root .minimap-canvas,
|
||||
.wplace-theme-classic .minimap-canvas {
|
||||
image-rendering: pixelated;
|
||||
image-rendering: -moz-crisp-edges;
|
||||
image-rendering: crisp-edges;
|
||||
}
|
||||
}
|
||||
|
||||
/* Animation and Transition Enhancements */
|
||||
:root .edit-canvas-wrapper,
|
||||
.wplace-theme-classic .edit-canvas-wrapper {
|
||||
transition: transform 0.15s cubic-bezier(0.4, 0, 0.2, 1);
|
||||
}
|
||||
|
||||
:root .minimap-viewport,
|
||||
.wplace-theme-classic .minimap-viewport {
|
||||
transition: all 0.1s cubic-bezier(0.4, 0, 0.2, 1);
|
||||
}
|
||||
|
||||
:root .zoom-btn,
|
||||
.wplace-theme-classic .zoom-btn {
|
||||
transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
|
||||
}
|
||||
|
||||
:root .zoom-btn:active,
|
||||
.wplace-theme-classic .zoom-btn:active {
|
||||
transform: translateY(1px) scale(0.95);
|
||||
}
|
||||
@@ -814,322 +814,3 @@
|
||||
50% { box-shadow: 0 0 15px var(--wplace-error); }
|
||||
}
|
||||
|
||||
/* Edit Panel Styles for Neon Cyan Theme */
|
||||
:root .edit-overlay,
|
||||
.wplace-theme-neon-cyan .edit-overlay {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
background: rgba(25, 89, 161, 0.95);
|
||||
z-index: 10001;
|
||||
backdrop-filter: blur(8px);
|
||||
}
|
||||
|
||||
:root .edit-container,
|
||||
.wplace-theme-neon-cyan .edit-container {
|
||||
background: linear-gradient(135deg, #1959A1 0%, #3C74AF 100%);
|
||||
border-radius: 0;
|
||||
box-shadow: 0 0 20px rgba(234, 156, 0, 0.3), inset 0 0 20px rgba(234, 156, 0, 0.1);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
width: 98vw;
|
||||
height: 98vh;
|
||||
max-width: 98vw;
|
||||
max-height: 98vh;
|
||||
min-width: 1000px;
|
||||
min-height: 700px;
|
||||
overflow: hidden;
|
||||
border: 3px solid #EA9C00;
|
||||
position: fixed;
|
||||
top: 1vh;
|
||||
left: 1vw;
|
||||
z-index: 10000;
|
||||
}
|
||||
|
||||
:root .edit-header,
|
||||
.wplace-theme-neon-cyan .edit-header {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 12px 20px;
|
||||
background: linear-gradient(135deg, #3C74AF 0%, #538CC0 100%);
|
||||
border-bottom: 3px solid #EA9C00;
|
||||
min-height: 70px;
|
||||
}
|
||||
|
||||
:root .edit-header h3,
|
||||
.wplace-theme-neon-cyan .edit-header h3 {
|
||||
margin: 0;
|
||||
color: #81DCF7;
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
text-shadow: 0 0 10px #EA9C00;
|
||||
}
|
||||
|
||||
:root .edit-main,
|
||||
.wplace-theme-neon-cyan .edit-main {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
flex: 1;
|
||||
min-height: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
:root .edit-main-area,
|
||||
.wplace-theme-neon-cyan .edit-main-area {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex: 1;
|
||||
min-height: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
:root .edit-toolbar,
|
||||
.wplace-theme-neon-cyan .edit-toolbar {
|
||||
width: 80px;
|
||||
min-width: 80px;
|
||||
background: rgba(0, 191, 255, 0.1);
|
||||
border-right: 3px solid #00bfff;
|
||||
padding: 8px 4px;
|
||||
overflow-y: auto;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
box-shadow: inset 0 0 20px rgba(0, 191, 255, 0.2);
|
||||
}
|
||||
|
||||
:root .edit-tool-group,
|
||||
.wplace-theme-neon-cyan .edit-tool-group {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 4px;
|
||||
width: 100%;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
:root .edit-canvas-area,
|
||||
.wplace-theme-neon-cyan .edit-canvas-area {
|
||||
flex: 4;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
min-width: 0;
|
||||
min-height: 0;
|
||||
background: linear-gradient(135deg, #538CC0 0%, #1959A1 100%);
|
||||
}
|
||||
|
||||
:root .edit-canvas-container,
|
||||
.wplace-theme-neon-cyan .edit-canvas-container {
|
||||
flex: 1;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background:
|
||||
linear-gradient(45deg, #2a4d6b 25%, transparent 25%),
|
||||
linear-gradient(-45deg, #2a4d6b 25%, transparent 25%),
|
||||
linear-gradient(45deg, transparent 75%, #2a4d6b 75%),
|
||||
linear-gradient(-45deg, transparent 75%, #2a4d6b 75%);
|
||||
background-size: 20px 20px;
|
||||
background-position: 0 0, 0 10px, 10px -10px, -10px 0px;
|
||||
background-color: #1d3a5c;
|
||||
}
|
||||
|
||||
:root .edit-canvas-wrapper,
|
||||
.wplace-theme-neon-cyan .edit-canvas-wrapper {
|
||||
position: relative;
|
||||
transform-origin: center center;
|
||||
display: inline-block;
|
||||
box-shadow: 0 0 20px rgba(234, 156, 0, 0.5);
|
||||
border: 3px solid #EA9C00;
|
||||
background: white;
|
||||
transition: transform 0.1s ease-out;
|
||||
image-rendering: pixelated;
|
||||
}
|
||||
|
||||
:root .edit-bottom-bar,
|
||||
.wplace-theme-neon-cyan .edit-bottom-bar {
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
gap: 12px;
|
||||
padding: 8px 12px;
|
||||
background: linear-gradient(135deg, #3C74AF 0%, #538CC0 100%);
|
||||
border-top: 3px solid #EA9C00;
|
||||
min-height: 70px;
|
||||
max-height: 120px;
|
||||
overflow: visible;
|
||||
width: 100%;
|
||||
position: relative;
|
||||
flex-shrink: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
:root .edit-info-section,
|
||||
.wplace-theme-neon-cyan .edit-info-section {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
color: rgba(0, 191, 255, 0.8);
|
||||
font-size: 10px;
|
||||
font-family: monospace;
|
||||
white-space: nowrap;
|
||||
min-width: 180px;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
:root .edit-current-color,
|
||||
.wplace-theme-neon-cyan .edit-current-color {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
margin-left: 12px;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
:root .edit-color-swatch,
|
||||
.wplace-theme-neon-cyan .edit-color-swatch {
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
border: 1px solid #00bfff;
|
||||
border-radius: 2px;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
/* Minimap Styles */
|
||||
:root .minimap-container,
|
||||
.wplace-theme-neon-cyan .minimap-container {
|
||||
position: absolute;
|
||||
top: 16px;
|
||||
right: 16px;
|
||||
background: rgba(0, 0, 0, 0.9);
|
||||
border: 2px solid #00bfff;
|
||||
border-radius: 6px;
|
||||
padding: 8px;
|
||||
z-index: 100;
|
||||
backdrop-filter: blur(4px);
|
||||
box-shadow: 0 0 20px rgba(0, 191, 255, 0.3);
|
||||
}
|
||||
|
||||
:root .minimap-header,
|
||||
.wplace-theme-neon-cyan .minimap-header {
|
||||
color: #00bfff;
|
||||
font-size: 10px;
|
||||
margin-bottom: 6px;
|
||||
text-align: center;
|
||||
font-weight: 600;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.5px;
|
||||
text-shadow: 0 0 5px rgba(0, 191, 255, 0.5);
|
||||
}
|
||||
|
||||
:root .minimap-content,
|
||||
.wplace-theme-neon-cyan .minimap-content {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
:root .minimap-canvas,
|
||||
.wplace-theme-neon-cyan .minimap-canvas {
|
||||
border: 1px solid #00bfff;
|
||||
cursor: pointer;
|
||||
display: block;
|
||||
image-rendering: pixelated;
|
||||
image-rendering: -moz-crisp-edges;
|
||||
image-rendering: crisp-edges;
|
||||
}
|
||||
|
||||
:root .minimap-canvas:hover,
|
||||
.wplace-theme-neon-cyan .minimap-canvas:hover {
|
||||
border-color: #4facfe;
|
||||
box-shadow: 0 0 10px rgba(0, 191, 255, 0.5);
|
||||
}
|
||||
|
||||
:root .minimap-viewport,
|
||||
.wplace-theme-neon-cyan .minimap-viewport {
|
||||
position: absolute;
|
||||
border: 2px solid #ff6b6b;
|
||||
background: rgba(255, 107, 107, 0.2);
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
:root .edit-color-grid,
|
||||
.wplace-theme-neon-cyan .edit-color-grid {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
align-items: center;
|
||||
gap: 3px;
|
||||
max-height: 80px;
|
||||
overflow: visible;
|
||||
padding: 4px 0;
|
||||
justify-content: flex-start;
|
||||
flex-direction: row;
|
||||
}
|
||||
|
||||
:root .edit-color-grid .color-btn,
|
||||
.wplace-theme-neon-cyan .edit-color-grid .color-btn {
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
border: 2px solid #EA9C00;
|
||||
border-radius: 0;
|
||||
cursor: pointer;
|
||||
transition: all 0.2s ease;
|
||||
position: relative;
|
||||
flex-shrink: 0;
|
||||
box-shadow: 0 0 5px rgba(234, 156, 0, 0.3);
|
||||
}
|
||||
|
||||
:root .edit-color-grid .color-btn:hover,
|
||||
.wplace-theme-neon-cyan .edit-color-grid .color-btn:hover {
|
||||
border-color: #81DCF7;
|
||||
transform: scale(1.1);
|
||||
z-index: 10;
|
||||
box-shadow: 0 0 10px rgba(129, 220, 247, 0.5);
|
||||
}
|
||||
|
||||
:root .edit-color-grid .color-btn.selected,
|
||||
.wplace-theme-neon-cyan .edit-color-grid .color-btn.selected {
|
||||
border-color: #81DCF7;
|
||||
box-shadow: 0 0 15px rgba(129, 220, 247, 0.8);
|
||||
transform: scale(1.1);
|
||||
}
|
||||
|
||||
:root .zoom-controls,
|
||||
.wplace-theme-neon-cyan .zoom-controls {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
background: rgba(234, 156, 0, 0.1);
|
||||
padding: 6px 12px;
|
||||
border-radius: 0;
|
||||
border: 2px solid #EA9C00;
|
||||
}
|
||||
|
||||
:root .zoom-btn,
|
||||
.wplace-theme-neon-cyan .zoom-btn {
|
||||
background: rgba(234, 156, 0, 0.1);
|
||||
border: 2px solid #EA9C00;
|
||||
color: #81DCF7;
|
||||
border-radius: 0;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
cursor: pointer;
|
||||
transition: all 0.2s ease;
|
||||
font-size: 14px;
|
||||
font-weight: bold;
|
||||
text-shadow: 0 0 5px #EA9C00;
|
||||
}
|
||||
|
||||
:root .zoom-btn:hover,
|
||||
.wplace-theme-neon-cyan .zoom-btn:hover {
|
||||
background: rgba(234, 156, 0, 0.2);
|
||||
border-color: #81DCF7;
|
||||
color: #81DCF7;
|
||||
transform: translateY(-1px);
|
||||
box-shadow: 0 0 10px rgba(129, 220, 247, 0.5);
|
||||
}
|
||||
@@ -880,321 +880,3 @@
|
||||
}
|
||||
}
|
||||
|
||||
/* Edit Panel Styles for Neon Light Theme */
|
||||
:root .edit-overlay,
|
||||
.wplace-theme-neon-light .edit-overlay {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
background: rgba(224, 224, 225, 0.95);
|
||||
z-index: 10001;
|
||||
backdrop-filter: blur(8px);
|
||||
}
|
||||
|
||||
:root .edit-container,
|
||||
.wplace-theme-neon-light .edit-container {
|
||||
background: linear-gradient(135deg, #E0E0E1 0%, #FBFBFB 100%);
|
||||
border-radius: 0;
|
||||
box-shadow: 0 0 20px rgba(234, 156, 0, 0.3), inset 0 0 20px rgba(234, 156, 0, 0.1);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
width: 98vw;
|
||||
height: 98vh;
|
||||
max-width: 98vw;
|
||||
max-height: 98vh;
|
||||
min-width: 1000px;
|
||||
min-height: 700px;
|
||||
overflow: hidden;
|
||||
border: 3px solid #203C5D;
|
||||
position: fixed;
|
||||
top: 1vh;
|
||||
left: 1vw;
|
||||
z-index: 10000;
|
||||
}
|
||||
|
||||
:root .edit-header,
|
||||
.wplace-theme-neon-light .edit-header {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 12px 20px;
|
||||
background: linear-gradient(135deg, #FBFBFB 0%, #F3F3F3 100%);
|
||||
border-bottom: 3px solid #203C5D;
|
||||
min-height: 70px;
|
||||
}
|
||||
|
||||
:root .edit-header h3,
|
||||
.wplace-theme-neon-light .edit-header h3 {
|
||||
margin: 0;
|
||||
color: #203C5D;
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
text-shadow: 0 0 10px rgba(234, 156, 0, 0.5);
|
||||
}
|
||||
|
||||
:root .edit-main,
|
||||
.wplace-theme-neon-light .edit-main {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
flex: 1;
|
||||
min-height: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
:root .edit-main-area,
|
||||
.wplace-theme-neon-light .edit-main-area {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex: 1;
|
||||
min-height: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
:root .edit-toolbar,
|
||||
.wplace-theme-neon-light .edit-toolbar {
|
||||
width: 80px;
|
||||
min-width: 80px;
|
||||
background: rgba(96, 165, 250, 0.1);
|
||||
border-right: 3px solid #60a5fa;
|
||||
padding: 8px 4px;
|
||||
overflow-y: auto;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
box-shadow: inset 0 0 20px rgba(96, 165, 250, 0.2);
|
||||
}
|
||||
|
||||
:root .edit-tool-group,
|
||||
.wplace-theme-neon-light .edit-tool-group {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 4px;
|
||||
width: 100%;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
:root .edit-canvas-area,
|
||||
.wplace-theme-neon-light .edit-canvas-area {
|
||||
flex: 4;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
min-width: 0;
|
||||
min-height: 0;
|
||||
background: linear-gradient(135deg, #F3F3F3 0%, #E0E0E1 100%);
|
||||
}
|
||||
|
||||
:root .edit-canvas-container,
|
||||
.wplace-theme-neon-light .edit-canvas-container {
|
||||
flex: 1;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background:
|
||||
linear-gradient(45deg, #f0f0f0 25%, transparent 25%),
|
||||
linear-gradient(-45deg, #f0f0f0 25%, transparent 25%),
|
||||
linear-gradient(45deg, transparent 75%, #f0f0f0 75%),
|
||||
linear-gradient(-45deg, transparent 75%, #f0f0f0 75%);
|
||||
background-size: 20px 20px;
|
||||
background-position: 0 0, 0 10px, 10px -10px, -10px 0px;
|
||||
background-color: #ddd;
|
||||
}
|
||||
|
||||
:root .edit-canvas-wrapper,
|
||||
.wplace-theme-neon-light .edit-canvas-wrapper {
|
||||
position: relative;
|
||||
transform-origin: center center;
|
||||
display: inline-block;
|
||||
box-shadow: 0 0 20px rgba(234, 156, 0, 0.3);
|
||||
border: 3px solid #203C5D;
|
||||
background: white;
|
||||
transition: transform 0.1s ease-out;
|
||||
image-rendering: pixelated;
|
||||
}
|
||||
|
||||
:root .edit-bottom-bar,
|
||||
.wplace-theme-neon-light .edit-bottom-bar {
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
gap: 12px;
|
||||
padding: 8px 12px;
|
||||
background: linear-gradient(135deg, #FBFBFB 0%, #F3F3F3 100%);
|
||||
border-top: 3px solid #203C5D;
|
||||
min-height: 70px;
|
||||
max-height: 120px;
|
||||
overflow: visible;
|
||||
width: 100%;
|
||||
position: relative;
|
||||
flex-shrink: 0;
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
:root .edit-info-section,
|
||||
.wplace-theme-neon-light .edit-info-section {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
color: rgba(32, 60, 93, 0.9);
|
||||
font-size: 10px;
|
||||
font-family: monospace;
|
||||
white-space: nowrap;
|
||||
min-width: 180px;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
:root .edit-current-color,
|
||||
.wplace-theme-neon-light .edit-current-color {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
margin-left: 12px;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
:root .edit-color-swatch,
|
||||
.wplace-theme-neon-light .edit-color-swatch {
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
border: 1px solid #60a5fa;
|
||||
border-radius: 2px;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
/* Minimap Styles */
|
||||
:root .minimap-container,
|
||||
.wplace-theme-neon-light .minimap-container {
|
||||
position: absolute;
|
||||
top: 16px;
|
||||
right: 16px;
|
||||
background: rgba(255, 255, 255, 0.95);
|
||||
border: 2px solid #60a5fa;
|
||||
border-radius: 6px;
|
||||
padding: 8px;
|
||||
z-index: 100;
|
||||
backdrop-filter: blur(4px);
|
||||
box-shadow: 0 0 20px rgba(96, 165, 250, 0.3);
|
||||
}
|
||||
|
||||
:root .minimap-header,
|
||||
.wplace-theme-neon-light .minimap-header {
|
||||
color: #203C5D;
|
||||
font-size: 10px;
|
||||
margin-bottom: 6px;
|
||||
text-align: center;
|
||||
font-weight: 600;
|
||||
text-transform: uppercase;
|
||||
letter-spacing: 0.5px;
|
||||
}
|
||||
|
||||
:root .minimap-content,
|
||||
.wplace-theme-neon-light .minimap-content {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
:root .minimap-canvas,
|
||||
.wplace-theme-neon-light .minimap-canvas {
|
||||
border: 1px solid #60a5fa;
|
||||
cursor: pointer;
|
||||
display: block;
|
||||
image-rendering: pixelated;
|
||||
image-rendering: -moz-crisp-edges;
|
||||
image-rendering: crisp-edges;
|
||||
}
|
||||
|
||||
:root .minimap-canvas:hover,
|
||||
.wplace-theme-neon-light .minimap-canvas:hover {
|
||||
border-color: #4facfe;
|
||||
box-shadow: 0 0 10px rgba(96, 165, 250, 0.5);
|
||||
}
|
||||
|
||||
:root .minimap-viewport,
|
||||
.wplace-theme-neon-light .minimap-viewport {
|
||||
position: absolute;
|
||||
border: 2px solid #ff6b6b;
|
||||
background: rgba(255, 107, 107, 0.2);
|
||||
pointer-events: none;
|
||||
}
|
||||
|
||||
:root .edit-color-grid,
|
||||
.wplace-theme-neon-light .edit-color-grid {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
align-items: center;
|
||||
gap: 3px;
|
||||
max-height: 80px;
|
||||
overflow: visible;
|
||||
padding: 4px 0;
|
||||
justify-content: flex-start;
|
||||
flex-direction: row;
|
||||
}
|
||||
|
||||
:root .edit-color-grid .color-btn,
|
||||
.wplace-theme-neon-light .edit-color-grid .color-btn {
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
border: 2px solid #203C5D;
|
||||
border-radius: 0;
|
||||
cursor: pointer;
|
||||
transition: all 0.2s ease;
|
||||
position: relative;
|
||||
flex-shrink: 0;
|
||||
box-shadow: 0 0 5px rgba(32, 60, 93, 0.3);
|
||||
}
|
||||
|
||||
:root .edit-color-grid .color-btn:hover,
|
||||
.wplace-theme-neon-light .edit-color-grid .color-btn:hover {
|
||||
border-color: #ff1493;
|
||||
transform: scale(1.1);
|
||||
z-index: 10;
|
||||
box-shadow: 0 0 10px rgba(255, 20, 147, 0.5);
|
||||
}
|
||||
|
||||
:root .edit-color-grid .color-btn.selected,
|
||||
.wplace-theme-neon-light .edit-color-grid .color-btn.selected {
|
||||
border-color: #ff1493;
|
||||
box-shadow: 0 0 15px rgba(255, 20, 147, 0.8);
|
||||
transform: scale(1.1);
|
||||
}
|
||||
|
||||
:root .zoom-controls,
|
||||
.wplace-theme-neon-light .zoom-controls {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
background: rgba(32, 60, 93, 0.1);
|
||||
padding: 6px 12px;
|
||||
border-radius: 0;
|
||||
border: 2px solid #203C5D;
|
||||
}
|
||||
|
||||
:root .zoom-btn,
|
||||
.wplace-theme-neon-light .zoom-btn {
|
||||
background: rgba(32, 60, 93, 0.1);
|
||||
border: 2px solid #203C5D;
|
||||
color: #203C5D;
|
||||
border-radius: 0;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
cursor: pointer;
|
||||
transition: all 0.2s ease;
|
||||
font-size: 14px;
|
||||
font-weight: bold;
|
||||
text-shadow: 0 0 5px rgba(234, 156, 0, 0.5);
|
||||
}
|
||||
|
||||
:root .zoom-btn:hover,
|
||||
.wplace-theme-neon-light .zoom-btn:hover {
|
||||
background: rgba(32, 60, 93, 0.2);
|
||||
border-color: #ff1493;
|
||||
color: #ff1493;
|
||||
transform: translateY(-1px);
|
||||
box-shadow: 0 0 10px rgba(255, 20, 147, 0.5);
|
||||
}
|
||||
@@ -927,764 +927,3 @@
|
||||
text-shadow: 0 0 8px #00bfff;
|
||||
}
|
||||
|
||||
/* Edit Panel Styles for Neon Theme - Complete Fullscreen Layout */
|
||||
:root .edit-overlay,
|
||||
.wplace-theme-neon .edit-overlay {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
background: rgba(26, 26, 46, 0.95);
|
||||
z-index: 10001;
|
||||
backdrop-filter: blur(8px);
|
||||
}
|
||||
|
||||
/* Enhanced Container Layout */
|
||||
:root .edit-container,
|
||||
.wplace-theme-neon .edit-container {
|
||||
background: var(--wplace-primary);
|
||||
border-radius: 0;
|
||||
box-shadow: 0 0 30px var(--wplace-text), inset 0 0 30px rgb(0 255 65 / 10%);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
width: 98vw;
|
||||
height: 98vh;
|
||||
max-width: 98vw;
|
||||
max-height: 98vh;
|
||||
min-width: 1000px;
|
||||
min-height: 700px;
|
||||
overflow: hidden;
|
||||
backdrop-filter: blur(15px);
|
||||
border: 2px solid var(--wplace-text);
|
||||
position: fixed;
|
||||
top: 1vh;
|
||||
left: 1vw;
|
||||
z-index: 10000;
|
||||
}
|
||||
|
||||
:root .edit-main,
|
||||
.wplace-theme-neon .edit-main {
|
||||
display: flex;
|
||||
flex: 1;
|
||||
min-height: 0;
|
||||
}
|
||||
|
||||
/* Enhanced Header Layout */
|
||||
:root .edit-header,
|
||||
.wplace-theme-neon .edit-header {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 12px 20px;
|
||||
background: var(--wplace-secondary);
|
||||
border-bottom: 2px solid var(--wplace-text);
|
||||
min-height: 70px;
|
||||
}
|
||||
|
||||
:root .edit-header-left,
|
||||
.wplace-theme-neon .edit-header-left {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 4px;
|
||||
}
|
||||
|
||||
:root .edit-header h3,
|
||||
.wplace-theme-neon .edit-header h3 {
|
||||
margin: 0;
|
||||
color: var(--wplace-text);
|
||||
font-size: 18px;
|
||||
font-weight: 600;
|
||||
text-shadow: 0 0 10px var(--wplace-text);
|
||||
font-family: var(--wplace-font);
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
:root .edit-instructions,
|
||||
.wplace-theme-neon .edit-instructions {
|
||||
color: rgba(0, 255, 65, 0.7);
|
||||
font-family: var(--wplace-font);
|
||||
font-size: 8px;
|
||||
text-transform: uppercase;
|
||||
text-shadow: 0 0 5px var(--wplace-text);
|
||||
}
|
||||
|
||||
:root .edit-nav-controls,
|
||||
.wplace-theme-neon .edit-nav-controls {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 20px;
|
||||
}
|
||||
|
||||
/* Zoom Controls */
|
||||
:root .zoom-controls,
|
||||
.wplace-theme-neon .zoom-controls {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
background: rgba(0, 255, 65, 0.05);
|
||||
padding: 6px 12px;
|
||||
border-radius: 0;
|
||||
border: 2px solid var(--wplace-text);
|
||||
box-shadow: 0 0 15px var(--wplace-text);
|
||||
}
|
||||
|
||||
:root .zoom-select,
|
||||
.wplace-theme-neon .zoom-select {
|
||||
background: var(--wplace-secondary);
|
||||
border: 2px solid var(--wplace-text);
|
||||
color: var(--wplace-text);
|
||||
border-radius: 0;
|
||||
padding: 4px 8px;
|
||||
font-size: 11px;
|
||||
cursor: pointer;
|
||||
min-width: 60px;
|
||||
font-family: var(--wplace-font);
|
||||
text-shadow: 0 0 5px var(--wplace-text);
|
||||
}
|
||||
|
||||
:root .zoom-select:hover,
|
||||
.wplace-theme-neon .zoom-select:hover {
|
||||
box-shadow: 0 0 15px var(--wplace-text);
|
||||
animation: pixel-blink 0.5s infinite;
|
||||
}
|
||||
|
||||
/* Content Layout */
|
||||
:root .edit-content,
|
||||
.wplace-theme-neon .edit-content {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
flex: 1;
|
||||
min-height: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
:root .edit-main-area,
|
||||
.wplace-theme-neon .edit-main-area {
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
flex: 1;
|
||||
min-height: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
/* Toolbar Styling */
|
||||
:root .edit-toolbar,
|
||||
.wplace-theme-neon .edit-toolbar {
|
||||
width: 80px;
|
||||
min-width: 80px;
|
||||
background: var(--wplace-secondary);
|
||||
border-right: 2px solid var(--wplace-text);
|
||||
padding: 8px 4px;
|
||||
overflow-y: auto;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
box-shadow: 0 0 20px var(--wplace-text);
|
||||
}
|
||||
|
||||
:root .edit-canvas-area,
|
||||
.wplace-theme-neon .edit-canvas-area {
|
||||
flex: 1;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
background: var(--wplace-primary);
|
||||
position: relative;
|
||||
overflow: auto;
|
||||
border-right: 2px solid var(--wplace-text);
|
||||
}
|
||||
|
||||
/* Canvas Container with Neon Background Pattern */
|
||||
:root .edit-canvas-container,
|
||||
.wplace-theme-neon .edit-canvas-container {
|
||||
flex: 1;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
background-image:
|
||||
repeating-conic-gradient(rgba(0, 255, 65, 0.08) 0% 25%, transparent 0% 50%) 50% / 20px 20px;
|
||||
}
|
||||
|
||||
:root .edit-canvas,
|
||||
.wplace-theme-neon .edit-canvas {
|
||||
border: 2px solid var(--wplace-text);
|
||||
cursor: crosshair;
|
||||
image-rendering: pixelated;
|
||||
image-rendering: -moz-crisp-edges;
|
||||
image-rendering: crisp-edges;
|
||||
background-image:
|
||||
repeating-conic-gradient(rgba(0, 255, 65, 0.08) 0% 25%, transparent 0% 50%) 50% / 20px 20px;
|
||||
box-shadow: 0 0 20px var(--wplace-text);
|
||||
}
|
||||
|
||||
:root .edit-canvas-wrapper,
|
||||
.wplace-theme-neon .edit-canvas-wrapper {
|
||||
position: relative;
|
||||
transform-origin: center center;
|
||||
display: inline-block;
|
||||
box-shadow: 0 0 30px var(--wplace-text);
|
||||
border: 2px solid var(--wplace-text);
|
||||
background: var(--wplace-primary);
|
||||
transition: transform 0.1s ease-out;
|
||||
image-rendering: pixelated;
|
||||
}
|
||||
|
||||
/* Tool Groups */
|
||||
:root .edit-tool-group,
|
||||
.wplace-theme-neon .edit-tool-group {
|
||||
background: rgba(0, 255, 65, 0.05);
|
||||
border-radius: 0;
|
||||
padding: 6px 4px;
|
||||
border: 2px solid var(--wplace-text);
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: center;
|
||||
gap: 4px;
|
||||
width: 100%;
|
||||
box-shadow: 0 0 15px var(--wplace-text);
|
||||
}
|
||||
|
||||
:root .edit-tool-group h4,
|
||||
.wplace-theme-neon .edit-tool-group h4 {
|
||||
color: var(--wplace-text);
|
||||
margin: 0 0 8px 0;
|
||||
font-size: 13px;
|
||||
font-weight: 600;
|
||||
text-shadow: 0 0 8px var(--wplace-text);
|
||||
font-family: var(--wplace-font);
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
/* Tool Buttons */
|
||||
:root .edit-tool-btn,
|
||||
.wplace-theme-neon .edit-tool-btn {
|
||||
background: var(--wplace-secondary);
|
||||
border: 2px solid var(--wplace-text);
|
||||
color: var(--wplace-text);
|
||||
border-radius: 0;
|
||||
padding: 8px 12px;
|
||||
cursor: pointer;
|
||||
transition: all 0.2s ease;
|
||||
font-size: 12px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
font-family: var(--wplace-font);
|
||||
text-shadow: 0 0 5px var(--wplace-text);
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
:root .edit-tool-btn:hover,
|
||||
.wplace-theme-neon .edit-tool-btn:hover {
|
||||
box-shadow: 0 0 20px var(--wplace-text);
|
||||
animation: pixel-blink 0.5s infinite;
|
||||
}
|
||||
|
||||
:root .edit-tool-btn.active,
|
||||
.wplace-theme-neon .edit-tool-btn.active {
|
||||
background: var(--wplace-text);
|
||||
color: var(--wplace-primary);
|
||||
border-color: var(--wplace-text);
|
||||
box-shadow: 0 0 25px var(--wplace-text);
|
||||
}
|
||||
|
||||
/* Brush Preview */
|
||||
:root .brush-preview,
|
||||
.wplace-theme-neon .brush-preview {
|
||||
position: absolute;
|
||||
pointer-events: none;
|
||||
border: 2px solid var(--wplace-text);
|
||||
background: rgba(0, 255, 65, 0.1);
|
||||
z-index: 1000;
|
||||
transform-origin: top left;
|
||||
display: none;
|
||||
box-shadow: 0 0 15px var(--wplace-text);
|
||||
}
|
||||
|
||||
/* Color Palette */
|
||||
:root .edit-color-palette,
|
||||
.wplace-theme-neon .edit-color-palette {
|
||||
display: grid;
|
||||
grid-template-columns: repeat(auto-fill, minmax(24px, 1fr));
|
||||
gap: 4px;
|
||||
max-height: 150px;
|
||||
overflow-y: auto;
|
||||
}
|
||||
|
||||
:root .edit-color-swatch,
|
||||
.wplace-theme-neon .edit-color-swatch {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
border: 2px solid var(--wplace-text);
|
||||
border-radius: 0;
|
||||
cursor: pointer;
|
||||
transition: all 0.2s ease;
|
||||
box-shadow: 0 0 8px var(--wplace-text);
|
||||
}
|
||||
|
||||
:root .edit-color-swatch:hover,
|
||||
.wplace-theme-neon .edit-color-swatch:hover {
|
||||
transform: scale(1.1);
|
||||
box-shadow: 0 0 15px var(--wplace-text);
|
||||
}
|
||||
|
||||
:root .edit-color-swatch.active,
|
||||
.wplace-theme-neon .edit-color-swatch.active {
|
||||
border-color: var(--wplace-highlight);
|
||||
box-shadow: 0 0 20px var(--wplace-highlight);
|
||||
transform: scale(1.1);
|
||||
}
|
||||
|
||||
/* Brush Size Controls */
|
||||
:root .edit-brush-size-container,
|
||||
.wplace-theme-neon .edit-brush-size-container {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
:root .edit-brush-size-slider,
|
||||
.wplace-theme-neon .edit-brush-size-slider {
|
||||
width: 100%;
|
||||
background: var(--wplace-secondary);
|
||||
border-radius: 0;
|
||||
height: 6px;
|
||||
outline: none;
|
||||
appearance: none;
|
||||
-webkit-appearance: none;
|
||||
border: 1px solid var(--wplace-text);
|
||||
box-shadow: 0 0 10px var(--wplace-text);
|
||||
}
|
||||
|
||||
:root .edit-brush-size-slider::-webkit-slider-thumb,
|
||||
.wplace-theme-neon .edit-brush-size-slider::-webkit-slider-thumb {
|
||||
appearance: none;
|
||||
-webkit-appearance: none;
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
border-radius: 0;
|
||||
background: var(--wplace-text);
|
||||
border: 2px solid var(--wplace-text);
|
||||
cursor: pointer;
|
||||
transition: all 0.2s ease;
|
||||
box-shadow: 0 0 10px var(--wplace-text);
|
||||
}
|
||||
|
||||
:root .edit-brush-size-slider::-webkit-slider-thumb:hover,
|
||||
.wplace-theme-neon .edit-brush-size-slider::-webkit-slider-thumb:hover {
|
||||
transform: scale(1.2);
|
||||
box-shadow: 0 0 20px var(--wplace-text);
|
||||
}
|
||||
|
||||
:root .edit-brush-size-display,
|
||||
.wplace-theme-neon .edit-brush-size-display {
|
||||
color: var(--wplace-text);
|
||||
font-size: 12px;
|
||||
text-align: center;
|
||||
background: rgba(0, 255, 65, 0.1);
|
||||
padding: 4px 8px;
|
||||
border-radius: 0;
|
||||
border: 1px solid var(--wplace-text);
|
||||
font-family: var(--wplace-font);
|
||||
text-shadow: 0 0 5px var(--wplace-text);
|
||||
}
|
||||
|
||||
/* Action Buttons */
|
||||
:root .edit-action-buttons,
|
||||
.wplace-theme-neon .edit-action-buttons {
|
||||
display: flex;
|
||||
gap: 10px;
|
||||
padding: 10px;
|
||||
background: var(--wplace-secondary);
|
||||
border-top: 2px solid var(--wplace-text);
|
||||
}
|
||||
|
||||
:root .edit-btn-primary,
|
||||
.wplace-theme-neon .edit-btn-primary {
|
||||
background: var(--wplace-secondary);
|
||||
color: var(--wplace-success);
|
||||
border: 2px solid var(--wplace-success);
|
||||
border-radius: 0;
|
||||
padding: 10px 20px;
|
||||
cursor: pointer;
|
||||
font-weight: bold;
|
||||
transition: all 0.2s ease;
|
||||
font-family: var(--wplace-font);
|
||||
text-shadow: 0 0 8px var(--wplace-success);
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
:root .edit-btn-secondary,
|
||||
.wplace-theme-neon .edit-btn-secondary {
|
||||
background: var(--wplace-secondary);
|
||||
color: var(--wplace-text);
|
||||
border: 2px solid var(--wplace-text);
|
||||
border-radius: 0;
|
||||
padding: 10px 20px;
|
||||
cursor: pointer;
|
||||
transition: all 0.2s ease;
|
||||
font-family: var(--wplace-font);
|
||||
text-shadow: 0 0 5px var(--wplace-text);
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
:root .edit-btn-primary:hover,
|
||||
.wplace-theme-neon .edit-btn-primary:hover {
|
||||
box-shadow: 0 0 20px var(--wplace-success);
|
||||
animation: pixel-blink 0.5s infinite;
|
||||
}
|
||||
|
||||
:root .edit-btn-secondary:hover,
|
||||
.wplace-theme-neon .edit-btn-secondary:hover {
|
||||
box-shadow: 0 0 15px var(--wplace-text);
|
||||
animation: pixel-blink 0.5s infinite;
|
||||
}
|
||||
|
||||
/* Zoom Controls */
|
||||
:root .edit-zoom-controls,
|
||||
.wplace-theme-neon .edit-zoom-controls {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
:root .edit-zoom-btn,
|
||||
.wplace-theme-neon .edit-zoom-btn {
|
||||
background: var(--wplace-secondary);
|
||||
border: 2px solid var(--wplace-text);
|
||||
color: var(--wplace-text);
|
||||
border-radius: 0;
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
cursor: pointer;
|
||||
transition: all 0.2s ease;
|
||||
font-family: var(--wplace-font);
|
||||
text-shadow: 0 0 5px var(--wplace-text);
|
||||
}
|
||||
|
||||
:root .edit-zoom-btn:hover,
|
||||
.wplace-theme-neon .edit-zoom-btn:hover {
|
||||
box-shadow: 0 0 15px var(--wplace-text);
|
||||
animation: pixel-blink 0.5s infinite;
|
||||
}
|
||||
|
||||
/* Minimap Container & Components */
|
||||
:root .minimap-container,
|
||||
.wplace-theme-neon .minimap-container {
|
||||
width: 200px;
|
||||
height: 200px;
|
||||
background: var(--wplace-primary);
|
||||
border: 2px solid var(--wplace-text);
|
||||
border-radius: 0;
|
||||
position: absolute;
|
||||
top: 80px;
|
||||
right: 20px;
|
||||
overflow: hidden;
|
||||
box-shadow: 0 0 25px var(--wplace-text), inset 0 0 20px rgb(0 255 65 / 10%);
|
||||
backdrop-filter: blur(10px);
|
||||
flex-shrink: 0;
|
||||
z-index: 1000;
|
||||
}
|
||||
|
||||
:root .minimap-header,
|
||||
.wplace-theme-neon .minimap-header {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
height: 24px;
|
||||
background: var(--wplace-secondary);
|
||||
border-bottom: 1px solid var(--wplace-text);
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
font-size: 10px;
|
||||
font-weight: 600;
|
||||
color: var(--wplace-text);
|
||||
z-index: 3;
|
||||
font-family: var(--wplace-font);
|
||||
text-transform: uppercase;
|
||||
text-shadow: 0 0 5px var(--wplace-text);
|
||||
}
|
||||
|
||||
:root .minimap-content,
|
||||
.wplace-theme-neon .minimap-content {
|
||||
position: absolute;
|
||||
top: 24px;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
:root .minimap-canvas,
|
||||
.wplace-theme-neon .minimap-canvas {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
cursor: crosshair;
|
||||
image-rendering: pixelated;
|
||||
image-rendering: -moz-crisp-edges;
|
||||
image-rendering: crisp-edges;
|
||||
background-image:
|
||||
repeating-conic-gradient(rgba(0, 255, 65, 0.08) 0% 25%, transparent 0% 50%) 50% / 8px 8px;
|
||||
border: 1px solid var(--wplace-text);
|
||||
}
|
||||
|
||||
:root .minimap-canvas:hover,
|
||||
.wplace-theme-neon .minimap-canvas:hover {
|
||||
border-color: var(--wplace-highlight);
|
||||
box-shadow: 0 0 10px var(--wplace-highlight);
|
||||
}
|
||||
|
||||
:root .minimap-viewport,
|
||||
.wplace-theme-neon .minimap-viewport {
|
||||
position: absolute;
|
||||
border: 2px solid var(--wplace-highlight);
|
||||
background: rgba(255, 107, 53, 0.1);
|
||||
pointer-events: none;
|
||||
z-index: 2;
|
||||
box-shadow: 0 0 15px var(--wplace-highlight);
|
||||
}
|
||||
|
||||
/* Bottom Bar Styles */
|
||||
:root .edit-bottom-bar,
|
||||
.wplace-theme-neon .edit-bottom-bar {
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
gap: 12px;
|
||||
padding: 8px 12px;
|
||||
background: var(--wplace-secondary);
|
||||
border-top: 2px solid var(--wplace-text);
|
||||
min-height: 70px;
|
||||
max-height: 120px;
|
||||
overflow: visible;
|
||||
width: 100%;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
:root .edit-info-section,
|
||||
.wplace-theme-neon .edit-info-section {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
color: var(--wplace-text);
|
||||
font-size: 10px;
|
||||
font-family: var(--wplace-font);
|
||||
white-space: nowrap;
|
||||
min-width: 180px;
|
||||
flex-shrink: 0;
|
||||
text-shadow: 0 0 5px var(--wplace-text);
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
:root .edit-current-color,
|
||||
.wplace-theme-neon .edit-current-color {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 6px;
|
||||
color: var(--wplace-text);
|
||||
font-size: 11px;
|
||||
white-space: nowrap;
|
||||
flex-shrink: 0;
|
||||
font-family: var(--wplace-font);
|
||||
text-shadow: 0 0 5px var(--wplace-text);
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
:root .edit-available-colors,
|
||||
.wplace-theme-neon .edit-available-colors {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 4px;
|
||||
flex: 1;
|
||||
min-width: 0;
|
||||
}
|
||||
|
||||
:root .edit-available-colors label,
|
||||
.wplace-theme-neon .edit-available-colors label {
|
||||
color: var(--wplace-text);
|
||||
font-size: 10px;
|
||||
font-weight: 600;
|
||||
margin: 0;
|
||||
font-family: var(--wplace-font);
|
||||
text-shadow: 0 0 5px var(--wplace-text);
|
||||
text-transform: uppercase;
|
||||
}
|
||||
|
||||
:root .color-display,
|
||||
.wplace-theme-neon .color-display {
|
||||
width: 24px;
|
||||
height: 24px;
|
||||
border: 2px solid var(--wplace-text);
|
||||
border-radius: 0;
|
||||
cursor: pointer;
|
||||
box-shadow: 0 0 8px var(--wplace-text);
|
||||
flex-shrink: 0;
|
||||
}
|
||||
|
||||
:root .edit-color-grid,
|
||||
.wplace-theme-neon .edit-color-grid {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
align-items: center;
|
||||
gap: 3px;
|
||||
max-height: 80px;
|
||||
overflow: visible;
|
||||
padding: 4px 0;
|
||||
justify-content: flex-start;
|
||||
flex-direction: row;
|
||||
}
|
||||
|
||||
:root .edit-color-grid .color-btn,
|
||||
.wplace-theme-neon .edit-color-grid .color-btn {
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
border: 2px solid var(--wplace-text);
|
||||
border-radius: 0;
|
||||
cursor: pointer;
|
||||
transition: all 0.2s ease;
|
||||
position: relative;
|
||||
flex-shrink: 0;
|
||||
box-shadow: 0 0 8px var(--wplace-text);
|
||||
}
|
||||
|
||||
:root .edit-color-grid .color-btn:hover,
|
||||
.wplace-theme-neon .edit-color-grid .color-btn:hover {
|
||||
transform: scale(1.1);
|
||||
box-shadow: 0 0 15px var(--wplace-text);
|
||||
}
|
||||
|
||||
:root .edit-color-grid .color-btn.active,
|
||||
.wplace-theme-neon .edit-color-grid .color-btn.active {
|
||||
border-color: var(--wplace-highlight);
|
||||
box-shadow: 0 0 20px var(--wplace-highlight);
|
||||
transform: scale(1.2);
|
||||
}
|
||||
|
||||
/* Mobile Responsive Adjustments */
|
||||
@media (max-width: 1024px) {
|
||||
:root .edit-container,
|
||||
.wplace-theme-neon .edit-container {
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
min-width: 100vw;
|
||||
min-height: 100vh;
|
||||
top: 0;
|
||||
left: 0;
|
||||
border-radius: 0;
|
||||
}
|
||||
|
||||
:root .edit-nav-controls,
|
||||
.wplace-theme-neon .edit-nav-controls {
|
||||
flex-direction: column;
|
||||
gap: 8px;
|
||||
}
|
||||
|
||||
:root .edit-main-area,
|
||||
.wplace-theme-neon .edit-main-area {
|
||||
flex-direction: row;
|
||||
}
|
||||
|
||||
:root .edit-toolbar,
|
||||
.wplace-theme-neon .edit-toolbar {
|
||||
width: 60px;
|
||||
min-width: 60px;
|
||||
}
|
||||
|
||||
:root .minimap-container,
|
||||
.wplace-theme-neon .minimap-container {
|
||||
top: 80px;
|
||||
right: 8px;
|
||||
transform: scale(0.8);
|
||||
}
|
||||
|
||||
:root .zoom-controls,
|
||||
.wplace-theme-neon .zoom-controls {
|
||||
flex-wrap: wrap;
|
||||
gap: 4px;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 768px) {
|
||||
:root .edit-header,
|
||||
.wplace-theme-neon .edit-header {
|
||||
padding: 8px 12px;
|
||||
flex-direction: column;
|
||||
gap: 8px;
|
||||
min-height: 60px;
|
||||
}
|
||||
|
||||
:root .edit-main-area,
|
||||
.wplace-theme-neon .edit-main-area {
|
||||
flex-direction: row;
|
||||
}
|
||||
|
||||
:root .edit-toolbar,
|
||||
.wplace-theme-neon .edit-toolbar {
|
||||
width: 50px;
|
||||
min-width: 50px;
|
||||
}
|
||||
|
||||
:root .zoom-controls,
|
||||
.wplace-theme-neon .zoom-controls {
|
||||
scale: 0.9;
|
||||
}
|
||||
|
||||
:root .minimap-container,
|
||||
.wplace-theme-neon .minimap-container {
|
||||
display: none;
|
||||
}
|
||||
|
||||
:root .edit-color-grid .color-btn,
|
||||
.wplace-theme-neon .edit-color-grid .color-btn {
|
||||
width: 16px;
|
||||
height: 16px;
|
||||
}
|
||||
}
|
||||
|
||||
/* Touch Device Optimizations */
|
||||
@media (hover: none) and (pointer: coarse) {
|
||||
:root .zoom-btn,
|
||||
.wplace-theme-neon .zoom-btn {
|
||||
min-width: 44px;
|
||||
min-height: 44px;
|
||||
}
|
||||
|
||||
:root .edit-tool,
|
||||
.wplace-theme-neon .edit-tool {
|
||||
min-width: 44px;
|
||||
min-height: 44px;
|
||||
padding: 12px;
|
||||
}
|
||||
|
||||
:root .edit-color-btn,
|
||||
.wplace-theme-neon .edit-color-btn {
|
||||
min-width: 20px;
|
||||
min-height: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
/* High DPI Display Optimizations */
|
||||
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
|
||||
:root .edit-canvas,
|
||||
.wplace-theme-neon .edit-canvas {
|
||||
image-rendering: -webkit-optimize-contrast;
|
||||
image-rendering: pixelated;
|
||||
}
|
||||
|
||||
:root .minimap-canvas,
|
||||
.wplace-theme-neon .minimap-canvas {
|
||||
image-rendering: -webkit-optimize-contrast;
|
||||
image-rendering: pixelated;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user