.v2-root{--v2-bg:#f7f6f2;--v2-surface:#ffffff;--v2-surface-hover:#f0efeb;--v2-accent:#01696f;--v2-accent-hover:#01555a;--v2-accent-light:#e0f2f3;--v2-text:#1a1a1a;--v2-text-muted:#6b6b6b;--v2-text-dim:#9a9a9a;--v2-border:#e5e4e0;background-color:var(--v2-bg);color:var(--v2-text);font-family:var(--font-body);min-height:100vh;overflow-x:hidden}.v2-root.dark{--v2-bg:#171614;--v2-surface:#1e1d1a;--v2-surface-hover:#2a2924;--v2-accent:#4f98a3;--v2-accent-hover:#3d8490;--v2-accent-light:#1a2e30;--v2-text:#f0efeb;--v2-text-muted:#9a9990;--v2-text-dim:#6a6960;--v2-border:#2e2d28}.v2-root h1,.v2-root h2,.v2-root h3,.v2-root h4{font-family:var(--font-display);color:var(--v2-text)}.v2-bento-card{background-color:var(--v2-surface);border:1px solid var(--v2-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);transition:border-color var(--transition-base),box-shadow var(--transition-base);padding:var(--space-8)}.v2-bento-card:hover{border-color:var(--v2-accent);box-shadow:var(--shadow-md)}.v2-timeline-line{bottom:0;background-color:var(--v2-border)}.v2-timeline-line,.v2-timeline-line-fill{position:absolute;left:15px;top:0;width:2px}.v2-timeline-line-fill{height:0;background-color:var(--v2-accent)}.v2-timeline-dot{width:12px;height:12px;border-radius:50%;background-color:var(--v2-accent);flex-shrink:0;margin-top:6px;position:relative;z-index:2}.v2-input{background-color:var(--v2-surface);border:1px solid var(--v2-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);color:var(--v2-text);font-family:var(--font-body);font-size:var(--font-size-base);width:100%;transition:border-color var(--transition-base),box-shadow var(--transition-base)}.v2-input:focus{outline:none;border-color:var(--v2-accent);box-shadow:0 0 0 3px var(--v2-accent-light)}.v2-input::placeholder{color:var(--v2-text-dim)}.v2-star{color:var(--v2-accent)}.v2-carousel{display:flex;gap:var(--space-6);overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--v2-accent) var(--v2-bg);padding-bottom:var(--space-4)}.v2-carousel::-webkit-scrollbar{height:4px}.v2-carousel::-webkit-scrollbar-thumb{background-color:var(--v2-accent);border-radius:2px}.v2-carousel>*{scroll-snap-align:start;flex-shrink:0}.v2-clip-reveal{clip-path:inset(0 100% 0 0)}.v2-clip-reveal.revealed{clip-path:inset(0 0 0 0);transition:clip-path 1.2s cubic-bezier(.77,0,.175,1)}