.nav[data-v-37dd89d1]{position:fixed;top:0;left:0;right:0;z-index:100;transition:background var(--transition-slow),border-color var(--transition-slow);border-bottom:1px solid transparent}.nav.scrolled[data-v-37dd89d1]{background:#0d0d0df2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom-color:var(--border)}.nav-inner[data-v-37dd89d1]{height:var(--nav-height);display:flex;align-items:center;justify-content:space-between;width:100%}.nav-logo[data-v-37dd89d1]{font-size:1rem;font-weight:600;letter-spacing:-.01em;display:flex;align-items:center;gap:1px;transition:opacity var(--transition);flex-shrink:0}.nav-logo[data-v-37dd89d1]:hover{opacity:.7}.nav-logo-bracket[data-v-37dd89d1]{color:var(--accent);font-size:1.1rem}.desktop-links[data-v-37dd89d1]{display:flex;align-items:center;gap:.25rem}.nav-link[data-v-37dd89d1]{padding:.35rem .8rem;border-radius:var(--radius);font-size:.875rem;color:var(--text-muted);transition:color var(--transition),background var(--transition);display:flex;align-items:center;gap:1px;white-space:nowrap}.nav-link[data-v-37dd89d1]:hover,.nav-link[data-v-37dd89d1]:focus-visible{color:var(--text);background:var(--bg-3)}.nav-link-active[data-v-37dd89d1]{color:var(--text)!important;background:var(--bg-3)}.nav-link-slash[data-v-37dd89d1]{color:var(--accent);font-size:.9rem}.lang-switch[data-v-37dd89d1]{position:relative;display:flex;align-items:center;background:none;border:1px solid var(--border);border-radius:var(--radius);padding:3px;font-size:.75rem;color:var(--text-muted);cursor:pointer;transition:border-color var(--transition);flex-shrink:0}.lang-switch[data-v-37dd89d1]:hover{border-color:var(--border-hover)}.lang-opt[data-v-37dd89d1]{position:relative;z-index:1;width:1.7rem;text-align:center;padding:.3rem 0;transition:color .25s ease}.lang-opt.active[data-v-37dd89d1]{color:#000;font-weight:600}.lang-switch-thumb[data-v-37dd89d1]{position:absolute;top:3px;bottom:3px;left:3px;width:1.7rem;border-radius:calc(var(--radius) - 2px);background:var(--accent);transition:transform .25s cubic-bezier(.65,0,.35,1)}.lang-switch-thumb.en[data-v-37dd89d1]{transform:translate(1.7rem)}.mobile-controls[data-v-37dd89d1]{display:none;align-items:center;gap:.5rem}.hamburger[data-v-37dd89d1]{display:none;position:relative;align-self:stretch;width:38px;background:none;border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:border-color var(--transition);flex-shrink:0}.hamburger[data-v-37dd89d1]:hover{border-color:var(--border-hover)}.hamburger span[data-v-37dd89d1]{position:absolute;left:50%;width:18px;height:2px;margin-left:-9px;background:var(--text);border-radius:2px;transition:transform .2s ease,opacity .2s ease;transform-origin:center}.hamburger span[data-v-37dd89d1]:nth-child(1){top:calc(50% - 7px)}.hamburger span[data-v-37dd89d1]:nth-child(2){top:calc(50% - 1px)}.hamburger span[data-v-37dd89d1]:nth-child(3){top:calc(50% + 5px)}.hamburger.open span[data-v-37dd89d1]:nth-child(1){transform:translateY(6px) rotate(45deg)}.hamburger.open span[data-v-37dd89d1]:nth-child(2){opacity:0;transform:scaleX(0)}.hamburger.open span[data-v-37dd89d1]:nth-child(3){transform:translateY(-6px) rotate(-45deg)}.mobile-menu[data-v-37dd89d1]{display:flex;flex-direction:column;padding:.5rem 1.5rem 1rem;border-top:1px solid var(--border);gap:.25rem}.mobile-link[data-v-37dd89d1]{display:flex;align-items:center;gap:1px;padding:.65rem .75rem;border-radius:var(--radius);font-size:1rem;color:var(--text-muted);transition:color var(--transition),background var(--transition)}.mobile-link[data-v-37dd89d1]:hover,.mobile-link[data-v-37dd89d1]:focus-visible,.mobile-link.nav-link-active[data-v-37dd89d1]{color:var(--text);background:var(--bg-3)}.mobile-menu-enter-active[data-v-37dd89d1],.mobile-menu-leave-active[data-v-37dd89d1]{transition:opacity .15s ease,transform .15s ease}.mobile-menu-enter-from[data-v-37dd89d1],.mobile-menu-leave-to[data-v-37dd89d1]{opacity:0;transform:translateY(-6px)}@media(max-width:768px){.desktop-links[data-v-37dd89d1]{display:none}.mobile-controls[data-v-37dd89d1],.hamburger[data-v-37dd89d1]{display:flex}}.footer[data-v-cda1cbc3]{border-top:1px solid var(--border);padding:2.5rem 0 2rem;margin-top:auto}.footer-inner[data-v-cda1cbc3]{display:flex;flex-direction:column;gap:1.75rem}.footer-top[data-v-cda1cbc3]{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:1rem 1.5rem}.footer-brand[data-v-cda1cbc3]{display:inline-flex;align-items:center;gap:1px;font-size:.95rem;font-weight:600;transition:opacity var(--transition)}.footer-brand[data-v-cda1cbc3]:hover{opacity:.7}.footer-brand-bracket[data-v-cda1cbc3]{color:var(--accent)}.footer-links[data-v-cda1cbc3]{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem 1.25rem}.footer-social[data-v-cda1cbc3]{display:inline-flex;align-items:center;gap:.25rem;font-size:.85rem;color:var(--text-muted);transition:color var(--transition)}.footer-social-arrow[data-v-cda1cbc3]{font-size:.75rem;color:var(--text-dim);transition:color var(--transition),transform var(--transition)}.footer-social[data-v-cda1cbc3]:hover,.footer-social[data-v-cda1cbc3]:focus-visible{color:var(--accent)}.footer-social:hover .footer-social-arrow[data-v-cda1cbc3],.footer-social:focus-visible .footer-social-arrow[data-v-cda1cbc3]{color:var(--accent);transform:translate(2px,-2px)}.footer-social-all[data-v-cda1cbc3]{color:var(--text)}.footer-bottom[data-v-cda1cbc3]{display:flex;align-items:center;flex-wrap:wrap;row-gap:.5rem;gap:.75rem;font-size:.8rem;padding-top:1.5rem;border-top:1px solid var(--border)}.footer-status[data-v-cda1cbc3]{display:inline-flex;align-items:center;gap:.4rem;font-size:.75rem;letter-spacing:.03em}.footer-status-dot[data-v-cda1cbc3]{width:6px;height:6px;border-radius:50%;background:var(--accent);box-shadow:0 0 4px var(--accent-glow);animation:footer-status-blink-cda1cbc3 2s ease-in-out infinite;flex-shrink:0}@keyframes footer-status-blink-cda1cbc3{0%,to{opacity:1}50%{opacity:.35}}.footer-spacer[data-v-cda1cbc3]{flex:1}.footer-link[data-v-cda1cbc3]{text-decoration:none;transition:color var(--transition)}.footer-link[data-v-cda1cbc3]:hover{color:var(--accent)}.app[data-v-ead67dbc]{min-height:100vh;display:flex;flex-direction:column}.main-content[data-v-ead67dbc]{flex:1}.page-enter-active[data-v-ead67dbc],.page-leave-active[data-v-ead67dbc]{transition:opacity .2s ease,transform .2s ease}.page-enter-from[data-v-ead67dbc]{opacity:0;transform:translateY(8px)}.page-leave-to[data-v-ead67dbc]{opacity:0;transform:translateY(-8px)}:root{--bg: #0c0d0b;--bg-2: #141613;--bg-3: #1c1e1a;--border: #2a2c27;--border-hover: #3a3d35;--text: #e9e9e6;--text-muted: #8b8d86;--text-dim: #6a6c65;--accent: #c8ff00;--accent-dim: rgba(200, 255, 0, .12);--accent-glow: rgba(200, 255, 0, .25);--red: #ff4444;--blue: #4488ff;--radius: 8px;--radius-lg: 12px;--font-mono: "JetBrains Mono", "Fira Code", "Cascadia Code", "Courier New", monospace;--font-sans: "Inter", system-ui, -apple-system, sans-serif;--transition: .15s ease;--transition-slow: .3s ease;--max-width: 1100px;--nav-height: 60px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--border) var(--bg)}body{color:var(--text);font-family:var(--font-sans);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden;background:linear-gradient(180deg,#0e100c 0%,var(--bg) 32%,#0a0b09 100%);background-attachment:fixed}body:before{content:"";position:fixed;top:-25%;right:-25%;bottom:-25%;left:-25%;z-index:-2;pointer-events:none;background:radial-gradient(45rem 45rem at 80% 8%,rgba(200,255,0,.03),transparent 60%),radial-gradient(40rem 40rem at 12% 18%,rgba(68,136,255,.022),transparent 55%);animation:ambient-drift 44s ease-in-out infinite alternate}@keyframes ambient-drift{0%{transform:translate3d(-2%,-1.5%,0) scale(1)}to{transform:translate3d(3%,2.5%,0) scale(1.12)}}body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;pointer-events:none;opacity:.45;background-image:radial-gradient(rgba(255,255,255,.035) 1px,transparent 1px);background-size:46px 46px;-webkit-mask-image:radial-gradient(ellipse 120% 90% at 50% 0%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse 120% 90% at 50% 0%,#000 20%,transparent 75%)}@media(prefers-reduced-motion:reduce){body:before{animation:none}}h1,h2,h3,h4{font-weight:600;line-height:1.2;letter-spacing:-.02em}h1{font-size:clamp(2rem,5vw,3.5rem)}h2{font-size:clamp(1.4rem,3vw,2rem)}h3{font-size:clamp(1.1rem,2vw,1.3rem)}h1.mono,h2.mono,h3.mono,h4.mono,.mono h1,.mono h2,.mono h3,.mono h4{letter-spacing:0}a{color:inherit;text-decoration:none}code,pre{font-family:var(--font-mono)}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:2px}.reveal{opacity:0;transform:translateY(20px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1);will-change:opacity,transform}.reveal.is-revealed{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal{opacity:1!important;transform:none!important}}.container{max-width:var(--max-width);margin:0 auto;padding:0 1.5rem}.mono{font-family:var(--font-mono)}.accent{color:var(--accent)}.text-muted{color:var(--text-muted)}.card{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);padding:1.5rem;transition:border-color var(--transition),background var(--transition)}.card:hover{border-color:var(--border-hover)}.card-interactive{cursor:pointer;transition:border-color var(--transition),background var(--transition),transform var(--transition)}.card-interactive:hover{border-color:var(--accent);background:var(--accent-dim);transform:translateY(-2px)}.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.2rem;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-2);color:var(--text);font-family:var(--font-sans);font-size:.875rem;cursor:pointer;transition:border-color var(--transition),background var(--transition);white-space:nowrap}.btn:hover{border-color:var(--border-hover);background:var(--bg-3)}.btn-accent{background:var(--accent);color:#000;border-color:var(--accent);font-weight:600}.btn-accent:hover{background:#d4ff1a;border-color:#d4ff1a}.input{background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-family:var(--font-sans);font-size:1rem;padding:.6rem .9rem;transition:border-color var(--transition);width:100%;outline:none}.input:focus{border-color:var(--accent)}.input::placeholder{color:var(--text-dim)}.label{font-size:.75rem;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase;font-weight:500;margin-bottom:.4rem;display:block}.tag{display:inline-block;font-size:.7rem;font-family:var(--font-mono);padding:.15rem .5rem;border-radius:4px;border:1px solid var(--border);color:var(--text-muted);letter-spacing:.05em}.tag-accent{border-color:var(--accent);color:var(--accent)}.badge{display:inline-block;font-size:.65rem;font-family:var(--font-mono);padding:.15rem .5rem;border-radius:4px;border:1px solid var(--border);color:var(--text-muted);letter-spacing:.05em;flex-shrink:0}.badge-aktiv{border-color:var(--accent);color:var(--accent)}.badge-abgeschlossen{border-color:var(--border);color:var(--text-muted)}.badge-wip{border-color:var(--blue);color:var(--blue)}.divider{border:none;border-top:1px solid var(--border);margin:2rem 0}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}::selection{background:var(--accent);color:#000}.warp-item{position:relative;overflow:hidden;transform-style:preserve-3d}.is-warping .warp-dimmable,.warp-item.is-dimmed{opacity:.25;filter:blur(1px);transition:opacity .25s ease,filter .25s ease}.warp-item.is-launching{z-index:5;overflow:visible;border-color:var(--accent);background:var(--accent-dim);animation:warp-jump .24s cubic-bezier(.6,0,.9,0) forwards}.warp-item.is-launching .warp-title{color:var(--accent);text-shadow:0 0 12px var(--accent);animation:warp-text .24s ease-in forwards}.warp-item.is-launching .warp-arrow{opacity:1;animation:arrow-shoot .2s cubic-bezier(.3,0,.1,1) forwards}@keyframes warp-jump{0%{transform:perspective(900px) translateZ(0) scale(1);box-shadow:0 0 0 0 var(--accent)}18%{transform:perspective(900px) translateZ(40px) scale(1.03);box-shadow:0 0 30px 2px var(--accent)}to{transform:perspective(900px) translateZ(-600px) translate(120px) scale(.4);box-shadow:0 0 0 0 transparent;opacity:0}}@keyframes warp-text{0%{letter-spacing:normal}to{letter-spacing:.4em;opacity:0}}@keyframes arrow-shoot{0%{transform:translate(0);opacity:1}to{transform:translate(120px,-120px) scale(1.6);opacity:0}}.warp-streaks{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:visible}.warp-streak{position:absolute;top:calc((var(--n) - 4) * 22% + 50%);left:20%;height:2px;width:30%;background:linear-gradient(90deg,transparent,var(--accent));border-radius:2px;opacity:0;transform-origin:left center;animation:streak-fly .24s cubic-bezier(.4,0,1,1) forwards;animation-delay:calc(var(--n) * 5ms)}@keyframes streak-fly{0%{opacity:0;transform:translate(0) scaleX(.2)}30%{opacity:1}to{opacity:0;transform:translate(320px) scaleX(3)}}.warp-flash{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(90deg,transparent 0%,var(--accent) 50%,transparent 100%);opacity:0;mix-blend-mode:screen;animation:flash-sweep .22s ease-out forwards}@keyframes flash-sweep{0%{opacity:0;transform:translate(-100%)}40%{opacity:.7}to{opacity:0;transform:translate(100%)}}@media(prefers-reduced-motion:reduce){.warp-item.is-launching,.warp-item.is-launching .warp-title,.warp-item.is-launching .warp-arrow,.warp-streak,.warp-flash{animation:none}.is-warping .warp-dimmable,.warp-item.is-dimmed{opacity:1;filter:none}}.terminal[data-v-e684f663]{padding:0;overflow:hidden;background:#0a0a0a}.terminal-titlebar[data-v-e684f663]{display:flex;align-items:center;gap:.75rem;padding:.6rem 1rem;background:var(--bg-3);border-bottom:1px solid var(--border)}.terminal-dots[data-v-e684f663]{display:flex;gap:6px}.dot[data-v-e684f663]{width:10px;height:10px;border-radius:50%;opacity:.8}.dot-red[data-v-e684f663]{background:#ff5f56}.dot-yellow[data-v-e684f663]{background:#ffbd2e}.dot-green[data-v-e684f663]{background:#27c93f}.terminal-title[data-v-e684f663]{font-size:.75rem;color:var(--text-dim)}.terminal-body[data-v-e684f663]{padding:1rem 1.25rem 1.25rem;height:260px;overflow-y:auto;font-size:.85rem;line-height:1.7;cursor:text}.terminal-line[data-v-e684f663]{display:flex;flex-wrap:wrap;gap:.5em;align-items:baseline}.prompt[data-v-e684f663]{display:inline-flex;gap:2px;white-space:nowrap}.path[data-v-e684f663]{color:var(--blue)}.cmd-text[data-v-e684f663]{color:var(--text);word-break:break-all}.output[data-v-e684f663]{white-space:pre-wrap;color:var(--text-muted);font-family:inherit;margin:.15rem 0 .5rem}.cursor[data-v-e684f663]{color:var(--accent);opacity:1}.cursor.blink[data-v-e684f663]{animation:term-blink-e684f663 1s step-end infinite}@keyframes term-blink-e684f663{0%,to{opacity:1}50%{opacity:0}}.terminal-input-row[data-v-e684f663]{display:flex;align-items:center;gap:.5em}.terminal-input[data-v-e684f663]{flex:1;min-width:60px;background:none;border:none;outline:none;color:var(--text);font-size:inherit;padding:0}.terminal-input[data-v-e684f663]::placeholder{color:var(--text-dim)}.terminal-body[data-v-e684f663]::-webkit-scrollbar{width:5px}.terminal-body[data-v-e684f663]::-webkit-scrollbar-track{background:transparent}.terminal-body[data-v-e684f663]::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.interactive-grid[data-v-2205cbc1]{position:absolute;top:0;right:0;bottom:0;left:0;display:block;pointer-events:none}.home[data-v-eac201fa]{padding-top:var(--nav-height)}.hero[data-v-eac201fa]{position:relative;min-height:72vh;display:flex;align-items:center;overflow:hidden}.hero-grid-bg[data-v-eac201fa]{mask-image:radial-gradient(ellipse 60% 60% at 50% 50%,black 0%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 60% 60% at 50% 50%,black 0%,transparent 100%)}.hero-content[data-v-eac201fa]{position:relative;padding:4rem 1.5rem}.hero-text[data-v-eac201fa]{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}.hero-text.visible[data-v-eac201fa]{opacity:1;transform:translateY(0)}.hero-label[data-v-eac201fa]{font-size:.8rem;letter-spacing:.1em;margin-bottom:1rem;opacity:.6}.hero-headline[data-v-eac201fa]{line-height:1;margin-bottom:1.5rem;letter-spacing:-.02em;font-size:clamp(2rem,6vw,3.75rem);font-weight:600;white-space:nowrap}.typewriter[data-v-eac201fa]{color:var(--accent)}.hero-sub[data-v-eac201fa]{font-size:1rem;line-height:1.8;opacity:0;transform:translateY(8px);transition:opacity .5s ease,transform .5s ease}.hero-sub.visible[data-v-eac201fa]{opacity:1;transform:translateY(0)}.hero-currently[data-v-eac201fa]{list-style:none;margin:1.5rem 0 0;padding:0;font-size:.8rem;line-height:2;opacity:0;transform:translateY(8px);transition:opacity .5s ease .1s,transform .5s ease .1s}.hero-currently.visible[data-v-eac201fa]{opacity:1;transform:translateY(0)}.hero-currently .accent[data-v-eac201fa]{margin-right:.35rem}.hero-cursor[data-v-eac201fa]{font-size:.9em;animation:blink-eac201fa 1.1s step-end infinite;display:inline-block}@keyframes blink-eac201fa{0%,to{opacity:1}50%{opacity:0}}.terminal-section[data-v-eac201fa]{padding-bottom:5rem}@media(max-width:600px){.terminal-section[data-v-eac201fa]{display:none}}.home-section[data-v-eac201fa]{padding-bottom:7rem}.section-head[data-v-eac201fa]{display:flex;align-items:center;gap:.9rem;margin-bottom:1.75rem}.section-head-title[data-v-eac201fa]{font-size:1rem;letter-spacing:.06em;text-transform:uppercase;margin:0;flex-shrink:0}.section-rule[data-v-eac201fa]{flex:1;height:1px;background:linear-gradient(90deg,var(--border),transparent)}.section-head-all[data-v-eac201fa]{font-size:.78rem;color:var(--text-muted);transition:color var(--transition);white-space:nowrap;flex-shrink:0}.section-head-arrow[data-v-eac201fa]{display:inline-block;transition:transform var(--transition)}.section-head-all[data-v-eac201fa]:hover,.section-head-all[data-v-eac201fa]:focus-visible{color:var(--accent)}.section-head-all:hover .section-head-arrow[data-v-eac201fa],.section-head-all:focus-visible .section-head-arrow[data-v-eac201fa]{transform:translate(3px)}@media(max-width:520px){.section-head[data-v-eac201fa]{flex-wrap:wrap}.section-rule[data-v-eac201fa]{order:3;flex-basis:100%}.section-head-all[data-v-eac201fa]{order:2;margin-left:auto}}.featured-grid[data-v-eac201fa]{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.featured-card[data-v-eac201fa]{position:relative;display:flex;flex-direction:column;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden;transition:border-color var(--transition),transform var(--transition-slow),box-shadow var(--transition-slow)}.featured-card[data-v-eac201fa]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;pointer-events:none;background:radial-gradient(130% 90% at 15% 0%,var(--accent-dim),transparent 55%);opacity:0;transition:opacity var(--transition-slow)}.featured-card[data-v-eac201fa]:hover,.featured-card[data-v-eac201fa]:focus-visible{border-color:var(--accent);transform:translateY(-4px);box-shadow:0 14px 36px -18px #000000b3}.featured-card[data-v-eac201fa]:hover:after,.featured-card[data-v-eac201fa]:focus-visible:after{opacity:1}.featured-card[data-v-eac201fa]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.featured-card-image[data-v-eac201fa]{position:relative;aspect-ratio:16 / 9;overflow:hidden;border-bottom:1px solid var(--border)}.featured-card-image img[data-v-eac201fa]{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s cubic-bezier(.16,1,.3,1)}.featured-card:hover .featured-card-image img[data-v-eac201fa],.featured-card:focus-visible .featured-card-image img[data-v-eac201fa]{transform:scale(1.05)}.featured-card-image .badge[data-v-eac201fa]{position:absolute;top:.6rem;left:.6rem;background:#0d0d0db3;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.featured-card-body[data-v-eac201fa]{position:relative;z-index:1;padding:1rem 1.1rem 1.1rem;display:flex;flex-direction:column;gap:.4rem;flex:1}.featured-card-top[data-v-eac201fa]{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem}.featured-card-body h3[data-v-eac201fa]{font-size:1rem;margin:0;transition:color var(--transition)}.featured-card:hover h3[data-v-eac201fa],.featured-card:focus-visible h3[data-v-eac201fa]{color:var(--accent)}.featured-card-body p[data-v-eac201fa]{font-size:.8rem;line-height:1.55;color:var(--text-muted);flex:1;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.project-year[data-v-eac201fa]{font-size:.7rem;flex-shrink:0}.featured-card-tags[data-v-eac201fa]{display:flex;gap:.3rem;flex-wrap:wrap;margin-top:.15rem}.featured-card-cta[data-v-eac201fa]{font-size:.75rem;color:var(--accent);margin-top:.35rem;opacity:0;transform:translateY(4px);transition:opacity var(--transition),transform var(--transition)}.featured-card:hover .featured-card-cta[data-v-eac201fa],.featured-card:focus-visible .featured-card-cta[data-v-eac201fa]{opacity:1;transform:translateY(0)}@media(max-width:860px){.featured-grid[data-v-eac201fa]{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.featured-grid[data-v-eac201fa]{grid-template-columns:1fr}}.page-hero-header[data-v-6187176a]{position:relative;margin-bottom:3rem;padding:2rem 0 2.5rem;overflow:hidden}.page-hero-grid[data-v-6187176a]{mask-image:radial-gradient(ellipse 90% 130% at 50% -30%,black 0%,transparent 100%);-webkit-mask-image:radial-gradient(ellipse 90% 130% at 50% -30%,black 0%,transparent 100%)}.page-hero-content[data-v-6187176a]{position:relative}.page-breadcrumb[data-v-6187176a]{font-size:.8rem;letter-spacing:.08em;margin-bottom:.75rem;min-height:1.2em}.breadcrumb-cursor[data-v-6187176a]{font-size:.9rem;opacity:1}.breadcrumb-cursor.blink[data-v-6187176a]{animation:breadcrumb-blink-6187176a 1.1s step-end infinite}@keyframes breadcrumb-blink-6187176a{0%,to{opacity:1}50%{opacity:0}}.page-hero-content h1[data-v-6187176a]{margin-bottom:.5rem}.portrait-grid[data-v-871798cb]{display:block;position:absolute;pointer-events:none}.about-view[data-v-f1c8d754]{padding-top:calc(var(--nav-height) + 3rem);padding-bottom:6rem}.about-section[data-v-f1c8d754]{max-width:700px;margin-bottom:2.5rem}.about-section h2[data-v-f1c8d754]{font-size:1rem;letter-spacing:.05em;margin-bottom:.75rem}.about-section p[data-v-f1c8d754]{line-height:1.8}.about-tags[data-v-f1c8d754]{display:flex;gap:.5rem;flex-wrap:wrap}.bio-section[data-v-f1c8d754]{max-width:100%;display:flex;flex-direction:column;gap:2.5rem;margin-bottom:4rem}.bio-text[data-v-f1c8d754]{max-width:700px}.bio-portrait[data-v-f1c8d754]{position:relative;width:100%;max-width:300px;aspect-ratio:3 / 4;flex-shrink:0;align-self:center}@media(max-width:600px){.bio-portrait[data-v-f1c8d754]{max-width:200px}}@media(min-width:900px){.bio-section[data-v-f1c8d754]{flex-direction:row;align-items:center;gap:4.5rem}.bio-text[data-v-f1c8d754]{flex:1}.bio-portrait[data-v-f1c8d754]{align-self:center;margin-top:1.5rem}}.accent-link[data-v-f1c8d754]{color:var(--accent);text-decoration:none}.accent-link[data-v-f1c8d754]:hover{text-decoration:underline}.triathlon[data-v-8346b18a]{display:flex;flex-direction:column;gap:1rem;max-width:720px}.format-bar[data-v-8346b18a]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.format-bar .label[data-v-8346b18a]{margin:0;white-space:nowrap;font-size:.8rem}.pace-table[data-v-8346b18a]{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.row[data-v-8346b18a]{display:grid;grid-template-columns:7rem 7rem 1fr 8rem;align-items:center;gap:0;padding:.65rem .9rem;border-bottom:1px solid var(--border)}.row[data-v-8346b18a]:last-child{border-bottom:none}.row-head[data-v-8346b18a]{background:var(--bg-3);font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:.4rem .75rem}.row-discipline[data-v-8346b18a]{background:var(--bg-2)}.row-transition[data-v-8346b18a]{background:var(--bg);font-size:.85rem}.row-total[data-v-8346b18a]{background:var(--bg-3);font-weight:600}.col-dist[data-v-8346b18a]{display:flex;align-items:center;gap:.3rem}.col-input[data-v-8346b18a]{padding:0 .5rem}.col-time[data-v-8346b18a]{text-align:right}.input-dist[data-v-8346b18a]{width:4.5rem;font-family:var(--font-mono);font-size:.9rem;padding:.35rem .5rem;text-align:right}.pace-input[data-v-8346b18a]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.input-t[data-v-8346b18a]{width:3.5rem;text-align:center;font-family:var(--font-mono);font-size:.9rem;padding:.35rem .4rem}.input-t-wide[data-v-8346b18a]{width:5rem}.sep[data-v-8346b18a]{color:var(--text-muted);font-size:1rem;line-height:1}.unit[data-v-8346b18a]{font-size:.7rem;color:var(--text-dim);white-space:nowrap}.input-tabs[data-v-8346b18a]{display:flex;border:1px solid var(--border);border-radius:calc(var(--radius) - 2px);overflow:hidden;flex-shrink:0}.input-tab[data-v-8346b18a]{padding:.15rem .5rem;background:transparent;border:none;color:var(--text-muted);font-size:.7rem;cursor:pointer;font-family:var(--font-mono);transition:background var(--transition),color var(--transition)}.input-tab.active[data-v-8346b18a]{background:var(--accent);color:#000;font-weight:600}.total-time[data-v-8346b18a]{font-size:1.1rem;font-weight:700}.row-total .col-time[data-v-8346b18a]{font-size:1rem}.reset-btn[data-v-8346b18a]{align-self:flex-start;color:var(--text-muted);font-size:.8rem}@media(max-width:560px){.row[data-v-8346b18a]{grid-template-columns:6rem 6rem 1fr 7rem;font-size:.85rem}.input-t[data-v-8346b18a]{width:2.8rem}.input-dist[data-v-8346b18a]{width:3.8rem}}.geldzaehler[data-v-0ce48335]{display:flex;flex-direction:column;gap:1rem;max-width:480px}.coin-table[data-v-0ce48335]{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.row[data-v-0ce48335]{display:grid;grid-template-columns:5rem 1fr 6.5rem;align-items:center;gap:.5rem;padding:.5rem .9rem;border-bottom:1px solid var(--border)}.row[data-v-0ce48335]:last-child{border-bottom:none}.row-head[data-v-0ce48335]{background:var(--bg-3);font-size:.7rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:.4rem .9rem}.row-note[data-v-0ce48335]{background:var(--bg-2)}.row-coin[data-v-0ce48335]{background:var(--bg)}.row-total[data-v-0ce48335]{background:var(--bg-3);font-weight:600}.col-val[data-v-0ce48335]{font-size:.95rem}.col-count[data-v-0ce48335]{display:flex;justify-content:center}.col-sum[data-v-0ce48335]{text-align:right}.stepper[data-v-0ce48335]{display:flex;align-items:center;gap:.4rem}.step-btn[data-v-0ce48335]{width:2.25rem;height:2.25rem;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-3);color:var(--text);font-size:1.1rem;line-height:1;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--transition),border-color var(--transition)}.step-btn[data-v-0ce48335]:hover:not(:disabled){background:var(--accent);color:#000;border-color:var(--accent)}.step-btn[data-v-0ce48335]:disabled{opacity:.35;cursor:not-allowed}.input-count[data-v-0ce48335]{width:3.25rem;text-align:center;font-family:var(--font-mono);font-size:1rem;padding:.4rem .2rem;-moz-appearance:textfield}.input-count[data-v-0ce48335]::-webkit-outer-spin-button,.input-count[data-v-0ce48335]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.total-sum[data-v-0ce48335]{font-size:1.1rem;font-weight:700}.reset-btn[data-v-0ce48335]{align-self:flex-start;color:var(--text-muted);font-size:.8rem}@media(max-width:560px){.row[data-v-0ce48335]{grid-template-columns:4.2rem 1fr 5.5rem;padding:.5rem .6rem;font-size:.85rem}.step-btn[data-v-0ce48335]{width:2.5rem;height:2.5rem;font-size:1.25rem}.input-count[data-v-0ce48335]{width:2.6rem;font-size:1.05rem}.total-sum[data-v-0ce48335]{font-size:1rem}}.clock-tool[data-v-5bb502a4]{display:flex;flex-direction:column;align-items:center;gap:1.25rem;width:100%}.mode-tabs[data-v-5bb502a4]{display:flex;gap:.5rem;padding:.3rem;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius)}.mode-tab[data-v-5bb502a4]{padding:.45rem 1rem;border:none;border-radius:calc(var(--radius) - 3px);background:transparent;color:var(--text-muted);font-family:var(--font-sans);font-size:.85rem;cursor:pointer;transition:background var(--transition),color var(--transition)}.mode-tab[data-v-5bb502a4]:hover{color:var(--text)}.mode-tab.active[data-v-5bb502a4]{background:var(--accent);color:#000;font-weight:600}.stage[data-v-5bb502a4]{position:relative;container-type:inline-size;width:100%;min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.25rem;padding:2.5rem 1.5rem;background:#000;border:1px solid var(--border);border-radius:var(--radius-lg)}.stage.active[data-v-5bb502a4]{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;min-height:0;padding:0;border:none;border-radius:0;z-index:1000}.stage.clickable[data-v-5bb502a4]{cursor:pointer}.time[data-v-5bb502a4]{color:#fff;font-weight:700;line-height:1;letter-spacing:.02em;font-variant-numeric:tabular-nums;white-space:nowrap}.timer-done[data-v-5bb502a4]{color:var(--accent);animation:pulse-5bb502a4 1s ease-in-out infinite}@keyframes pulse-5bb502a4{0%,to{opacity:1}50%{opacity:.4}}.date[data-v-5bb502a4]{font-size:1rem;color:var(--text-muted)}.fs-controls[data-v-5bb502a4]{display:flex;gap:.75rem}.fs-controls-overlay[data-v-5bb502a4]{position:absolute;bottom:8vh}.timer-inputs[data-v-5bb502a4]{display:flex;gap:1rem}.timer-field[data-v-5bb502a4]{display:flex;flex-direction:column;align-items:center}.timer-field .label[data-v-5bb502a4]{margin-bottom:.3rem;text-align:center}.timer-input[data-v-5bb502a4]{width:5rem;text-align:center;font-family:var(--font-mono);-moz-appearance:textfield}.timer-input[data-v-5bb502a4]::-webkit-outer-spin-button,.timer-input[data-v-5bb502a4]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.seconds-toggle[data-v-5bb502a4]{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.seconds-toggle input[data-v-5bb502a4]{accent-color:var(--accent);width:1rem;height:1rem;cursor:pointer}.fullscreen-btn[data-v-5bb502a4]{align-self:center}.hint[data-v-5bb502a4]{font-size:.8rem;text-align:center}@media(max-width:560px){.mode-tabs[data-v-5bb502a4]{width:100%}.mode-tab[data-v-5bb502a4]{flex:1;text-align:center;padding:.45rem .5rem}}.chart-wrap[data-v-61af9b92]{position:relative;padding:1rem;overflow-x:auto}.empty[data-v-61af9b92]{padding:2rem;text-align:center}.chart-svg[data-v-61af9b92]{display:block;width:100%;height:220px}.gridlines line[data-v-61af9b92]{stroke:var(--border);stroke-width:1}.axis-label[data-v-61af9b92]{font-family:var(--font-mono);font-size:9px;fill:var(--text-dim)}.boundaries line[data-v-61af9b92]{stroke:var(--text-dim);stroke-width:1;stroke-dasharray:3 3}.bar[data-v-61af9b92]{cursor:pointer;transition:opacity var(--transition),stroke var(--transition)}.bar-active[data-v-61af9b92]{fill:#7fd400;stroke:none}.bar-rest[data-v-61af9b92]{fill:var(--border-hover);stroke:none}.bar-hover[data-v-61af9b92]{opacity:.8}.bar-selected[data-v-61af9b92]{stroke:var(--accent);stroke-width:2}.lap-axis-labels text[data-v-61af9b92]{fill:var(--text-dim)}.tooltip[data-v-61af9b92]{position:absolute;top:.5rem;transform:translate(-50%);background:var(--bg-3);border:1px solid var(--border-hover);border-radius:var(--radius);padding:.4rem .6rem;font-size:.75rem;pointer-events:none;white-space:nowrap;z-index:2}.tooltip-title[data-v-61af9b92]{font-size:.75rem;margin-bottom:.15rem}.legend[data-v-61af9b92]{display:flex;gap:1rem;margin-top:.5rem;font-size:.75rem;color:var(--text-muted)}.legend-item[data-v-61af9b92]{display:inline-flex;align-items:center;gap:.35rem}.swatch[data-v-61af9b92]{width:.7rem;height:.7rem;border-radius:3px;display:inline-block}.swatch-active[data-v-61af9b92]{background:#7fd400}.swatch-rest[data-v-61af9b92]{background:var(--border-hover)}.swatch-selected[data-v-61af9b92]{background:var(--bg-2);border:2px solid var(--accent)}.swim-editor[data-v-95013380]{display:flex;flex-direction:column;gap:1rem;max-width:900px}.editor[data-v-95013380]{display:flex;flex-direction:column;gap:1rem}.dropzone[data-v-95013380]{display:flex;flex-direction:column;align-items:center;gap:.6rem;padding:2.5rem 1.5rem;text-align:center;cursor:pointer;border:1px dashed var(--border);transition:border-color var(--transition),background var(--transition)}.dropzone.dragging[data-v-95013380],.dropzone[data-v-95013380]:hover{border-color:var(--accent)}.hidden-input[data-v-95013380]{display:none}.drop-title[data-v-95013380]{font-weight:600;margin:0}.drop-sub[data-v-95013380]{margin:0;font-size:.85rem}.error-msg[data-v-95013380]{color:#ff5f5f;font-size:.85rem}.toolbar[data-v-95013380]{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem}.file-info[data-v-95013380]{display:flex;flex-direction:column;gap:.15rem;min-width:0}.file-name[data-v-95013380]{font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.summary[data-v-95013380]{font-size:.75rem}.toolbar-actions[data-v-95013380]{display:flex;gap:.5rem;flex-shrink:0}.view-tabs[data-v-95013380]{display:flex;gap:.4rem}.view-tab[data-v-95013380]{padding:.55rem 1.1rem;font-size:.85rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-2);color:var(--text-muted);cursor:pointer;transition:border-color var(--transition),color var(--transition),background var(--transition)}.view-tab[data-v-95013380]:hover{border-color:var(--border-hover)}.view-tab.active[data-v-95013380]{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}.chart-actionbar[data-v-95013380]{display:flex;flex-direction:column;gap:.85rem;padding:1rem 1.1rem}.chart-actionbar-btns[data-v-95013380]{display:flex;gap:.5rem;flex-wrap:wrap}.chart-edit-panel[data-v-95013380]{border-top:1px solid var(--border);padding-top:.6rem}.lap-table-scroll[data-v-95013380]{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius)}.lap-table[data-v-95013380]{display:flex;flex-direction:column;min-width:680px}.row[data-v-95013380]{display:grid;grid-template-columns:2.5rem 5rem 6rem 5.5rem 4rem 10.5rem;align-items:center;gap:.5rem;padding:.6rem .75rem;border-bottom:1px solid var(--border);font-size:.85rem}.row[data-v-95013380]:last-child{border-bottom:none}.row-head[data-v-95013380]{background:var(--bg-3);font-size:.68rem;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);padding:.4rem .75rem}.row-active[data-v-95013380]{background:var(--bg-2)}.row-rest[data-v-95013380]{background:var(--bg)}.row-lap-start[data-v-95013380]{border-top:1px solid var(--border-hover)}.row-split[data-v-95013380],.add-panel-wrap[data-v-95013380]{background:var(--bg-3);border-bottom:1px solid var(--border);padding:.6rem .75rem}.split-panel[data-v-95013380]{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.8rem}.checkbox-label[data-v-95013380]{display:inline-flex;align-items:center;gap:.35rem;color:var(--text-muted);font-size:.8rem}.col-actions[data-v-95013380]{display:flex;gap:.3rem;flex-wrap:wrap;justify-content:flex-end}.unit[data-v-95013380]{font-size:.7rem;color:var(--text-dim)}.sep[data-v-95013380]{color:var(--text-muted)}.input-edit[data-v-95013380]{width:4rem;font-family:var(--font-mono);font-size:.85rem;padding:.25rem .4rem}.input-t[data-v-95013380]{width:3.4rem;text-align:center;-moz-appearance:textfield}.input-t[data-v-95013380]::-webkit-outer-spin-button,.input-t[data-v-95013380]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.input-select[data-v-95013380]{width:auto;padding:.35rem .5rem;font-size:.85rem}.time-edit[data-v-95013380]{display:flex;align-items:center;gap:.25rem}.btn-sm[data-v-95013380]{padding:.5rem .9rem;font-size:.85rem;line-height:1}.btn-danger[data-v-95013380]:hover{border-color:#ff5f5f;color:#ff5f5f}.btn-icon[data-v-95013380]{width:2.25rem;height:2.25rem;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-2);color:var(--text);font-size:1rem;line-height:1;cursor:pointer;transition:border-color var(--transition),background var(--transition),color var(--transition)}.btn-icon[data-v-95013380]:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.btn-icon[data-v-95013380]:disabled{opacity:.35;cursor:not-allowed}.btn-icon-danger[data-v-95013380]:hover:not(:disabled){border-color:#ff5f5f;color:#ff5f5f}.add-lap-btn[data-v-95013380]{align-self:flex-start;font-size:.9rem;padding:.6rem 1.1rem}.hint[data-v-95013380]{font-size:.75rem;margin:0}@media(max-width:720px){.add-panel-wrap .split-panel[data-v-95013380]{font-size:.78rem}}.workdays[data-v-15b889c1]{max-width:860px}.layout[data-v-15b889c1]{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:1rem;align-items:start}.panel[data-v-15b889c1]{display:flex;flex-direction:column;gap:1.25rem;padding:1.25rem;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius-lg)}.input-date[data-v-15b889c1]{color-scheme:dark}.weekday-toggles[data-v-15b889c1]{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem}.weekday-btn[data-v-15b889c1]{height:2.4rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text-muted);font-size:.8rem;cursor:pointer;transition:background var(--transition),border-color var(--transition),color var(--transition)}.weekday-btn[data-v-15b889c1]:hover{border-color:var(--border-hover);color:var(--text)}.weekday-btn.active[data-v-15b889c1]{background:var(--accent);border-color:var(--accent);color:#000;font-weight:600}.checks[data-v-15b889c1]{display:flex;flex-direction:column;gap:.5rem}.check[data-v-15b889c1]{display:inline-flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.check input[data-v-15b889c1]{accent-color:var(--accent);width:1rem;height:1rem;cursor:pointer}.result[data-v-15b889c1]{padding-top:1.25rem;border-top:1px solid var(--border)}.result-num[data-v-15b889c1]{font-size:clamp(3rem,8vw,4.25rem);font-weight:700;line-height:1}.result-label[data-v-15b889c1]{margin-top:.4rem;font-size:.95rem}.result-meta[data-v-15b889c1]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem;margin-top:1rem}.result-meta div[data-v-15b889c1]{padding:.5rem .6rem;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius)}.result-meta dt[data-v-15b889c1]{font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.result-meta dd[data-v-15b889c1]{font-size:1.05rem}.result-empty[data-v-15b889c1]{font-size:.9rem}.calendar[data-v-15b889c1]{gap:1rem}.cal-head[data-v-15b889c1]{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.cal-title[data-v-15b889c1]{font-size:.95rem;text-transform:capitalize}.nav-btn[data-v-15b889c1]{width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);cursor:pointer;transition:border-color var(--transition)}.nav-btn[data-v-15b889c1]:hover{border-color:var(--accent)}.cal-grid[data-v-15b889c1]{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.3rem}.cal-dow[data-v-15b889c1]{text-align:center;font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);padding-bottom:.15rem}.day[data-v-15b889c1]{position:relative;aspect-ratio:1;display:flex;align-items:center;justify-content:center;border:1px solid transparent;border-radius:6px;background:none;color:var(--text-dim);font-size:.85rem;transition:background var(--transition),border-color var(--transition),color var(--transition)}.day[data-v-15b889c1]:disabled{cursor:default;opacity:.5}.day.in-range[data-v-15b889c1]{cursor:pointer;background:var(--bg);border-color:var(--border);color:var(--text-muted)}.day.in-range[data-v-15b889c1]:hover{border-color:var(--accent)}.day.is-counted[data-v-15b889c1]{background:var(--accent-dim);border-color:#c8ff0047;color:var(--text)}.day.is-removed[data-v-15b889c1]{color:var(--text-dim);text-decoration:line-through;border-style:dashed;border-color:#ff444480;background:repeating-linear-gradient(135deg,transparent 0 4px,rgba(255,68,68,.1) 4px 6px)}.day.is-added[data-v-15b889c1]:after{content:"";position:absolute;top:3px;right:3px;width:5px;height:5px;border-radius:50%;background:var(--accent)}.day.is-today[data-v-15b889c1]{font-weight:700;opacity:1}.day.is-today[data-v-15b889c1]:before{content:"";position:absolute;bottom:3px;left:50%;width:.9rem;height:2px;border-radius:1px;background:currentColor;transform:translate(-50%)}.day.is-target[data-v-15b889c1]{border-color:var(--accent);border-style:solid;color:var(--accent);font-weight:700;opacity:1}.day.is-target.is-counted[data-v-15b889c1]{background:var(--accent);color:#000}.day.is-target.is-counted.is-added[data-v-15b889c1]:after{background:#000}.cal-jump[data-v-15b889c1]{display:flex;gap:.5rem}.jump-btn[data-v-15b889c1]{display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .6rem;border:1px solid var(--border);border-radius:var(--radius);background:none;color:var(--text-muted);font-size:.8rem;cursor:pointer;transition:border-color var(--transition),color var(--transition)}.jump-btn[data-v-15b889c1]:hover{border-color:var(--border-hover);color:var(--text)}.jump-btn .material-icons[data-v-15b889c1],.reset-btn .material-icons[data-v-15b889c1]{font-size:1rem}.legend[data-v-15b889c1]{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem .75rem;font-size:.8rem;color:var(--text-muted)}.legend li[data-v-15b889c1]{display:flex;align-items:center;gap:.5rem}.swatch[data-v-15b889c1]{width:1.1rem;height:1.1rem;aspect-ratio:auto;flex-shrink:0;border-radius:4px;pointer-events:none}.swatch.is-added[data-v-15b889c1]:after{top:2px;right:2px;width:4px;height:4px}.hint[data-v-15b889c1]{font-size:.8rem}.reset-btn[data-v-15b889c1]{align-self:flex-start;color:var(--text-muted);font-size:.8rem}@media(max-width:720px){.layout[data-v-15b889c1]{grid-template-columns:1fr}}@media(max-width:400px){.panel[data-v-15b889c1]{padding:1rem}.legend[data-v-15b889c1]{grid-template-columns:1fr}.result-meta dt[data-v-15b889c1]{font-size:.6rem}}.tools-view[data-v-bc0a801b]{padding-top:calc(var(--nav-height) + 3rem);padding-bottom:6rem}.tools-grid[data-v-bc0a801b]{display:flex;flex-direction:column;gap:.75rem;perspective:900px}.tool-card[data-v-bc0a801b]{display:flex;align-items:center;gap:1.25rem;background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem 1.5rem;cursor:pointer;transition:border-color var(--transition),background var(--transition),transform var(--transition),opacity .25s ease,filter .25s ease;animation:slide-in-bc0a801b .4s ease both;animation-delay:calc(var(--i) * 80ms)}@keyframes slide-in-bc0a801b{0%{opacity:0;transform:translate(-12px)}to{opacity:1;transform:translate(0)}}.tool-card[data-v-bc0a801b]:hover,.tool-card[data-v-bc0a801b]:focus-visible{border-color:var(--accent);background:var(--accent-dim);transform:translate(4px)}.tool-card[data-v-bc0a801b]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.tool-card-icon[data-v-bc0a801b]{width:2.5rem;text-align:center;flex-shrink:0;color:var(--text-muted)}.tool-card-icon .material-icons[data-v-bc0a801b]{font-size:1.5rem}.tool-card:hover .tool-card-icon[data-v-bc0a801b],.tool-card:focus-visible .tool-card-icon[data-v-bc0a801b]{color:var(--accent)}.tool-card-body[data-v-bc0a801b]{flex:1;display:flex;flex-direction:column;gap:.3rem}.tool-card-body h3[data-v-bc0a801b]{font-size:1rem;margin:0}.tool-card-body p[data-v-bc0a801b]{font-size:.875rem;margin:0}.tool-card-tags[data-v-bc0a801b]{display:flex;gap:.4rem;margin-top:.25rem}.tool-card-arrow[data-v-bc0a801b]{color:var(--accent);font-size:1.1rem;opacity:0;transform:translate(-4px);transition:opacity var(--transition),transform var(--transition)}.tool-card:hover .tool-card-arrow[data-v-bc0a801b],.tool-card:focus-visible .tool-card-arrow[data-v-bc0a801b]{opacity:1;transform:translate(0)}.breadcrumb[data-v-678af415]{font-size:.8rem;letter-spacing:.08em;margin-bottom:2rem}.breadcrumb a[data-v-678af415]{color:var(--text-muted);transition:color var(--transition)}.breadcrumb a[data-v-678af415]:hover{color:var(--text)}.tool-view[data-v-7f21127f]{padding-top:calc(var(--nav-height) + 3rem);padding-bottom:6rem}.tool-header[data-v-7f21127f]{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.tool-header-icon[data-v-7f21127f]{font-size:2rem;line-height:1;margin-top:.35rem;color:var(--text-muted)}.tool-header h1[data-v-7f21127f]{font-size:clamp(1.5rem,3vw,2rem);margin-bottom:.35rem}.tool-header p[data-v-7f21127f]{font-size:.95rem}.not-found[data-v-7f21127f]{text-align:center;padding:6rem 0}.not-found .mono[data-v-7f21127f]{font-size:4rem;margin-bottom:.5rem}.links-view[data-v-63d4e1a7]{padding-top:calc(var(--nav-height) + 3rem);padding-bottom:6rem}.search-bar[data-v-63d4e1a7]{margin-bottom:2.5rem;max-width:400px}.categories-grid[data-v-63d4e1a7]{display:grid;grid-template-columns:1fr;gap:2rem}@media(min-width:700px){.categories-grid[data-v-63d4e1a7]{grid-template-columns:1fr 1fr}}.link-category[data-v-63d4e1a7]{animation:fade-in-63d4e1a7 .4s ease both;animation-delay:calc(var(--ci) * 80ms)}@keyframes fade-in-63d4e1a7{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.category-header[data-v-63d4e1a7]{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;transition:opacity .25s ease,filter .25s ease}.link-list[data-v-63d4e1a7]{display:flex;flex-direction:column;gap:1px;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;perspective:900px}.link-item[data-v-63d4e1a7]{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.25rem;background:var(--bg-2);transition:background var(--transition),color var(--transition),transform .2s cubic-bezier(.2,.8,.2,1),opacity .25s ease,filter .25s ease;cursor:pointer;border-bottom:1px solid var(--border)}.link-item[data-v-63d4e1a7]:last-child{border-bottom:none}.link-item[data-v-63d4e1a7]:hover,.link-item[data-v-63d4e1a7]:focus-visible{background:var(--accent-dim)}.link-item[data-v-63d4e1a7]:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.link-item:hover .link-item-title[data-v-63d4e1a7],.link-item:focus-visible .link-item-title[data-v-63d4e1a7]{color:var(--accent)}.link-item:hover .link-arrow[data-v-63d4e1a7],.link-item:focus-visible .link-arrow[data-v-63d4e1a7]{transform:translate(2px,-2px)}.link-item-title[data-v-63d4e1a7]{font-size:.95rem;font-weight:500;transition:color var(--transition)}.link-item-url[data-v-63d4e1a7]{font-size:.75rem;white-space:nowrap;flex-shrink:0}.link-arrow[data-v-63d4e1a7]{display:inline-block;transition:transform .18s cubic-bezier(.2,.8,.2,1)}.empty-state[data-v-63d4e1a7]{padding:4rem 0;text-align:center}.projects-view[data-v-06796f6c]{padding-top:calc(var(--nav-height) + 3rem);padding-bottom:6rem}.projects-list[data-v-06796f6c]{display:grid;grid-template-columns:1fr;gap:0 2.5rem;max-width:1100px}@media(min-width:900px){.projects-list[data-v-06796f6c]{grid-template-columns:1fr 1fr}}.project-card[data-v-06796f6c]{display:flex;flex-direction:column;gap:.6rem;padding:1.75rem 0;border-bottom:1px solid var(--border);cursor:pointer;transition:transform var(--transition),opacity .3s ease;animation:fade-up-06796f6c .4s ease both;animation-delay:calc(var(--i) * 80ms)}@keyframes fade-up-06796f6c{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.project-card.is-diving[data-v-06796f6c]{opacity:0}.project-card[data-v-06796f6c]:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:2px}.project-card:hover .project-title[data-v-06796f6c],.project-card:focus-visible .project-title[data-v-06796f6c]{color:var(--accent)}.project-card:hover .project-read-more[data-v-06796f6c],.project-card:focus-visible .project-read-more[data-v-06796f6c]{opacity:1;transform:translate(4px)}.project-card-top[data-v-06796f6c]{display:flex;align-items:center;gap:.75rem}.project-title[data-v-06796f6c]{font-size:1.3rem;margin:0;transition:color var(--transition)}.project-excerpt[data-v-06796f6c]{font-size:.9rem;line-height:1.7;margin:0}.project-card-bottom[data-v-06796f6c]{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.project-tags[data-v-06796f6c]{display:flex;gap:.35rem;flex-wrap:wrap}.project-year[data-v-06796f6c]{font-size:.8rem;flex-shrink:0}.project-card-image[data-v-06796f6c]{width:100%;aspect-ratio:16 / 7;overflow:hidden;border-radius:var(--radius);border:1px solid var(--border)}.project-card-image img[data-v-06796f6c]{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}.project-card:hover .project-card-image img[data-v-06796f6c],.project-card:focus-visible .project-card-image img[data-v-06796f6c]{transform:scale(1.03)}.project-read-more[data-v-06796f6c]{font-size:.85rem;opacity:0;transform:translate(0);transition:opacity var(--transition),transform var(--transition);align-self:flex-start}.dive-overlay[data-v-06796f6c]{position:fixed;z-index:200;overflow:hidden;border-radius:6px;pointer-events:none;box-shadow:0 0 0 1px var(--border);transition:top .48s cubic-bezier(.7,0,.3,1),left .48s cubic-bezier(.7,0,.3,1),width .48s cubic-bezier(.7,0,.3,1),height .48s cubic-bezier(.7,0,.3,1),border-radius .48s ease}.dive-overlay img[data-v-06796f6c]{width:100%;height:100%;object-fit:cover;display:block;transition:transform .48s cubic-bezier(.7,0,.3,1)}.dive-overlay.dive-active[data-v-06796f6c]{top:0!important;left:0!important;width:100vw!important;height:100vh!important;border-radius:0}.dive-overlay.dive-active img[data-v-06796f6c]{transform:scale(1.15)}.dive-overlay.dive-out[data-v-06796f6c]{opacity:0;transition:opacity .34s ease}.dive-overlay.dive-out img[data-v-06796f6c]{transform:scale(1.3);transition:transform .34s ease}@media(prefers-reduced-motion:reduce){.dive-overlay[data-v-06796f6c]{display:none}.project-card.is-diving[data-v-06796f6c]{opacity:1}}.project-view[data-v-1ee5d88d]{padding-top:calc(var(--nav-height) + 3rem);padding-bottom:6rem}.project-header[data-v-1ee5d88d]{margin-bottom:2rem}.project-hero[data-v-1ee5d88d]{margin:0 0 2.5rem;border-radius:var(--radius-lg);overflow:hidden;border:1px solid var(--border);background:var(--bg-2)}.project-hero img[data-v-1ee5d88d]{width:100%;max-height:60vh;object-fit:cover;display:block}.project-meta[data-v-1ee5d88d]{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;font-size:.8rem;flex-wrap:wrap}.project-tags[data-v-1ee5d88d]{display:flex;gap:.35rem;flex-wrap:wrap}.project-header h1[data-v-1ee5d88d]{font-size:clamp(1.6rem,4vw,2.5rem);margin-bottom:1.25rem}.project-links[data-v-1ee5d88d]{display:flex;gap:.75rem;flex-wrap:wrap}.project-content[data-v-1ee5d88d]{max-width:680px;line-height:1.8}.project-content[data-v-1ee5d88d] h1,.project-content[data-v-1ee5d88d] h2,.project-content[data-v-1ee5d88d] h3{margin:2rem 0 .75rem}.project-content[data-v-1ee5d88d] p{margin:1rem 0;color:var(--text-muted)}.project-content[data-v-1ee5d88d] strong{color:var(--text);font-weight:600}.project-content[data-v-1ee5d88d] a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.project-content[data-v-1ee5d88d] ul{padding-left:1.5rem;margin:.75rem 0}.project-content[data-v-1ee5d88d] li{margin:.4rem 0;color:var(--text-muted)}.project-content[data-v-1ee5d88d] code{font-family:var(--font-mono);font-size:.85em;background:var(--bg-3);border:1px solid var(--border);border-radius:4px;padding:.1em .35em}.project-content[data-v-1ee5d88d] .project-figure{margin:2rem 0;max-width:100%}.project-content[data-v-1ee5d88d] .project-figure img,.project-content[data-v-1ee5d88d] .project-figure video{width:100%;border-radius:8px;border:1px solid var(--border);display:block}.project-content[data-v-1ee5d88d] .video-embed{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:8px;border:1px solid var(--border);overflow:hidden}.project-content[data-v-1ee5d88d] .video-embed iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.project-content[data-v-1ee5d88d] .project-figure figcaption{margin-top:.5rem;font-size:.8rem;color:var(--text-muted);font-family:var(--font-mono)}.not-found[data-v-1ee5d88d]{text-align:center;padding:6rem 0}.legal-page[data-v-b86bc032]{padding-top:calc(var(--nav-height) + 3rem);padding-bottom:6rem}.page-title[data-v-b86bc032]{font-size:2.5rem;letter-spacing:-.04em;margin-bottom:3rem}.legal-section[data-v-b86bc032]{margin-bottom:2.5rem}.legal-section h2[data-v-b86bc032]{font-size:1rem;color:var(--accent);font-family:var(--font-mono);letter-spacing:.05em;margin-bottom:.75rem}.legal-section p[data-v-b86bc032]{color:var(--text-muted);line-height:1.8;margin-bottom:.75rem}.legal-section a[data-v-b86bc032]{color:var(--accent);text-decoration:none}.legal-section a[data-v-b86bc032]:hover{text-decoration:underline}.legal-page[data-v-9602ec48]{padding-top:calc(var(--nav-height) + 3rem);padding-bottom:6rem}.page-title[data-v-9602ec48]{font-size:2.5rem;letter-spacing:-.04em;margin-bottom:3rem}.legal-section[data-v-9602ec48]{margin-bottom:2.5rem}.legal-section h2[data-v-9602ec48]{font-size:1rem;color:var(--accent);font-family:var(--font-mono);letter-spacing:.05em;margin-bottom:.75rem}.legal-section p[data-v-9602ec48],.legal-section li[data-v-9602ec48]{color:var(--text-muted);line-height:1.8;margin-bottom:.5rem}.legal-section ul[data-v-9602ec48]{padding-left:1.5rem;margin-bottom:.75rem}.legal-section a[data-v-9602ec48]{color:var(--accent);text-decoration:none}.legal-section a[data-v-9602ec48]:hover{text-decoration:underline}
