.landing[data-v-02993cf9]{padding-bottom:3rem}.section-label[data-v-02993cf9]{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.12em;color:var(--pd-text-muted);margin-bottom:1rem}.hero[data-v-02993cf9]{text-align:center;padding:4rem 0 3rem}.hero-title[data-v-02993cf9]{font-size:3rem;font-weight:800;letter-spacing:.15em;color:var(--pd-accent-text);text-shadow:0 0 40px var(--pd-accent-glow);line-height:1}.hero-tagline[data-v-02993cf9]{margin-top:.75rem;font-size:1rem;font-weight:500;color:var(--pd-text)}.hero-desc[data-v-02993cf9]{margin-top:.75rem;font-size:.8rem;color:var(--pd-text-dim);max-width:420px;margin-left:auto;margin-right:auto;line-height:1.5}.hero-signin[data-v-02993cf9]{margin-top:.75rem;font-size:.75rem;color:var(--pd-text-muted)}.cta-btn[data-v-02993cf9]{margin-top:1.5rem;padding:.7rem 2rem;background:var(--pd-accent);color:var(--pd-bg);font-weight:700;font-size:.85rem;font-family:var(--pd-font);letter-spacing:.04em;border-radius:var(--pd-radius);transition:opacity var(--pd-transition-fast),box-shadow var(--pd-transition-fast)}.cta-btn[data-v-02993cf9]:hover{opacity:.9;box-shadow:0 0 24px var(--pd-accent-glow)}.link[data-v-02993cf9]{color:var(--pd-accent-text);font-size:inherit;text-decoration:underline;text-underline-offset:2px}.link[data-v-02993cf9]:hover{opacity:.8}.features[data-v-02993cf9]{padding:2rem 0}.pill-grid[data-v-02993cf9]{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.pill[data-v-02993cf9]{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:1rem .5rem;background:var(--pd-surface);border:1px solid var(--pd-border);border-radius:var(--pd-radius)}.pill-value[data-v-02993cf9]{font-size:1.5rem;font-weight:700;color:var(--pd-accent-text)}.pill-icon[data-v-02993cf9]{width:24px;height:24px;color:var(--pd-accent-text)}.pill-label[data-v-02993cf9]{font-size:.65rem;color:var(--pd-text-dim);text-transform:uppercase;letter-spacing:.06em}.how-it-works[data-v-02993cf9]{padding:2rem 0}.steps[data-v-02993cf9]{display:flex;flex-direction:column;gap:1rem}.step[data-v-02993cf9]{display:grid;grid-template-columns:2.5rem 1fr;grid-template-rows:auto auto;column-gap:.75rem;padding:1rem 1.25rem;background:var(--pd-surface);border:1px solid var(--pd-border);border-radius:var(--pd-radius)}.step-num[data-v-02993cf9]{grid-row:1 / 3;font-size:1.5rem;font-weight:800;color:var(--pd-accent-text);opacity:.3;align-self:center}.step-title[data-v-02993cf9]{font-size:.85rem;font-weight:600;color:var(--pd-text)}.step-desc[data-v-02993cf9]{font-size:.75rem;color:var(--pd-text-dim);line-height:1.4;margin-top:.15rem}.demo[data-v-02993cf9]{padding:2rem 0}.demo-card[data-v-02993cf9]{background:var(--pd-surface);border:1px solid var(--pd-border);border-radius:var(--pd-radius);padding:1.25rem}.demo-prompt[data-v-02993cf9]{font-size:.85rem;color:var(--pd-text);line-height:1.4;margin-bottom:1rem}.demo-options[data-v-02993cf9]{display:flex;flex-direction:column;gap:.5rem}.demo-option[data-v-02993cf9]{display:flex;align-items:center;gap:.75rem;width:100%;padding:.6rem .85rem;background:var(--pd-bg);border:1px solid var(--pd-border);border-radius:var(--pd-radius-sm);color:var(--pd-text);font-size:.8rem;font-family:var(--pd-font);text-align:left;transition:border-color var(--pd-transition-fast),background var(--pd-transition-fast),box-shadow var(--pd-transition-fast)}.demo-option[data-v-02993cf9]:not(:disabled):hover{border-color:var(--pd-accent);cursor:pointer}.demo-option-id[data-v-02993cf9]{font-size:.7rem;font-weight:700;color:var(--pd-text-muted);min-width:1rem}.demo-option.correct[data-v-02993cf9]{border-color:var(--pd-correct);background:var(--pd-correct-dim);box-shadow:0 0 12px var(--pd-correct-glow)}.demo-option.wrong[data-v-02993cf9]{border-color:var(--pd-wrong);background:var(--pd-wrong-dim);box-shadow:0 0 12px var(--pd-wrong-glow)}.demo-option.reveal[data-v-02993cf9]{border-color:var(--pd-correct);background:var(--pd-correct-dim)}.demo-fix[data-v-02993cf9]{margin-top:1rem;padding:.75rem 1rem;background:var(--pd-wrong-dim);border-left:3px solid var(--pd-wrong);border-radius:var(--pd-radius-sm)}.demo-fix-label[data-v-02993cf9]{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--pd-wrong)}.demo-fix-text[data-v-02993cf9]{font-size:.8rem;color:var(--pd-text);line-height:1.4;margin-top:.25rem}.demo-correct-msg[data-v-02993cf9]{margin-top:1rem;padding:.6rem 1rem;font-size:.75rem;color:var(--pd-correct);background:var(--pd-correct-dim);border-left:3px solid var(--pd-correct);border-radius:var(--pd-radius-sm)}.certs[data-v-02993cf9]{padding:2rem 0}.cert-grid[data-v-02993cf9]{display:flex;flex-direction:column;gap:.75rem}.cert-card[data-v-02993cf9]{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:var(--pd-surface);border:1px solid var(--pd-border);border-radius:var(--pd-radius)}.cert-active[data-v-02993cf9]{border-left:3px solid var(--pd-accent)}.cert-soon[data-v-02993cf9]{opacity:.5}.cert-info[data-v-02993cf9]{display:flex;flex-direction:column;gap:.2rem}.cert-name[data-v-02993cf9]{font-size:.85rem;font-weight:600;color:var(--pd-text)}.cert-meta[data-v-02993cf9]{font-size:.7rem;color:var(--pd-text-dim)}.cert-btn[data-v-02993cf9]{padding:.4rem 1rem;font-size:.75rem;font-weight:600;font-family:var(--pd-font);color:var(--pd-accent-text);border:1px solid var(--pd-accent);border-radius:var(--pd-radius-sm);transition:background var(--pd-transition-fast),box-shadow var(--pd-transition-fast)}.cert-btn[data-v-02993cf9]:hover{background:var(--pd-accent-dim);box-shadow:0 0 12px var(--pd-accent-glow)}.bottom-cta[data-v-02993cf9]{text-align:center;padding:3rem 0 1rem}.bottom-cta-text[data-v-02993cf9]{font-size:.85rem;color:var(--pd-text-dim);margin-bottom:.5rem}@media(max-width:480px){.hero-title[data-v-02993cf9]{font-size:2.2rem}.pill-grid[data-v-02993cf9]{grid-template-columns:repeat(2,1fr)}}.stat-card[data-v-c41f6025]{background:var(--pd-surface);border:1px solid var(--pd-border);border-radius:var(--pd-radius);padding:1rem;text-align:center;animation:stat-enter-c41f6025 .3s ease both}@keyframes stat-enter-c41f6025{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.stat-value[data-v-c41f6025]{font-size:1.5rem;font-weight:700;color:var(--pd-text)}.stat-label[data-v-c41f6025]{font-size:.65rem;color:var(--pd-text-dim);text-transform:uppercase;letter-spacing:.06em;margin-top:.25rem}.progress-track[data-v-998865d1]{height:6px;background:var(--pd-border);border-radius:3px;overflow:hidden}.progress-fill[data-v-998865d1]{height:100%;background:var(--pd-accent);border-radius:3px;transition:width var(--pd-transition)}.progress-fill.glow[data-v-998865d1]{box-shadow:0 0 8px var(--pd-accent-glow)}.overlay[data-v-77f038de]{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:var(--pd-bg-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dialog[data-v-77f038de]{background:var(--pd-bg-raised);border:1px solid var(--pd-border);border-radius:var(--pd-radius-lg);padding:1.5rem;max-width:360px;width:90%}.dialog-title[data-v-77f038de]{font-size:.9rem;color:var(--pd-text);margin-bottom:.5rem;text-transform:none;letter-spacing:normal}.dialog-message[data-v-77f038de]{font-size:.8rem;color:var(--pd-text-dim);margin-bottom:1.25rem}.dialog-actions[data-v-77f038de]{display:flex;gap:.75rem;justify-content:flex-end}.btn-cancel[data-v-77f038de]{padding:.4rem 1rem;border-radius:var(--pd-radius-sm);font-size:.75rem;color:var(--pd-text-dim);border:1px solid var(--pd-border);transition:background var(--pd-transition-fast)}.btn-cancel[data-v-77f038de]:hover{background:var(--pd-surface)}.btn-confirm[data-v-77f038de]{padding:.4rem 1rem;border-radius:var(--pd-radius-sm);font-size:.75rem;color:var(--pd-bg);background:var(--pd-accent);transition:opacity var(--pd-transition-fast)}.btn-confirm[data-v-77f038de]:hover{opacity:.85}.hud[data-v-02ea8c28]{padding-top:.5rem}.greeting-section[data-v-02ea8c28]{margin-bottom:1.5rem}.greeting[data-v-02ea8c28]{font-size:1.25rem;font-weight:600;color:var(--pd-text)}.cert-label[data-v-02ea8c28]{display:inline-block;margin-top:.3rem;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--pd-accent-text);background:var(--pd-accent-dim);padding:.2rem .5rem;border-radius:var(--pd-radius-sm)}.drill-cta[data-v-02ea8c28]{text-align:center;margin-bottom:2rem}.cta-btn[data-v-02ea8c28]{width:100%;padding:.75rem 2rem;background:var(--pd-accent);color:var(--pd-bg);font-weight:700;font-size:.95rem;font-family:var(--pd-font);letter-spacing:.08em;border-radius:var(--pd-radius);transition:opacity var(--pd-transition-fast),box-shadow var(--pd-transition-fast)}.cta-btn[data-v-02ea8c28]:hover{opacity:.9;box-shadow:0 0 24px var(--pd-accent-glow)}.cta-sub[data-v-02ea8c28]{margin-top:.4rem;font-size:.7rem;color:var(--pd-text-muted)}.stat-grid[data-v-02ea8c28]{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:2rem}.section[data-v-02ea8c28]{margin-bottom:1.75rem}.section-label[data-v-02ea8c28]{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--pd-text-muted);margin-bottom:.75rem}.empty-state[data-v-02ea8c28]{font-size:.8rem;color:var(--pd-text-muted);padding:.75rem 1rem;background:var(--pd-surface);border:1px solid var(--pd-border);border-radius:var(--pd-radius)}.session-list[data-v-02ea8c28]{display:flex;flex-direction:column;gap:.35rem}.session-row[data-v-02ea8c28]{display:flex;align-items:center;gap:1rem;padding:.5rem .85rem;background:var(--pd-surface);border:1px solid var(--pd-border);border-radius:var(--pd-radius-sm);font-size:.75rem}.session-date[data-v-02ea8c28]{color:var(--pd-text-dim);min-width:5rem}.session-stat[data-v-02ea8c28]{color:var(--pd-text)}.session-managed[data-v-02ea8c28]{margin-left:auto;color:var(--pd-managed)}.module-list[data-v-02ea8c28]{display:flex;flex-direction:column;gap:.75rem}.module-row[data-v-02ea8c28]{padding:.6rem .85rem;background:var(--pd-surface);border:1px solid var(--pd-border);border-radius:var(--pd-radius-sm)}.module-header[data-v-02ea8c28]{display:flex;align-items:center;gap:.4rem;margin-bottom:.35rem}.lock-icon[data-v-02ea8c28]{font-size:.7rem}.module-name[data-v-02ea8c28]{font-size:.8rem;font-weight:500;color:var(--pd-text)}.module-name.locked[data-v-02ea8c28]{color:var(--pd-text-muted)}.module-count[data-v-02ea8c28]{margin-left:auto;font-size:.7rem;color:var(--pd-text-dim)}.cluster-list[data-v-02ea8c28]{display:flex;flex-direction:column;gap:.6rem}.cluster-row[data-v-02ea8c28]{padding:.6rem .85rem;background:var(--pd-surface);border:1px solid var(--pd-border);border-radius:var(--pd-radius-sm)}.cluster-info[data-v-02ea8c28]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.35rem}.cluster-name[data-v-02ea8c28]{font-size:.8rem;color:var(--pd-text)}.cluster-rate[data-v-02ea8c28]{font-size:.75rem;font-weight:600;color:var(--pd-wrong)}.cluster-bar-track[data-v-02ea8c28]{height:4px;background:var(--pd-border);border-radius:2px;overflow:hidden}.cluster-bar-fill[data-v-02ea8c28]{height:100%;border-radius:2px;transition:width var(--pd-transition)}.nav-btns[data-v-02ea8c28]{display:flex;gap:.5rem;margin-top:.5rem}.btn-secondary[data-v-02ea8c28]{flex:1;padding:.5rem 1rem;font-size:.75rem;font-family:var(--pd-font);color:var(--pd-text-dim);border:1px solid var(--pd-border);border-radius:var(--pd-radius);transition:color var(--pd-transition-fast),border-color var(--pd-transition-fast)}.btn-secondary[data-v-02ea8c28]:hover{color:var(--pd-text);border-color:var(--pd-text-dim)}@media(max-width:480px){.stat-grid[data-v-02ea8c28]{grid-template-columns:repeat(2,1fr)}}.drill-header[data-v-6f90284e]{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:1px solid var(--pd-border)}.counter[data-v-6f90284e]{font-size:.85rem;font-weight:600;color:var(--pd-accent-text)}.timer[data-v-6f90284e]{font-size:.8rem;color:var(--pd-text-dim);font-variant-numeric:tabular-nums}.end-btn[data-v-6f90284e]{margin-left:auto;padding:.3rem .8rem;font-size:.7rem;color:var(--pd-text-muted);border:1px solid var(--pd-border);border-radius:var(--pd-radius-sm);transition:color var(--pd-transition-fast),border-color var(--pd-transition-fast)}.end-btn[data-v-6f90284e]:hover{color:var(--pd-wrong);border-color:var(--pd-wrong)}.option[data-v-ccae4343]{display:block;width:100%;text-align:left;padding:.75rem 1rem;margin-bottom:.5rem;font-size:.8rem;color:var(--pd-text);background:var(--pd-surface);border:1px solid var(--pd-border);border-radius:var(--pd-radius);transition:background var(--pd-transition-fast),border-color var(--pd-transition-fast),box-shadow var(--pd-transition-fast)}.option[data-v-ccae4343]:not(:disabled):hover{background:var(--pd-surface-hover);border-color:var(--pd-accent);box-shadow:0 0 8px var(--pd-accent-dim)}.option[data-v-ccae4343]:disabled{cursor:default}.option.correct[data-v-ccae4343]{border-color:var(--pd-correct);background:var(--pd-correct-dim);box-shadow:0 0 12px var(--pd-correct-glow)}.option.hesitant[data-v-ccae4343]{border-color:var(--pd-hesitant);background:var(--pd-hesitant-dim);box-shadow:0 0 12px var(--pd-hesitant-glow)}.option.wrong[data-v-ccae4343]{border-color:var(--pd-wrong);background:var(--pd-wrong-dim);box-shadow:0 0 12px var(--pd-wrong-glow)}.option.reveal[data-v-ccae4343]{border-color:var(--pd-correct);background:var(--pd-correct-dim)}.prompt[data-v-dd71c740]{font-size:.95rem;font-weight:500;line-height:1.5;color:var(--pd-text);margin-bottom:1.25rem}.options[data-v-dd71c740]{display:flex;flex-direction:column}.fix-overlay[data-v-63db04ea]{position:fixed;inset:0;z-index:50;display:flex;align-items:center;justify-content:center;background:var(--pd-bg-overlay);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.fix-content[data-v-63db04ea]{max-width:420px;width:90%;padding:1.5rem;background:var(--pd-bg-raised);border:1px solid var(--pd-border);border-radius:var(--pd-radius-lg)}.fix-correct[data-v-63db04ea]{font-size:.85rem;font-weight:600;color:var(--pd-correct);margin-bottom:.5rem}.fix-text[data-v-63db04ea]{font-size:.8rem;color:var(--pd-text-dim);line-height:1.6;margin-bottom:1rem}.fix-timer-bar[data-v-63db04ea]{height:3px;background:var(--pd-border);border-radius:2px;overflow:hidden}.fix-timer-fill[data-v-63db04ea]{height:100%;width:100%;transform-origin:left;background:linear-gradient(90deg,var(--pd-accent),var(--pd-wrong));transform:scaleX(1);transition:none}.fix-timer-fill.active[data-v-63db04ea]{transform:scaleX(0);transition:transform 2s linear}.unlock-banner[data-v-94e6dd72]{position:relative;display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;margin-bottom:1.25rem;background:var(--pd-accent-dim);border:1px solid var(--pd-accent);border-radius:var(--pd-radius);overflow:hidden;animation:glow-pulse-94e6dd72 2s ease-in-out infinite}.unlock-flash[data-v-94e6dd72]{position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,var(--pd-accent-glow) 50%,transparent 100%);opacity:0;animation:flash-sweep-94e6dd72 2s ease-in-out .3s}@keyframes flash-sweep-94e6dd72{0%{opacity:0;transform:translate(-100%)}30%{opacity:.6}to{opacity:0;transform:translate(100%)}}.unlock-icon[data-v-94e6dd72]{font-size:1.1rem;color:var(--pd-accent-text);animation:icon-pulse-94e6dd72 1.5s ease-in-out infinite}@keyframes icon-pulse-94e6dd72{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.15)}}.unlock-text[data-v-94e6dd72]{display:flex;flex-direction:column}.unlock-label[data-v-94e6dd72]{font-size:.55rem;font-weight:700;letter-spacing:.12em;color:var(--pd-accent-text);opacity:.8}.unlock-name[data-v-94e6dd72]{font-size:.85rem;font-weight:600;color:var(--pd-accent-text)}@keyframes glow-pulse-94e6dd72{0%,to{box-shadow:0 0 8px var(--pd-accent-dim)}50%{box-shadow:0 0 24px var(--pd-accent-glow)}}.trap-section[data-v-db581a9e]{margin-bottom:1.25rem}.section-header[data-v-db581a9e]{display:flex;align-items:center;gap:.6rem;margin-bottom:.5rem}.section-tag[data-v-db581a9e]{font-size:.6rem;font-weight:700;letter-spacing:.1em;color:var(--pd-wrong);white-space:nowrap}.section-line[data-v-db581a9e]{flex:1;height:1px;background:var(--pd-border)}.trap-list[data-v-db581a9e]{display:flex;flex-direction:column;gap:.4rem}.trap-row[data-v-db581a9e]{padding:.5rem .75rem;background:var(--pd-surface);border:1px solid var(--pd-border);border-left:2px solid var(--pd-wrong);border-radius:var(--pd-radius-sm)}.trap-info[data-v-db581a9e]{display:flex;justify-content:space-between;margin-bottom:.3rem}.trap-name[data-v-db581a9e]{font-size:.7rem;color:var(--pd-text-dim)}.trap-count[data-v-db581a9e]{font-size:.7rem;font-weight:600;color:var(--pd-wrong);font-variant-numeric:tabular-nums}.trap-bar-track[data-v-db581a9e]{height:2px;background:var(--pd-border);border-radius:1px;overflow:hidden}.trap-bar-fill[data-v-db581a9e]{height:100%;background:var(--pd-wrong);border-radius:1px;opacity:.6;transition:width var(--pd-transition)}.pattern-changes[data-v-e1bc56c0]{margin-bottom:1.25rem}.change-group[data-v-e1bc56c0]{margin-bottom:.75rem}.section-header[data-v-e1bc56c0]{display:flex;align-items:center;gap:.6rem;margin-bottom:.4rem}.section-tag[data-v-e1bc56c0]{font-size:.6rem;font-weight:700;letter-spacing:.1em;white-space:nowrap}.section-tag.promoted[data-v-e1bc56c0]{color:var(--pd-managed)}.section-tag.regressed[data-v-e1bc56c0]{color:var(--pd-wrong)}.section-line[data-v-e1bc56c0]{flex:1;height:1px;background:var(--pd-border)}.tags[data-v-e1bc56c0]{display:flex;flex-wrap:wrap;gap:.4rem}.tag[data-v-e1bc56c0]{display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .65rem;border-radius:var(--pd-radius-sm);font-size:.7rem;font-weight:500;border:1px solid}.tag.managed[data-v-e1bc56c0]{background:#4ade8014;color:var(--pd-managed);border-color:#4ade8033}.tag.regressed[data-v-e1bc56c0]{background:var(--pd-wrong-dim);color:var(--pd-wrong);border-color:#e0584033}.tag-icon[data-v-e1bc56c0]{font-size:.6rem}.cluster-section[data-v-6fb8569d]{margin-bottom:1.25rem}.section-header[data-v-6fb8569d]{display:flex;align-items:center;gap:.6rem;margin-bottom:.6rem}.section-tag[data-v-6fb8569d]{font-size:.6rem;font-weight:700;letter-spacing:.1em;color:var(--pd-accent-text);white-space:nowrap}.section-line[data-v-6fb8569d]{flex:1;height:1px;background:var(--pd-border)}.cluster-list[data-v-6fb8569d]{display:flex;flex-direction:column;gap:.5rem}.cluster-row[data-v-6fb8569d]{padding:.5rem .75rem;background:var(--pd-surface);border:1px solid var(--pd-border);border-radius:var(--pd-radius-sm);animation:row-enter-6fb8569d .3s ease both}@keyframes row-enter-6fb8569d{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:translate(0)}}.cluster-top[data-v-6fb8569d]{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.3rem}.cluster-name[data-v-6fb8569d]{font-size:.7rem;color:var(--pd-text-dim)}.cluster-pct[data-v-6fb8569d]{font-size:.8rem;font-weight:700;font-variant-numeric:tabular-nums}.cluster-track[data-v-6fb8569d]{height:3px;background:var(--pd-border);border-radius:2px;overflow:hidden;margin-bottom:.2rem}.cluster-fill[data-v-6fb8569d]{height:100%;border-radius:2px;transition:width .6s cubic-bezier(.4,0,.2,1)}.cluster-detail[data-v-6fb8569d]{font-size:.55rem;color:var(--pd-text-muted);font-variant-numeric:tabular-nums}.summary[data-v-677247a0]{padding-top:.5rem}.top-bar[data-v-677247a0]{display:flex;justify-content:space-between;align-items:center;padding-bottom:.75rem;margin-bottom:1rem;border-bottom:1px solid var(--pd-border)}.top-label[data-v-677247a0]{font-size:.65rem;font-weight:700;letter-spacing:.12em;color:var(--pd-accent-text)}.top-id[data-v-677247a0]{font-size:.6rem;color:var(--pd-text-muted);font-variant-numeric:tabular-nums}.hero-row[data-v-677247a0]{display:flex;align-items:center;justify-content:center;gap:2rem;margin-bottom:1.5rem}.accuracy-ring[data-v-677247a0]{position:relative;width:120px;height:120px}.ring-svg[data-v-677247a0]{width:100%;height:100%;transform:rotate(-90deg)}.ring-track[data-v-677247a0]{fill:none;stroke:var(--pd-border);stroke-width:5}.ring-fill[data-v-677247a0]{fill:none;stroke-width:5;stroke-linecap:round;transition:stroke-dasharray .8s cubic-bezier(.4,0,.2,1)}.ring-center[data-v-677247a0]{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;gap:1px}.ring-pct[data-v-677247a0]{font-size:2rem;font-weight:700;color:var(--pd-text);line-height:1}.ring-unit[data-v-677247a0]{font-size:.75rem;color:var(--pd-text-dim);align-self:flex-start;margin-top:.4rem}.grade-box[data-v-677247a0]{display:flex;flex-direction:column;align-items:center}.grade-label[data-v-677247a0]{font-size:.55rem;font-weight:600;letter-spacing:.1em;color:var(--pd-text-muted);margin-bottom:.2rem}.grade-letter[data-v-677247a0]{font-size:2.8rem;font-weight:700;line-height:1;text-shadow:0 0 20px currentColor}.stat-strip[data-v-677247a0]{display:flex;align-items:center;background:var(--pd-surface);border:1px solid var(--pd-border);border-radius:var(--pd-radius);padding:.75rem 0;margin-bottom:1.5rem}.strip-stat[data-v-677247a0]{flex:1;text-align:center;animation:strip-enter-677247a0 .3s ease both}@keyframes strip-enter-677247a0{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.strip-val[data-v-677247a0]{display:block;font-size:1.25rem;font-weight:700;color:var(--pd-text);line-height:1.2}.strip-val.correct[data-v-677247a0]{color:var(--pd-correct)}.strip-val.wrong[data-v-677247a0]{color:var(--pd-wrong)}.strip-val.managed[data-v-677247a0]{color:var(--pd-accent-text)}.strip-key[data-v-677247a0]{display:block;font-size:.55rem;font-weight:600;letter-spacing:.1em;color:var(--pd-text-muted);margin-top:.15rem}.strip-divider[data-v-677247a0]{width:1px;height:28px;background:var(--pd-border)}.panels[data-v-677247a0]{display:flex;flex-direction:column;gap:.25rem}.action-bar[data-v-677247a0]{display:flex;gap:.75rem;margin-top:1.75rem;padding-top:1rem;border-top:1px solid var(--pd-border)}.btn-drill[data-v-677247a0]{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1.5rem;background:var(--pd-accent);color:var(--pd-bg);font-weight:700;font-size:.75rem;letter-spacing:.06em;border-radius:var(--pd-radius);transition:box-shadow var(--pd-transition-fast)}.btn-drill[data-v-677247a0]:hover{box-shadow:0 0 20px var(--pd-accent-glow),inset 0 0 20px #ffffff1a}.btn-icon[data-v-677247a0]{font-size:.8rem;opacity:.7}.btn-home[data-v-677247a0]{padding:.7rem 1.25rem;font-size:.7rem;font-weight:600;letter-spacing:.08em;color:var(--pd-text-dim);border:1px solid var(--pd-border);border-radius:var(--pd-radius);transition:color var(--pd-transition-fast),border-color var(--pd-transition-fast)}.btn-home[data-v-677247a0]:hover{color:var(--pd-text);border-color:var(--pd-text-dim)}.dash-stat-grid[data-v-c272b06c]{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1.5rem}@media(max-width:400px){.dash-stat-grid[data-v-c272b06c]{grid-template-columns:1fr}}.badge[data-v-65deb3a6]{display:inline-block;padding:2px 8px;border-radius:var(--pd-radius-sm);font-size:.7rem;font-weight:500;text-transform:uppercase;letter-spacing:.04em}.managed[data-v-65deb3a6]{background:#4ade801f;color:var(--pd-managed)}.monitoring[data-v-65deb3a6]{background:#b8860b1f;color:var(--pd-monitoring)}.active[data-v-65deb3a6]{background:var(--pd-accent-dim);color:var(--pd-accent-text)}.unseen[data-v-65deb3a6]{background:transparent;color:var(--pd-text-muted);border:1px solid var(--pd-border)}.locked[data-v-65deb3a6]{background:transparent;color:var(--pd-locked);border:1px solid var(--pd-border)}.unlocked[data-v-65deb3a6]{background:var(--pd-accent-dim);color:var(--pd-accent-text)}.module-row[data-v-d87aa4ca]{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:.75rem 1rem;background:var(--pd-surface);border:1px solid var(--pd-border);border-radius:var(--pd-radius)}.module-row.locked[data-v-d87aa4ca]{opacity:.55}.module-info[data-v-d87aa4ca]{flex:1;min-width:0}.module-name[data-v-d87aa4ca]{font-size:.8rem;font-weight:600;color:var(--pd-text)}.module-id[data-v-d87aa4ca]{color:var(--pd-accent-text);margin-right:.3rem}.module-stats[data-v-d87aa4ca]{font-size:.7rem;color:var(--pd-text-dim);margin-top:.15rem}.module-progress[data-v-d87aa4ca]{margin-top:.5rem}.progress-label[data-v-d87aa4ca]{font-size:.6rem;color:var(--pd-text-muted);display:block;margin-top:.2rem}.module-actions[data-v-d87aa4ca]{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.unlock-btn[data-v-d87aa4ca]{padding:.25rem .6rem;font-size:.65rem;color:var(--pd-accent-text);border:1px solid var(--pd-accent);border-radius:var(--pd-radius-sm);transition:background var(--pd-transition-fast)}.unlock-btn[data-v-d87aa4ca]:hover{background:var(--pd-accent-dim)}.module-list[data-v-62dbe419]{margin-bottom:1.5rem}h3[data-v-62dbe419]{margin-bottom:.6rem}.rows[data-v-62dbe419]{display:flex;flex-direction:column;gap:.5rem}.cluster-bar-row[data-v-f9736f57]{margin-bottom:.5rem}.cluster-info[data-v-f9736f57]{display:flex;justify-content:space-between;font-size:.7rem;margin-bottom:.2rem}.cluster-name[data-v-f9736f57]{color:var(--pd-text-dim)}.cluster-rate[data-v-f9736f57]{color:var(--pd-text-muted);font-variant-numeric:tabular-nums}.cluster-track[data-v-f9736f57]{height:4px;background:var(--pd-border);border-radius:2px;overflow:hidden}.cluster-fill[data-v-f9736f57]{height:100%;border-radius:2px;transition:width var(--pd-transition)}.cluster-fill.low[data-v-f9736f57]{background:var(--pd-correct)}.cluster-fill.mid[data-v-f9736f57]{background:var(--pd-hesitant)}.cluster-fill.high[data-v-f9736f57]{background:var(--pd-wrong)}.cluster-bars[data-v-fb390f5c]{margin-bottom:1.5rem}h3[data-v-fb390f5c]{margin-bottom:.6rem}.empty[data-v-fb390f5c]{font-size:.75rem;color:var(--pd-text-muted)}h3[data-v-7a7c8495]{margin-bottom:.6rem}.pattern-list[data-v-7a7c8495]{background:var(--pd-surface);border:1px solid var(--pd-border);border-radius:var(--pd-radius);overflow:hidden}.pattern-item[data-v-7a7c8495]{display:flex;justify-content:space-between;align-items:center;padding:.5rem 1rem;border-bottom:1px solid var(--pd-border-subtle);font-size:.75rem}.pattern-item[data-v-7a7c8495]:last-child{border-bottom:none}.pattern-id[data-v-7a7c8495]{color:var(--pd-text-dim);font-weight:500}.pattern-meta[data-v-7a7c8495]{display:flex;align-items:center;gap:.5rem}.pattern-error[data-v-7a7c8495]{color:var(--pd-text-muted);font-size:.65rem;font-variant-numeric:tabular-nums}.dashboard[data-v-86ca2b4d]{padding-top:.5rem}.back-btn[data-v-86ca2b4d]{font-size:.75rem;color:var(--pd-text-dim);margin-bottom:.5rem;transition:color var(--pd-transition-fast)}.back-btn[data-v-86ca2b4d]:hover{color:var(--pd-accent-text)}.dash-title[data-v-86ca2b4d]{margin-bottom:1.25rem;color:var(--pd-text)}.auth[data-v-40f248a0]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:80vh;position:relative}.back-link[data-v-40f248a0]{position:absolute;top:0;left:0;font-size:.75rem;color:var(--pd-text-dim);transition:color var(--pd-transition-fast)}.back-link[data-v-40f248a0]:hover{color:var(--pd-text)}.auth-card[data-v-40f248a0]{width:100%;max-width:340px;padding:1.5rem;background:var(--pd-surface);border:1px solid var(--pd-border);border-radius:var(--pd-radius)}.auth-title[data-v-40f248a0]{font-size:1.25rem;font-weight:600;color:var(--pd-accent-text);margin-bottom:1.25rem;text-align:center}.auth-form[data-v-40f248a0]{display:flex;flex-direction:column;gap:.75rem}.field[data-v-40f248a0]{display:flex;flex-direction:column;gap:.25rem}.field label[data-v-40f248a0]{font-size:.7rem;color:var(--pd-text-dim);text-transform:uppercase;letter-spacing:.05em}.field input[data-v-40f248a0]{padding:.5rem .75rem;background:var(--pd-bg);border:1px solid var(--pd-border);border-radius:var(--pd-radius-sm);color:var(--pd-text);font-family:inherit;font-size:.85rem;transition:border-color var(--pd-transition-fast)}.field input[data-v-40f248a0]:focus{outline:none;border-color:var(--pd-accent)}.error[data-v-40f248a0]{font-size:.75rem;color:var(--pd-wrong)}.btn-primary[data-v-40f248a0]{padding:.6rem 1rem;background:var(--pd-accent);color:var(--pd-bg);font-weight:600;font-size:.85rem;border-radius:var(--pd-radius);transition:opacity var(--pd-transition-fast),box-shadow var(--pd-transition-fast);margin-top:.25rem}.btn-primary[data-v-40f248a0]:hover:not(:disabled){opacity:.9;box-shadow:0 0 16px var(--pd-accent-glow)}.btn-primary[data-v-40f248a0]:disabled{opacity:.5}.divider[data-v-40f248a0]{display:flex;align-items:center;gap:.75rem;margin:1rem 0}.divider[data-v-40f248a0]:before,.divider[data-v-40f248a0]:after{content:"";flex:1;height:1px;background:var(--pd-border)}.divider span[data-v-40f248a0]{font-size:.7rem;color:var(--pd-text-muted)}.oauth-buttons[data-v-40f248a0]{display:flex;gap:.5rem}.btn-oauth[data-v-40f248a0]{flex:1;padding:.5rem;font-size:.75rem;color:var(--pd-text-dim);border:1px solid var(--pd-border);border-radius:var(--pd-radius);transition:color var(--pd-transition-fast),border-color var(--pd-transition-fast)}.btn-oauth[data-v-40f248a0]:hover{color:var(--pd-text);border-color:var(--pd-text-dim)}.toggle-mode[data-v-40f248a0]{text-align:center;margin-top:1rem;font-size:.75rem;color:var(--pd-text-dim)}.link[data-v-40f248a0]{color:var(--pd-accent-text);font-size:.75rem;text-decoration:underline;text-underline-offset:2px}.link[data-v-40f248a0]:hover{opacity:.8}.settings[data-v-1d8c8186]{padding-top:.5rem}.back-btn[data-v-1d8c8186]{font-size:.75rem;color:var(--pd-text-dim);margin-bottom:.5rem;transition:color var(--pd-transition-fast)}.back-btn[data-v-1d8c8186]:hover{color:var(--pd-accent-text)}.settings-title[data-v-1d8c8186]{margin-bottom:1.5rem;color:var(--pd-text)}.section[data-v-1d8c8186]{margin-bottom:1.75rem}.section-label[data-v-1d8c8186]{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--pd-text-muted);margin-bottom:.75rem}.info-card[data-v-1d8c8186]{background:var(--pd-surface);border:1px solid var(--pd-border);border-radius:var(--pd-radius);padding:.75rem 1rem}.info-row[data-v-1d8c8186]{display:flex;justify-content:space-between;align-items:center;padding:.35rem 0}.info-row+.info-row[data-v-1d8c8186]{border-top:1px solid var(--pd-border)}.info-label[data-v-1d8c8186]{font-size:.75rem;color:var(--pd-text-dim)}.info-value[data-v-1d8c8186]{font-size:.8rem;color:var(--pd-text);font-weight:500}.theme-grid[data-v-1d8c8186]{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}.theme-card[data-v-1d8c8186]{display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:1rem .5rem;background:var(--pd-surface);border:1px solid var(--pd-border);border-radius:var(--pd-radius);transition:border-color var(--pd-transition-fast)}.theme-card[data-v-1d8c8186]:hover{border-color:var(--pd-text-muted)}.theme-card.active[data-v-1d8c8186]{border-color:var(--pd-accent);box-shadow:0 0 8px var(--pd-accent-glow)}.theme-dot[data-v-1d8c8186]{width:16px;height:16px;border-radius:50%}.theme-name[data-v-1d8c8186]{font-size:.7rem;font-weight:600;color:var(--pd-text-dim);text-transform:uppercase;letter-spacing:.06em}.theme-card.active .theme-name[data-v-1d8c8186]{color:var(--pd-text)}.action-btns[data-v-1d8c8186]{display:flex;flex-direction:column;gap:.5rem}.btn-secondary[data-v-1d8c8186]{padding:.55rem 1rem;font-size:.8rem;font-family:var(--pd-font);color:var(--pd-text-dim);border:1px solid var(--pd-border);border-radius:var(--pd-radius);transition:color var(--pd-transition-fast),border-color var(--pd-transition-fast)}.btn-secondary[data-v-1d8c8186]:hover{color:var(--pd-text);border-color:var(--pd-text-dim)}.btn-danger[data-v-1d8c8186]:hover{color:var(--pd-wrong);border-color:var(--pd-wrong)}.shell[data-v-cadb07ef]{max-width:720px;margin:0 auto;padding:2rem 1.25rem;min-height:100vh;position:relative}.top-bar[data-v-cadb07ef]{position:fixed;top:1rem;right:1rem;z-index:90;display:flex;align-items:center;gap:.5rem}.auth-indicator[data-v-cadb07ef]{display:flex;align-items:center;gap:.3rem;padding:.3rem .6rem;font-size:.55rem;color:var(--pd-text-muted);background:var(--pd-bg-raised);border:1px solid var(--pd-border);border-radius:var(--pd-radius-sm)}.auth-dot[data-v-cadb07ef]{width:5px;height:5px;border-radius:50%;background:var(--pd-correct)}.auth-email[data-v-cadb07ef]{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-btn[data-v-cadb07ef]{display:flex;align-items:center;gap:.35rem;padding:.3rem .6rem;font-size:.6rem;font-weight:600;font-family:var(--pd-font);color:var(--pd-text-muted);background:var(--pd-bg-raised);border:1px solid var(--pd-border);border-radius:var(--pd-radius-sm);letter-spacing:.06em;transition:color var(--pd-transition-fast),border-color var(--pd-transition-fast)}.top-btn[data-v-cadb07ef]:hover{color:var(--pd-accent-text);border-color:var(--pd-accent)}.theme-toggle[data-v-cadb07ef]{display:flex;align-items:center;gap:.35rem;padding:.3rem .6rem;font-size:.6rem;font-weight:600;font-family:var(--pd-font);color:var(--pd-text-muted);background:var(--pd-bg-raised);border:1px solid var(--pd-border);border-radius:var(--pd-radius-sm);letter-spacing:.06em;transition:color var(--pd-transition-fast),border-color var(--pd-transition-fast)}.theme-toggle[data-v-cadb07ef]:hover{color:var(--pd-accent-text);border-color:var(--pd-accent)}.theme-dot[data-v-cadb07ef]{width:6px;height:6px;border-radius:50%;background:var(--pd-accent)}.theme-obsidian{--pd-bg: #0a0a0a;--pd-bg-raised: #111111;--pd-bg-overlay: rgba(10, 10, 10, .92);--pd-surface: #161616;--pd-surface-hover: #1c1c1c;--pd-border: #222222;--pd-border-subtle: #1a1a1a;--pd-text: #e0e0e0;--pd-text-dim: #888888;--pd-text-muted: #555555;--pd-accent: #00e5c7;--pd-accent-dim: rgba(0, 229, 199, .15);--pd-accent-glow: rgba(0, 229, 199, .4);--pd-accent-text: #00e5c7;--pd-correct: #4ade80;--pd-correct-dim: rgba(74, 222, 128, .12);--pd-correct-glow: rgba(74, 222, 128, .4);--pd-wrong: #e05840;--pd-wrong-dim: rgba(224, 88, 64, .12);--pd-wrong-glow: rgba(224, 88, 64, .4);--pd-hesitant: #e5a100;--pd-hesitant-dim: rgba(229, 161, 0, .12);--pd-hesitant-glow: rgba(229, 161, 0, .4);--pd-managed: #4ade80;--pd-monitoring: #b8860b;--pd-active: #6c8cff;--pd-locked: #444444;--pd-dot-color: rgba(255, 255, 255, .04);--pd-dot-size: 1px;--pd-dot-gap: 24px;--pd-radius: 8px;--pd-radius-sm: 4px;--pd-radius-lg: 12px;--pd-font: "JetBrains Mono", monospace;--pd-transition-fast: .15s ease;--pd-transition: .3s ease}.theme-midnight{--pd-bg: #0c1021;--pd-bg-raised: #111732;--pd-bg-overlay: rgba(12, 16, 33, .92);--pd-surface: #141a30;--pd-surface-hover: #1a2040;--pd-border: #1e2845;--pd-border-subtle: #171e38;--pd-text: #d8dce8;--pd-text-dim: #7888aa;--pd-text-muted: #4a5670;--pd-accent: #6c8cff;--pd-accent-dim: rgba(108, 140, 255, .15);--pd-accent-glow: rgba(108, 140, 255, .4);--pd-accent-text: #6c8cff;--pd-correct: #4ade80;--pd-correct-dim: rgba(74, 222, 128, .12);--pd-correct-glow: rgba(74, 222, 128, .4);--pd-wrong: #e05840;--pd-wrong-dim: rgba(224, 88, 64, .12);--pd-wrong-glow: rgba(224, 88, 64, .4);--pd-hesitant: #e5a100;--pd-hesitant-dim: rgba(229, 161, 0, .12);--pd-hesitant-glow: rgba(229, 161, 0, .4);--pd-managed: #4ade80;--pd-monitoring: #b8860b;--pd-active: #6c8cff;--pd-locked: #3a4260;--pd-dot-color: rgba(108, 140, 255, .04);--pd-dot-size: 1px;--pd-dot-gap: 24px;--pd-radius: 8px;--pd-radius-sm: 4px;--pd-radius-lg: 12px;--pd-font: "JetBrains Mono", monospace;--pd-transition-fast: .15s ease;--pd-transition: .3s ease}.theme-ember{--pd-bg: #0f0a08;--pd-bg-raised: #171110;--pd-bg-overlay: rgba(15, 10, 8, .92);--pd-surface: #1a1311;--pd-surface-hover: #221917;--pd-border: #2a1f1c;--pd-border-subtle: #1f1714;--pd-text: #e8ddd8;--pd-text-dim: #997766;--pd-text-muted: #664433;--pd-accent: #ff6b35;--pd-accent-dim: rgba(255, 107, 53, .15);--pd-accent-glow: rgba(255, 107, 53, .4);--pd-accent-text: #ff6b35;--pd-correct: #4ade80;--pd-correct-dim: rgba(74, 222, 128, .12);--pd-correct-glow: rgba(74, 222, 128, .4);--pd-wrong: #e05840;--pd-wrong-dim: rgba(224, 88, 64, .12);--pd-wrong-glow: rgba(224, 88, 64, .4);--pd-hesitant: #e5a100;--pd-hesitant-dim: rgba(229, 161, 0, .12);--pd-hesitant-glow: rgba(229, 161, 0, .4);--pd-managed: #4ade80;--pd-monitoring: #b8860b;--pd-active: #ff6b35;--pd-locked: #4a3530;--pd-dot-color: rgba(255, 107, 53, .04);--pd-dot-size: 1px;--pd-dot-gap: 24px;--pd-radius: 8px;--pd-radius-sm: 4px;--pd-radius-lg: 12px;--pd-font: "JetBrains Mono", monospace;--pd-transition-fast: .15s ease;--pd-transition: .3s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{min-height:100vh}button{font:inherit;color:inherit;background:none;border:none;cursor:pointer}ul,ol{list-style:none}a{color:inherit;text-decoration:none}body{font-family:var(--pd-font);background-color:var(--pd-bg);color:var(--pd-text);line-height:1.6;font-size:14px}body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background-image:radial-gradient(circle,var(--pd-dot-color) var(--pd-dot-size),transparent var(--pd-dot-size));background-size:var(--pd-dot-gap) var(--pd-dot-gap)}#app{position:relative;z-index:1;min-height:100vh}h1,h2,h3,h4{font-weight:600;line-height:1.3}h1{font-size:2rem}h2{font-size:1.25rem}h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--pd-text-dim)}.accent{color:var(--pd-accent-text)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--pd-bg)}::-webkit-scrollbar-thumb{background:var(--pd-border);border-radius:3px}.screen-enter-active{transition:opacity .3s ease,transform .3s ease}.screen-leave-active{transition:opacity .15s ease,transform .15s ease}.screen-enter-from{opacity:0;transform:translateY(8px)}.screen-enter-to,.screen-leave-from{opacity:1;transform:translateY(0)}.screen-leave-to{opacity:0;transform:translateY(-4px)}.fade-enter-active{transition:opacity .2s ease}.fade-leave-active{transition:opacity .15s ease}.fade-enter-from,.fade-leave-to{opacity:0}.pop-enter-active{transition:opacity .3s ease,transform .3s cubic-bezier(.34,1.56,.64,1)}.pop-leave-active{transition:opacity .2s ease,transform .2s ease}.pop-enter-from{opacity:0;transform:scale(.9)}.pop-enter-to{opacity:1;transform:scale(1)}.pop-leave-to{opacity:0;transform:scale(.95)}.stagger-enter-active{transition:opacity .3s ease,transform .3s ease}.stagger-enter-from{opacity:0;transform:translateY(6px)}
