.label-overline{font-size:var(--text-xs);font-weight:var(--fw-medium);letter-spacing:.1em;text-transform:uppercase}:root{--bg:#080810;--bg-2:#0d0d1a;--bg-3:#12122a;--surface:rgba(255, 255, 255, 0.055);--surface-2:rgba(255, 255, 255, 0.09);--surface-3:rgba(255, 255, 255, 0.13);--surface-panel:rgba(13, 13, 26, 0.9);--border:rgba(255, 255, 255, 0.09);--border-2:rgba(255, 255, 255, 0.16);--accent-1:#3689e6;--accent-orange:#f37329;--accent-amber:#ffb300;--accent-red:#ef4444;--accent-green:#34d399;--accent-grad:linear-gradient(135deg, #3689e6 0%, var(--accent-orange) 100%);--accent-glow:0 0 24px rgba(54, 137, 230, 0.35);--text-1:rgba(255, 255, 255, 0.92);--text-2:rgba(255, 255, 255, 0.55);--text-3:rgba(255, 255, 255, 0.32);--font-display:'Fraunces', Georgia, 'Times New Roman', serif;--font-body:'Inter', system-ui, -apple-system, sans-serif;--font-mono:'DM Mono', 'Fira Code', 'Cascadia Code', monospace;--text-xs:0.65rem;--text-sm:0.75rem;--text-base:0.9375rem;--text-md:1rem;--text-lg:1.1rem;--text-xl:1.35rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--fw-light:300;--fw-regular:400;--fw-medium:500;--fw-semibold:600;--fw-bold:700;--fw-black:900;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--radius-full:9999px;--accent-amber-glow:rgba(255, 179, 0, 0.35);--accent-green-bg:rgba(16, 185, 129, 0.2);--color-timeline-dot:#7a0000;--on-accent:#000;--shadow-glass:0 8px 32px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.07);--shadow-elevated:0 8px 24px rgba(0, 0, 0, 0.2);--shadow-deep:0 16px 48px rgba(0, 0, 0, 0.5);--glass-blur:blur(22px) saturate(140%);--blur-light:blur(4px);--blur-medium:blur(6px);--glass-border:1px solid var(--border);--shadow-glass:0 8px 32px rgba(0, 0, 0, 0.35), inset 0 1px 0 rgba(255, 255, 255, 0.07);--ease-spring:cubic-bezier(0.34, 1.56, 0.64, 1);--ease-out:cubic-bezier(0.22, 1, 0.36, 1);--dur-fast:140ms;--dur-mid:260ms;--dur-slow:420ms;--z-graph:1;--z-ui:10;--z-panel:20;--z-dock:30;--z-overlay:40;--z-modal:50;--bg-overlay:rgba(8, 8, 16, 0.6);--color-film-bg:rgba(40, 22, 10, 0.85);--color-film-shadow-1:rgba(255, 170, 0, 0.15);--color-film-shadow-2:rgba(255, 170, 0, 0.05);--color-film-card-bg:rgba(0, 0, 0, 0.25);--color-film-card-border:rgba(0, 0, 0, 0.5);--color-film-card-shadow:rgba(0, 0, 0, 0.4);--color-film-card-hover-bg:rgba(0, 0, 0, 0.1);--color-film-card-hover-border:rgba(255, 255, 255, 0.1);--color-film-text-forced-light-1:rgba(255, 255, 255, 0.95);--color-film-text-forced-light-2:rgba(255, 255, 255, 0.6);--color-about-shadow-1:rgba(0, 0, 0, 0.2);--color-about-text-shadow:rgba(0, 0, 0, 0.4);--color-about-passe-bg:#fdfdfd;--color-about-passe-shadow-1:rgba(0, 0, 0, 0.1);--color-about-passe-shadow-2:rgba(0, 0, 0, 0.3);--color-about-passe-border:#1a1a1a;--color-about-passe-after-border:rgba(0, 0, 0, 0.05);--color-about-track-np-1:rgba(54, 137, 230, 0.06);--color-about-track-np-2:rgba(54, 137, 230, 0.09);--color-footer-text-grad:#060606;--color-footer-text-shadow-1:rgba(0, 0, 0, 0.45);--color-footer-text-shadow-2:rgba(0, 0, 0, 0.08);--color-footer-text-shadow-3:rgba(255, 255, 255, 0.1);--color-footer-text-shadow-4:rgba(255, 255, 255, 0.03);--color-onboarding-bg-1:rgba(0, 0, 0, 0.3);--color-onboarding-bg-2:rgba(0, 0, 0, 0.2);--color-reset-grad-1:rgba(124, 106, 255, 0.12);--color-reset-grad-2:rgba(0, 212, 255, 0.06);--color-review-star:#f9c440;--color-review-star-glow:rgba(249, 196, 64, 0.14);--color-review-media-bg:#080810;--color-review-scrim-top:rgba(8, 8, 16, 0.04);--color-review-scrim-bottom:rgba(8, 8, 16, 0.28);--color-review-on-media:#fff;--color-review-chrome-bg:rgba(8, 8, 16, 0.68);--color-review-chrome-bg-hover:rgba(8, 8, 16, 0.92);--color-review-chrome-border:rgba(255, 255, 255, 0.18);--color-review-chrome-text:rgba(255, 255, 255, 0.9);--color-review-control-bg:rgba(8, 8, 16, 0.7);--color-review-play-bg:rgba(8, 8, 16, 0.74);--color-review-play-border:rgba(255, 255, 255, 0.24);--color-review-play-shadow:rgba(0, 0, 0, 0.28);--color-review-badge-bg:rgba(8, 8, 16, 0.64);--color-review-badge-border:rgba(255, 255, 255, 0.14);--color-review-badge-text:rgba(255, 255, 255, 0.82);--color-review-dot:rgba(255, 255, 255, 0.45);--color-review-dot-active:#fff;--color-review-dot-shadow:rgba(0, 0, 0, 0.4);--color-review-lightbox-bg:rgba(4, 4, 9, 0.92);--color-review-lightbox-shadow:rgba(0, 0, 0, 0.48);--color-review-lightbox-close-bg:rgba(255, 255, 255, 0.08);--color-review-lightbox-close-bg-hover:rgba(255, 255, 255, 0.16);--color-review-lightbox-close-border:rgba(255, 255, 255, 0.18)}[data-theme=light]{--bg:#f4f3f0;--bg-2:#ebebea;--bg-3:#e0dfdb;--surface:rgba(0, 0, 0, 0.04);--surface-2:rgba(0, 0, 0, 0.07);--surface-3:rgba(0, 0, 0, 0.11);--surface-panel:rgba(235, 235, 234, 0.9);--border:rgba(0, 0, 0, 0.09);--border-2:rgba(0, 0, 0, 0.16);--text-1:rgba(10, 10, 22, 0.92);--text-2:rgba(10, 10, 22, 0.52);--text-3:rgba(10, 10, 22, 0.30);--accent-glow:0 0 24px rgba(54, 137, 230, 0.2);--accent-orange:#d95d18;--accent-amber:#e69d00;--accent-amber-glow:rgba(230, 157, 0, 0.35);--on-accent:#fff;--bg-overlay:rgba(244, 243, 240, 0.6);--color-film-bg:rgba(40, 22, 10, 0.85);--color-film-shadow-1:rgba(255, 170, 0, 0.15);--color-film-shadow-2:rgba(255, 170, 0, 0.05);--color-film-card-bg:rgba(0, 0, 0, 0.25);--color-film-card-border:rgba(0, 0, 0, 0.5);--color-film-card-shadow:rgba(0, 0, 0, 0.4);--color-film-card-hover-bg:rgba(0, 0, 0, 0.1);--color-film-card-hover-border:rgba(255, 255, 255, 0.1);--color-film-text-forced-light-1:rgba(255, 255, 255, 0.95);--color-film-text-forced-light-2:rgba(255, 255, 255, 0.6);--color-about-shadow-1:rgba(0, 0, 0, 0.1);--color-about-text-shadow:rgba(255, 255, 255, 0.8);--color-about-passe-bg:#fdfdfd;--color-about-passe-shadow-1:rgba(0, 0, 0, 0.05);--color-about-passe-shadow-2:rgba(0, 0, 0, 0.15);--color-about-passe-border:#1a1a1a;--color-about-passe-after-border:rgba(0, 0, 0, 0.05);--color-about-track-np-1:rgba(54, 137, 230, 0.1);--color-about-track-np-2:rgba(54, 137, 230, 0.15);--color-footer-text-grad:#eeeeee;--color-footer-text-shadow-1:rgba(0, 0, 0, 0.05);--color-footer-text-shadow-2:rgba(0, 0, 0, 0.02);--color-footer-text-shadow-3:rgba(255, 255, 255, 0.9);--color-footer-text-shadow-4:rgba(255, 255, 255, 0.4);--color-onboarding-bg-1:rgba(255, 255, 255, 0.3);--color-onboarding-bg-2:rgba(255, 255, 255, 0.2);--color-reset-grad-1:rgba(124, 106, 255, 0.06);--color-reset-grad-2:rgba(0, 212, 255, 0.03);--color-review-star:#c9911a;--color-review-star-glow:rgba(201, 145, 26, 0.18)}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{background-color:var(--bg);color:var(--text-1);font-family:var(--font-body);font-size:var(--text-base);line-height:1.65;min-height:100dvh;overflow-x:hidden;transition:background-color var(--dur-mid)var(--ease-out),color var(--dur-mid)var(--ease-out)}a{color:inherit;text-decoration:none}button{cursor:pointer;border:none;background:0 0;font:inherit;color:inherit}img,svg{display:block}.noise-overlay{position:fixed;inset:0;pointer-events:none;z-index:var(--z-ui);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");opacity:.6}body::before{content:'';position:fixed;top:-30%;left:50%;transform:translateX(-50%);width:900px;height:600px;background:radial-gradient(ellipse at center,var(--color-reset-grad-1) 0%,var(--color-reset-grad-2) 50%,transparent 75%);pointer-events:none;z-index:0}.glass-panel{backdrop-filter:var(--glass-blur);-webkit-backdrop-filter:var(--glass-blur);border:var(--glass-border)}.dock-wrapper{position:fixed;bottom:1.5rem;left:0;right:0;margin:0 auto;width:max-content;z-index:var(--z-dock);display:flex;justify-content:center;align-items:center}.dock{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--surface-2);border-radius:var(--radius-full);box-shadow:var(--shadow-glass);animation:dockRise .6s var(--ease-spring).2s both}@keyframes dockRise{from{opacity:0;margin-bottom:-20px}to{opacity:1;margin-bottom:0}}.dock-section{display:flex;align-items:center;gap:.25rem;position:relative}.dock-section+.dock-section{padding-left:.5rem;margin-left:.25rem;border-left:1px solid var(--border)}.dock-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-full);color:var(--text-2);transition:background var(--dur-fast),color var(--dur-fast),transform var(--dur-fast)}.dock-btn:hover,.dock-btn:focus-visible{background:var(--surface-3);color:var(--text-1);transform:scale(1.08);outline:none}.dock-btn:active{transform:scale(.95)}.dock-btn-primary{background:var(--accent-amber);color:var(--on-accent);box-shadow:0 0 24px var(--accent-amber-glow)}.dock-btn-primary:hover{background:var(--accent-amber);color:var(--on-accent);filter:brightness(1.1);transform:scale(1.08)}.dock-icon{width:18px;height:18px}.dock-panel{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translateX(-50%);background:var(--surface-2);border-radius:30px;padding:.5rem;box-shadow:var(--shadow-glass);animation:panelPopCenter var(--dur-mid)var(--ease-spring)both}.dock-panel[hidden]{display:none}@keyframes panelPop{from{opacity:0;transform:scale(.92)translateY(8px);transform-origin:bottom left}to{opacity:1;transform:scale(1)translateY(0)}}@keyframes panelPopCenter{from{opacity:0;transform:translateX(-50%)scale(.92)translateY(8px);transform-origin:bottom center}to{opacity:1;transform:translateX(-50%)scale(1)translateY(0)}}.dock-panel-label{font-size:var(--text-xs);color:var(--text-3);margin-bottom:.5rem;margin-top:.75rem}.dock-panel-label:first-child{margin-top:0}.dock-toggle-group{display:flex;gap:.35rem}.dock-toggle-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .75rem;border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text-2);background:var(--surface);border:var(--glass-border);transition:all var(--dur-fast)}.dock-toggle-btn:hover{background:var(--surface-3);color:var(--text-1)}.dock-toggle-btn.active,.dock-toggle-btn[aria-pressed=true]{background:var(--accent-amber)!important;color:var(--on-accent)!important;border-color:transparent!important}.dock-submenu{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translateX(-50%);background:var(--surface-2);border-radius:30px;padding:.5rem;display:flex;flex-direction:column;box-shadow:var(--shadow-glass);animation:panelPopCenter var(--dur-mid)var(--ease-spring)both}.dock-submenu[hidden]{display:none}.dock-submenu-buttons{display:flex;flex-direction:row;gap:.25rem;align-items:center;justify-content:center}.dock-submenu-buttons[hidden]{display:none}.dock-submenu-btn{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:var(--radius-full);color:var(--text-2);transition:all var(--dur-fast);position:relative}.dock-submenu-btn:hover{background:var(--surface-3);color:var(--text-1)}.dock-submenu-btn::after{content:attr(title);position:absolute;bottom:110%;left:50%;transform:translateX(-50%)translateY(4px);background:var(--surface-panel);color:var(--text-1);padding:.2rem .5rem;border-radius:var(--radius-sm);font-size:var(--text-xs);opacity:0;pointer-events:none;transition:opacity var(--dur-fast),transform var(--dur-fast);white-space:nowrap;border:var(--glass-border)}.dock-submenu-btn:hover::after{opacity:1;transform:translateX(-50%)translateY(0)}.graph-search-overlay{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;justify-content:center;align-items:flex-start;padding-top:5rem;z-index:var(--z-overlay);background:var(--bg-overlay);backdrop-filter:var(--blur-light);-webkit-backdrop-filter:var(--blur-light);animation:fadeIn var(--dur-mid)both}.graph-search-overlay[hidden]{display:none}.graph-search-box{width:min(480px,90vw);background:var(--surface-panel);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-deep)}#graph-search-input{width:100%;padding:1rem 1.25rem;background:0 0;border:none;border-bottom:var(--glass-border);color:var(--text-1);font-family:var(--font-body);font-size:var(--text-md);outline:none}#graph-search-input::placeholder{color:var(--text-3)}.graph-search-results{max-height:300px;overflow-y:auto}.search-result-item{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;cursor:pointer;transition:background var(--dur-fast);border-bottom:1px solid var(--border)}.search-result-item:hover{background:var(--surface-3)}.search-result-item:last-child{border-bottom:none}.search-result-type{font-size:var(--text-xs);padding:2px 6px;border-radius:var(--radius-sm);background:var(--surface-3);color:var(--text-2)}.graph-filter-panel{display:flex;flex-direction:column;gap:.75rem;min-width:240px;max-width:280px;animation:expandDown var(--dur-mid)var(--ease-spring)both}.graph-filter-panel[hidden]{display:none}.filter-panel-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.filter-panel-title{display:flex;align-items:center;gap:.5rem;font-size:var(--text-sm);font-weight:var(--fw-semibold);color:var(--text-1)}.filter-back-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:var(--radius-full);color:var(--text-2);transition:background var(--dur-fast),color var(--dur-fast)}.filter-back-btn:hover{background:var(--surface-3);color:var(--text-1)}.filter-panel-actions{display:flex;align-items:center;gap:.5rem}.filter-toggle{font-size:var(--text-xs);font-weight:var(--fw-bold);padding:2px 6px;border-radius:var(--radius-sm);background:var(--surface-2);border:var(--glass-border);color:var(--text-2);cursor:pointer;transition:all var(--dur-fast);user-select:none}.filter-toggle:hover{color:var(--text-1);background:var(--surface-3)}.filter-toggle[data-logic=and]{background:var(--accent-green-bg);color:var(--accent-green);border-color:var(--accent-green)}.filter-clear-btn{font-size:var(--text-xs);color:var(--text-3);transition:color var(--dur-fast);padding:0}.filter-clear-btn:hover{color:var(--text-1)}.filter-tags-grid{display:flex;flex-wrap:wrap;gap:.5rem;max-height:180px;overflow-y:auto;padding:.25rem}.filter-tag-btn{padding:.35rem .6rem;border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:var(--fw-medium);background:var(--surface-2);border:var(--glass-border);color:var(--text-2);transition:all var(--dur-fast)}.filter-tag-btn:hover{background:var(--surface-3);color:var(--text-1)}.filter-tag-btn.active{background:var(--accent-green-bg);border-color:var(--accent-green);color:var(--accent-green);box-shadow:0 0 10px var(--accent-green-bg)}.graph-fullscreen{position:relative;width:100vw;height:100dvh;overflow:hidden}#cy{position:absolute;inset:0;width:100%;height:100%}.home-wordmark{position:absolute;top:2rem;left:2.5rem;z-index:var(--z-ui);pointer-events:none;animation:fadeIn .8s var(--ease-out)both}.wordmark-name{display:block;font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--fw-light);color:var(--text-1);letter-spacing:-.01em}.wordmark-sub{display:block;color:var(--text-3);margin-top:2px}.node-preview{position:absolute;top:50%;right:2rem;transform:translateY(-50%);width:280px;background:var(--surface-2);border-radius:var(--radius-lg);padding:1.5rem;z-index:var(--z-panel);animation:slideInRight var(--dur-slow)var(--ease-spring)both}.node-preview[hidden]{display:none}.node-preview-close{position:absolute;top:.75rem;right:.75rem;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--text-2);transition:background var(--dur-fast),color var(--dur-fast)}.node-preview-close:hover{background:var(--surface-3);color:var(--text-1)}.node-preview-type{font-size:var(--text-xs);color:var(--accent-1);margin-bottom:.5rem}.node-preview-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--fw-regular);line-height:1.25;margin-bottom:.75rem}.node-preview-desc{font-size:var(--text-base);color:var(--text-2);line-height:1.6;margin-bottom:1rem}.node-preview-link{display:inline-flex;align-items:center;gap:.3em;font-size:var(--text-base);font-weight:var(--fw-medium);color:var(--accent-orange);transition:gap var(--dur-fast)}.node-preview-link:hover{gap:.5em}.node-preview-link[hidden]{display:none}.zoom-knob{position:absolute;left:2rem;top:50%;transform:translateY(-50%);z-index:var(--z-ui);display:flex;flex-direction:column;align-items:center;user-select:none;gap:4px}.zoom-viewport{position:relative;height:90px;width:24px;overflow:hidden;display:flex;justify-content:center;mask-image:linear-gradient(to bottom,transparent,black 15%,black 85%,transparent);-webkit-mask-image:linear-gradient(to bottom,transparent,black 15%,black 85%,transparent);cursor:ns-resize}.zoom-track{position:absolute;top:50%;display:flex;flex-direction:column;align-items:center;gap:8px;transition:transform .1s linear}.zoom-dot{width:5px;height:5px;border-radius:50%;background:var(--border-2);flex-shrink:0}.zoom-dot.active{background:var(--accent-amber);transform:scale(1.6);box-shadow:0 0 6px var(--accent-amber)}.zoom-dot.dot-min,.zoom-dot.dot-max{background:var(--accent-red)}.zoom-dot.dot-min.active,.zoom-dot.dot-max.active{box-shadow:0 0 6px var(--accent-red)}.zoom-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;color:var(--text-2);cursor:pointer;transition:color var(--dur-fast),transform var(--dur-fast)}.zoom-btn:hover{color:var(--text-1);transform:scale(1.1)}.zoom-btn svg{width:16px;height:16px;fill:currentColor}@media(max-width:600px){.node-preview{right:1rem;left:1rem;width:auto;top:auto;bottom:6rem;transform:none}.home-wordmark{top:1rem;left:1rem}.zoom-knob{left:1rem}}.single-page{max-width:720px;margin:0 auto;padding:4rem 2rem 8rem}.single-header{margin-bottom:3rem}.single-back{display:inline-flex;align-items:center;gap:.4rem;font-size:var(--text-sm);color:var(--text-3);margin-bottom:1.5rem;transition:color var(--dur-fast)}.single-back:hover{color:var(--text-1)}.single-type{display:inline-block;font-size:var(--text-xs);color:var(--accent-1);margin-bottom:.75rem}.single-title{font-family:var(--font-display);font-size:clamp(1.8rem,4vw,2.8rem);font-weight:var(--fw-light);line-height:1.15;letter-spacing:-.02em;margin-bottom:.75rem}.single-date{display:block;font-size:var(--text-sm);color:var(--text-3);margin-bottom:1rem}.single-tags{display:flex;flex-wrap:wrap;gap:.4rem}.tag{font-size:var(--text-xs);font-weight:var(--fw-medium);padding:3px 10px;border-radius:var(--radius-full);background:var(--surface-2);border:var(--glass-border);color:var(--text-2)}.prose{color:var(--text-1)}.prose img{max-width:100%;height:auto;border-radius:var(--radius-md);margin:1.5rem 0;display:block}.prose img{max-width:100%;height:auto;border-radius:var(--radius-md);margin:1.5rem 0;display:block}.prose img{max-width:100%;height:auto;border-radius:var(--radius-md);margin:1.5rem 0;display:block}.prose h1,.prose h2,.prose h3{font-family:var(--font-display);font-weight:var(--fw-regular);margin:2rem 0 .75rem;line-height:1.25}.prose h2{font-size:var(--text-2xl)}.prose h3{font-size:var(--text-lg)}.prose p{margin-bottom:1.25rem;line-height:1.75}.prose ul,.prose ol{margin-bottom:1.25rem;padding-left:1.5rem}.prose li{margin-bottom:.4rem}.prose code{font-family:var(--font-mono);font-size:var(--text-sm);background:var(--surface-2);border:var(--glass-border);border-radius:4px;padding:.1em .4em}.prose pre{background:var(--bg-3);border:var(--glass-border);border-radius:var(--radius-md);padding:1.25rem;overflow-x:auto;margin-bottom:1.25rem}.prose pre code{background:0 0;border:none;padding:0;font-size:var(--text-base)}.prose blockquote{border-left:2px solid var(--accent-1);padding-left:1rem;color:var(--text-2);font-style:italic;margin-bottom:1.25rem}.prose a{color:var(--accent-orange);text-decoration:underline;text-underline-offset:3px}@media(max-width:600px){.single-page{padding:2rem 1rem 8rem}}.about-page{--accent-1:var(--text-1);--accent-orange:var(--text-2);max-width:1200px;margin:0 auto;padding:3rem 2rem 8rem}.about-hero{display:flex;justify-content:center;align-items:center;gap:2rem;margin-bottom:3rem;padding-bottom:2.5rem;border-bottom:1px solid var(--border);animation:fadeIn .7s var(--ease-out)both}.about-avatar{flex-shrink:0;width:80px;height:80px;border-radius:50%;background:var(--surface-2);border:var(--glass-border);display:flex;align-items:center;justify-content:center;overflow:hidden}.about-name{font-family:var(--font-display);font-size:clamp(1.8rem,4vw,2.5rem);font-weight:var(--fw-light);letter-spacing:-.025em;line-height:1.1;margin-bottom:.35rem}.about-tagline{font-size:var(--text-md);color:var(--text-2);margin-bottom:.25rem}.about-location{font-size:var(--text-sm);color:var(--text-3);margin-bottom:1rem}.about-links{display:flex;flex-wrap:wrap;gap:.5rem}.about-link-pill{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .8rem;border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--fw-medium);background:var(--surface);border:var(--glass-border);color:var(--text-2);transition:all var(--dur-fast)}.about-link-pill:hover{background:var(--surface-3);color:var(--text-1);border-color:var(--accent-1)}.about-grid{display:grid;grid-template-columns:240px 1fr 300px;gap:2rem;align-items:start}.about-sidebar-left .skills-grid{grid-template-columns:1fr}.cv-section{position:relative;z-index:1;margin-bottom:.75rem;background:var(--surface);border:var(--glass-border);border-radius:var(--radius-lg);transition:box-shadow var(--dur-mid);animation:fadeIn .6s var(--ease-out)}.cv-section:hover{box-shadow:0 4px 24px var(--color-about-shadow-1);z-index:var(--z-panel,20)}.cv-section-toggle{width:100%;display:flex;align-items:center;gap:.75rem;padding:1.1rem 1.25rem;text-align:left;font-size:var(--text-base);font-weight:var(--fw-medium);color:var(--text-1);border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg);transition:background var(--dur-fast)}.cv-section-toggle[aria-expanded=false]{border-bottom-left-radius:var(--radius-lg);border-bottom-right-radius:var(--radius-lg)}.cv-section-toggle:hover{background:var(--surface-2)}.cv-section-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:0 0;color:var(--accent-1);flex-shrink:0}.cv-section-toggle span:nth-child(2){flex:1}.cv-chevron{color:var(--text-3);transition:transform var(--dur-mid)var(--ease-out)}.cv-section-toggle[aria-expanded=true] .cv-chevron{transform:rotate(180deg)}.cv-section-body{padding:0 1.25rem 1.25rem;animation:expandDown var(--dur-mid)var(--ease-out)both}.cv-section-body[hidden]{display:none}@keyframes expandDown{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}.cv-entry-header{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.25rem}.cv-entry-header h3{font-family:var(--font-display);font-size:var(--text-md);font-weight:var(--fw-regular)}.cv-date{font-size:var(--text-sm);color:var(--text-3);white-space:nowrap;font-variant-numeric:tabular-nums}.cv-org{font-size:var(--text-sm);color:var(--accent-orange);margin-bottom:.5rem}.cv-detail{font-size:var(--text-base);color:var(--text-2);line-height:1.65}.timeline{position:relative;padding-left:1.5rem}.timeline::before{content:'';position:absolute;left:5px;top:8px;bottom:8px;width:1px;background:var(--border-2)}.timeline-item{position:relative;margin-bottom:1.5rem}.timeline-item:last-child{margin-bottom:0}.timeline-dot{position:absolute;left:-1.5rem;top:6px;width:11px;height:11px;border-radius:50%;background:var(--color-timeline-dot)}.project-cards{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:.25rem}.project-card{display:flex;flex-direction:column;gap:.4rem;padding:1rem;background:var(--surface-2);border:var(--glass-border);border-radius:var(--radius-md);color:var(--text-1);transition:all var(--dur-mid)}.project-card:hover{background:var(--surface-3);border-color:var(--accent-1);transform:translateY(-2px);box-shadow:var(--shadow-elevated)}.project-card-type{font-size:var(--text-xs);color:var(--accent-1)}.project-card h3{font-family:var(--font-display);font-size:var(--text-md);font-weight:var(--fw-regular)}.project-card p{font-size:var(--text-sm);color:var(--text-2);line-height:1.5;flex:1}.project-card-tags{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.25rem}.project-card-tags span{font-size:var(--text-xs);font-weight:var(--fw-medium);padding:2px 6px;border-radius:var(--radius-full);background:var(--surface-3);color:var(--text-3)}.skills-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.skill-group h4{font-size:var(--text-base);font-weight:var(--fw-medium);color:var(--text-2)}.skill-summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;margin-bottom:.75rem;list-style:none}.skill-summary::-webkit-details-marker{display:none}.skill-details .cv-chevron{color:var(--text-3);transition:transform var(--dur-mid)var(--ease-out);transform:rotate(0)}.skill-details[open] .cv-chevron{transform:rotate(180deg)}.skill-bars{display:flex;flex-direction:column;gap:.6rem}.skill-bar{display:flex;flex-direction:column;gap:.3rem}.skill-bar span{font-size:var(--text-sm);color:var(--text-2)}.skill-bell{width:100%;height:22px;margin-top:1px}.bell-svg{width:100%;height:100%;display:block}.bell-help-wrap{position:relative;display:flex;justify-content:flex-end;margin-top:.5rem}.bell-help-btn{width:18px;height:18px;border-radius:50%;border:1px solid var(--border-2,var(--border));background:var(--surface-2);color:var(--text-3);font-size:var(--text-xs);font-weight:var(--fw-semibold);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;line-height:1;transition:background var(--dur-fast),color var(--dur-fast);opacity:.6}.bell-help-btn:hover{background:var(--surface-3);color:var(--text-2);opacity:1}.bell-tooltip{visibility:hidden;opacity:0;position:absolute;right:0;top:calc(100% + 14px);transform:none;width:280px;background:var(--surface-2);padding:.75rem .9rem;border-radius:var(--radius-md,8px);z-index:50;transition:opacity .2s var(--ease-out),top .2s var(--ease-out),visibility .2s}.bell-help-wrap:hover .bell-tooltip,.bell-help-btn:focus+.bell-tooltip{visibility:visible;opacity:1;top:calc(100% + 10px)}.bell-tooltip p{margin:0;font-size:var(--text-sm);line-height:1.5;color:var(--text-1);text-shadow:0 1px 3px var(--color-about-text-shadow)}.about-sidebar-right{display:flex;flex-direction:column;gap:1.5rem;position:sticky;top:2rem}.about-music,.about-epitomes,.about-paintings{background:var(--surface);border:var(--glass-border);border-radius:var(--radius-lg);overflow:hidden;animation:fadeIn .7s var(--ease-out).2s both}.about-epitomes,.about-paintings{animation-delay:.3s}.epitome-group{padding:.75rem 1.25rem;border-bottom:1px solid var(--border)}.epitome-group:last-child{border-bottom:none}.epitome-title{display:flex;align-items:center;gap:.5rem;font-size:var(--text-base);font-weight:var(--fw-medium);color:var(--text-2);margin-bottom:.6rem}.epitome-content{font-size:var(--text-sm);color:var(--text-2);line-height:1.5;margin:0}.epitome-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.3rem}.epitome-list li{position:relative;padding-left:.8rem}.epitome-list li::before{content:"•";position:absolute;left:0;color:var(--accent-1)}.epitome-list a{color:var(--text-2);text-decoration:none;transition:color var(--dur-fast)}.epitome-list a:hover{color:var(--accent-1)}.book-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-top:.5rem}.book-cover{aspect-ratio:2/3;border-radius:4px;background:var(--surface-3);display:flex;align-items:center;justify-content:center;color:var(--text-1);font-size:var(--text-xs);text-decoration:none;overflow:hidden;position:relative;transition:transform .2s var(--ease-out)}.book-cover:hover{transform:translateY(-2px)scale(1.05)}.book-cover-title{padding:.4rem;text-align:center;font-weight:var(--fw-medium);line-height:1.2;opacity:.9;word-wrap:break-word}.profile-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:.5rem}.profile-card{display:flex;flex-direction:column;align-items:center;gap:.35rem}.profile-avatar{width:100%;aspect-ratio:1;border-radius:50%;background-color:var(--surface-3);border:2px solid var(--surface-2);box-shadow:0 2px 6px var(--color-about-shadow-1);display:flex;align-items:center;justify-content:center;overflow:hidden}.profile-avatar img{width:100%;height:100%;object-fit:cover;display:block}.profile-name{font-size:var(--text-xs);text-align:center;color:var(--text-2);line-height:1.2}.ticket-list{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.movie-ticket{display:flex;background:var(--surface-2);border-radius:6px;position:relative;overflow:hidden;align-items:center;mask-image:radial-gradient(circle at 0 50%,transparent 6px,black 7px),radial-gradient(circle at 100% 50%,transparent 6px,black 7px);mask-size:51% 100%;mask-repeat:no-repeat;mask-position:left,right;-webkit-mask-image:radial-gradient(circle at 0 50%,transparent 6px,black 7px),radial-gradient(circle at 100% 50%,transparent 6px,black 7px);-webkit-mask-size:51% 100%;-webkit-mask-repeat:no-repeat;-webkit-mask-position:left,right;border:1px solid var(--border);height:64px}.ticket-stub{padding:.5rem .6rem;border-right:2px dashed var(--border-2);display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--font-mono);color:var(--text-2);min-width:50px}.ticket-body{padding:.5rem .75rem;flex:1;display:flex;align-items:center;justify-content:center;text-align:center}.ticket-title{font-family:var(--font-display);font-size:var(--text-sm);color:var(--text-1);font-weight:var(--fw-medium);line-height:1.2}.painting-gallery{display:flex;flex-direction:column;gap:1rem;margin-top:.5rem}.passe-partout{background:var(--color-about-passe-bg);padding:1rem;box-shadow:inset 0 0 10px var(--color-about-passe-shadow-1),0 4px 12px var(--color-about-passe-shadow-2);border:4px solid var(--color-about-passe-border);border-radius:2px;display:flex;align-items:center;justify-content:center;position:relative}.passe-partout::after{content:'';position:absolute;inset:.8rem;border:1px solid var(--color-about-passe-after-border);box-shadow:inset 1px 1px 4px var(--color-about-passe-shadow-1);pointer-events:none}.painting-canvas{width:100%;aspect-ratio:4/3;background-color:var(--surface-3);background-size:cover;background-position:50%;box-shadow:1px 1px 3px var(--color-about-shadow-1);display:flex;align-items:center;justify-content:center;font-size:var(--text-xs);color:var(--text-3);text-align:center;padding:1rem;position:relative;z-index:1}.painting-caption{font-family:var(--font-body);font-size:var(--text-xs);color:var(--text-2);text-align:center;margin-top:.6rem;margin-bottom:.6rem;font-style:italic}.more-paintings{margin-top:.5rem;display:flex;flex-direction:column}.more-paintings summary{order:2;cursor:pointer;color:var(--text-2);display:flex;align-items:center;justify-content:center;list-style:none;padding:0;background:0 0;border:none;transition:color .2s;opacity:.7}.more-paintings summary:hover{color:var(--accent-1);opacity:1}.more-paintings summary::-webkit-details-marker{display:none}.more-paintings summary .cv-chevron{transition:transform .3s var(--ease-out)}.more-paintings[open] summary .cv-chevron{transform:rotate(180deg)}.more-paintings-content{order:1;margin-top:0;margin-bottom:1rem;display:flex;flex-direction:column;gap:1rem}.music-header{display:flex;align-items:center;gap:.5rem;padding:1rem 1.25rem;border-bottom:var(--glass-border);font-size:var(--text-base);font-weight:var(--fw-medium);color:var(--text-2)}.music-source{margin-left:auto;font-size:var(--text-xs);color:var(--text-3);background:var(--surface-2);padding:2px 6px;border-radius:3px;text-decoration:none;transition:background var(--dur-fast),color var(--dur-fast)}.music-source:hover{background:var(--surface-3);color:var(--text-2)}.music-tracks{display:flex;flex-direction:column}.track-row{display:flex;align-items:center;gap:.75rem;padding:.65rem 1.25rem;border-bottom:1px solid var(--border);transition:background var(--dur-fast)}.track-row:last-child{border-bottom:none}.track-row:hover{background:var(--surface-2)}.track-now-playing{background:var(--color-about-track-np-1)}.track-now-playing:hover{background:var(--color-about-track-np-2)}.track-art{flex-shrink:0;border-radius:var(--radius-sm);overflow:hidden;width:40px;height:40px}.track-art img{width:100%;height:100%;object-fit:cover;display:block}.track-info{flex:1;min-width:0}.track-title{font-size:var(--text-sm);font-weight:var(--fw-medium);color:var(--text-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-artist{font-size:var(--text-sm);color:var(--text-2)}.track-album{font-size:var(--text-xs);color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-status{flex-shrink:0}.track-time{font-size:var(--text-xs);color:var(--text-3);font-variant-numeric:tabular-nums}.now-playing-badge{display:flex;align-items:center;gap:.4rem;font-size:var(--text-xs);font-weight:var(--fw-semibold);color:var(--accent-orange);letter-spacing:.04em}.np-dot{width:6px;height:6px;border-radius:50%;background:var(--accent-orange);animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.6}}.music-stats{display:flex;padding:.75rem 1.25rem;border-top:var(--glass-border);gap:1rem}.music-stat{display:flex;flex-direction:column;gap:2px;flex:1}.stat-num{font-family:var(--font-display);font-size:var(--text-md);font-weight:var(--fw-regular);color:var(--text-1);line-height:1.2}#stat-top-album .stat-num,#stat-top-tag .stat-num{font-size:var(--text-base)}.stat-lbl{color:var(--text-3);line-height:1.2}@media(max-width:1100px){.about-grid{grid-template-columns:200px 1fr 260px;gap:1.5rem}}@media(max-width:900px){.about-grid{grid-template-columns:1fr}.about-sidebar-right{position:static}.about-music{position:static;order:-1}.about-sidebar-left{order:2}.skills-grid{grid-template-columns:1fr}.about-sidebar-left .skills-grid{grid-template-columns:1fr 1fr}.project-cards{grid-template-columns:1fr}}@media(max-width:600px){.about-hero{flex-direction:column;align-items:center;text-align:center}.about-hero .about-desc{margin-left:auto!important;margin-right:auto!important}.about-hero .about-links{justify-content:center}.about-sidebar-left .skills-grid{grid-template-columns:1fr}.about-page{padding:2rem 1rem 8rem}.bell-tooltip{max-width:calc(100vw - 3rem)}}.list-page{max-width:720px;margin:0 auto;padding:4rem 2rem 8rem}.list-header{margin-bottom:2.5rem}.list-items{display:flex;flex-direction:column;gap:.75rem}.list-item{display:flex;flex-direction:column;gap:.3rem;padding:1.25rem 1.5rem;background:var(--surface);border:var(--glass-border);border-radius:var(--radius-lg);color:var(--text-1);transition:all var(--dur-mid);animation:fadeIn .5s var(--ease-out)both}.list-item:hover{background:var(--surface-2);border-color:var(--accent-1);transform:translateX(4px)}.list-item h2{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--fw-regular)}.list-item p{font-size:var(--text-base);color:var(--text-2)}.list-item time{font-size:var(--text-sm);color:var(--text-3);font-variant-numeric:tabular-nums}.film-reel-section{padding:6rem 0 4rem;max-width:100vw;overflow:hidden;position:relative;z-index:var(--z-ui)}.film-reel-header{padding:0 4vw;margin-bottom:2.5rem}.film-reel-title{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:var(--fw-light);color:var(--text-1);letter-spacing:-.01em;margin-bottom:.25rem}.film-reel-subtitle{font-size:var(--text-md);color:var(--text-2)}.film-reel-track{padding:0 4vw 3rem;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none}.film-strip{display:flex;flex-direction:row;flex-wrap:nowrap;width:max-content;min-width:100%;gap:16px;padding:36px 16px;background:var(--color-film-bg);border-radius:4px;counter-reset:film-frame;-webkit-mask-image:linear-gradient(black,black),linear-gradient(black,black),linear-gradient(to bottom,transparent 24px,black 24px,black calc(100% - 24px),transparent calc(100% - 24px)),repeating-linear-gradient(to right,black 0,black 16px,transparent 16px,transparent 32px),repeating-linear-gradient(to right,black 0,black 16px,transparent 16px,transparent 32px);-webkit-mask-size:100% 6px,100% 6px,100% 100%,100% 24px,100% 24px;-webkit-mask-position:0 0,0 100%,0 0,0 0,0 100%;-webkit-mask-repeat:no-repeat;mask-image:linear-gradient(black,black),linear-gradient(black,black),linear-gradient(to bottom,transparent 24px,black 24px,black calc(100% - 24px),transparent calc(100% - 24px)),repeating-linear-gradient(to right,black 0,black 16px,transparent 16px,transparent 32px),repeating-linear-gradient(to right,black 0,black 16px,transparent 16px,transparent 32px);mask-size:100% 6px,100% 6px,100% 100%,100% 24px,100% 24px;mask-position:0 0,0 100%,0 0,0 0,0 100%;mask-repeat:no-repeat;box-shadow:0 0 48px var(--color-film-shadow-1),inset 0 0 60px var(--color-film-shadow-2)}.film-reel-track::-webkit-scrollbar{display:none}.film-reel-card{flex:0 0 320px;min-height:220px;scroll-snap-align:start;background:var(--color-film-card-bg);border:1px solid var(--color-film-card-border);border-radius:4px;padding:1.5rem;display:flex;flex-direction:column;justify-content:flex-end;transition:transform var(--dur-mid),background var(--dur-mid),border-color var(--dur-mid);text-decoration:none;position:relative;box-shadow:inset 0 0 24px var(--color-film-card-shadow);counter-increment:film-frame}.film-reel-card::before{content:"KIPU  " counter(film-frame,decimal-leading-zero);position:absolute;top:-24px;left:0;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--accent-amber);letter-spacing:.15em;opacity:.7}.film-reel-card::after{content:"→";position:absolute;bottom:-24px;right:0;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--accent-amber);opacity:.7}.film-reel-card:hover{background:var(--color-film-card-hover-bg);border-color:var(--color-film-card-hover-border)}.film-reel-bg-icon{position:absolute;inset:0;background-size:50%;background-position:50%;background-repeat:no-repeat;opacity:.25;z-index:1;mix-blend-mode:screen;transition:opacity var(--dur-mid),transform var(--dur-mid)}.film-reel-card:hover .film-reel-bg-icon{opacity:.45}.film-reel-bg-cover{position:absolute;inset:0;background-size:cover;background-position:50%;background-repeat:no-repeat;opacity:.35;z-index:1;mix-blend-mode:screen;transition:opacity var(--dur-mid),transform var(--dur-mid),filter var(--dur-mid);filter:grayscale(80%)contrast(1.2)}.film-reel-card:hover .film-reel-bg-cover{opacity:.6;filter:grayscale(0%)contrast(1.1)}.film-reel-content{position:relative;z-index:2}.film-reel-type{font-size:var(--text-xs);color:var(--accent-amber);opacity:.8;margin-bottom:.5rem;display:inline-block}.film-reel-card-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--fw-regular);color:var(--color-film-text-forced-light-1);margin-bottom:.5rem;line-height:1.2}.film-reel-card-desc{font-size:var(--text-base);color:var(--color-film-text-forced-light-2);line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media(max-width:600px){.film-reel-card{flex:0 0 280px}}.footer-container{display:flex;flex-direction:column;margin-top:6rem;background-image:url(/images/rect3.png);background-size:cover;background-position:50%;background-repeat:no-repeat;padding-top:3rem;padding-bottom:3rem}.footer-meta{display:flex;justify-content:space-between;align-items:flex-end;width:100%;padding:0 2rem;font-family:var(--font-body);font-size:var(--text-sm);color:var(--on-accent)}.footer-meta-left{display:flex;flex-direction:column;gap:.5rem;align-items:flex-start}.footer-quote{font-family:var(--font-display);font-size:var(--text-base);color:var(--on-accent);font-style:italic}.footer-meta-right{display:flex;flex-direction:column;align-items:flex-end;gap:1rem}.footer-bisc{position:relative;display:flex;align-items:center;justify-content:center;cursor:pointer}.bisc-img{width:100px;height:28px;opacity:.8;transition:opacity var(--dur-fast),transform var(--dur-fast)}.bisc-img:hover{opacity:1;transform:scale(1.1)}.bisc-tooltip{position:absolute;bottom:100%;right:0;transform:translateY(4px);margin-bottom:8px;color:var(--text-1);padding:.5rem .75rem;border-radius:var(--radius-sm);font-size:var(--text-sm);white-space:nowrap;pointer-events:none;opacity:0;transition:opacity var(--dur-fast),transform var(--dur-fast)}.footer-bisc:hover .bisc-tooltip{opacity:1;transform:translateY(0)}.footer-contact{font-weight:var(--fw-medium);letter-spacing:.05em;text-transform:uppercase;color:var(--on-accent);transition:opacity var(--dur-fast)}.footer-contact:hover{opacity:.7}@media(max-width:900px){.footer-meta{flex-direction:column;align-items:flex-start;gap:1.5rem;padding:0 1rem}.footer-meta-right{align-items:flex-start}.bisc-tooltip{right:auto;left:0}.footer-container{margin-top:4rem}}@media(max-width:600px){.footer-container{margin-top:3rem;padding-top:2rem;padding-bottom:2rem;background-size:cover;background-position:50% 100%}.footer-meta{padding:0 1rem;gap:1.25rem}.footer-meta-left span{font-size:var(--text-xs)}.footer-quote{font-size:var(--text-sm);word-break:break-word}.footer-contact{font-size:var(--text-sm)}}.graph-onboarding-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:25;background:var(--color-onboarding-bg-1);backdrop-filter:var(--blur-medium);-webkit-backdrop-filter:var(--blur-medium);animation:fadeIn var(--dur-mid)var(--ease-out)both;cursor:pointer}.graph-onboarding-overlay.hiding{animation:fadeOut var(--dur-mid)var(--ease-out)both}.onboarding-content{width:min(420px,90vw);animation:panelPop var(--dur-mid)var(--ease-spring)both;color:var(--text-1)}.onboarding-list{list-style:none;display:flex;flex-direction:column;gap:1.5rem}.onboarding-list li{display:flex;align-items:center;gap:1rem;font-size:var(--text-lg);color:var(--text-2)}.onboarding-list strong{color:var(--text-1);font-weight:var(--fw-semibold)}.onboarding-icon{width:28px;height:28px;fill:var(--accent-orange);flex-shrink:0}@keyframes fadeOut{from{opacity:1}to{opacity:0}}.welcome-overlay{position:absolute;inset:0;z-index:25;background:var(--color-onboarding-bg-2);backdrop-filter:var(--blur-light);-webkit-backdrop-filter:var(--blur-light);display:flex;flex-direction:column;justify-content:center;align-items:center;transition:opacity 1s ease;pointer-events:auto}.welcome-overlay[hidden]{display:none!important}.welcome-overlay.hiding{opacity:0;pointer-events:none}.welcome-content{font-family:var(--font-display);font-size:var(--text-xl);color:var(--text-1);max-width:650px;text-align:center;line-height:1.6;min-height:120px;padding:0 2rem}.typing-cursor{display:inline-block;width:12px;height:3px;background-color:var(--accent-orange);vertical-align:baseline;animation:blink 1s step-end infinite;margin-left:4px}@keyframes blink{0%,100%{opacity:1}50%{opacity:0}}.welcome-continue-prompt{position:absolute;bottom:25%;font-size:var(--text-base);color:var(--text-2);animation:pulseOpacity 2s ease-in-out infinite alternate;cursor:pointer;padding:10px}@keyframes pulseOpacity{from{opacity:.5}to{opacity:1}}.dock-pointers-container{position:absolute;bottom:95px;left:50%;transform:translateX(-50%);pointer-events:none;display:flex;justify-content:center;align-items:flex-end;width:380px}.dock-pointer{flex:1;display:flex;flex-direction:column;gap:6px;color:var(--text-1);font-size:var(--text-base);font-weight:var(--fw-medium);animation:fadeIn var(--dur-mid)var(--ease-out)both}.dock-pointer-icon{width:20px;height:20px;fill:var(--accent-orange)}.left-pointer{align-items:flex-end}.center-pointer{align-items:center}.right-pointer{align-items:flex-start}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes slideInRight{from{opacity:0;transform:translateX(20px)translateY(-50%)}to{opacity:1;transform:translateX(0)translateY(-50%)}}@media(max-width:600px){@keyframes slideInRight{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-3)}:focus-visible{outline:2px solid var(--accent-1);outline-offset:2px;border-radius:3px}.product-reviews{container-type:inline-size;overflow:hidden;background:var(--surface);border:var(--glass-border);border-radius:var(--radius-lg);animation:fadeIn .7s var(--ease-out).2s both}.product-reviews__header{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding:1.25rem 1.4rem 1.1rem;border-bottom:1px solid var(--border)}.product-reviews__eyebrow{margin:0 0 .2rem;color:var(--text-3);font-family:var(--font-mono);font-size:.62rem;letter-spacing:.11em;line-height:1.3;text-transform:uppercase}.product-reviews__score{display:flex;align-items:baseline;flex-shrink:0;gap:.3rem;color:var(--text-3);font-size:.67rem}.product-reviews__score strong{color:var(--text-1);font-family:var(--font-display);font-size:1.45rem;font-weight:400;line-height:1}.product-reviews__summary{display:flex;align-items:center;gap:.7rem;padding:.7rem 1.4rem;border-bottom:1px solid var(--border);background:var(--surface)}.product-reviews__summary p{color:var(--text-3);font-size:.69rem;line-height:1.35}.review-stars{display:inline-flex;flex-shrink:0;gap:.12rem;color:var(--color-review-star);filter:drop-shadow(0 0 5px var(--color-review-star-glow))}.review-star{width:.82rem;height:.82rem;fill:currentColor}.review-star--empty{color:var(--surface-3);filter:none}.reviews-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.reviews-list__message{grid-column:1/-1;padding:2rem 1.4rem;color:var(--text-3);font-size:.78rem;text-align:center;border-bottom:1px solid var(--border)}.reviews-list__message--error{color:var(--text-2)}.review-card{min-width:0;padding:1.35rem 1.4rem 1.2rem;border-bottom:1px solid var(--border)}.review-card:nth-child(odd){border-right:1px solid var(--border)}.review-card__stars{margin-bottom:.75rem}.review-card__headline{margin:0 0 .5rem;color:var(--text-1);font-size:.92rem;font-weight:500;letter-spacing:-.01em;line-height:1.35}.review-card__body{margin:0;color:var(--text-2);font-size:.8rem;line-height:1.65;white-space:pre-line}.review-card__author{display:flex;align-items:center;gap:.55rem;margin-top:1rem;color:var(--text-3);font-family:var(--font-mono);font-size:.66rem}.review-card__author::before{width:1rem;height:1px;background:var(--border-2);content:''}.review-carousel{position:relative;overflow:hidden;margin:1rem 0 .2rem;border:var(--glass-border);border-radius:var(--radius-md);background:var(--bg-2)}.review-carousel__track{display:flex;transition:transform 380ms var(--ease-out)}.review-carousel__slide{position:relative;flex:0 0 100%;aspect-ratio:16/10;margin:0}.review-carousel__slide img{width:100%;height:100%;cursor:zoom-in;object-fit:cover}.review-carousel__video{position:relative;width:100%;height:100%;overflow:hidden;background:var(--color-review-media-bg)}.review-carousel__video::after{position:absolute;inset:0;background:linear-gradient(180deg,var(--color-review-scrim-top),var(--color-review-scrim-bottom));content:'';pointer-events:none}.review-carousel__video--playing::after{display:none}.review-carousel__video img,.review-carousel__video video{width:100%;height:100%;border:0;object-fit:cover}.review-carousel__play{position:absolute;top:50%;left:50%;z-index:2;display:grid;width:3.2rem;height:3.2rem;place-items:center;transform:translate(-50%,-50%);border:1px solid var(--color-review-play-border);border-radius:50%;background:var(--color-review-play-bg);color:var(--color-review-on-media);box-shadow:0 8px 28px var(--color-review-play-shadow);backdrop-filter:blur(10px);transition:background var(--dur-fast),transform var(--dur-fast)}.review-carousel__play:hover{background:var(--color-review-chrome-bg-hover);transform:translate(-50%,-50%)scale(1.06)}.review-carousel__play svg{width:1.25rem;height:1.25rem;margin-left:.12rem;fill:currentColor}.review-carousel__video-label{position:absolute;top:.65rem;left:.65rem;z-index:2;padding:.2rem .45rem;border:1px solid var(--color-review-badge-border);border-radius:var(--radius-full);background:var(--color-review-badge-bg);color:var(--color-review-badge-text);font-family:var(--font-mono);font-size:.58rem;letter-spacing:.08em;line-height:1;text-transform:uppercase;backdrop-filter:blur(8px)}.review-carousel__expand{position:absolute;top:.6rem;right:.6rem;z-index:4;display:grid;width:1.9rem;height:1.9rem;place-items:center;border:1px solid var(--color-review-chrome-border);border-radius:50%;background:var(--color-review-chrome-bg);color:var(--color-review-chrome-text);opacity:.82;backdrop-filter:blur(8px);transition:opacity var(--dur-fast),background var(--dur-fast),transform var(--dur-fast)}.review-carousel__slide:hover .review-carousel__expand,.review-carousel__expand:focus-visible{opacity:1}.review-carousel__expand:hover{background:var(--color-review-chrome-bg-hover);transform:scale(1.05)}.review-carousel__expand svg{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}@media(hover:none){.review-carousel__expand{opacity:1}}.review-carousel__control{position:absolute;top:50%;z-index:3;display:grid;width:1.85rem;height:1.85rem;place-items:center;transform:translateY(-50%);border:1px solid var(--color-review-chrome-border);border-radius:50%;background:var(--color-review-control-bg);color:var(--color-review-chrome-text);font-size:1rem;line-height:1;backdrop-filter:blur(8px);transition:background var(--dur-fast),transform var(--dur-fast)}.review-carousel__control:hover{background:var(--color-review-chrome-bg-hover)}.review-carousel__control:active{transform:translateY(-50%)scale(.92)}.review-carousel__control--previous{left:.55rem}.review-carousel__control--next{right:.55rem}.review-carousel__dots{position:absolute;right:0;bottom:.55rem;left:0;z-index:3;display:flex;justify-content:center;gap:.3rem}.review-carousel__dot{width:.35rem;height:.35rem;padding:0;border-radius:50%;background:var(--color-review-dot);box-shadow:0 1px 5px var(--color-review-dot-shadow)}.review-carousel__dot[aria-current=true]{background:var(--color-review-dot-active);transform:scale(1.2)}.review-media-link{display:inline-flex;align-items:center;gap:.4rem;margin:1rem 0 .2rem;padding:.4rem .75rem;border:var(--glass-border);border-radius:var(--radius-full);background:var(--surface);color:var(--text-2);font-family:var(--font-mono);font-size:.66rem;transition:background var(--dur-fast),color var(--dur-fast)}.review-media-link:hover{background:var(--surface-2);color:var(--text-1)}body.review-lightbox-open{overflow:hidden}.review-lightbox{position:fixed;inset:0;z-index:var(--z-modal);display:grid;padding:clamp(1rem,4vw,3rem);place-items:center;background:var(--color-review-lightbox-bg);backdrop-filter:blur(18px);animation:fadeIn 180ms var(--ease-out)both}.review-lightbox[hidden]{display:none}.review-lightbox__content{display:grid;width:100%;height:100%;place-items:center}.review-lightbox__content img{width:auto;max-width:100%;height:auto;max-height:calc(100dvh - 2rem);border-radius:var(--radius-sm);object-fit:contain;box-shadow:0 24px 80px var(--color-review-lightbox-shadow)}.review-lightbox__content video{width:min(1200px,100%);max-height:calc(100dvh - 2rem);border:0;border-radius:var(--radius-md);background:var(--color-review-media-bg);box-shadow:0 24px 80px var(--color-review-lightbox-shadow)}.review-lightbox__close{position:fixed;top:max(1rem,env(safe-area-inset-top));right:max(1rem,env(safe-area-inset-right));z-index:2;display:grid;width:2.5rem;height:2.5rem;place-items:center;border:1px solid var(--color-review-lightbox-close-border);border-radius:50%;background:var(--color-review-lightbox-close-bg);color:var(--color-review-on-media);font-size:1.55rem;line-height:1;backdrop-filter:blur(8px);transition:background var(--dur-fast),transform var(--dur-fast)}.review-lightbox__close:hover{background:var(--color-review-lightbox-close-bg-hover);transform:scale(1.05)}.reviews-pagination{padding:.85rem 1.4rem;border-bottom:1px solid var(--border);text-align:center}.reviews-pagination[hidden]{display:none}.reviews-load-more{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .8rem;border:var(--glass-border);border-radius:var(--radius-full);background:var(--surface);color:var(--text-2);font-size:.7rem;font-weight:500;transition:background var(--dur-fast),color var(--dur-fast),opacity var(--dur-fast)}.reviews-load-more:hover:not(:disabled){background:var(--surface-2);color:var(--text-1)}.reviews-load-more:disabled{cursor:wait;opacity:.55}.reviews-load-more__count{color:var(--text-3);font-family:var(--font-mono);font-size:.62rem}.product-reviews__footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.4rem}.product-reviews__footer p{color:var(--text-3);font-size:.72rem}.review-submit-link{color:var(--text-2);font-size:.72rem;font-weight:500;transition:color var(--dur-fast)}.review-submit-link:hover{color:var(--text-1)}.review-submit-link span{display:inline-block;margin-left:.18rem;transition:transform var(--dur-fast)}.review-submit-link:hover span{transform:translate(2px,-2px)}@container(max-width:620px){.reviews-list {
    grid-template-columns: 1fr;
  }

  .review-card:nth-child(odd) {
    border-right: none;
  }
}@container(max-width:360px){.product-reviews__header,
  .product-reviews__summary,
  .review-card,
  .product-reviews__footer {
    padding-right: 1.1rem;
    padding-left: 1.1rem;
  }

  .product-reviews__summary,
  .product-reviews__footer {
    align-items: flex-start;
    flex-direction: column;
    gap: 0.25rem;
  }
}@media(prefers-reduced-motion:reduce){.product-reviews,.review-carousel__track,.review-lightbox{animation:none;transition:none}}