:root{--ground:#f7f7f9;--bg:#fff;--bg-dark:#0a0a0a;--text-h:#0d0d0d;--text-body:#555;--text-muted:#999;--text-light:#f0f0f0;--border:#e8e8e8;--border-dark:#2a2a2a;--nav-text:#333;--accent:#2e3a8c;--accent-hover:#212a6b;--accent-soft:#eef0fa;--focus-ring:#2e3a8c52;--surface-hover:#f5f5f7;--surface-sunken:#f1f1f4;--surface-raised:#fff;--bg-alt:#fafafa;--btn-primary-bg:#0a0a0a;--btn-primary-bg-hover:#2b2b2b;--btn-primary-fg:#fff;--danger:#c00;--danger-hover:#a30000;--danger-bg:#fff5f5;--correct:#16a34a;--correct-text:#15803d;--correct-bg:#f0fdf4;--wrong:#dc2626;--wrong-text:#dc2626;--wrong-bg:#fef2f2;--warn-bg:#fff3cd;--warn-border:#ffc107;--warn-text:#856404;--hero-line:#00000012;--hero-line-faint:#0000000b;--node-ink:#16161a;--node-shadow:#16161a;--node-pending-bg:#fdeaa0;--node-pending-fg:#33290a;--node-learning-bg:#cdbdf5;--node-learning-fg:#241a44;--node-done-bg:#b6ecc4;--node-done-fg:#10331c;--node-skipped-bg:#e4e4e7;--node-skipped-fg:#5b5b66;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-mono:ui-monospace, "SF Mono", "Fira Code", monospace;--text-2xs:.6875rem;--text-xs:.75rem;--text-sm:.8125rem;--text-md:.875rem;--text-lg:.9375rem;--text-base:1rem;--text-xl:1.125rem;--text-2xl:1.5rem;--container-max:1200px;--section-padding:7rem 0;--nav-height:60px;--announcement-height:36px}html.dark{--ground:#0a0a0a;--bg:#141414;--bg-dark:#111;--text-h:#f0f0f0;--text-body:#aaa;--text-muted:#666;--border:#2a2a2a;--border-dark:#3a3a3a;--nav-text:#ccc;--accent:#97a3f0;--accent-hover:#b6bef7;--accent-soft:#1e2338;--focus-ring:#97a3f06b;--surface-hover:#1a1a1a;--surface-sunken:#101010;--surface-raised:#1c1c1c;--bg-alt:#161616;--btn-primary-bg:#f0f0f0;--btn-primary-bg-hover:#fff;--btn-primary-fg:#0a0a0a;--danger:#f08a80;--danger-hover:#f5a9a1;--danger-bg:#2a1a19;--correct:#4ade80;--correct-text:#6ee7a0;--correct-bg:#13241a;--wrong:#f0857c;--wrong-text:#f4a09a;--wrong-bg:#2a1817;--warn-bg:#2a2417;--warn-border:#8a6d1f;--warn-text:#e3c46a;--hero-line:#ffffff17;--hero-line-faint:#ffffff0e;--node-ink:#0a0a0a;--node-shadow:#000;--node-pending-bg:#e0c877;--node-pending-fg:#2b2200;--node-learning-bg:#b3a2e6;--node-learning-fg:#1b1236;--node-done-bg:#8fd4a4;--node-done-fg:#0c2714;--node-skipped-bg:#3d3d44;--node-skipped-fg:#b0b0ba}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-sans);color:var(--text-body);background:var(--ground);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:1rem;font-weight:400;line-height:1.65}img,svg{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}:focus-visible{outline-offset:2px;box-shadow:0 0 0 3px var(--focus-ring);outline:2px solid #0000}.btn{font-family:inherit;font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;border:1px solid #0000;border-radius:2px;justify-content:center;align-items:center;gap:.4rem;padding:.5rem 1.1rem;font-weight:500;text-decoration:none;transition:background-color .15s,color .15s,border-color .15s,opacity .15s;display:inline-flex}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--btn-primary-bg);color:var(--btn-primary-fg);border-color:var(--btn-primary-bg)}.btn-primary:hover:not(:disabled):not([aria-disabled=true]){background:var(--btn-primary-bg-hover);border-color:var(--btn-primary-bg-hover)}.btn-secondary{color:var(--text-h);border-color:var(--text-h);background:0 0}.btn-secondary:hover:not(:disabled):not([aria-disabled=true]){background:var(--text-h);color:var(--bg)}.btn:active:not(:disabled):not([aria-disabled=true]){transform:translateY(1px)}.btn-danger{color:var(--danger);border:1px solid var(--danger);font-family:inherit;font-size:var(--text-xs);letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;cursor:pointer;background:0 0;border-radius:2px;align-items:center;gap:.4rem;padding:.35rem .875rem;transition:background-color .15s,color .15s,border-color .15s;display:inline-flex}.btn-danger:hover{background:var(--danger);color:var(--bg);border-color:var(--danger)}.btn-danger:active{transform:translateY(1px)}.btn-tab{font-family:inherit;font-size:var(--text-md);color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:.5rem 1rem;transition:color .15s,border-color .15s}.btn-tab:hover{color:var(--text-h)}.btn-tab[aria-selected=true]{color:var(--text-h);border-bottom-color:var(--accent)}.btn-icon{font-family:inherit;font-size:var(--text-xl);color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:2px;justify-content:center;align-items:center;padding:.25rem;line-height:1;transition:background-color .15s,color .15s;display:inline-flex}.btn-icon:hover{background:var(--surface-hover);color:var(--text-h)}.field{background:var(--surface-sunken);width:100%;color:var(--text-h);border:1px solid var(--border);font-family:inherit;font-size:var(--text-md);border-radius:2px;outline:none;padding:.5rem .75rem;transition:border-color .15s,box-shadow .15s}.field:hover:not(:focus){border-color:var(--text-muted)}.field:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--focus-ring)}.field::placeholder{color:var(--text-muted)}select.field{cursor:pointer}.field[aria-invalid=true]{border-color:var(--danger)}.field-textarea{font-size:var(--text-lg);resize:vertical;min-height:120px;padding:.875rem;line-height:1.6}.card-hover{background:var(--bg);border:1px solid var(--border);transition:border-color .15s,background-color .15s}.card-hover:hover{border-color:var(--text-muted);background:var(--surface-raised)}.card-static{background:var(--bg);border:1px solid var(--border)}.container{max-width:var(--container-max);margin:0 auto;padding:0 clamp(1.5rem,5vw,5rem)}section{padding:var(--section-padding)}.eyebrow{font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.15em;color:var(--text-muted);margin-bottom:1.5rem;font-weight:400}.section-h2{letter-spacing:-.01em;color:var(--text-h);margin-bottom:1.5rem;font-size:clamp(2rem,3.5vw,3rem);font-weight:300;line-height:1.1}.reveal{opacity:0;transition:opacity .45s ease-out,transform .45s ease-out;transform:translateY(16px)}.reveal.visible{opacity:1;transform:translateY(0)}.section-border{border-top:1px solid var(--border)}.home-grid{grid-template-columns:2fr 1fr;align-items:start;gap:2rem;display:grid}.home-grid>*{min-width:0}@media (width<=767px){.home-grid{grid-template-columns:1fr}}.generate-btn-row{justify-content:flex-end;display:flex}@media (width<=767px){.generate-btn-row>button,.generate-btn-row>a{justify-content:center;width:100%}}.nav-links-desktop{align-items:center;gap:2rem;list-style:none;display:flex}.nav-cta-desktop{display:block}.nav-hamburger{cursor:pointer;color:var(--text-h);background:0 0;border:none;padding:.25rem;line-height:1;display:none}.nav-mobile-menu{background:var(--bg);border-bottom:1px solid var(--border);z-index:99;flex-direction:column;gap:1.25rem;padding:1.25rem clamp(1.5rem,5vw,5rem);display:flex;position:absolute;top:60px;left:0;right:0}@media (width<=767px){.nav-links-desktop,.nav-cta-desktop{display:none}.nav-hamburger{justify-content:center;align-items:center;display:flex}}.footer-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:3rem;margin-bottom:4rem;display:flex}.footer-nav-columns{flex-wrap:wrap;gap:4rem;display:flex}@media (width<=767px){.footer-top{gap:1.5rem;margin-bottom:2rem}.footer-nav-columns{gap:2rem}}.flow-diagram-desktop{display:block}.flow-diagram-mobile{display:none}@media (width<=767px){.flow-diagram-desktop{display:none}.flow-diagram-mobile{display:block}.hero-cta-btn{justify-content:center;width:100%}}.auth-form-card{border:1px solid var(--border);border-radius:2px;padding:2.5rem}@media (width<=767px){.auth-form-card{padding:1.5rem}}.rm-panel-meta{border-bottom:1px solid var(--border);font-size:var(--text-2xs);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);flex-wrap:wrap;align-items:center;gap:.5rem;padding:.75rem 1rem;display:flex}.rm-panel-body{padding:1rem}.rm-map-shell{position:relative}.rm-map{background-image:radial-gradient(var(--border) 1px, transparent 1px);background-size:24px 24px;background-attachment:local;height:clamp(520px,100vh - 18rem,1080px);overflow:auto}.rm-canvas{margin:0 auto;position:relative}.rm-edges{pointer-events:none;position:absolute;inset:0;overflow:visible}.rm-fab{z-index:20;border:2px solid var(--node-ink);background:var(--bg);color:var(--text-h);box-shadow:3px 3px 0 var(--node-shadow);font-family:inherit;font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;border-radius:5px;align-items:center;gap:.45rem;padding:.6rem 1.1rem;font-weight:500;transition:transform .11s,box-shadow .11s;display:inline-flex;position:absolute;bottom:1.25rem;right:1.25rem}.rm-fab:hover:not(:disabled){box-shadow:5px 5px 0 var(--node-shadow);transform:translate(-1px,-1px)}.rm-fab:active:not(:disabled){box-shadow:1px 1px 0 var(--node-shadow);transform:translate(2px,2px)}.rm-fab:disabled{opacity:.5;cursor:not-allowed;box-shadow:3px 3px 0 var(--node-shadow)}.rm-node{border:2px solid var(--node-ink);background:var(--node-pending-bg);color:var(--node-pending-fg);box-shadow:3px 3px 0 var(--node-shadow);border-radius:5px;flex-direction:column;transition:transform .11s,box-shadow .11s,background-color .14s;display:flex;position:absolute}.rm-node:hover{box-shadow:5px 5px 0 var(--node-shadow);transform:translate(-1px,-1px)}.rm-node[data-status=in_progress]{background:var(--node-learning-bg);color:var(--node-learning-fg)}.rm-node[data-status=completed]{background:var(--node-done-bg);color:var(--node-done-fg)}.rm-node[data-status=skipped]{background:var(--node-skipped-bg);color:var(--node-skipped-fg)}.rm-node[data-status=skipped] .rm-node-title{text-decoration:line-through;text-decoration-thickness:1px}.rm-node[data-type=practice]{border-style:dashed}.rm-node[data-current=true]{box-shadow:3px 3px 0 var(--node-shadow), 0 0 0 3px var(--accent)}.rm-node[data-current=true]:hover{box-shadow:5px 5px 0 var(--node-shadow), 0 0 0 3px var(--accent)}.rm-node[data-selected=true]{border-width:3px}.rm-node[data-scoped=true]{box-shadow:3px 3px 0 var(--node-shadow), 0 0 0 3px var(--accent)}.rm-node-open{color:inherit;text-align:left;cursor:pointer;background:0 0;flex-direction:column;flex:1;gap:.25rem;padding:.5rem .7rem .4rem;font-family:inherit;display:flex}.rm-node-open:focus-visible{outline:2px solid var(--node-ink);outline-offset:-4px}.rm-node-top{font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;opacity:.72;align-items:center;gap:.3rem;font-weight:500;display:flex}.rm-node-step{font-variant-numeric:tabular-nums;letter-spacing:.04em;margin-left:auto}.rm-node-title{-webkit-line-clamp:2;font-size:var(--text-md);-webkit-box-orient:vertical;font-weight:500;line-height:1.3;display:-webkit-box;overflow:hidden}.rm-node-actions{border-top:1.5px solid var(--node-ink);align-items:stretch;display:flex}.rm-node-actions button{font-family:inherit;font-size:var(--text-2xs);letter-spacing:.06em;text-transform:uppercase;color:inherit;cursor:pointer;opacity:.62;background:0 0;flex:1;justify-content:center;align-items:center;gap:.25rem;padding:.3rem .2rem;transition:opacity .12s,background-color .12s;display:inline-flex}.rm-node-actions button+button{border-left:1.5px solid var(--node-ink)}.rm-node-actions button:hover:not(:disabled){opacity:1;background:#00000012}.rm-node-actions button[aria-pressed=true]{opacity:1;background:#0000001f;font-weight:600}.rm-node-actions button:disabled{opacity:.35;cursor:not-allowed}@media (prefers-reduced-motion:reduce){.rm-node{transition:none}.rm-node:hover{transform:none}}.rm-edge-label{background:var(--bg);border:1px solid var(--border);font-size:var(--text-2xs);color:var(--text-muted);white-space:nowrap;pointer-events:none;border-radius:2px;padding:.05rem .35rem;position:absolute;transform:translate(-50%,-50%)}.rm-node-status{font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;color:var(--node-skipped-fg);background:var(--surface-sunken);border-radius:2px;padding:.1rem .4rem}.rm-node-status[data-status=completed]{color:var(--node-done-fg);background:var(--node-done-bg)}.rm-node-status[data-status=in_progress]{color:var(--node-learning-fg);background:var(--node-learning-bg)}.rm-node-status[data-status=not_started]{color:var(--node-pending-fg);background:var(--node-pending-bg)}.rm-chip-btn[data-active=true]{color:var(--btn-primary-fg);background:var(--btn-primary-bg);border-color:var(--btn-primary-bg)}.rm-chip-btn[data-active=true]:hover:not(:disabled){color:var(--btn-primary-fg);border-color:var(--btn-primary-bg)}.rm-resource-kind{color:var(--text-muted);font-size:var(--text-2xs);text-transform:uppercase;letter-spacing:.08em}.rm-menu{z-index:200;background:var(--bg);border:1px solid var(--border);border-radius:3px;min-width:176px;padding:.25rem;position:fixed;box-shadow:0 6px 24px #00000029}.rm-menu-label{font-size:var(--text-2xs);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);padding:.35rem .5rem .3rem}.rm-menu button{width:100%;font-family:inherit;font-size:var(--text-md);color:var(--text-h);text-align:left;background:0 0;border-radius:2px;align-items:center;gap:.5rem;padding:.4rem .5rem;display:flex}.rm-menu button:hover:not(:disabled),.rm-menu button:focus-visible{background:var(--surface-hover)}.rm-menu button:disabled{opacity:.5;cursor:default}.rm-menu-swatch{border:1.5px solid var(--node-ink);border-radius:2px;flex-shrink:0;width:11px;height:11px}.rm-menu-current{color:var(--text-muted);margin-left:auto}.rm-legend{flex-wrap:wrap;gap:.25rem 1rem;display:flex}.rm-legend-item{font-size:var(--text-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);font-variant-numeric:tabular-nums;align-items:center;gap:.35rem;display:inline-flex}.rm-legend-swatch{border:1.5px solid var(--node-ink);border-radius:2px;width:11px;height:11px}.rm-progress-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1.5rem;margin-bottom:.5rem;display:flex}.rm-progress-percent{font-size:var(--text-2xl);color:var(--text-h);font-variant-numeric:tabular-nums;font-weight:400}.rm-progress-percent span{font-size:var(--text-md);color:var(--text-muted);margin-left:.4rem}.rm-progress{background:var(--surface-sunken);border-radius:3px;height:6px;margin-bottom:1.5rem;overflow:hidden}.rm-progress-fill{background:var(--node-done-bg);border-right:1px solid var(--node-ink);height:100%;transition:width .24s;display:block}@media (prefers-reduced-motion:reduce){.rm-progress-fill{transition:none}}.rm-drawer{z-index:120;background:var(--bg);border-left:1px solid var(--border);flex-direction:column;width:min(400px,100vw);height:100vh;animation:.18s ease-out drawer-in;display:flex;position:fixed;top:0;right:0;box-shadow:-12px 0 32px #0000001f}@keyframes drawer-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.rm-drawer{animation:none}}.rm-drawer-head{border-bottom:1px solid var(--border);font-size:var(--text-2xs);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem 1rem;display:flex}.rm-drawer-body{flex:1;overflow-y:auto}.rm-backdrop{z-index:150;background:#0000006b;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.rm-dialog{background:var(--bg);border:1px solid var(--border);border-radius:3px;flex-direction:column;width:min(520px,100%);max-height:min(86vh,760px);display:flex;box-shadow:0 18px 48px #00000047}.rm-dialog-head{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;gap:.75rem;padding:.875rem 1rem;display:flex}.rm-dialog-title{font-size:var(--text-base);color:var(--text-h);font-weight:400}.rm-dialog-body{overflow-y:auto}.rm-section{margin-top:.875rem}.rm-section+.rm-section{border-top:1px solid var(--border);padding-top:.875rem}.rm-section-label{font-size:var(--text-2xs);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.4rem}.rm-resource{font-size:var(--text-md);align-items:baseline;gap:.4rem;padding:.3rem 0;display:flex}.rm-resource a{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.rm-resource a:hover{color:var(--accent-hover)}.rm-chip{border:1px solid var(--border);font-size:var(--text-2xs);color:var(--text-body);background:var(--surface-sunken);border-radius:2px;padding:.15rem .45rem;display:inline-block}.rm-chip-btn{cursor:pointer;font-family:inherit;transition:border-color .14s,color .14s}.rm-chip-btn:hover:not(:disabled){border-color:var(--text-muted);color:var(--text-h)}.rm-chip-btn:disabled{opacity:.45;cursor:not-allowed}.rm-banner{background:var(--accent-soft);border:1px solid var(--accent);font-size:var(--text-md);color:var(--text-h);border-radius:2px;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.625rem 1rem;display:flex}.app-nav-link{font-size:var(--text-md);color:var(--text-muted);white-space:nowrap;padding:.25rem 0;transition:color .15s;position:relative}.app-nav-link:hover,.app-nav-link[aria-current=page]{color:var(--text-h)}.app-nav-link[aria-current=page]:after{content:"";background:var(--accent);height:2px;position:absolute;bottom:-2px;left:0;right:0}@media (width<=639px){.app-nav-links{display:none!important}}.dash-card{background:var(--bg);border:1px solid var(--border);border-radius:2px;padding:0}.dash-card-head{border-bottom:1px solid var(--border);font-size:var(--text-2xs);letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1rem;padding:.75rem 1rem;display:flex}.dash-card-note{letter-spacing:.04em;text-transform:none;font-size:var(--text-sm)}.dash-card-body{padding:1rem}.dash-placeholder{font-size:var(--text-sm);color:var(--text-muted);margin-top:.875rem}.heatmap-scroll{padding-bottom:.25rem;overflow-x:auto}.heatmap{width:100%;min-width:0}.heatmap-months,.heatmap-grid{grid-template-columns:repeat(var(--weeks,26), minmax(9px, 1fr));gap:3px;display:grid}.heatmap-months{font-size:var(--text-2xs);color:var(--text-muted);white-space:nowrap;margin-bottom:.35rem;overflow:visible}.heatmap-week{grid-template-rows:repeat(7,1fr);gap:3px;display:grid}.heatmap-cell{aspect-ratio:1;background:var(--surface-sunken);border-radius:2px;width:100%}.heatmap-legend .heatmap-cell{aspect-ratio:auto;width:12px;height:12px}.heatmap-cell[data-level="1"]{background:color-mix(in srgb, var(--correct) 28%, var(--surface-sunken))}.heatmap-cell[data-level="2"]{background:color-mix(in srgb, var(--correct) 52%, var(--surface-sunken))}.heatmap-cell[data-level="3"]{background:color-mix(in srgb, var(--correct) 76%, var(--surface-sunken))}.heatmap-cell[data-level="4"]{background:var(--correct)}.heatmap-legend{font-size:var(--text-2xs);color:var(--text-muted);align-items:center;gap:.3rem;margin-top:.75rem;display:flex}.plan-features{border-top:1px solid var(--border);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem 2rem;padding-top:.875rem;display:grid}.plan-head{flex-wrap:wrap;align-items:baseline;gap:.5rem 1.25rem;display:flex}.settings-grid{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:0 2.5rem;display:grid}.settings-row{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding:.55rem 0;display:flex}.settings-label{font-size:var(--text-md);color:var(--text-body)}.settings-value{font-size:var(--text-md);color:var(--text-h);text-align:right;align-items:center;gap:.5rem;display:inline-flex}.settings-toggle{border:1px solid var(--border);font-family:inherit;font-size:var(--text-sm);color:var(--text-h);border-radius:2px;align-items:center;gap:.35rem;padding:.2rem .55rem;transition:border-color .14s;display:inline-flex}.settings-toggle:hover{border-color:var(--text-muted)}.settings-soon{border:1px solid var(--border);font-size:var(--text-2xs);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);border-radius:2px;padding:.05rem .35rem}.app-avatar{background:var(--btn-primary-bg);width:32px;height:32px;color:var(--btn-primary-fg);font-size:var(--text-xs);letter-spacing:.02em;border-radius:50%;justify-content:center;align-items:center;font-weight:500;transition:box-shadow .15s;display:inline-flex}.app-avatar:hover{box-shadow:0 0 0 3px var(--surface-hover)}.app-avatar[aria-current=page]{box-shadow:0 0 0 2px var(--bg), 0 0 0 4px var(--accent)}.rm-celebrate{z-index:300;background:color-mix(in srgb, var(--ground) 55%, transparent);justify-content:center;align-items:center;padding:1.5rem;animation:.26s ease-out celebrate-in;display:flex;position:fixed;inset:0}.rm-celebrate-canvas{pointer-events:none;position:absolute;inset:0}.rm-celebrate-card{text-align:center;background:var(--bg);border:2px solid var(--node-ink);max-width:420px;box-shadow:5px 5px 0 var(--node-shadow);border-radius:5px;padding:2rem;position:relative}.rm-celebrate-mark{background:var(--node-done-bg);width:48px;height:48px;color:var(--node-done-fg);border:2px solid var(--node-ink);border-radius:50%;justify-content:center;align-items:center;margin-bottom:1rem;display:inline-flex}.rm-celebrate-eyebrow{font-size:var(--text-2xs);letter-spacing:.15em;text-transform:uppercase;color:var(--text-muted);margin-bottom:.5rem}.rm-celebrate-title{font-size:var(--text-2xl);letter-spacing:-.01em;color:var(--text-h);text-wrap:balance;margin-bottom:.5rem;font-weight:400;line-height:1.25}.rm-celebrate-body{font-size:var(--text-md);color:var(--text-body);margin-bottom:1.5rem;line-height:1.6}@keyframes celebrate-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.rm-celebrate{animation:none}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.cursor{animation:1s step-end infinite blink}@keyframes reveal-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes drift{0%{transform:translate(0)}to{transform:translate(1%)}}.flow-lines{animation:10s ease-in-out infinite alternate drift}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse-dot{0%,80%,to{opacity:.2}40%{opacity:1}}@keyframes breathe{0%,to{opacity:1}50%{opacity:.55}}@keyframes draw{to{stroke-dashoffset:0}}@keyframes wobble{0%,to{transform:rotate(0)}25%{transform:rotate(-10deg)}75%{transform:rotate(10deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
