:root {--bg: #1a0d2b;--panel: #0e1627;--card: #2b1a47;--text: #e6eef6;--muted: #b8a4d2;--accent: #a100a1;--glass: rgba(161, 0, 161, 0.08);--panel-2: #1f1a38;--viewer-bg: #120822;--text-color: #e6eef6;--line: rgba(255, 255, 255, 0.09);--accent-2: #c44cff;--danger: #ef4444;--radius: 8px;--shadow: 0 14px 38px rgba(0, 0, 0, 0.45);--gap: 12px;--transition: 200ms;--max-width: 95%;--repeat-gradient: repeating-linear-gradient(0deg, rgba(255, 255, 255, 0.05) 0 1px, transparent 1px 48px);--font-family: 'Inter', ui-sans-serif, system-ui, Segoe UI, Roboto, Helvetica, Arial;}* {box-sizing: border-box;}html, body {min-height: 100%;margin: 0;background: var(--bg);color: var(--text-color);font-family: var(--font-family);transition: background 0.2s, color 0.2s;}.center {width: 100%;margin: 5px auto 10px auto;padding: clamp(20px, 5vw, 40px) clamp(12px, 2vw, 20px);}.about-hero {text-align: center;padding: clamp(5px, 2vw, 10px) clamp(12px, 2vw, 20px);background: var(--repeat-gradient);}.about-hero h1 {font-size: clamp(1.5rem, 4vw, 2rem);margin-bottom: clamp(12px, 2vw, 20px);width: 100%;}.about-hero p {font-size: clamp(0.9rem, 2.5vw, 1.1rem);max-width: 600px;margin: 0 auto clamp(16px, 3vw, 30px);color: var(--muted);}.cta-buttons {display: flex;gap: clamp(12px, 2vw, 16px);justify-content: center;flex-wrap: wrap;}.cta-button {padding: clamp(10px, 1.5vw, 12px) clamp(16px, 2.5vw, 24px);font-size: clamp(1rem, 2vw, 1.1rem);font-weight: 600;color: var(--text);background: var(--accent);border: none;border-radius: 6px;cursor: pointer;transition: background 0.3s ease, transform 0.2s ease;}.cta-button:hover, .cta-button:focus {transform: translateY(-5px);box-shadow: 0 5px 15px var(--glass);}.cta-button.secondary {background: var(--card);border: 1px solid var(--glass);color: var(--text);}body {overflow-x: hidden;}button, input, select, textarea {font: inherit;}button {min-height: 40px;border: 0;border-radius: var(--radius);padding: 9px 12px;background: var(--accent);color: #06220f;cursor: pointer;font-weight: 750;transition: filter 0.15s;}button:hover {filter: brightness(1.08);}button.secondary {background: var(--panel-2);color: var(--text-color);border: 1px solid var(--line);}button.small, .icon-button {min-height: 34px;padding: 6px 10px;}.icon-button {width: 38px;font-size: 18px;line-height: 1;}input, select, textarea {width: 100%;border: 1px solid var(--line);border-radius: var(--radius);background: var(--panel-2);color: var(--text-color);padding: 9px 10px;transition: border-color 0.15s, background 0.2s, color 0.2s;}input:focus, select:focus, textarea:focus {outline: none;border-color: var(--accent);}input[type="checkbox"] {width: 18px;height: 18px;accent-color: var(--accent);}input[type="color"] {height: 42px;padding: 4px;}input[type="range"] {accent-color: var(--accent);}textarea {min-height: 170px;resize: vertical;font-family: ui-monospace, SFMono-Regular, Consolas, Liberation Mono, monospace;font-size: 12px;line-height: 1.45;}label {display: grid;gap: 6px;color: var(--muted);font-size: 13px;}a {color: var(--accent-2);text-decoration: none;}.muted {color: var(--muted);font-size: 13px;}.warning-text {color: var(--danger);font-weight: 750;}.app {display: grid;grid-template-columns: minmax(280px, 340px) minmax(360px, 1fr) minmax(260px, 330px);grid-template-areas: "left main right" "status status status";gap: 12px;height: calc(100vh - 1px);padding: 12px;}.left, .right, .canvas-wrap, .statusbar {border: 1px solid var(--line);background: var(--panel);border-radius: var(--radius);box-shadow: var(--shadow);}.left {grid-area: left;overflow: auto;padding: 12px;}.right {grid-area: right;overflow: auto;padding: 12px;}.canvas-wrap {grid-area: main;min-height: 0;display: grid;grid-template-rows: auto minmax(0, 1fr) auto;gap: 10px;padding: 12px;transition: all 0.2s;}.canvas-wrap--maximized {position: fixed;inset: 0;z-index: 200;border-radius: 0;height: 100dvh;}.viewer--maximized {min-height: 0 !important;height: 100%;}.panel-header, .tool-bar, .statusbar, .slice-row, .toolbar-actions, .action-row, .preset-row {display: flex;align-items: center;gap: 8px;}.panel-header {justify-content: space-between;margin-bottom: 12px;}.panel-header h2 {margin: 0;font-size: 18px;}#countBlocks {color: var(--accent);font-size: 13px;font-weight: 800;}.tool-bar {justify-content: space-between;flex-wrap: wrap;}.tool-bar strong {display: block;margin-bottom: 2px;}.toolbar-actions {margin-left: auto;}.control-card {margin-bottom: 10px;border: 1px solid var(--line);border-radius: var(--radius);background: rgba(255,255,255,0.03);overflow: clip;}.control-card summary {cursor: pointer;padding: 11px 12px;font-weight: 800;list-style-position: inside;background: rgba(255,255,255,0.035);user-select: none;}.control-card > *:not(summary) {margin: 12px;}.control-grid {display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap: 10px;}.conditional-field[hidden], .coordinates-card[hidden], .coord-hover[hidden] {display: none;}.switch-grid {display: grid;gap: 10px;}.switch-grid label, .wide-switch {display: flex;align-items: center;gap: 8px;color: var(--text-color);}.preset-row, .action-row {flex-wrap: wrap;}.preset-row button, .action-row button {flex: 1 1 auto;}.sticky-actions {position: sticky;bottom: 0;padding-top: 10px;background: linear-gradient(180deg, rgba(23,27,34,0), var(--panel) 34%);}.block-select-wrap {display: flex;align-items: center;gap: 8px;}.block-select-wrap select {flex: 1;}.block-preview-icon {width: 22px;height: 22px;border-radius: 4px;border: 1px solid var(--line);flex-shrink: 0;background: #888;transition: background 0.15s;}.viewer {position: relative;min-height: 420px;overflow: hidden;border-radius: var(--radius);background: var(--viewer-bg);touch-action: none;}canvas#grid {display: block;width: 100%;height: 100%;touch-action: none;}.ghost, .mini-controls, .coord-hover {position: absolute;z-index: 2;}.ghost {top: 10px;right: 10px;border: 1px solid var(--line);border-radius: var(--radius);background: rgb(230 238 246 / 0.6);color: #0e0f10;padding: 7px 9px;font-weight: 800;font-size: 13px;}.coord-hover {top: 10px;left: 10px;display: grid;gap: 3px;max-width: min(270px, calc(100% - 20px));border: 1px solid var(--line);border-radius: var(--radius);background: rgb(230 238 246 / 0.6);color: #0e0f10;padding: 8px 10px;font-size: 12px;box-shadow: 0 10px 26px rgba(0,0,0,0.26);pointer-events: none;}.coord-hover strong {font-size: 12px;}.coord-hover span {color: #01010197;line-height: 1.35;}.coord-hover .coord-main {color: var(--accent);font-weight: 850;}.bounds-readout {border: 1px solid var(--line);border-radius: var(--radius);background: rgba(255,255,255,0.035);color: var(--muted);padding: 8px 10px;font-size: 12px;line-height: 1.45;}.mini-controls {right: 10px;bottom: 10px;display: grid;gap: 8px;width: min(190px, calc(100% - 20px));}.small-ghost, .kbd{border: 1px solid var(--line);border-radius: var(--radius);background: rgba(15,20,27,0.88);color: #e6eef6;padding: 7px 9px;text-align: center;font-size: 12px;}.kbd {min-width: 56px;font-weight: 800;}#builderToggle:not(.secondary) {background: var(--accent);color: #06220f;}.slice-row {min-height: 42px;}.slice-row span:last-child {width: 64px;text-align: right;}.statusbar {grid-area: status;justify-content: space-between;min-height: 42px;padding: 8px 12px;box-shadow: none;}.mobile-tabs {display: none;width: 100%;background: var(--panel);border-top: 1px solid var(--line);}.tab-button {flex: 1;min-height: 50px;border: 0;border-radius: 0;background: transparent;color: var(--muted);font-size: 13px;font-weight: 700;cursor: pointer;transition: background 0.15s, color 0.15s;border-right: 1px solid var(--line);}.tab-button:last-child {border-right: 0;}.tab-button.active {background: var(--accent);color: #06220f;}.tab-button:hover:not(.active) {background: var(--panel-2);color: var(--text-color);}* {scrollbar-width: thin;scrollbar-color: var(--panel-2) transparent;}*::-webkit-scrollbar {width: 6px;height: 6px;}*::-webkit-scrollbar-track {background: transparent;}*::-webkit-scrollbar-thumb {background: var(--panel-2);border-radius: 99px;border: 1px solid var(--line);}*::-webkit-scrollbar-thumb:hover {background: var(--muted);}#description-module {width: min(1180px, calc(100vw - 24px));margin: 28px auto 40px;background: var(--panel);border: 1px solid var(--line);border-radius: 14px;overflow: hidden;}.desc-hero {padding: 52px 40px 44px;text-align: center;background: linear-gradient(135deg, rgba(34,197,94,0.10) 0%, rgba(56,189,248,0.07) 100%);border-bottom: 1px solid var(--line);}.desc-hero-icon {margin: 0 auto 20px;width: 72px;height: 72px;}.desc-hero-icon svg {width: 72px;height: 72px;}.desc-hero h1 {margin: 0 0 14px;font-size: clamp(1.5rem, 3.5vw, 2.2rem);letter-spacing: -0.02em;}.desc-hero-sub {color: var(--muted);font-size: 1rem;max-width: 680px;margin: 0 auto 28px;line-height: 1.7;}.desc-badges {display: flex;gap: 10px;justify-content: center;flex-wrap: wrap;}.desc-badge {display: inline-flex;align-items: center;gap: 6px;background: var(--panel-2);border: 1px solid var(--line);border-radius: 999px;padding: 5px 14px;font-size: 12px;color: var(--muted);font-weight: 600;}.desc-badge svg {width: 13px;height: 13px;flex-shrink: 0;}.desc-badge--green {color: var(--accent);border-color: rgba(34,197,94,0.3);background: rgba(34,197,94,0.08);}.desc-section {padding: 36px 40px;border-bottom: 1px solid var(--line);}.desc-section:last-child {border-bottom: 0;}.desc-section-title {font-size: 1.1rem;font-weight: 800;margin: 0 0 24px;display: flex;align-items: center;gap: 10px;color: var(--text-color);}.desc-section-title svg {width: 20px;height: 20px;color: var(--accent);flex-shrink: 0;}.desc-features {display: grid;grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));gap: 16px;}.desc-feature {display: flex;gap: 14px;align-items: flex-start;border: 1px solid var(--line);border-radius: var(--radius);padding: 18px;background: rgba(255,255,255,0.025);transition: border-color 0.2s, background 0.2s;}.desc-feature:hover {border-color: rgba(34,197,94,0.3);background: rgba(34,197,94,0.05);}.desc-feature-icon {width: 40px;height: 40px;flex-shrink: 0;border-radius: 9px;background: rgba(34,197,94,0.12);display: flex;align-items: center;justify-content: center;}.desc-feature-icon svg {width: 20px;height: 20px;color: var(--accent);}.desc-feature h4 {margin: 0 0 5px;font-size: 14px;color: var(--text-color);}.desc-feature p {margin: 0;color: var(--muted);font-size: 13px;line-height: 1.55;}.desc-feature code {background: var(--panel-2);padding: 1px 5px;border-radius: 4px;font-size: 11px;}.desc-steps {display: grid;grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));gap: 16px;}.desc-step {position: relative;overflow: hidden;border: 1px solid var(--line);border-radius: var(--radius);padding: 18px 18px 18px 20px;background: rgba(255,255,255,0.025);}.desc-step-num {font-size: 3.5rem;font-weight: 900;line-height: 1;color: rgba(34,197,94,0.10);position: absolute;top: 4px;right: 12px;pointer-events: none;}.desc-step h4 {margin: 0 0 7px;font-size: 14px;color: var(--accent);}.desc-step p {margin: 0;color: var(--muted);font-size: 13px;line-height: 1.55;}.desc-usecases {display: grid;grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));gap: 16px;}.desc-usecase {border: 1px solid var(--line);border-radius: var(--radius);padding: 18px;background: rgba(255,255,255,0.025);}.desc-usecase h4 {margin: 0 0 8px;font-size: 14px;color: var(--text-color);display: flex;align-items: center;gap: 7px;}.desc-usecase h4 svg {width: 15px;height: 15px;color: var(--accent-2);flex-shrink: 0;}.desc-usecase p {margin: 0;color: var(--muted);font-size: 13px;line-height: 1.55;}.desc-tips {display: grid;grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));gap: 12px;}.desc-tip {border: 1px solid var(--line);border-radius: var(--radius);padding: 14px 16px;background: rgba(255,255,255,0.02);font-size: 13px;color: var(--muted);line-height: 1.55;}.desc-tip strong {color: var(--text-color);}.desc-faq {display: grid;grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));gap: 10px;}.desc-faq-item {border: 1px solid var(--line);border-radius: var(--radius);background: rgba(255,255,255,0.025);overflow: hidden;}.desc-faq-item summary {padding: 14px 16px;cursor: pointer;font-size: 14px;font-weight: 700;color: var(--text-color);list-style: none;display: flex;justify-content: space-between;align-items: center;gap: 12px;user-select: none;transition: background 0.15s;}.desc-faq-item summary:hover {background: rgba(255,255,255,0.04);}.desc-faq-item summary::after {content: "+";font-size: 20px;color: var(--accent);flex-shrink: 0;line-height: 1;}.desc-faq-item[open] summary::after {content: "−";}.desc-faq-body {padding: 0 16px 14px;font-size: 13px;color: var(--muted);line-height: 1.65;}.desc-faq-body code {background: var(--panel-2);padding: 1px 6px;border-radius: 4px;font-size: 11px;color: var(--text-color);}.desc-tutorials {display: grid;grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));gap: 16px;}.desc-tutorial-card {border: 1px solid var(--line);border-radius: var(--radius);background: rgba(255,255,255,0.025);overflow: hidden;display: flex;flex-direction: column;}.desc-tutorial-card h4 {margin: 16px 16px 6px;font-size: 14px;color: var(--text-color);}.desc-tutorial-card p {margin: 0 16px 14px;font-size: 13px;color: var(--muted);line-height: 1.55;flex: 1;}.desc-tutorial-card img {width: 100%;height: auto;display: block;border-top: 1px solid var(--line);margin-top: auto;}@media (max-width: 1180px) {.app {grid-template-columns: minmax(260px, 320px) minmax(360px, 1fr);grid-template-areas: "left main" "right right" "status status";height: auto;min-height: 100vh;}.right {display: grid;grid-template-columns: repeat(2, minmax(0, 1fr));gap: 10px;}.right .control-card {margin-bottom: 0;}.canvas-wrap {min-height: 70vh;}}@media (max-width: 760px) {.mobile-tabs {display: flex;position: fixed;bottom: 0;left: 0;right: 0;z-index: 100;box-shadow: 0 -2px 12px rgba(0,0,0,0.35);}.app {display: flex;flex-direction: column;padding: 0;gap: 0;height: auto;min-height: unset;padding-bottom: 50px;}.canvas-wrap {display: grid !important;order: 1;height: 58vh;min-height: 300px;max-height: 58vh;padding: 6px;border-radius: 0;border-left: 0;border-right: 0;border-top: 0;box-shadow: none;flex-shrink: 0;grid-template-rows: auto 1fr auto;}.viewer {min-height: 0;height: 100%;}.canvas-wrap .tool-bar {padding: 0;min-height: 36px;}.canvas-wrap .tool-bar strong {font-size: 13px;}.canvas-wrap .tool-bar .muted {display: none;}.left {display: none;order: 2;border-radius: 0;border-left: 0;border-right: 0;border-top: 0;box-shadow: none;padding: 10px;max-height: none;}.right {display: none;order: 3;border-radius: 0;border-left: 0;border-right: 0;border-top: 0;box-shadow: none;padding: 10px;max-height: none;}.app[data-active-tab="controls"] .left {display: block;}.app[data-active-tab="controls"] .right {display: none !important;}.app[data-active-tab="extras"] .right {display: block;}.app[data-active-tab="extras"] .left {display: none !important;}.app:not([data-active-tab]) .left {display: block;}.app:not([data-active-tab]) .right {display: none !important;}.statusbar {order: 4;border-radius: 0;border-left: 0;border-right: 0;display: grid;gap: 4px;font-size: 12px;box-shadow: none;}.control-grid {grid-template-columns: 1fr;}.tool-bar {align-items: flex-start;}.toolbar-actions {margin-left: auto;}.action-row button, .preset-row button {flex: 1 1 42%;}.ghost {top: 8px;right: 8px;}.mini-controls {right: 8px;bottom: 8px;}.canvas-wrap--maximized {position: fixed !important;inset: 0 !important;z-index: 200 !important;height: 100dvh !important;max-height: 100dvh !important;min-height: unset !important;padding: 8px !important;border: 0 !important;border-radius: 0 !important;padding-bottom: 8px !important;}.canvas-wrap--maximized .viewer {height: 100%;min-height: 0;}#description-module {width: 100%;border-radius: 0;border-left: 0;border-right: 0;margin: 16px 0 0;}.desc-hero {padding: 28px 16px 24px;}.desc-section {padding: 20px 16px;}.desc-features {grid-template-columns: 1fr;}.desc-steps {grid-template-columns: 1fr 1fr;}.desc-usecases {grid-template-columns: 1fr;}.desc-tips {grid-template-columns: 1fr 1fr;}.desc-faq {grid-template-columns: 1fr;}.desc-tutorials {grid-template-columns: 1fr;}}@media (max-width: 480px) {.desc-steps {grid-template-columns: 1fr;}.desc-tips {grid-template-columns: 1fr;}}