add pixel art editor,autobuy toggle

This commit is contained in:
MiraclePatrickLumowa authored and GitHub committed 2025-09-25 04:38:57 +08:00
1 parent 366dc170b6
commit 811e7e17e3
7 files changed
+6471 -225

No files matched your search

File diff suppressed because it is too large. Load diff
File diff suppressed because it is too large. Load diff
+883 -2
View File
@@ -775,6 +775,775 @@
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;
@@ -870,8 +1639,120 @@
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;
}
}
+975
View File
@@ -478,6 +478,7 @@
:root .wplace-slider::-webkit-slider-thumb,
.wplace-theme-classic .wplace-slider::-webkit-slider-thumb {
appearance: none;
-webkit-appearance: none;
width: 16px;
height: 16px;
@@ -1026,3 +1027,977 @@
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);
}
: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);
}
+320
View File
@@ -813,3 +813,323 @@
0%, 100% { box-shadow: 0 0 5px var(--wplace-error); }
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);
}
+319
View File
@@ -879,3 +879,322 @@
inset 0 0 15px rgba(255, 7, 58, 0.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);
}
+761
View File
@@ -927,3 +927,764 @@
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;
}
}