.settings-overlay[data-v-186b4e5b]{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:50}.settings-card[data-v-186b4e5b]{background:var(--panel);border:1px solid var(--border);border-radius:14px;width:100%;max-width:440px;padding:1.2rem 1.3rem;box-shadow:0 20px 50px var(--shadow)}.settings-head[data-v-186b4e5b]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem}.settings-head h2[data-v-186b4e5b]{margin:0;font-size:1.2rem}.icon-btn[data-v-186b4e5b]{border:none;background:transparent;color:var(--muted);font-size:1.1rem;padding:.2rem .5rem;border-radius:6px}.icon-btn[data-v-186b4e5b]:hover{background:var(--hover);color:var(--ink)}.setting-row[data-v-186b4e5b]{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 0;border-top:1px solid var(--border)}.toggle-row[data-v-186b4e5b]{cursor:pointer}.setting-label[data-v-186b4e5b]{font-weight:600}.setting-sub[data-v-186b4e5b]{color:var(--muted);font-size:.82rem;margin-top:.15rem}.segmented[data-v-186b4e5b]{display:flex;border:1px solid var(--border-2);border-radius:8px;overflow:hidden}.seg[data-v-186b4e5b]{border:none;background:transparent;color:var(--muted);padding:.45rem .7rem;font-size:.85rem}.seg+.seg[data-v-186b4e5b]{border-left:1px solid var(--border)}.seg.active[data-v-186b4e5b]{background:var(--accent);color:#0b0d12;font-weight:600}.switch[data-v-186b4e5b]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:42px;height:24px;background:var(--border-2);border-radius:999px;position:relative;cursor:pointer;transition:background .15s;flex:none}.switch[data-v-186b4e5b]:after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;transition:transform .15s}.switch[data-v-186b4e5b]:checked{background:var(--accent)}.switch[data-v-186b4e5b]:checked:after{transform:translate(18px)}.setting-foot[data-v-186b4e5b]{font-size:.78rem;margin-top:.8rem}.fade-enter-active[data-v-186b4e5b],.fade-leave-active[data-v-186b4e5b]{transition:opacity .15s}.fade-enter-from[data-v-186b4e5b],.fade-leave-to[data-v-186b4e5b]{opacity:0}.play[data-v-02d60f72]{display:flex;flex-direction:column;gap:.9rem}.play-toolbar[data-v-02d60f72]{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.title[data-v-02d60f72]{margin:0;font-size:1.15rem}.meta-row[data-v-02d60f72]{display:flex;align-items:center;gap:.5rem;margin-top:.25rem;font-size:.85rem;flex-wrap:wrap}.tools[data-v-02d60f72]{display:flex;gap:.4rem;flex-wrap:wrap}.status-bar[data-v-02d60f72]{display:flex;align-items:center;justify-content:space-between;gap:1rem;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:.5rem .85rem;font-size:.9rem}.timer[data-v-02d60f72]{font-variant-numeric:tabular-nums;font-weight:600;color:var(--accent)}.status-msg .solved[data-v-02d60f72]{color:var(--accent-2);font-weight:600}.status-msg .hint-msg[data-v-02d60f72]{color:var(--accent);font-weight:600}.status-msg .hint-sub[data-v-02d60f72]{color:var(--muted);font-weight:400}.status-msg .over-msg[data-v-02d60f72]{color:var(--danger);font-weight:600}.board-wrap[data-v-02d60f72]{position:relative;background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:.5rem;overflow:auto;touch-action:none;user-select:none;-webkit-user-select:none}.board[data-v-02d60f72]{display:block;width:100%;height:auto;max-width:760px;margin:0 auto}.water[data-v-02d60f72]{fill:var(--board-bg)}.grid-lines line[data-v-02d60f72]{stroke:var(--board-grid-line);stroke-width:1}.bridges line[data-v-02d60f72]{stroke:var(--bridge);stroke-width:6;stroke-linecap:round;stroke-dasharray:1;animation:bridge-draw-02d60f72 .24s ease-out}@keyframes bridge-draw-02d60f72{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}.drag-preview line[data-v-02d60f72]{stroke:var(--accent);stroke-width:6;stroke-linecap:round;opacity:.55}.bridge-hits line[data-v-02d60f72]{stroke:transparent;stroke-width:18;stroke-linecap:round;pointer-events:stroke;cursor:pointer}.island[data-v-02d60f72]{cursor:pointer;transition:opacity .14s}.islands.has-selection .island[data-v-02d60f72]:not(.selected):not(.target){opacity:.4}.island .body[data-v-02d60f72]{fill:var(--island);stroke:var(--island-stroke);stroke-width:2;transition:stroke .12s,fill .12s,stroke-width .12s}.cursor-ring[data-v-02d60f72]{fill:none;stroke:#e8eaed;stroke-width:2;stroke-dasharray:2 3;opacity:.75;pointer-events:none}.island text[data-v-02d60f72]{fill:var(--island-ink);font-weight:700;text-anchor:middle;dominant-baseline:central;pointer-events:none}.island:hover .body[data-v-02d60f72]{stroke:var(--accent)}.island.selected .sel-halo[data-v-02d60f72]{fill:none;stroke:var(--accent);stroke-width:3;transform-box:fill-box;transform-origin:center;animation:sel-halo-02d60f72 1.1s ease-in-out infinite}@keyframes sel-halo-02d60f72{0%,to{opacity:.4;transform:scale(.9)}50%{opacity:1;transform:scale(1.15)}}.island.selected .body[data-v-02d60f72]{fill:var(--accent);stroke:#cfe0ff;stroke-width:4}.island.selected text[data-v-02d60f72]{fill:#0b0d12}.island.target .target-ring[data-v-02d60f72]{fill:none;stroke:var(--accent-2);stroke-width:2.5;stroke-dasharray:5 4;transform-box:fill-box;transform-origin:center;animation:target-spin-02d60f72 1.6s linear infinite}@keyframes target-spin-02d60f72{to{transform:rotate(360deg)}}.island.target .body[data-v-02d60f72]{stroke:var(--accent-2);stroke-width:3}.island.satisfied .body[data-v-02d60f72]{fill:#2f5142;stroke:var(--accent-2)}.island.over .body[data-v-02d60f72]{stroke:var(--danger);stroke-width:3}.island[data-v-02d60f72]{transform-box:fill-box;transform-origin:center}.island.pop[data-v-02d60f72]{animation:island-pop-02d60f72 .24s cubic-bezier(.2,.8,.2,1)}@keyframes island-pop-02d60f72{0%{transform:scale(1)}45%{transform:scale(1.18)}to{transform:scale(1)}}.island.shake[data-v-02d60f72]{animation:island-shake-02d60f72 .42s ease-in-out}@keyframes island-shake-02d60f72{0%,to{transform:translate(0)}20%{transform:translate(-3px)}40%{transform:translate(3px)}60%{transform:translate(-2px)}80%{transform:translate(1px)}}.fx-ring[data-v-02d60f72],.fx-spark[data-v-02d60f72]{fill:none;stroke:var(--accent-2);transform-box:fill-box;transform-origin:center;pointer-events:none}.fx-spark[data-v-02d60f72]{fill:var(--accent-2);stroke:none}.hints line[data-v-02d60f72]{stroke:var(--accent);stroke-width:4;stroke-dasharray:3 7;stroke-linecap:round;opacity:.45;pointer-events:none}.win-overlay[data-v-02d60f72]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#080a0eb8;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);animation:fadeIn-02d60f72 .25s ease}@keyframes fadeIn-02d60f72{0%{opacity:0}to{opacity:1}}.win-card[data-v-02d60f72]{text-align:center;background:var(--panel-2);border:1px solid var(--border-2);border-radius:14px;padding:1.5rem 2rem}.win-emoji[data-v-02d60f72]{font-size:2.6rem}.win-title[data-v-02d60f72]{font-size:1.6rem;font-weight:800;margin-top:.3rem}.win-time[data-v-02d60f72]{color:var(--accent);font-variant-numeric:tabular-nums;font-weight:600;margin:.3rem 0 .4rem}.win-stars[data-v-02d60f72]{font-size:1.5rem;letter-spacing:.15em;color:#ffd166;filter:drop-shadow(0 0 6px rgba(255,209,102,.4))}.win-streak[data-v-02d60f72]{color:var(--accent-2);font-weight:600;margin-bottom:.9rem}.share-btn[data-v-02d60f72]{display:block;margin:0 auto .9rem;background:var(--accent);border-color:var(--accent);color:#0b0d12;font-weight:600;min-width:150px}.win-actions[data-v-02d60f72]{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}.win-actions a[data-v-02d60f72]{display:inline-block;padding:.45rem .85rem;border-radius:8px;border:1px solid var(--border-2);color:var(--ink);background:var(--panel)}.win-actions a.primary[data-v-02d60f72]{background:var(--accent);border-color:var(--accent);color:#0b0d12;font-weight:600}.bottom-bar[data-v-02d60f72]{display:flex;justify-content:space-between;align-items:center;font-size:.9rem;gap:.5rem;flex-wrap:wrap}.nav-link[data-v-02d60f72]{padding:.3rem .5rem;border-radius:6px}.howto[data-v-02d60f72]{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:.6rem .9rem;font-size:.9rem}.howto summary[data-v-02d60f72]{cursor:pointer;font-weight:600}.howto-body[data-v-02d60f72]{margin-top:.6rem;color:var(--muted);line-height:1.5}.howto-body strong[data-v-02d60f72]{color:var(--ink)}.howto-body ul[data-v-02d60f72]{margin:.4rem 0;padding-left:1.2rem}.timer.paused[data-v-02d60f72]{color:var(--muted);text-decoration:line-through}.pause-overlay[data-v-02d60f72]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#080a0eb3;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:12px}.pause-card[data-v-02d60f72]{text-align:center;background:var(--panel-2);border:1px solid var(--border-2);border-radius:14px;padding:1.4rem 1.8rem}.pause-icon[data-v-02d60f72]{font-size:2.2rem}.pause-text[data-v-02d60f72]{margin:.3rem 0 .9rem;color:var(--muted)}.confirm-overlay[data-v-02d60f72]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#080a0eb3;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:12px;z-index:5}.confirm-card[data-v-02d60f72]{text-align:center;background:var(--panel-2);border:1px solid var(--border-2);border-radius:14px;padding:1.4rem 1.6rem;max-width:340px}.confirm-icon[data-v-02d60f72]{font-size:2rem}.confirm-title[data-v-02d60f72]{margin:.4rem 0;font-size:1.15rem}.confirm-body[data-v-02d60f72]{margin:0 0 1rem;color:var(--muted);font-size:.9rem;line-height:1.45}.confirm-actions[data-v-02d60f72]{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}.confirm-actions .danger[data-v-02d60f72]{background:var(--danger);border-color:var(--danger);color:#1a0606;font-weight:600}.confirm-actions .danger[data-v-02d60f72]:hover{filter:brightness(1.05)}.confetti-root[data-v-02d60f72]{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:60}.fireworks-root[data-v-02d60f72]{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden;z-index:65}.confetti-piece[data-v-02d60f72]{position:absolute;top:-14px;width:9px;height:14px;border-radius:2px;animation-name:confetti-fall-02d60f72;animation-timing-function:linear;animation-fill-mode:forwards;opacity:.95}@keyframes confetti-fall-02d60f72{0%{transform:translate(0) rotate(0);opacity:1}to{transform:translate(var(--x),105vh) rotate(var(--rot));opacity:.85}}h1[data-v-19f1f493]{margin-bottom:.2rem}h2[data-v-19f1f493]{font-size:1.05rem;margin:1.6rem 0 .6rem}.stat-grid[data-v-19f1f493]{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.7rem;margin-top:1rem}.stat-card[data-v-19f1f493]{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:1rem;text-align:center}.stat-card.streak[data-v-19f1f493]{border-color:#2f6b51}.stat-value[data-v-19f1f493]{font-size:2.1rem;font-weight:800;line-height:1}.stat-card.streak .stat-value[data-v-19f1f493]{color:var(--accent-2)}.fire[data-v-19f1f493]{font-size:1.4rem}.mono[data-v-19f1f493]{font-variant-numeric:tabular-nums;color:var(--accent)}.stat-label[data-v-19f1f493]{margin-top:.4rem;text-transform:uppercase;letter-spacing:.05em;font-size:.72rem;color:var(--muted)}.stat-sub[data-v-19f1f493]{font-size:.78rem;color:var(--muted);margin-top:.2rem}.dist[data-v-19f1f493]{display:flex;flex-direction:column;gap:.4rem}.dist-row[data-v-19f1f493]{display:flex;align-items:center;gap:.6rem}.dist-label[data-v-19f1f493]{width:56px;color:var(--muted);font-size:.85rem;font-variant-numeric:tabular-nums}.dist-bar-track[data-v-19f1f493]{flex:1;background:var(--board-grid-line);border-radius:6px;overflow:hidden}.dist-bar[data-v-19f1f493]{height:26px;background:var(--accent);border-radius:6px;min-width:2px;display:flex;align-items:center;justify-content:flex-end;padding-right:.5rem;font-size:.8rem;font-weight:700;color:#0b0d12;transition:width .4s ease}.cta[data-v-19f1f493]{margin-top:1.8rem}.btn[data-v-19f1f493]{display:inline-block;padding:.6rem 1rem;border-radius:9px;border:1px solid var(--accent);background:var(--accent);color:#0b0d12;font-weight:600}h1[data-v-7b2d068e]{margin-bottom:.2rem}.intro[data-v-7b2d068e]{max-width:60ch;margin-bottom:1rem}.overall[data-v-7b2d068e]{margin-bottom:1.4rem}.overall-bar[data-v-7b2d068e]{height:10px;background:var(--border);border-radius:999px;overflow:hidden}.overall-fill[data-v-7b2d068e]{height:100%;background:linear-gradient(90deg,var(--accent-2),var(--accent));transition:width .4s ease}.overall-text[data-v-7b2d068e]{color:var(--muted);font-size:.85rem;margin-top:.35rem}section[data-v-7b2d068e]{margin-top:1.6rem}.cat-head[data-v-7b2d068e]{display:flex;align-items:center;gap:.6rem}.cat-head h2[data-v-7b2d068e]{margin:0;font-size:1.15rem;text-transform:capitalize}.cat-count[data-v-7b2d068e]{font-size:.8rem}.cat-sub[data-v-7b2d068e]{margin:.25rem 0 .7rem;font-size:.88rem;max-width:60ch}.tut-grid[data-v-7b2d068e]{display:grid;grid-template-columns:repeat(auto-fill,minmax(74px,1fr));gap:.6rem}.tut-card[data-v-7b2d068e]{position:relative;aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:var(--panel);border:1px solid var(--border);border-radius:10px;font-weight:700;font-size:1.2rem;color:var(--ink);transition:border-color .15s,background .15s,transform .05s}.tut-card[data-v-7b2d068e]:hover{border-color:var(--accent);background:var(--panel-2);text-decoration:none}.tut-card.done[data-v-7b2d068e]{background:#1f3a30;border-color:var(--accent-2);color:var(--accent-2)}:root[data-theme=light] .tut-card.done[data-v-7b2d068e]{background:#e6f5ee}.tut-check[data-v-7b2d068e]{position:absolute;top:4px;right:6px;font-size:.85rem}.tut-meta[data-v-7b2d068e]{position:absolute;bottom:4px;font-size:.62rem;font-weight:400}.cta[data-v-7b2d068e]{margin-top:2rem}.btn[data-v-7b2d068e]{display:inline-block;padding:.6rem 1rem;border-radius:9px;border:1px solid var(--accent);background:var(--accent);color:#0b0d12;font-weight:600}:root{--bg: #0f1115;--panel: #171a21;--panel-2: #1f232c;--ink: #e8eaed;--muted: #9aa3b2;--accent: #6ea8fe;--accent-2: #57d9a3;--danger: #ff6b6b;--water: #b9d2ea;--island: #2b313d;--island-ink: #f5f7fa;--bridge: #cfd6e0;--board-bg: #11151c;--board-grid-line: #1b2029;--border: var(--border);--border-2: var(--border-2);--hover: var(--hover);--island-stroke: #454d5c;--shadow: rgba(0, 0, 0, .3);color-scheme:dark}:root[data-theme=light]{--bg: #eef1f6;--panel: #ffffff;--panel-2: #f4f6fa;--ink: #1a1f29;--muted: #6b7280;--accent: #2563eb;--accent-2: #059669;--danger: #dc2626;--water: #cfe0f0;--island: #ffffff;--island-ink: #1a1f29;--bridge: #475569;--board-bg: #e7ecf3;--board-grid-line: #d3dae4;--border: #e2e8f0;--border-2: #dce3ec;--hover: #eef1f6;--island-stroke: #cbd5e1;--shadow: rgba(15, 23, 42, .12);color-scheme:light}html.reduce-motion *,html.reduce-motion *:before,html.reduce-motion *:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}*{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}button{font:inherit;cursor:pointer;border:1px solid var(--border-2);background:var(--panel-2);color:var(--ink);border-radius:8px;padding:.5rem .9rem;transition:background .15s,border-color .15s,transform .05s}button:hover{background:var(--hover)}button:active{transform:translateY(1px)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:#0b0d12;font-weight:600}button.primary:hover{background:#83b4ff}.muted{color:var(--muted)}.container{max-width:1100px;margin:0 auto;padding:1.25rem}.app-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.25rem;border-bottom:1px solid var(--border);background:var(--panel);position:sticky;top:0;z-index:10}.app-header .brand{font-weight:700;letter-spacing:.02em;color:var(--ink);text-decoration:none}.app-header nav{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.app-header nav a{color:var(--muted);padding:.35rem .6rem;border-radius:6px}.app-header nav .gear{border:none;background:transparent;color:var(--muted);font-size:1.15rem;padding:.3rem .55rem;border-radius:6px;line-height:1}.app-header nav .gear:hover{background:var(--hover);color:var(--ink)}.app-header nav a.router-link-active{color:var(--ink);background:var(--panel-2)}.tag{display:inline-block;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border:1px solid var(--border-2);border-radius:999px;padding:.12rem .55rem}.tag.easy{color:var(--accent-2);border-color:#2f6b51}.tag.medium{color:var(--accent);border-color:#355a8c}.tag.hard{color:#ffb86b;border-color:#6b4a25}.tag.beginner{color:#c4b5fd;border-color:#5b4b8a}.loading,.error{padding:3rem 1rem;text-align:center}.error{color:var(--danger)}h1{margin-top:0}.archive-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.7rem;margin-top:1rem}.archive-card{display:block;background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:.8rem .9rem;transition:border-color .15s,transform .05s,background .15s}.archive-card:hover{text-decoration:none;border-color:var(--border-2);background:var(--panel-2)}.ac-date{font-weight:600;font-size:.95rem}.ac-meta{display:flex;align-items:center;gap:.5rem;margin-top:.45rem;font-size:.8rem}
