:root{--vt-c-white: #ffffff;--vt-c-white-soft: #f8f8f8;--vt-c-white-mute: #f2f2f2;--vt-c-black: #181818;--vt-c-black-soft: #222222;--vt-c-black-mute: #282828;--vt-c-indigo: #2c3e50;--vt-c-divider-light-1: rgba(60, 60, 60, .29);--vt-c-divider-light-2: rgba(60, 60, 60, .12);--vt-c-divider-dark-1: rgba(84, 84, 84, .65);--vt-c-divider-dark-2: rgba(84, 84, 84, .48);--vt-c-text-light-1: var(--vt-c-indigo);--vt-c-text-light-2: rgba(60, 60, 60, .66);--vt-c-text-dark-1: var(--vt-c-white);--vt-c-text-dark-2: rgba(235, 235, 235, .64)}:root{--color-background: var(--vt-c-white);--color-background-soft: var(--vt-c-white-soft);--color-background-mute: var(--vt-c-white-mute);--color-border: var(--vt-c-divider-light-2);--color-border-hover: var(--vt-c-divider-light-1);--color-heading: var(--vt-c-text-light-1);--color-text: var(--vt-c-text-light-1);--section-gap: 160px}@media(prefers-color-scheme:dark){:root{--color-background: var(--vt-c-black);--color-background-soft: var(--vt-c-black-soft);--color-background-mute: var(--vt-c-black-mute);--color-border: var(--vt-c-divider-dark-2);--color-border-hover: var(--vt-c-divider-dark-1);--color-heading: var(--vt-c-text-dark-1);--color-text: var(--vt-c-text-dark-2)}}*,*:before,*:after{box-sizing:border-box;margin:0;font-weight:400}body{min-height:100vh;color:var(--color-text);background:var(--color-background);transition:color .5s,background-color .5s;line-height:1.6;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;font-size:15px;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#app{max-width:1280px;margin:0 auto;padding:2rem;font-weight:400}a,.green{text-decoration:none;color:#00bd7e;transition:.4s;padding:3px}@media(hover:hover){a:hover{background-color:#00bd7e33}}@media(min-width:1024px){body{display:flex;place-items:center}#app{display:grid;grid-template-columns:1fr 1fr;padding:0 2rem}}.login-container[data-v-2dc7d083]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;background-color:#1a1a1a;color:#fff;font-family:sans-serif}.login-form[data-v-2dc7d083]{background:#2a2a2a;padding:2rem;border-radius:8px;box-shadow:0 4px 6px #0000004d;width:300px}.form-group[data-v-2dc7d083]{margin-bottom:1rem}label[data-v-2dc7d083]{display:block;margin-bottom:.5rem;color:#ccc}input[data-v-2dc7d083]{width:100%;padding:.5rem;border:1px solid #444;border-radius:4px;background:#333;color:#fff;box-sizing:border-box}button[data-v-2dc7d083]{width:100%;padding:.75rem;background-color:#4caf50;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1rem;margin-top:1rem}button[data-v-2dc7d083]:disabled{background-color:#2e6631;cursor:not-allowed}.error[data-v-2dc7d083]{color:#ff5252;font-size:.875rem;margin-top:.5rem}.setup-container[data-v-dff4f073]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;background-color:#1a1a1a;color:#fff;font-family:sans-serif}.setup-form[data-v-dff4f073]{background:#2a2a2a;padding:2rem;border-radius:8px;box-shadow:0 4px 6px #0000004d;width:320px}.form-group[data-v-dff4f073]{margin-bottom:1.5rem}.row[data-v-dff4f073]{display:flex;gap:1rem}label[data-v-dff4f073]{display:block;margin-bottom:.5rem;color:#ccc;font-size:.9rem}input[data-v-dff4f073]{width:100%;padding:.5rem;border:1px solid #444;border-radius:4px;background:#333;color:#fff;box-sizing:border-box}button[data-v-dff4f073]{width:100%;padding:.75rem;background-color:#4caf50;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1rem;margin-top:1rem}button[data-v-dff4f073]:hover{background-color:#45a049}.btn-secondary[data-v-dff4f073]{background-color:#6c757d}.btn-secondary[data-v-dff4f073]:hover{background-color:#5a6268}.btn-secondary[data-v-dff4f073]:disabled{background-color:#495057;cursor:not-allowed}.error[data-v-dff4f073]{color:#ff5252;font-size:.875rem;margin-top:.5rem;margin-bottom:.5rem;text-align:center}.existing-levels[data-v-dff4f073]{margin-bottom:1.5rem;background:#2a2a2a;padding:1rem;border-radius:8px;width:320px;box-sizing:border-box}.level-badges[data-v-dff4f073]{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.badge[data-v-dff4f073]{background:#444;padding:.25rem .5rem;border-radius:4px;font-size:.8rem;color:#ddd}.editor-layout[data-v-f3275749]{display:flex;height:100vh;background-color:#222;color:#eee;font-family:sans-serif}.palette-sidebar[data-v-f3275749],.levels-sidebar[data-v-f3275749]{width:250px;background-color:#1a1a1a;padding:1rem;overflow-y:auto;flex-shrink:0}.palette-sidebar[data-v-f3275749]{border-right:1px solid #444}.levels-sidebar[data-v-f3275749]{border-left:1px solid #444}.palette-sidebar h3[data-v-f3275749],.levels-sidebar h3[data-v-f3275749]{margin-top:0;border-bottom:1px solid #333;padding-bottom:.5rem}.tool-item[data-v-f3275749]{display:flex;align-items:center;padding:.5rem;margin-bottom:.5rem;background-color:#2a2a2a;border-radius:4px;cursor:pointer;border:1px solid transparent;transition:background-color .2s}.tool-item[data-v-f3275749]:hover{background-color:#333}.tool-item.active[data-v-f3275749]{border-color:#4caf50;background-color:#2e3b2e}.tool-icon[data-v-f3275749]{width:32px;height:32px;margin-right:1rem;flex-shrink:0}.grid-container[data-v-f3275749]{flex-grow:1;display:flex;flex-direction:column;align-items:center;padding:2rem;overflow:auto}.grid-header h2[data-v-f3275749]{margin:0;display:inline-block}.unsaved-badge[data-v-f3275749]{background-color:#ff9800;color:#fff;padding:.2rem .5rem;border-radius:4px;font-size:.8rem;margin-left:1rem;vertical-align:middle}.download-all-btn[data-v-f3275749]{width:100%;padding:.5rem;background-color:#2196f3;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;margin-bottom:1rem;transition:background-color .2s}.download-all-btn[data-v-f3275749]:hover{background-color:#1976d2}.upload-btn[data-v-f3275749]{width:100%;padding:.5rem;background-color:#ff9800;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.9rem;margin-bottom:1rem;transition:background-color .2s}.upload-btn[data-v-f3275749]:hover{background-color:#f57c00}.levels-list[data-v-f3275749]{display:flex;flex-direction:column;gap:.5rem}.level-btn[data-v-f3275749]{padding:.75rem;background-color:#333;color:#fff;border:1px solid #444;border-radius:4px;cursor:pointer;text-align:left;transition:all .2s}.level-btn.exists[data-v-f3275749]{border-left:4px solid #fff}.level-easy[data-v-f3275749]{border-left-color:#4caf50;background-color:#4caf5033}.level-easy[data-v-f3275749]:hover{background-color:#4caf5059}.level-easy.active[data-v-f3275749]{background-color:#4caf5080;border-color:#4caf50;color:#a5d6a7;font-weight:700}.level-medium[data-v-f3275749]{border-left-color:#ff9800;background-color:#ff980033}.level-medium[data-v-f3275749]:hover{background-color:#ff980059}.level-medium.active[data-v-f3275749]{background-color:#ff980080;border-color:#ff9800;color:#ffe0b2;font-weight:700}.level-hard[data-v-f3275749]{border-left-color:#f44336;background-color:#f4433633}.level-hard[data-v-f3275749]:hover{background-color:#f4433659}.level-hard.active[data-v-f3275749]{background-color:#f4433680;border-color:#f44336;color:#ffcdd2;font-weight:700}.level-extreme[data-v-f3275749]{border-left-color:#9c27b0;background-color:#9c27b033}.level-extreme[data-v-f3275749]:hover{background-color:#9c27b059}.level-extreme.active[data-v-f3275749]{background-color:#9c27b080;border-color:#9c27b0;color:#e1bee7;font-weight:700}.level-btn[data-v-f3275749]:not(.exists){border-left-width:1px;border-left-color:#444;background-color:transparent;opacity:.6}.level-btn[data-v-f3275749]:not(.exists):hover{background-color:#333}.grid[data-v-f3275749]{display:grid;gap:1px;background-color:#000;border:2px solid #555;box-shadow:0 4px 12px #00000080}.cell[data-v-f3275749]{width:50px;height:50px;cursor:pointer;position:relative;display:flex;align-items:center;justify-content:center}.cell[data-v-f3275749]:hover:after{content:"";position:absolute;inset:0;border:2px solid #4CAF50;pointer-events:none}.white-sq[data-v-f3275749]{background-color:#e0e0e0}.dark-sq[data-v-f3275749]{background-color:#8c8c8c}.hole-sq[data-v-f3275749]{background-color:#000}.placed-item[data-v-f3275749]{width:80%;height:80%;position:absolute;z-index:2;box-sizing:border-box}.actions[data-v-f3275749]{margin-top:2rem;border-top:1px solid #333;padding-top:1rem}.save-btn[data-v-f3275749]{width:100%;padding:.75rem;background-color:#4caf50;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1rem}.save-btn[data-v-f3275749]:hover:not(:disabled){background-color:#45a049}.save-btn[data-v-f3275749]:disabled{background-color:#666;color:#aaa;cursor:not-allowed}.save-msg[data-v-f3275749]{margin-top:.5rem;font-size:.85rem;color:#4caf50;text-align:center}.save-msg.error[data-v-f3275749]{color:#ff5252}body,html{margin:0;padding:0;background-color:#1a1a1a;height:100%}#app{height:100%}
