.puzzle-game{--puzzle-bg:#0f0f13;--puzzle-card-bg:#1e1e24;--puzzle-text:#ffffff;--puzzle-text-muted:#a0a0a0;--puzzle-accent:#6c5ce7;--puzzle-success:#4ade80;display:flex;flex-direction:column;align-items:center;gap:1.5rem;width:100%;padding:1rem;background-color:var(--puzzle-bg);color:var(--puzzle-text);font-family:Outfit,system-ui,sans-serif;min-height:100vh}.puzzle-canvas-container{background:var(--puzzle-card-bg);border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.5);position:relative;overflow:auto;width:100%;max-height:70vh}.puzzle-image-wrapper{position:relative;line-height:0;cursor:crosshair;transform-origin:top left;display:inline-block}.puzzle-color-canvas{z-index:1;background-color:white}.puzzle-color-canvas,.puzzle-highlight-canvas{position:absolute;top:0;left:0;width:100%;height:100%}.puzzle-highlight-canvas{z-index:2;pointer-events:none}.puzzle-line-art{display:block;position:relative;z-index:3;pointer-events:none;mix-blend-mode:multiply}.puzzle-controls{display:flex;gap:1rem;align-items:center;flex-wrap:wrap;justify-content:center}.puzzle-btn{background:var(--puzzle-card-bg);color:var(--puzzle-text);border:1px solid #333;padding:.75rem 1.25rem;border-radius:8px;cursor:pointer;font-family:inherit;font-weight:600;font-size:.9rem;transition:all .2s ease}.puzzle-btn:hover{background:var(--puzzle-accent);border-color:var(--puzzle-accent);transform:translateY(-2px)}.puzzle-btn:active{transform:translateY(0)}.puzzle-btn-small{padding:.4rem .8rem;min-width:36px;font-size:1.1rem}.puzzle-zoom-controls{display:flex;align-items:center;gap:.5rem;background:var(--puzzle-card-bg);padding:.4rem .8rem;border-radius:8px;border:1px solid #333}.puzzle-zoom-level{min-width:50px;text-align:center;font-size:.85rem;color:var(--puzzle-text-muted)}.puzzle-palette-container{width:100%;max-width:820px;background:var(--puzzle-card-bg);padding:1rem;border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.5)}.puzzle-palette-label{color:var(--puzzle-text-muted);font-weight:300;margin-bottom:.75rem;font-size:.9rem}.force-directed-selector{width:100%;display:flex;justify-content:center;align-items:center;padding:1rem 0}.force-directed-selector canvas{border-radius:8px;background:rgba(15,15,19,.5)}.puzzle-color-palette{display:flex;flex-wrap:wrap;gap:.75rem;padding:.5rem 0}.puzzle-color-swatch{flex-shrink:0;width:52px;height:52px;border-radius:50%;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px rgba(0,0,0,.3);position:relative;display:flex;align-items:center;justify-content:center;background:#333}.puzzle-swatch-inner{width:42px;height:42px;border-radius:50%}.puzzle-swatch-counter{position:absolute;bottom:-4px;right:-4px;background:var(--puzzle-accent);color:white;font-size:.65rem;font-weight:600;min-width:18px;height:18px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 4px;box-shadow:0 1px 3px rgba(0,0,0,.4)}.puzzle-color-swatch:hover{transform:scale(1.1);box-shadow:0 4px 12px rgba(0,0,0,.4)}.puzzle-color-swatch.selected{transform:scale(1.15);box-shadow:0 0 0 3px white,0 4px 12px rgba(0,0,0,.4)}.puzzle-game-light{--puzzle-bg:#ffffff;--puzzle-card-bg:#ffffff;--puzzle-text:#1a1a1a;--puzzle-text-muted:#666666;background-color:#ffffff;color:var(--puzzle-text);min-height:auto}.puzzle-game-light .puzzle-line-art{width:100%;max-width:none;height:auto}.puzzle-game-light .puzzle-palette-container{background:#ffffff;box-shadow:none;padding:.5rem 0}.puzzle-game-light .force-directed-selector{padding:0}.puzzle-game-light .force-directed-selector canvas{background:transparent}@keyframes puzzle-splash-expand{0%{width:0;height:0;opacity:.8}to{width:200px;height:200px;opacity:0}}.puzzle-splash{z-index:10}@media (max-width:640px){.puzzle-game{padding:.5rem;gap:1rem}.puzzle-canvas-container{padding:.5rem;max-height:60vh}.puzzle-controls{gap:.5rem}.puzzle-btn{padding:.5rem 1rem;font-size:.8rem}.puzzle-color-swatch{width:44px;height:44px}.puzzle-swatch-inner{width:36px;height:36px}}