@font-face{font-family:tommyfont;src:url(/fonts/tommyfont/book.otf) format("opentype");font-display:swap;font-style:normal;font-weight:400}@font-face{font-family:tommyfont;src:url(/fonts/tommyfont/medium.otf) format("opentype");font-display:swap;font-style:normal;font-weight:600}@font-face{font-family:Fraunces;src:url(/fonts/Fraunces-700.ttf) format("truetype");font-display:swap;font-style:normal;font-weight:700}:root{--sky: #f5f1eb;--desktop: #e6dfd6;--panel: #f8f2ea;--panel-2: #efe4d7;--ink: #2d2520;--muted: #6f6258;--line: #4a4238;--shadow: rgba(45, 37, 32, .22);--secondary: #a67c6d;--primary: var(--secondary);--rust: #bf6159;--ochre: #cc9e54;--sage: #869c7a;--pine: #56706b;--slate: #728c99;--mauve: #9d868e;--wave-color: #bfe3ff;--wave-height: 240px;--wave-drift: 18px;--wave-speed: 7s;--wave-scale: 1.035;--right-hill-width: clamp(320px, 34vw, 560px);--hill-overlap: clamp(18px, 3vw, 46px);--water-middle-min-width: 36vw;--hill-height: clamp(230px, 21vw, 304px);--body-font: "tommyfont", ui-serif, Georgia, serif;--header-font: Fraunces, Georgia, "Times New Roman", serif;color-scheme:light}:root[saved-theme=dark]{--sky: #1a1714;--desktop: #201c18;--panel: #2a2520;--panel-2: #332c27;--ink: #ebe7e1;--muted: #d4cec7;--line: #6b6158;--shadow: rgba(0, 0, 0, .38);--secondary: #c59b8d;--primary: var(--secondary);--rust: #db8e88;--ochre: #e0bc7e;--sage: #aebd9f;--pine: #8daeb3;--slate: #9bb0bd;--mauve: #c9b1b9;--wave-color: #456b7a;color-scheme:dark}*{box-sizing:border-box}::selection{background:color-mix(in srgb,var(--primary) 38%,transparent);color:var(--ink)}html,body{min-height:100%}body{margin:0;overflow-x:hidden;background:radial-gradient(circle at 20% 16%,color-mix(in srgb,var(--mauve) 18%,transparent),transparent 16rem),radial-gradient(circle at 82% 20%,color-mix(in srgb,var(--ochre) 14%,transparent),transparent 16rem),linear-gradient(180deg,var(--sky),var(--desktop));color:var(--ink);font-family:var(--body-font)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;background-image:url(/images/noise.png);background-size:128px 128px;opacity:.2;pointer-events:none}::view-transition-old(root),::view-transition-new(root){animation-duration:.42s;animation-timing-function:ease}::view-transition-old(root){animation-name:theme-fade-out}::view-transition-new(root){animation-name:theme-fade-in}@keyframes theme-fade-out{0%{opacity:1;filter:brightness(1)}to{opacity:0;filter:brightness(.96)}}@keyframes theme-fade-in{0%{opacity:0;filter:brightness(1.04)}to{opacity:1;filter:brightness(1)}}@media (prefers-reduced-motion: reduce){::view-transition-old(root),::view-transition-new(root){animation:none}}a,button{font:inherit}a{color:var(--secondary);font-weight:600;text-decoration:none}.desktop{position:relative;min-height:100vh;padding:24px 28px 190px;overflow-x:hidden}.scene-decor{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;pointer-events:none}.cloud{position:absolute;width:132px;height:46px;border:3px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--panel) 82%,transparent);box-shadow:0 6px 0 var(--shadow);opacity:.72}.cloud:before,.cloud:after{content:"";position:absolute;bottom:18px;border:3px solid var(--line);border-bottom:0;border-radius:999px 999px 0 0;background:inherit}.cloud:before{left:18px;width:42px;height:34px}.cloud:after{right:20px;width:54px;height:42px}.cloud-one{top:88px;left:max(18px,calc(50vw - 660px));animation:floaty 5s ease-in-out infinite alternate}.cloud-two{top:116px;right:max(18px,calc(50vw - 680px));width:104px;height:38px;animation:floaty 6.5s ease-in-out infinite alternate-reverse}.sparkle{position:absolute;color:var(--ochre);font-family:var(--header-font);font-size:2.1rem;opacity:.72;animation:twinkle 1.9s ease-in-out infinite alternate}.sparkle-one{top:188px;left:14%}.sparkle-two{top:330px;right:13%;color:var(--mauve);animation-delay:.45s}.cursor-sparkle{position:fixed;left:var(--spark-x);top:var(--spark-y);z-index:9999;width:.7rem;height:.7rem;color:var(--spark-color);font-family:var(--header-font);font-size:1rem;line-height:1;pointer-events:none;transform:translate(-50%,-50%);animation:cursor-sparkle .52s ease-out forwards}.hill{position:fixed;bottom:0;z-index:6;width:min(var(--right-hill-width),calc(100vw - var(--water-middle-min-width)));height:var(--hill-height);border:3px solid var(--line);border-bottom:0;border-radius:50% 50% 0 0;background:color-mix(in srgb,var(--sage) 24%,var(--panel-2));opacity:1}.hill-two{right:calc(var(--hill-overlap) * -1);background:color-mix(in srgb,var(--mauve) 22%,var(--panel-2));pointer-events:auto}.hill-actions{position:absolute;top:44px;right:calc(var(--hill-overlap) + clamp(44px,8vw,128px));z-index:2;display:flex;gap:.65rem;pointer-events:auto}.topbar{position:relative;z-index:4;display:flex;align-items:center;justify-content:space-between;max-width:1180px;margin:0 auto}.brand{color:var(--ink);font-family:var(--header-font);font-size:1.35rem}.topbar-actions{display:flex;gap:.5rem}.pill-button{border:2px solid var(--line);border-radius:999px;background:var(--panel);color:var(--ink);box-shadow:0 4px 0 var(--shadow);cursor:pointer;font-weight:600;padding:.35rem .75rem}.icon-pill{display:inline-grid;place-items:center;width:3rem;height:2.75rem;padding:0}.icon-pill svg{width:1.35rem;height:1.35rem;fill:currentColor}.icon-pill:hover{background:var(--panel-2);box-shadow:0 2px color-mix(in srgb,var(--shadow) 46%,transparent)}.hero-panel{position:relative;z-index:7;max-width:680px;margin:62px auto 0;text-align:center;animation:hero-arrive .68s cubic-bezier(.18,.9,.22,1.08) both}.eyebrow{display:inline-flex;align-items:center;margin:0 0 .72rem;padding:0;border:0;background:transparent;box-shadow:none;color:var(--secondary);font-size:.78rem;font-weight:700;letter-spacing:.03em;line-height:1}.eyebrow:before{content:none}h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--header-font);line-height:1.1}h1{position:relative;z-index:8;width:fit-content;max-width:100%;margin:0 auto 1.06rem;color:var(--ink);font-size:clamp(3.25rem,9vw,6.7rem);letter-spacing:0;text-shadow:0 2px 0 color-mix(in srgb,var(--panel) 88%,var(--ink)),0 7px 0 color-mix(in srgb,var(--shadow) 55%,transparent),0 18px 26px color-mix(in srgb,var(--shadow) 28%,transparent);transform-origin:50% 80%}.hero-title-word{display:inline-block;transform-origin:50% 82%;transition:transform .18s cubic-bezier(.18,.9,.2,1.12),text-shadow .18s ease;will-change:transform}.hero-title-word:nth-child(2){transition-delay:40ms}.hero-title-word:nth-child(3){transition-delay:80ms}.is-hero-dancing .hero-title-word.is-lean-left{transform:translate(-2px) rotate(-1deg)}.is-hero-dancing .hero-title-word.is-lean-right{transform:translate(2px) rotate(1deg)}.is-hero-dancing .hero-title-word.is-lean-left.is-beat{transform:translate(-2px) translateY(-4px) rotate(-1deg) scale(1.015)}.is-hero-dancing .hero-title-word.is-lean-right.is-beat{transform:translate(2px) translateY(-4px) rotate(1deg) scale(1.015)}.is-hero-dancing .hero-title-word.is-beat{text-shadow:0 2px 0 color-mix(in srgb,var(--panel) 88%,var(--ink)),0 5px 0 color-mix(in srgb,var(--shadow) 46%,transparent),0 0 18px color-mix(in srgb,var(--secondary) 18%,transparent)}.is-hero-dancing .primary-name.hero-title-word.is-beat{text-shadow:0 2px 0 color-mix(in srgb,var(--panel) 86%,var(--secondary)),0 5px 0 color-mix(in srgb,var(--shadow) 42%,transparent),0 0 22px color-mix(in srgb,var(--secondary) 30%,transparent)}.primary-name{display:block;position:relative;width:fit-content;margin:0 auto;color:var(--secondary);text-shadow:0 2px 0 color-mix(in srgb,var(--panel) 86%,var(--secondary)),0 7px 0 color-mix(in srgb,var(--shadow) 46%,transparent),0 0 18px color-mix(in srgb,var(--secondary) 24%,transparent);transform:translateZ(0);transform-origin:50% 72%;transition:color .18s ease,text-shadow .18s ease,transform .18s cubic-bezier(.18,.9,.2,1.18)}.primary-name.hero-title-word{transition-delay:80ms}.primary-name:after{content:"";position:absolute;left:.1em;right:.08em;bottom:-.015em;z-index:-1;height:.14em;border:1px solid color-mix(in srgb,var(--line) 46%,transparent);border-radius:999px;background:color-mix(in srgb,var(--ochre) 32%,transparent);opacity:.52;transform:rotate(-1deg) scaleX(1);transform-origin:50% 50%;transition:transform .18s ease,opacity .18s ease}h1:hover .primary-name,h1:focus-within .primary-name{color:color-mix(in srgb,var(--secondary) 82%,var(--ochre));text-shadow:0 2px 0 color-mix(in srgb,var(--panel) 86%,var(--secondary)),0 5px 0 color-mix(in srgb,var(--shadow) 46%,transparent),0 0 24px color-mix(in srgb,var(--ochre) 36%,transparent);transform:translateY(-4px) rotate(-1deg) scale(1.025)}h1:hover .primary-name:after,h1:focus-within .primary-name:after{opacity:.9;transform:rotate(-1.5deg) scaleX(1.04)}.hero-panel>p:not(.eyebrow){max-width:600px;margin:0 auto;color:var(--muted);font-size:clamp(1rem,1.8vw,1.13rem);line-height:1.7;text-wrap:pretty}.folder-nav-cue{width:fit-content;margin:18px auto -32px;color:color-mix(in srgb,var(--muted) 88%,var(--secondary));font-size:.84rem;font-weight:700;letter-spacing:.025em;opacity:.78;transform:translateY(0);transition:opacity .24s ease,transform .24s cubic-bezier(.18,.9,.2,1),visibility .24s ease}.folder-nav-cue:after{content:"";display:block;width:72%;height:2px;margin:.28rem auto 0;border-radius:999px;background:color-mix(in srgb,var(--secondary) 28%,transparent)}.folder-nav-cue.is-dismissing{opacity:0;visibility:hidden;transform:translateY(-6px)}.folder-nav-cue-dismissed .folder-nav-cue{display:none}.mobile-desktop-note{display:none;align-items:center;justify-content:center;gap:.65rem;max-width:24rem;margin:1rem auto 0;border:2px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--panel) 88%,var(--wave-color));box-shadow:0 4px 0 var(--shadow);padding:.45rem .8rem;color:var(--ink);font-size:.92rem;font-weight:600;line-height:1.35;transform-origin:50% 100%;transition:transform .16s ease,box-shadow .16s ease}.mobile-desktop-note:hover{box-shadow:0 3px 0 var(--shadow)}.mobile-desktop-note.is-dismissed{display:none!important}.mobile-desktop-note button{display:inline-grid;place-items:center;width:1.35rem;height:1.35rem;flex:0 0 auto;border:2px solid var(--line);border-radius:999px;background:var(--rust);color:var(--ink);cursor:pointer;font-size:.8rem;font-weight:700;line-height:1;padding:0}.desktop-icons{position:relative;z-index:3;display:grid;grid-template-columns:repeat(3,118px);gap:24px 18px;width:max-content;margin:46px auto 0}.desktop-icon{display:grid;justify-items:center;gap:.45rem;border:0;background:transparent;color:var(--ink);cursor:pointer;font-weight:600;text-align:center;transform-origin:50% 100%;animation:folder-pop .42s cubic-bezier(.18,.9,.22,1.18) both;transition:transform .16s ease}.desktop-icon:nth-child(2){animation-delay:45ms}.desktop-icon:nth-child(3){animation-delay:90ms}.desktop-icon:nth-child(4){animation-delay:135ms}.desktop-icon:nth-child(5){animation-delay:.18s}.desktop-icon:nth-child(6){animation-delay:225ms}.desktop-icon:hover .folder,.desktop-icon:focus-visible .folder{--folder-lift: -5px;--folder-rotate: -2deg;--folder-scale-x: 1.04;--folder-scale-y: 1.04;box-shadow:0 8px 0 var(--shadow)}.desktop-icon:hover .folder-glyph,.desktop-icon:focus-visible .folder-glyph{transform:translate(-50%) translateY(-1px) scale(1.08)}.folder{position:relative;--magnet-x: 0px;--magnet-y: 0px;--folder-lift: 0px;--folder-press: 0px;--folder-rotate: 0deg;--folder-scale-x: 1;--folder-scale-y: 1;width:82px;height:62px;border:3px solid var(--line);border-radius:10px;background:var(--mauve);box-shadow:0 6px 0 var(--shadow);pointer-events:none;transform:translate3d(var(--magnet-x),calc(var(--magnet-y) + var(--folder-lift) + var(--folder-press)),0) rotate(var(--folder-rotate)) scale(var(--folder-scale-x),var(--folder-scale-y));transition:transform .16s ease,box-shadow .16s ease;will-change:transform}.folder-glyph{position:absolute;top:15px;left:50%;width:30px;height:30px;fill:none;stroke:var(--line);stroke-linecap:round;stroke-linejoin:round;stroke-width:2.4px;transform:translate(-50%);transition:transform .16s ease}.folder-glyph path:first-child:nth-last-child(2),.folder-glyph path:first-child:nth-last-child(2)~path{fill:none}.folder:before{content:"";position:absolute;top:-14px;left:9px;width:34px;height:16px;border:3px solid var(--line);border-bottom:0;border-radius:8px 8px 0 0;background:inherit;transform-origin:12px 100%;transition:transform .16s cubic-bezier(.18,.9,.2,1.2)}.folder:after{content:"";position:absolute;top:-2px;left:10px;right:10px;height:0;border-radius:999px;background:color-mix(in srgb,var(--line) 24%,transparent);opacity:0;transform:scaleX(.7);transform-origin:50% 50%}.desktop-icon.is-folder-pressing .folder{--folder-press: 4px;--folder-scale-x: .96;--folder-scale-y: 1.04;box-shadow:0 3px 0 var(--shadow);transition-duration:80ms}.desktop-icon.is-folder-squelching .folder{animation:folder-squelch-pop .46s cubic-bezier(.18,.9,.16,1.18) both}.desktop-icon.is-folder-opening .folder:before{animation:folder-flap-pop .42s cubic-bezier(.16,1.05,.22,1.08) both}.desktop-icon.is-folder-opening .folder:after{animation:folder-mouth-pop .26s ease-out both}.folder-squelch-particle{position:absolute;left:var(--x);top:var(--y);width:var(--w);height:var(--h);border-radius:999px;background:color-mix(in srgb,var(--line) 82%,var(--panel));opacity:0;pointer-events:none;transform:translate(-50%,-50%) rotate(var(--rotate)) scale(.55,.85);animation:folder-squelch-particle .52s cubic-bezier(.18,.9,.18,1) forwards;animation-delay:var(--delay)}.folder-squelch-particle:after{content:"";position:absolute;top:22%;right:15%;bottom:22%;left:15%;border-radius:inherit;background:color-mix(in srgb,var(--panel) 55%,transparent);opacity:.55}@keyframes folder-squelch-pop{0%{transform:translate3d(var(--magnet-x),calc(var(--magnet-y) + var(--folder-lift) + 4px),0) rotate(var(--folder-rotate)) scale(.96,1.04)}36%{transform:translate3d(var(--magnet-x),calc(var(--magnet-y) + var(--folder-lift) - 3px),0) rotate(calc(var(--folder-rotate) - 1deg)) scale(1.08,.91)}58%{transform:translate3d(var(--magnet-x),calc(var(--magnet-y) + var(--folder-lift) + 1px),0) rotate(calc(var(--folder-rotate) + 1deg)) scale(.98,1.04)}78%{transform:translate3d(var(--magnet-x),calc(var(--magnet-y) + var(--folder-lift) - 1px),0) rotate(var(--folder-rotate)) scale(1.02,.98)}to{transform:translate3d(var(--magnet-x),calc(var(--magnet-y) + var(--folder-lift)),0) rotate(var(--folder-rotate)) scale(var(--folder-scale-x),var(--folder-scale-y))}}@keyframes folder-flap-pop{0%{transform:translateY(0) rotateX(0) rotate(0) scaleX(1)}34%{transform:translateY(-9px) rotateX(58deg) rotate(-8deg) scaleX(1.12)}58%{transform:translateY(-5px) rotateX(38deg) rotate(4deg) scaleX(.96)}82%{transform:translateY(-7px) rotateX(46deg) rotate(-2deg) scaleX(1.04)}to{transform:translateY(0) rotateX(0) rotate(0) scaleX(1)}}@keyframes folder-mouth-pop{0%{height:0;opacity:0;transform:scaleX(.62)}38%{height:8px;opacity:.62;transform:scaleX(1.02)}to{height:0;opacity:0;transform:scaleX(.86)}}@keyframes folder-squelch-particle{0%{opacity:0;transform:translate(-50%,-50%) rotate(var(--rotate)) scale(.4,.7)}24%{opacity:.9;transform:translate(calc(-50% + var(--dx-mid)),calc(-50% + var(--dy-mid))) rotate(calc(var(--rotate) + 22deg)) scale(1.25,.72)}to{opacity:0;transform:translate(calc(-50% + var(--dx)),calc(-50% + var(--dy))) rotate(calc(var(--rotate) + 58deg)) scale(.75,1.18)}}.folder-mauve{background:var(--mauve)}.folder-ochre{background:var(--ochre)}.folder-sage{background:var(--sage)}.folder-rust{background:var(--rust)}.folder-slate{background:var(--slate)}.folder-pine{background:var(--pine)}.hero-panel.has-entered,.desktop-icon.has-entered{animation:none}@keyframes hero-arrive{0%{opacity:0;transform:translateY(14px) scale(.98)}68%{opacity:1;transform:translateY(-3px) scale(1.01)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){.hero-panel,.mobile-desktop-note,.folder-squelch-particle,.desktop-icon,.folder,.folder:before,.folder:after,.folder-glyph,.hero-title-word{animation:none;transition:none}}.window{position:absolute;z-index:8;--drag-x: 0px;--drag-y: 0px;--tilt: 0deg;--window-open-x: 0px;--window-open-y: 14px;--window-open-step-1-x: 0px;--window-open-step-1-y: 9px;--window-open-step-2-x: 0px;--window-open-step-2-y: 8px;--window-open-step-3-x: 0px;--window-open-step-3-y: 6px;--window-open-step-4-x: 0px;--window-open-step-4-y: 4px;--window-open-step-5-x: 0px;--window-open-step-5-y: 2px;--window-open-origin: 50% 24px;--window-close-x: 0px;--window-close-y: 10px;--window-close-cp1-x: 0px;--window-close-cp1-y: 4px;--window-close-cp2-x: 0px;--window-close-cp2-y: 8px;--window-close-step-1-x: 0px;--window-close-step-1-y: 2px;--window-close-step-2-x: 0px;--window-close-step-2-y: 4px;--window-close-step-3-x: 0px;--window-close-step-3-y: 6px;--window-close-step-4-x: 0px;--window-close-step-4-y: 8px;--window-close-step-5-x: 0px;--window-close-step-5-y: 9px;--window-close-origin: var(--window-open-origin);display:none;width:min(520px,calc(100vw - 36px));border:3px solid var(--line);border-radius:18px;background:var(--panel);box-shadow:10px 12px 0 var(--shadow);overflow:hidden;touch-action:none;transform-origin:var(--window-open-origin);transition:box-shadow .16s ease,transform .16s ease}.window.is-open{display:block}.window.is-opening{animation:window-open .18s linear both}.window.is-closing{display:block;transform-origin:var(--window-close-origin);animation:window-close .17s linear both}.window-about{top:170px;left:max(30px,calc(50vw - 610px));width:min(760px,calc(100vw - 36px))}.window-work{top:250px;right:max(30px,calc(50vw - 610px));width:min(820px,calc(100vw - 36px))}.window-skills{top:430px;left:max(40px,calc(50vw - 560px))}.window-contact{top:470px;right:max(44px,calc(50vw - 540px));width:min(410px,calc(100vw - 36px))}.window-faq{top:210px;left:max(30px,calc(50vw - 280px));width:min(560px,calc(100vw - 36px))}.window-links{top:300px;right:max(34px,calc(50vw - 590px));width:min(560px,calc(100vw - 36px))}.window-copyright{top:360px;left:max(28px,calc(50vw - 300px));width:min(600px,calc(100vw - 36px))}.window-bar{display:flex;align-items:center;justify-content:space-between;border-bottom:3px solid var(--line);background:var(--panel-2);padding:.55rem .75rem .55rem 1rem;color:var(--ink);cursor:grab;font-weight:600;-webkit-user-select:none;user-select:none}.window.is-dragging .window-bar{cursor:grabbing}.window.is-dragging{animation:none;box-shadow:14px 16px 0 var(--shadow);transform-origin:50% 24px;transform:rotate(var(--tilt));transition:none;will-change:transform}.window.is-dropping{transition:box-shadow .1s ease,transform .08s ease}.window-bar button{position:relative;display:inline-grid;place-items:center;width:28px;height:28px;border:2px solid var(--line);border-radius:999px;background:var(--rust);color:var(--ink);cursor:pointer;font-weight:700;line-height:1;transition:transform .14s ease,box-shadow .14s ease}.window-bar button:before{content:"";position:absolute;top:-10px;right:-10px;bottom:-10px;left:-10px}.window-bar button:hover,.window-bar button:focus-visible{box-shadow:0 3px 0 var(--shadow)}.window-body{padding:1.1rem;line-height:1.55}.about-body,.work-body,.faq-body,.links-body{scrollbar-width:none;-ms-overflow-style:none}.about-body::-webkit-scrollbar,.work-body::-webkit-scrollbar,.faq-body::-webkit-scrollbar,.links-body::-webkit-scrollbar{display:none}.window-body p{color:var(--muted)}.copyright-body{max-height:min(500px,calc(100vh - 150px));overflow-x:hidden;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.copyright-body::-webkit-scrollbar{display:none}.copyright-body p+p{margin-top:1rem}.copyright-body a{color:var(--secondary);font-weight:700;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:.16em}.copyright-body a:hover,.copyright-body a:focus-visible{color:var(--ink)}.window-body h2{margin-bottom:.4rem;font-size:1.75rem}.profile-grid{display:grid;grid-template-columns:112px minmax(0,1fr);gap:1rem;align-items:start}.about-body{max-height:min(520px,calc(100vh - 150px));overflow-x:hidden;overflow-y:auto}.about-breadcrumbs{display:flex;align-items:center;gap:.45rem;margin-bottom:.9rem;color:var(--muted);font-size:.9rem;font-weight:700}.about-breadcrumbs button,.about-reference{border:0;background:transparent;color:var(--secondary);cursor:pointer;font:inherit;font-weight:700;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:.16em;padding:0}.about-breadcrumbs button{display:inline-flex}.about-breadcrumbs button:hover,.about-breadcrumbs button:focus-visible,.about-reference:hover,.about-reference:focus-visible{color:var(--ink)}.about-reference{display:inline;line-height:inherit}.about-preview{position:fixed;z-index:80;width:min(280px,calc(100vw - 28px));border:2px solid var(--line);border-radius:14px;background:var(--panel);box-shadow:0 6px 0 var(--shadow);padding:.7rem;color:var(--muted);font-size:.88rem;line-height:1.4;opacity:0;pointer-events:none;transform:translateY(6px) scale(.98);transition:opacity .14s ease,transform .14s ease}.about-preview.is-visible{opacity:1;transform:translateY(0) scale(1)}.about-preview strong{display:block;margin-bottom:.25rem;color:var(--ink)}.about-preview span{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.about-view{display:none}.about-view.is-active{display:block;animation:soft-rise .24s ease both}.about-reference-page{display:none;width:100%;max-width:none;min-width:0}.about-reference-page.is-active{display:block}.about-reference-page>*{max-width:650px}.about-reference-page img,.about-reference-page picture,.about-reference-page video{display:block;width:100%;max-width:min(100%,650px);height:auto;max-height:min(420px,48vh);margin:.9rem 0;border:2px solid var(--line);border-radius:14px;background:var(--panel-2);box-shadow:0 4px color-mix(in srgb,var(--shadow) 68%,transparent);object-fit:contain}.about-zoom-trigger{position:relative;display:block;max-width:min(100%,650px);margin:.9rem 0;border:0;background:transparent;cursor:zoom-in;padding:0}.about-zoom-trigger:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:14px;background:color-mix(in srgb,var(--ink) 46%,transparent);opacity:0;pointer-events:none;transition:opacity .16s ease}.about-zoom-trigger img{margin:0;transition:filter .16s ease,opacity .16s ease,transform .16s ease,box-shadow .16s ease}.about-zoom-trigger:hover img,.about-zoom-trigger:focus-visible img{box-shadow:0 6px color-mix(in srgb,var(--shadow) 72%,transparent);transform:translateY(-2px) scale(1.01)}.about-zoom-trigger.is-zoom-source:after{opacity:1}.about-zoom-trigger.is-zoom-source img{filter:grayscale(1);opacity:.52;transform:none}.about-zoom-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:grid;place-items:center;background:color-mix(in srgb,var(--sky) 62%,transparent);opacity:0;padding:24px;pointer-events:none;transition:opacity .18s ease}.about-zoom-overlay.is-open{opacity:1;pointer-events:auto}.about-zoom-figure{display:grid;margin:0;border:3px solid var(--line);border-radius:18px;background:var(--panel);box-shadow:10px 12px 0 var(--shadow);overflow:hidden;opacity:0;transform:translateY(.8rem) scale(.97);transition:opacity .2s ease,transform .22s cubic-bezier(.18,.9,.2,1)}.about-zoom-overlay.is-open .about-zoom-figure{opacity:1;transform:translateY(0) scale(1)}.about-zoom-image{max-width:min(1100px,94vw);max-height:80vh;background:color-mix(in srgb,var(--panel-2) 72%,var(--line));object-fit:contain}.about-zoom-caption{max-width:min(1100px,94vw);background:var(--panel);border-top:3px solid var(--line);color:var(--ink);padding:.75rem .9rem .85rem;font-size:.95rem;font-weight:800;line-height:1.35;text-align:center}:root[saved-theme=dark] .about-zoom-overlay{background:color-mix(in srgb,#000 72%,transparent)}:root[saved-theme=dark] .about-zoom-figure,:root[saved-theme=dark] .about-zoom-caption{background:#111}:root[saved-theme=dark] .about-zoom-image{background:#050505}:root[saved-theme=dark] .about-zoom-caption{color:#ffffffd1}.about-zoom-close{position:fixed;top:18px;right:18px;display:inline-grid;place-items:center;width:2.2rem;height:2.2rem;border:2px solid var(--line);border-radius:999px;background:var(--rust);color:var(--ink);box-shadow:0 4px 0 var(--shadow);cursor:pointer;font-weight:700}.about-reference-page figure{max-width:min(100%,650px);margin:.9rem 0}.about-reference-page figure img{margin:0}.about-note-grid{display:flex;flex-wrap:wrap;gap:.45rem;margin-top:.9rem}.about-note-grid span{border:2px solid var(--line);border-radius:999px;background:var(--panel-2);padding:.25rem .55rem;color:var(--ink);font-size:.9rem;font-weight:600}.avatar{display:grid;place-items:center;width:110px;height:110px;border:3px solid var(--line);border-radius:28px;background:var(--ochre);box-shadow:0 5px 0 var(--shadow);animation:soft-rise .42s ease both;transition:transform .18s ease,box-shadow .18s ease}.avatar:hover{box-shadow:0 7px 0 var(--shadow)}.avatar-face{position:relative;width:58px;height:42px;border:3px solid var(--line);border-radius:16px;background:var(--panel)}.avatar-face:before,.avatar-face:after{content:"";position:absolute;top:14px;width:7px;height:7px;border-radius:50%;background:var(--line)}.avatar-face:before{left:13px}.avatar-face:after{right:13px}.subtitle{margin-bottom:.75rem;color:var(--secondary)!important;font-weight:600}hr{height:0;border:0;border-top:2px dashed var(--line);opacity:.45}.project-stack{display:grid;gap:.8rem}.project-card{border:2px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--panel-2) 72%,transparent);padding:.8rem;transition:transform .16s ease,box-shadow .16s ease}.project-card:hover{box-shadow:0 4px color-mix(in srgb,var(--shadow) 64%,transparent)}.project-card h3{margin-bottom:.25rem}.project-card p{margin-bottom:.45rem}.work-body{max-height:min(620px,calc(100vh - 150px));overflow-x:hidden;overflow-y:auto}.work-coming-soon{display:grid;min-height:12rem;place-items:center;color:var(--secondary);font-family:var(--header-font);font-size:clamp(2rem,6vw,4rem);text-align:center}.work-notice{position:relative;display:grid;gap:.2rem;border:2px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--panel-2) 76%,var(--wave-color));box-shadow:0 4px color-mix(in srgb,var(--shadow) 68%,transparent);padding:.9rem 5.7rem .9rem .9rem;color:var(--muted);animation:soft-rise .42s ease both;transition:transform .16s ease,box-shadow .16s ease}.work-notice:hover{box-shadow:0 6px color-mix(in srgb,var(--shadow) 68%,transparent)}.work-notice strong{color:var(--ink)}.work-notice-email{position:absolute;right:.72rem;bottom:.72rem;border:2px solid color-mix(in srgb,var(--line) 72%,var(--mauve));border-radius:999px;background:color-mix(in srgb,var(--mauve) 58%,var(--panel));color:var(--ink);box-shadow:0 4px color-mix(in srgb,var(--shadow) 62%,transparent);padding:.38rem .72rem;font-size:.78rem;font-weight:800;line-height:1;text-decoration:none;text-transform:lowercase;transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,color .18s ease,filter .18s ease,transform .12s ease}.work-notice-email:hover,.work-notice-email:focus-visible{border-color:color-mix(in srgb,var(--primary) 62%,var(--line));background:color-mix(in srgb,var(--mauve) 68%,var(--panel));box-shadow:0 4px color-mix(in srgb,var(--shadow) 58%,transparent),0 0 0 3px color-mix(in srgb,var(--primary) 20%,transparent);color:color-mix(in srgb,var(--primary) 76%,var(--ink));filter:brightness(1.03);outline:none}.work-notice-email:active{box-shadow:0 2px color-mix(in srgb,var(--shadow) 62%,transparent);transform:translateY(2px)}@media (max-width: 520px){.work-notice{padding:.9rem}.work-notice-email{position:static;justify-self:end;margin-top:.35rem}}.work-notice.is-commission-flashing{animation:commission-banner-flash .9s ease both}@keyframes commission-banner-flash{0%,to{background:color-mix(in srgb,var(--panel-2) 76%,var(--wave-color));box-shadow:0 4px color-mix(in srgb,var(--shadow) 68%,transparent);transform:translateY(0)}35%,70%{background:color-mix(in srgb,var(--primary) 30%,var(--panel-2));box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 34%,transparent),0 7px color-mix(in srgb,var(--primary) 38%,var(--shadow));transform:translateY(-2px)}}.work-section{display:grid;gap:.75rem;margin-top:1.3rem}.work-section h2{display:flex;align-items:baseline;flex-wrap:wrap;gap:.45rem;margin-bottom:0;color:var(--secondary);font-family:var(--body-font);font-size:.88rem;font-weight:700;letter-spacing:.08em}.work-heading-subtitle{color:var(--muted);font-size:.72rem;font-weight:600;letter-spacing:.02em;opacity:0;transform:translateY(.18rem);transition:opacity .42s ease,transform .42s cubic-bezier(.18,.9,.2,1);text-transform:lowercase}.work-section:hover .work-heading-subtitle,.work-section:focus-within .work-heading-subtitle{opacity:1;transform:translateY(0)}.work-tags{display:flex;flex-wrap:wrap;gap:.45rem}.work-tags>span{display:inline-flex;cursor:default;animation:soft-pop .32s ease both}.work-tag-visual{display:inline-flex;align-items:center;border:2px solid var(--line);border-radius:999px;background:var(--panel-2);padding:.28rem .6rem;color:var(--ink);font-size:.9rem;font-weight:600;pointer-events:none;transform-origin:50% 100%;transition:background .16s ease,box-shadow .16s ease,transform .16s cubic-bezier(.18,.9,.22,1.25)}.work-tags>span:hover .work-tag-visual,.work-tags>span:focus-visible .work-tag-visual{background:color-mix(in srgb,var(--secondary) 20%,var(--panel-2));box-shadow:0 4px color-mix(in srgb,var(--shadow) 68%,transparent);transform:translateY(-2px) scale(1.025)}.animation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.animation-card{display:grid;gap:.5rem;color:var(--ink);font-weight:600;animation:soft-pop .34s ease both;transition:transform .16s ease,color .16s ease}.animation-card:hover,.animation-card:focus-visible{color:var(--secondary)}.animation-thumb,.project-thumb{position:relative;display:grid;place-items:center;min-width:0;border:2px solid var(--line);border-radius:14px;background:linear-gradient(135deg,color-mix(in srgb,var(--mauve) 32%,var(--panel)),var(--panel-2));box-shadow:0 4px color-mix(in srgb,var(--shadow) 70%,transparent);overflow:hidden;transition:transform .18s ease,box-shadow .18s ease}.animation-card:hover .animation-thumb,.animation-card:focus-visible .animation-thumb,.work-project:hover .project-thumb,.work-project:focus-within .project-thumb{box-shadow:0 6px color-mix(in srgb,var(--shadow) 70%,transparent);transform:translateY(-2px) rotate(-.35deg) scale(1.015)}.animation-thumb img,.project-thumb img{transition:transform .24s ease}.animation-card:hover .animation-thumb img,.animation-card:focus-visible .animation-thumb img,.work-project:hover .project-thumb img,.work-project:focus-within .project-thumb img{transform:scale(1.035)}.animation-thumb{aspect-ratio:16 / 10}.project-thumb{aspect-ratio:4 / 3}.animation-thumb img,.project-thumb img{width:100%;height:100%;object-fit:cover;object-position:center}.work-project .project-thumb img{object-fit:contain}.thumb-fallback{padding:1rem;color:var(--secondary);font-family:var(--header-font);font-size:1.2rem;text-align:center}.animation-meta{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.animation-platform{color:var(--muted);font-size:.78rem;font-weight:600}.feature-list{display:grid;align-items:start;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.feature-column{display:grid;align-content:start;gap:.85rem}.feature-card{width:100%;border:2px solid var(--line);border-radius:12px;background:var(--panel-2);box-shadow:0 4px color-mix(in srgb,var(--shadow) 70%,transparent);overflow:hidden;animation:soft-pop .34s ease both;cursor:pointer;transition:background .16s ease,box-shadow .16s ease,border-color .16s ease,transform .16s ease}.feature-card:hover{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 34%,transparent),0 6px color-mix(in srgb,var(--primary) 42%,var(--shadow))}.feature-card:has(.feature-toggle:focus-visible){border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 34%,transparent),0 4px color-mix(in srgb,var(--shadow) 70%,transparent)}.feature-toggle{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"preview preview" "meta arrow" "description description";gap:.55rem;width:100%;border:0;border-radius:0;background:transparent;color:var(--ink);padding:.7rem;text-align:left;box-shadow:none;cursor:pointer;transition:color .16s ease}.feature-toggle:after{content:"";align-self:start;justify-self:center;width:.48rem;height:.48rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;grid-area:arrow;margin-top:.25rem;transform:rotate(45deg);transition:transform .18s ease}.feature-card.is-open .feature-toggle:after{transform:rotate(225deg)}.feature-preview{position:relative;display:grid;grid-area:preview;place-items:center;aspect-ratio:16 / 10;min-height:7.5rem;border:2px solid var(--line);border-radius:10px;background:linear-gradient(135deg,color-mix(in srgb,var(--mauve) 34%,var(--panel)),var(--panel-2));color:var(--secondary);font-family:var(--header-font);font-size:clamp(1rem,2vw,1.35rem);text-align:center;overflow:hidden;overflow-wrap:anywhere}.feature-preview video,.feature-preview img{display:block;width:100%;height:100%;border-radius:inherit;object-fit:cover;transition:opacity .16s ease}.feature-preview video.is-resetting{opacity:0}.feature-video-preview,.feature-image-preview{cursor:zoom-in}.feature-video-preview:after,.feature-image-preview:after{content:"maximize";position:absolute;right:.55rem;bottom:.5rem;border:2px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--panel) 88%,transparent);color:var(--ink);padding:.16rem .45rem;font-family:var(--body-font);font-size:.72rem;font-weight:800;opacity:0;transform:translateY(.25rem);transition:opacity .16s ease,transform .16s ease}.feature-video-preview:hover:after,.feature-video-preview:focus-visible:after,.feature-image-preview:hover:after,.feature-image-preview:focus-visible:after{opacity:1;transform:translateY(0)}.feature-image-preview.is-zoom-source:after{opacity:1}.feature-image-preview.is-zoom-source img{filter:grayscale(1);opacity:.52}.feature-video-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;background:color-mix(in srgb,var(--sky) 68%,transparent);opacity:0;padding:clamp(1rem,3vw,2rem);pointer-events:none;transition:opacity .18s ease}.feature-video-overlay.is-open{pointer-events:auto}.feature-video-overlay.is-visible{opacity:1}.feature-video-player{position:relative;width:min(940px,100%);border:3px solid var(--line);border-radius:18px;background:var(--panel);box-shadow:12px 14px 0 var(--shadow);overflow:hidden;opacity:0;transform:translateY(1rem) scale(.97);transition:opacity .2s ease,transform .22s cubic-bezier(.18,.9,.2,1)}.feature-video-player:fullscreen{display:grid;width:100vw;height:100vh;max-width:none;border:0;border-radius:0;box-shadow:none;transform:none}.feature-video-overlay.is-visible .feature-video-player{opacity:1;transform:translateY(0) scale(1)}.feature-video-overlay.is-visible .feature-video-player:fullscreen{transform:none}.feature-video-frame{position:relative;display:grid;border-radius:14px 14px 0 0;background:color-mix(in srgb,var(--line) 82%,var(--panel));overflow:hidden}.feature-video-player:fullscreen .feature-video-frame{min-height:0;border-radius:0}.feature-video-frame video{display:block;width:100%;max-height:min(70dvh,620px);aspect-ratio:16 / 9;border-radius:14px 14px 0 0;object-fit:contain}.feature-video-player:fullscreen .feature-video-frame video{width:100vw;height:min(100vh,100dvh);max-height:none;border-radius:0}.feature-video-player:fullscreen .feature-video-copy{display:none}.video-player{--video-control-gap: .65rem;--video-control-padding: 2.4rem .75rem .75rem;--video-button-size: 2.45rem;--video-icon-size: 1.25rem;--video-preview-width: 10rem;--video-font-size: .78rem}.video-player--compact{--video-control-gap: clamp(.35rem, 2.5vw, .55rem);--video-control-padding: clamp(1.35rem, 5vw, 1.85rem) .55rem .55rem;--video-button-size: clamp(1.85rem, 8vw, 2.15rem);--video-icon-size: clamp(.95rem, 4vw, 1.1rem);--video-preview-width: min(8.5rem, calc(100% - 1rem) );--video-font-size: clamp(.66rem, 2.5vw, .74rem)}.feature-video-controls{position:absolute;right:0;bottom:0;left:0;display:grid;grid-template-columns:auto auto 1fr auto auto;align-items:center;gap:var(--video-control-gap);background:linear-gradient(180deg,transparent,color-mix(in srgb,#000 76%,transparent));opacity:0;padding:var(--video-control-padding);pointer-events:none;transform:translateY(.4rem);transition:opacity .18s ease,transform .18s ease}.feature-video-overlay.is-controls-visible .feature-video-controls,.feature-video-controls:focus-within{opacity:1;pointer-events:auto;transform:translateY(0)}.feature-video-overlay.is-cursor-idle .feature-video-player,.feature-video-overlay.is-cursor-idle .feature-video-frame,.feature-video-overlay.is-cursor-idle .feature-video-frame video{cursor:none}.feature-video-timeline{position:relative;display:grid;grid-column:1 / -1;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.55rem;color:#fff;font-size:var(--video-font-size);font-weight:800}.feature-video-seek{width:100%;accent-color:var(--primary);cursor:pointer}.feature-video-hover-preview{position:absolute;display:grid;gap:.25rem;z-index:3;width:var(--video-preview-width);border:2px solid rgba(255,255,255,.7);border-radius:10px;background:#000000d1;padding:.3rem;color:#fff;font-size:.72rem;opacity:0;pointer-events:none;text-align:center;transform:translate(-50%) translateY(.24rem) scale(.97);transition:opacity .14s ease,transform .14s ease}.feature-video-hover-preview.is-visible{opacity:1;transform:translate(-50%) translateY(0) scale(1)}.feature-video-hover-preview canvas{display:block;width:100%;aspect-ratio:16 / 9;border-radius:6px;background:#050505}.feature-video-play,.feature-video-fullscreen,.feature-video-close{display:inline-grid;place-items:center;flex:0 0 auto;width:var(--video-button-size);height:var(--video-button-size);border:0;border-radius:999px;background:color-mix(in srgb,#fff 14%,transparent);color:#fff;box-shadow:none;padding:0;transition:background .14s ease,transform .14s ease}.feature-video-play svg,.feature-video-fullscreen svg,.feature-video-close svg,.feature-video-volume-icon svg{width:var(--video-icon-size);height:var(--video-icon-size);fill:currentColor;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px}.feature-video-play-icon{position:relative;display:block;width:1.18rem;height:1.18rem}.feature-video-play-shape{position:absolute;top:.04rem;height:1.1rem;background:currentColor;border-radius:.14rem;transform-origin:center;transition:left .18s cubic-bezier(.2,.85,.2,1),width .18s cubic-bezier(.2,.85,.2,1),opacity .14s ease,clip-path .18s cubic-bezier(.2,.85,.2,1),transform .18s cubic-bezier(.2,.85,.2,1)}.feature-video-play-shape-left{left:.24rem;width:.84rem;clip-path:polygon(0 0,100% 50%,0 100%)}.feature-video-play-shape-right{left:.68rem;width:.34rem;opacity:0;clip-path:inset(0 0 0 0 round .14rem);transform:scaleX(.18)}.feature-video-play.is-playing .feature-video-play-shape-left{left:.23rem;width:.32rem;clip-path:inset(0 0 0 0 round .14rem)}.feature-video-play.is-playing .feature-video-play-shape-right{left:.68rem;width:.32rem;opacity:1;transform:scaleX(1)}.feature-video-play:hover,.feature-video-play:focus-visible,.feature-video-fullscreen:hover,.feature-video-fullscreen:focus-visible,.feature-video-close:hover,.feature-video-close:focus-visible{background:color-mix(in srgb,#fff 24%,transparent)}.feature-video-fullscreen:disabled{cursor:not-allowed;opacity:.45}.feature-video-volume{--volume-thumb-size: .9rem;--volume-slider-width: min(9rem, 26vw);display:flex;align-items:center;gap:0;width:2.1rem;min-width:2.1rem;max-width:2.1rem;overflow:hidden;border:0;background:transparent;color:#fff;padding:0;transition:max-width .22s cubic-bezier(.18,.9,.2,1),width .22s cubic-bezier(.18,.9,.2,1),padding .22s ease}.feature-video-volume:hover,.feature-video-volume:focus-within{gap:.45rem;width:min(12.9rem,40vw);max-width:min(12.9rem,40vw);padding:.12rem .25rem .12rem 0}.feature-video-volume.is-hidden{display:none}.feature-video-volume-icon{display:inline-grid;place-items:center;width:2.1rem;height:2.1rem;flex:0 0 2.1rem;border:0;border-radius:999px;background:transparent;color:inherit;cursor:pointer;padding:0}.feature-video-volume-slider{width:calc(var(--volume-slider-width) + var(--volume-thumb-size));min-width:calc(var(--volume-slider-width) + var(--volume-thumb-size));box-sizing:border-box;padding-inline:calc(var(--volume-thumb-size) / 2);opacity:0;accent-color:#fff;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:transparent;cursor:pointer;transform:translate(-.3rem);transition:opacity .16s ease,transform .2s cubic-bezier(.18,.9,.2,1)}.feature-video-volume:hover .feature-video-volume-slider,.feature-video-volume:focus-within .feature-video-volume-slider{opacity:1;transform:translate(0)}.feature-video-volume-slider::-webkit-slider-runnable-track{height:.34rem;border-radius:999px;background:color-mix(in srgb,var(--primary) 58%,transparent)}.feature-video-volume-slider::-webkit-slider-thumb{width:.9rem;height:.9rem;margin-top:-.28rem;border:2px solid rgba(0,0,0,.34);border-radius:999px;background:#fff;cursor:pointer;-webkit-appearance:none}.feature-video-volume-slider::-moz-range-track{height:.34rem;border-radius:999px;background:color-mix(in srgb,var(--primary) 58%,transparent)}.feature-video-volume-slider::-moz-range-thumb{width:.9rem;height:.9rem;border:2px solid rgba(0,0,0,.34);border-radius:999px;background:#fff;cursor:pointer}.feature-video-fullscreen{grid-column:4;grid-row:2;justify-self:end}.feature-video-close{grid-column:5;grid-row:2;justify-self:end}.feature-video-copy{display:grid;gap:.25rem;border-top:3px solid var(--line);background:var(--panel);padding:.75rem .9rem .85rem}.feature-video-title{min-width:0;overflow:hidden;color:var(--ink);font-weight:800;text-overflow:ellipsis;white-space:nowrap}.feature-video-description{display:-webkit-box;margin:0;overflow:hidden;color:var(--muted);font-size:.92rem;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}:root[saved-theme=dark] .feature-video-overlay{background:color-mix(in srgb,#000 78%,transparent)}:root[saved-theme=dark] .feature-video-player,:root[saved-theme=dark] .feature-video-copy{background:#111}:root[saved-theme=dark] .feature-video-frame,:root[saved-theme=dark] .feature-video-hover-preview canvas{background:#050505}:root[saved-theme=dark] .feature-video-controls{background:linear-gradient(180deg,transparent,color-mix(in srgb,#000 76%,transparent))}:root[saved-theme=dark] .feature-video-timeline,:root[saved-theme=dark] .feature-video-play,:root[saved-theme=dark] .feature-video-fullscreen,:root[saved-theme=dark] .feature-video-close,:root[saved-theme=dark] .feature-video-title{color:#fff}:root[saved-theme=dark] .feature-video-hover-preview{border-color:#ffffffb3;background:#000000d1;color:#fff}:root[saved-theme=dark] .feature-video-description{color:#ffffffb8}:root[saved-theme=dark] .feature-video-play,:root[saved-theme=dark] .feature-video-fullscreen,:root[saved-theme=dark] .feature-video-close{background:color-mix(in srgb,var(--panel) 16%,transparent)}:root[saved-theme=dark] .feature-video-play:hover,:root[saved-theme=dark] .feature-video-play:focus-visible,:root[saved-theme=dark] .feature-video-fullscreen:hover,:root[saved-theme=dark] .feature-video-fullscreen:focus-visible,:root[saved-theme=dark] .feature-video-close:hover,:root[saved-theme=dark] .feature-video-close:focus-visible{background:color-mix(in srgb,var(--panel) 28%,transparent)}.feature-video-volume-icon.is-disabled,.feature-video-volume-slider.is-disabled{cursor:not-allowed;opacity:.42}.feature-meta{display:flex;align-items:baseline;justify-content:space-between;gap:.65rem;min-width:0;grid-area:meta;font-weight:800}.feature-project{flex:0 0 auto;color:var(--muted);font-size:.75rem;font-weight:700}.feature-description{grid-area:description;color:var(--muted);font-size:.9rem;line-height:1.45}.feature-detail{max-height:0;overflow:hidden;transition:max-height .22s ease}.feature-detail p{margin:0;border-top:2px dashed color-mix(in srgb,var(--line) 48%,transparent);padding:.75rem .85rem .85rem;color:var(--ink);font-size:.92rem;line-height:1.55}.feature-detail-actions{display:flex;border-top:2px dashed color-mix(in srgb,var(--line) 48%,transparent);padding:.8rem .85rem .85rem}.feature-project-link{display:inline-flex;color:var(--primary);font-size:.92rem;font-weight:800;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:.18em;text-transform:lowercase}.feature-project-link-visual{display:inline-flex;pointer-events:none;transform-origin:50% 100%;transition:color .16s ease,transform .16s ease}.feature-project-link:hover,.feature-project-link:focus-visible{color:var(--ink)}.feature-project-link:hover .feature-project-link-visual,.feature-project-link:focus-visible .feature-project-link-visual{transform:translateY(-1px)}.feature-project-link:active{box-shadow:0 1px 0 var(--shadow)}.feature-controls{display:flex;justify-content:center;gap:.8rem;margin:.85rem auto 0}.feature-controls:has(.feature-see-more.is-hidden){gap:0}.feature-see-more,.feature-show-less{display:inline-flex;border:0;background:transparent;color:var(--primary);box-shadow:none;padding:.25rem .2rem;font-weight:800;text-transform:lowercase;transition:color .16s ease,max-width .22s ease,opacity .18s ease,transform .16s ease}.feature-show-less{max-width:0;opacity:0;overflow:hidden;pointer-events:none;transform:translate(-.4rem);white-space:nowrap}.feature-show-less.is-visible{max-width:6rem;opacity:1;pointer-events:auto;transform:translate(0)}.feature-see-more:hover,.feature-see-more:focus-visible,.feature-show-less.is-visible:hover,.feature-show-less.is-visible:focus-visible{color:var(--ink)}.feature-see-more:active,.feature-show-less:active{color:color-mix(in srgb,var(--primary) 74%,var(--ink))}.feature-see-more:disabled{color:var(--muted);cursor:default;opacity:.62;transform:none}.feature-see-more.is-hidden{max-width:0;overflow:hidden;padding-right:0;padding-left:0;opacity:0;pointer-events:none;transform:translate(.4rem);white-space:nowrap}.feature-show-less:disabled{color:var(--muted);cursor:default}.work-projects{display:grid;gap:.85rem}.work-empty-message{margin:0;border-top:2px dashed color-mix(in srgb,var(--line) 52%,transparent);padding:1rem 0 0;color:var(--muted);font-size:1rem;line-height:1.6}.work-project{display:grid;grid-template-columns:minmax(155px,.44fr) minmax(0,1fr);gap:1rem;border:2px solid color-mix(in srgb,var(--line) 46%,transparent);border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--panel-2) 88%,transparent),color-mix(in srgb,var(--panel) 92%,var(--wave-color)));box-shadow:0 3px color-mix(in srgb,var(--shadow) 42%,transparent);padding:.75rem;animation:soft-rise .38s ease both;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.work-project:hover,.work-project:focus-within{border-color:color-mix(in srgb,var(--primary) 28%,var(--line));background:linear-gradient(135deg,color-mix(in srgb,var(--panel-2) 86%,var(--mauve)),color-mix(in srgb,var(--panel) 90%,var(--wave-color)));box-shadow:0 4px color-mix(in srgb,var(--shadow) 50%,transparent),0 0 0 2px color-mix(in srgb,var(--primary) 8%,transparent)}.work-project:first-child{border-top:2px solid color-mix(in srgb,var(--line) 46%,transparent);padding-top:.75rem}.work-project-copy{display:flex;flex-direction:column;align-items:flex-start;min-width:0}.work-project-copy h3{margin:.25rem 0 .35rem;color:var(--ink);font-size:clamp(1.08rem,3vw,1.35rem);line-height:1.05}.work-project-description{margin:0 0 .45rem;color:var(--muted);font-size:.93rem;line-height:1.45}.work-project-meta,.work-project-tags{display:flex;flex-wrap:wrap;gap:.35rem}.work-project-meta{margin-bottom:.1rem}.work-project-meta span{border:1px solid color-mix(in srgb,var(--line) 42%,transparent);border-radius:999px;background:color-mix(in srgb,var(--panel) 38%,transparent);color:color-mix(in srgb,var(--secondary) 48%,var(--muted));padding:.13rem .36rem;font-size:.61rem;font-weight:760;letter-spacing:.035em;text-transform:uppercase}.work-project-meta span[data-meta=featured]{border-color:color-mix(in srgb,var(--primary) 26%,var(--line));color:color-mix(in srgb,var(--primary) 52%,var(--muted))}.work-project-tags{max-height:0;margin:0;opacity:0;overflow:hidden;transform:translateY(-.22rem);transition:max-height .44s ease,margin .44s ease,opacity .38s ease,transform .44s cubic-bezier(.18,.9,.2,1)}.work-project:hover .work-project-tags,.work-project:focus-within .work-project-tags{max-height:5rem;margin:0 0 .75rem;opacity:1;transform:translateY(0)}.work-project-tags span{border:1px solid color-mix(in srgb,var(--line) 38%,transparent);border-radius:999px;background:color-mix(in srgb,var(--panel-2) 48%,transparent);color:color-mix(in srgb,var(--muted) 88%,var(--ink));padding:.15rem .4rem;font-size:.67rem;font-weight:650;line-height:1}@media (hover: none){.work-project-tags{max-height:none;margin:0 0 .75rem;opacity:1;overflow:visible;transform:none}}.work-project-button{display:inline-flex;margin-top:auto;color:var(--ink);text-decoration:none}.work-project-button-visual{display:inline-flex;border:2px solid color-mix(in srgb,var(--line) 82%,transparent);border-radius:999px;background:color-mix(in srgb,var(--mauve) 74%,var(--panel));box-shadow:0 3px color-mix(in srgb,var(--shadow) 66%,transparent);padding:.32rem .62rem;font-size:.78rem;font-weight:700;pointer-events:none;transform-origin:50% 100%;transition:transform .16s ease,box-shadow .16s ease}.work-project-button:hover .work-project-button-visual,.work-project-button:focus-visible .work-project-button-visual{box-shadow:0 4px 0 var(--shadow);filter:brightness(1.05);transform:translateY(-2px) scale(1.025)}.mail-button:hover,.mail-button:focus-visible{box-shadow:0 3px 0 var(--shadow)}.work-project-button:active .work-project-button-visual{box-shadow:0 2px 0 var(--shadow);filter:brightness(.98);transform:translateY(1px) scale(.98)}.tag-cloud{display:flex;flex-wrap:wrap;gap:.45rem}.tag-cloud>span{display:inline-flex;align-items:center;cursor:default}.tag-cloud-visual{display:inline-flex;align-items:center;gap:.35rem;border:2px solid var(--line);border-radius:999px;background:var(--panel-2);padding:.25rem .55rem;color:var(--ink);font-size:.92rem;font-weight:600;line-height:1.2;pointer-events:none;transform-origin:50% 100%;transition:background .16s ease,box-shadow .16s ease,transform .16s cubic-bezier(.18,.9,.22,1.25)}.skill-icon{width:1rem;height:1rem;flex:0 0 auto;fill:none;stroke:var(--secondary);stroke-linecap:round;stroke-linejoin:round;stroke-width:2.1px;transition:transform .16s ease,stroke .16s ease}.skill-icon-image{object-fit:contain;stroke:none}.tag-cloud>span:hover .tag-cloud-visual,.tag-cloud>span:focus-visible .tag-cloud-visual{background:color-mix(in srgb,var(--secondary) 22%,var(--panel-2));box-shadow:0 4px color-mix(in srgb,var(--shadow) 72%,transparent);animation:skill-bounce .34s ease both}.tag-cloud>span:hover .skill-icon{stroke:var(--ink);transform:translateY(-1px) scale(1.12) rotate(-4deg)}.faq-body{max-height:min(520px,calc(100vh - 170px));overflow-y:auto}.faq-list{display:grid;gap:.65rem;padding-right:.2rem}.faq-item{border:2px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--panel-2) 76%,transparent);overflow:hidden}.faq-question{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem;width:100%;border:0;background:transparent;color:var(--ink);cursor:pointer;padding:.75rem .85rem;font-weight:600;text-align:left;transition:background .16s ease,color .16s ease}.faq-question:hover,.faq-question:focus-visible{background:color-mix(in srgb,var(--panel) 34%,transparent);color:var(--secondary);outline:none}.faq-chevron{display:inline-grid;place-items:center;width:1.35rem;height:1.35rem;flex:0 0 1.35rem;border:2px solid var(--line);border-radius:999px;color:var(--secondary);transform-origin:50% 50%;transition:transform var(--faq-fold-speed, .24s) ease}.faq-chevron:before{content:"";width:.42rem;height:.42rem;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:translate(-.08rem) rotate(45deg)}.faq-question[aria-expanded=true] .faq-chevron{transform:rotate(90deg)}.faq-answer{max-height:0;opacity:0;overflow:hidden;transition:max-height .22s ease,opacity .16s ease}.faq-answer.is-open{max-height:320px;opacity:1}.faq-answer-inner{transform:translateY(-.35rem);transition:transform .22s ease}.faq-answer.is-open .faq-answer-inner{transform:translateY(0)}.faq-answer p{margin:0;padding:0 .85rem;color:var(--muted);line-height:1.65}.faq-answer ul{margin:0;padding:0 .85rem 0 1.95rem;color:var(--muted);line-height:1.6}.faq-answer li::marker{color:var(--secondary)}.faq-inline-link{color:var(--secondary);font-weight:700;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:.16em}.faq-inline-link:hover,.faq-inline-link:focus-visible{color:var(--ink);outline:none}.faq-answer-inner{padding-bottom:.85rem}.faq-answer-inner>*+*{margin-top:1.25rem}.faq-answer-inner p+p,.faq-answer-inner p+ul,.faq-answer-inner ul+p{margin-top:1.25rem}.faq-answer li+li{margin-top:.45rem}.links-body{max-height:min(520px,calc(100vh - 170px));overflow-y:auto}.links-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(6.5rem,max-content));gap:.8rem;justify-content:center;place-items:center}.links-card{display:grid;justify-items:center;gap:.45rem;width:min(8rem,100%);min-width:0;border:2px solid transparent;border-radius:14px;padding:.55rem .35rem;color:var(--ink);font-weight:600;text-align:center;animation:soft-pop .34s ease both;transition:color .16s ease,transform .16s ease}.links-card:hover,.links-card:focus-visible{border-color:color-mix(in srgb,var(--line) 34%,transparent);background:color-mix(in srgb,var(--panel-2) 72%,transparent);color:var(--secondary)}.links-icon{display:grid;place-items:center;width:3.2rem;height:3.2rem;color:var(--secondary);transition:transform .16s ease}.links-icon svg{width:2.35rem;height:2.35rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px}.links-icon-filled svg{fill:currentColor;stroke:none}.links-card:hover .links-icon,.links-card:focus-visible .links-icon{transform:translateY(-2px) scale(1.12) rotate(-2deg)}.avatar.has-entered,.work-notice.has-entered,.work-tags>span.has-entered,.animation-card.has-entered,.feature-card.has-entered,.work-project.has-entered,.links-card.has-entered{animation:none}.links-label{overflow-wrap:anywhere}.links-note{margin:1rem 0 0;color:var(--muted);font-size:.95rem;text-align:center}@media (prefers-reduced-motion: reduce){.faq-chevron,.faq-answer,.faq-answer-inner,.links-card,.window,.window.is-opening,.window.is-closing,.window-bar button,.about-view.is-active,.about-preview,.about-zoom-trigger img,.avatar,.project-card,.work-notice,.work-tags>span,.work-tag-visual,.tag-cloud-visual,.feature-project-link-visual,.animation-card,.feature-card,.feature-toggle,.feature-toggle:after,.feature-video-volume,.feature-video-volume-slider,.feature-detail,.animation-thumb,.project-thumb,.animation-thumb img,.project-thumb img,.work-project,.work-project-button,.work-project-button-visual,.faq-item,.links-icon,.mail-button{animation:none;transition:none}}blockquote{margin:1rem 0 0;border-left:4px solid var(--secondary);padding-left:.8rem;color:var(--ink)}.contact-list{display:grid;gap:.75rem;margin-top:.8rem}.contact-card{display:grid;grid-template-columns:2.45rem minmax(0,1fr);gap:.7rem;align-items:center;border:2px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--panel-2) 76%,transparent);color:var(--ink);box-shadow:0 4px color-mix(in srgb,var(--shadow) 64%,transparent);padding:.7rem;transition:transform .16s ease,box-shadow .16s ease,background .16s ease}.contact-card:hover,.contact-card:focus-visible{background:color-mix(in srgb,var(--secondary) 15%,var(--panel-2));box-shadow:0 5px color-mix(in srgb,var(--shadow) 70%,transparent)}.contact-icon{display:grid;place-items:center;width:2.3rem;height:2.3rem;border:2px solid var(--line);border-radius:999px;background:var(--panel);color:var(--secondary)}.contact-icon svg{width:1.45rem;height:1.45rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px}.contact-card strong{display:block;margin-bottom:.1rem;color:var(--ink)}.contact-card span span{color:var(--muted);overflow-wrap:anywhere}.mail-button{display:inline-flex;border:2px solid var(--line);border-radius:999px;background:var(--mauve);color:var(--ink);box-shadow:0 4px 0 var(--shadow);padding:.45rem .8rem;transition:transform .16s ease,box-shadow .16s ease}.command-palette-cta{display:inline-flex;align-items:center;gap:.36rem;border:0;background:transparent;box-shadow:none;color:color-mix(in srgb,var(--muted) 82%,var(--ink));cursor:pointer;font-size:.82rem;font-weight:800;letter-spacing:.02em;padding:0;transition:color .18s ease}.command-palette-cta:hover,.command-palette-cta:focus-visible{color:var(--secondary);outline:none}.command-palette-cta [data-command-shortcut]{display:inline-flex;align-items:center;gap:.22rem;color:var(--secondary);font-size:inherit;font-weight:900;line-height:1}.command-palette-cta svg,.command-shortcut-icons svg{width:.95rem;height:.95rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2}.command-palette-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;display:grid;align-items:start;justify-items:center;background:color-mix(in srgb,var(--shadow) 32%,transparent);opacity:0;pointer-events:none;transition:opacity .18s ease}.command-palette-overlay.is-open{opacity:1;pointer-events:auto}.command-palette{display:grid;grid-template-columns:minmax(390px,460px) minmax(320px,1fr);grid-template-rows:auto minmax(0,1fr);gap:.82rem;width:clamp(760px,88vw,1180px);height:min(720px,calc(100dvh - 44px));max-height:calc(100dvh - 44px);margin-top:clamp(24px,7vh,72px);border:3px solid var(--line);border-radius:18px;background:var(--panel);box-shadow:10px 12px 0 var(--shadow);overflow:hidden;padding:0;transform:translateY(12px) scale(.985);transition:transform .22s cubic-bezier(.18,.9,.2,1.08)}.command-palette-overlay.is-open .command-palette{transform:translateY(0) scale(1)}.command-palette-main{display:flex;min-height:0;min-width:0;flex-direction:column;padding:0 0 .82rem .82rem}.command-palette-bar{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;border-bottom:3px solid var(--line);background:var(--panel-2);color:var(--ink);font-size:.88rem;font-weight:800;line-height:1;padding:.66rem .82rem;-webkit-user-select:none;user-select:none}.command-palette-bar>span:last-child{color:var(--secondary);font-size:.78rem;font-weight:900}.command-shortcut-icons{display:inline-flex;align-items:center;gap:.24rem}.command-palette-search{display:flex;align-items:center;gap:.65rem;border:2px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:inset 0 -2px color-mix(in srgb,var(--shadow) 16%,transparent);padding:.58rem .72rem}.command-palette-search svg{width:1.1rem;height:1.1rem;color:var(--secondary);fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.4}.command-palette-search input{width:100%;min-width:0;border:0;background:transparent;color:var(--ink);font:inherit;font-size:1rem;font-weight:800;outline:none}.command-palette-search input::placeholder{color:color-mix(in srgb,var(--muted) 72%,transparent)}.command-palette-results{display:grid;flex:1 1 0;align-content:start;gap:.45rem;min-height:0;margin:.72rem 0 0;overflow:auto;padding:.12rem .5rem .58rem .12rem;scrollbar-width:none}.command-palette-results::-webkit-scrollbar{display:none}.command-result{display:grid;grid-template-columns:2.2rem minmax(0,1fr);gap:.64rem;width:100%;height:5.55rem;align-items:center;border:2px solid color-mix(in srgb,var(--line) 48%,transparent);border-radius:12px;background:var(--panel);color:var(--ink);cursor:pointer;padding:.82rem .78rem;text-align:left;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease}.command-result:hover,.command-result:focus-visible,.command-result.is-selected{border-color:color-mix(in srgb,var(--secondary) 76%,var(--line));background:color-mix(in srgb,var(--secondary) 10%,var(--panel));box-shadow:0 4px color-mix(in srgb,var(--shadow) 58%,transparent);outline:none}.command-result-icon{align-self:center;display:grid;place-items:center;width:2.15rem;height:2.15rem;border:2px solid color-mix(in srgb,var(--line) 72%,transparent);border-radius:10px;background:var(--panel-2);color:var(--secondary)}.command-result-icon svg{width:1.1rem;height:1.1rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2}.command-result-content{display:grid;gap:.24rem;min-width:0;height:fit-content;align-content:center;align-self:center}.command-result-title{display:block;overflow:hidden;color:var(--ink);font-size:.96rem;font-weight:900;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.command-result-meta{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.32rem;align-items:center;margin-top:0;overflow:hidden;color:var(--muted);font-size:.76rem;font-weight:700;line-height:1.3}.command-result-meta>span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.command-result-badge{min-width:0;max-width:8.5rem;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--secondary) 13%,transparent);color:var(--secondary);padding:.12rem .38rem;text-overflow:ellipsis;white-space:nowrap}.command-result-description{display:block;max-width:100%;margin-top:0;overflow:hidden;color:color-mix(in srgb,var(--muted) 86%,var(--ink));font-size:.78rem;font-weight:650;line-height:1.45;text-overflow:ellipsis;white-space:nowrap}.command-result mark{border-radius:.24em;background:color-mix(in srgb,var(--ochre) 34%,transparent);color:inherit;padding:0 .05em}.command-palette-preview{display:grid;align-content:start;min-height:0;min-width:0;margin:0 .82rem .82rem 0;overflow:auto;border:2px solid color-mix(in srgb,var(--line) 72%,transparent);border-radius:12px;background:var(--panel);box-shadow:inset 0 -3px color-mix(in srgb,var(--shadow) 14%,transparent);padding:.82rem;scrollbar-width:none}.command-palette-preview::-webkit-scrollbar{display:none}.command-preview-type{width:fit-content;border-radius:999px;background:color-mix(in srgb,var(--secondary) 13%,var(--panel));color:var(--secondary);font-size:.72rem;font-weight:900;letter-spacing:.03em;padding:.2rem .46rem;text-transform:uppercase}.command-preview-title{margin:.76rem 0 0;overflow:hidden;color:var(--ink);font-family:var(--header-font);font-size:clamp(1.35rem,3vw,2rem);line-height:1;text-overflow:ellipsis;white-space:nowrap}.command-preview-description{display:-webkit-box;margin:.55rem 0 0;overflow:hidden;color:var(--muted);font-size:.9rem;font-weight:650;line-height:1.48;-webkit-box-orient:vertical;-webkit-line-clamp:3}.command-preview-path{display:block;margin-top:.7rem;overflow-wrap:anywhere;color:color-mix(in srgb,var(--secondary) 84%,var(--muted));font-size:.78rem;font-weight:850}.command-preview-tags{display:flex;flex-wrap:wrap;gap:.34rem;margin-top:.8rem}.command-preview-frame{margin-top:.82rem;overflow:hidden;border:2px solid color-mix(in srgb,var(--line) 68%,transparent);border-radius:12px;background:color-mix(in srgb,var(--panel-2) 52%,var(--panel))}.command-preview-frame-about{max-height:210px;overflow:auto;padding:.72rem;scrollbar-width:none}.command-preview-frame-about::-webkit-scrollbar{display:none}.command-preview-frame-about h2{margin:0;color:var(--ink);font-family:var(--header-font);font-size:1.35rem;line-height:1}.command-preview-frame-about .subtitle{margin:.28rem 0 .44rem;color:var(--secondary);font-size:.78rem;font-weight:800}.command-preview-frame-about p{margin:.46rem 0 0;color:var(--muted);font-size:.76rem;font-weight:650;line-height:1.45}.command-preview-frame-about hr,.command-preview-frame-about .about-zoom-trigger,.command-preview-frame-about .about-note-grid{display:none}.command-preview-browser-bar{display:flex;align-items:center;gap:.32rem;border-bottom:2px solid color-mix(in srgb,var(--line) 58%,transparent);background:var(--panel-2);padding:.42rem .52rem}.command-preview-browser-bar span{width:.46rem;height:.46rem;border:1px solid var(--line);border-radius:999px;background:var(--mauve)}.command-preview-browser-bar span:nth-child(2){background:var(--ochre)}.command-preview-browser-bar span:nth-child(3){background:var(--sage)}.command-preview-browser-bar code{min-width:0;margin-left:.28rem;overflow:hidden;color:var(--muted);font-family:inherit;font-size:.68rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.command-preview-frame iframe{display:block;width:100%;height:220px;border:0;background:var(--panel);pointer-events:none}.command-preview-tags span{max-width:100%;overflow:hidden;border:1px solid color-mix(in srgb,var(--line) 58%,transparent);border-radius:999px;background:color-mix(in srgb,var(--panel-2) 66%,transparent);color:var(--ink);font-size:.72rem;font-weight:800;padding:.22rem .46rem;text-overflow:ellipsis;white-space:nowrap}.command-palette-footer{display:flex;flex-wrap:wrap;gap:.42rem;margin-top:.72rem;color:var(--muted);font-size:.74rem;font-weight:750}.command-palette-empty{border:2px dashed color-mix(in srgb,var(--line) 54%,transparent);border-radius:14px;color:var(--muted);font-weight:800;padding:1rem;text-align:center}@media (max-width: 740px){.command-palette-cta{gap:.28rem}.command-palette{grid-template-columns:1fr;width:calc(100vw - 28px);height:min(620px,calc(100dvh - 28px));margin-top:14px}.command-palette-main{padding-right:.82rem}.command-palette-preview{display:none}}@media (prefers-reduced-motion: reduce){.command-palette-overlay,.command-palette,.command-result,.command-palette-cta{transition:none}}.media-loading-frame{position:relative}.media-loading-indicator{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;border-radius:inherit;background:linear-gradient(135deg,color-mix(in srgb,var(--panel) 88%,transparent),color-mix(in srgb,var(--panel-2) 92%,transparent));color:var(--muted);font-size:.78rem;font-weight:900;letter-spacing:.03em;opacity:1;pointer-events:none;transition:opacity .22s ease,visibility .22s ease}.media-loading-indicator:before{content:"";width:1.3rem;height:1.3rem;border:3px solid color-mix(in srgb,var(--secondary) 28%,transparent);border-top-color:var(--secondary);border-radius:999px;animation:media-loading-spin .74s linear infinite}.media-loading-indicator:after{content:"loading";position:absolute;top:calc(50% + 1.15rem);left:50%;transform:translate(-50%)}.media-loading-frame.is-media-loaded .media-loading-indicator,.media-loading-frame.is-media-error .media-loading-indicator{opacity:0;visibility:hidden}.media-loading-frame.is-media-error .media-loading-indicator:before{animation:none;border-color:var(--rust)}@keyframes media-loading-spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion: reduce){.media-loading-indicator:before{animation:none}}.water{position:fixed;right:0;bottom:0;left:0;z-index:2;height:var(--wave-height);pointer-events:none;overflow:hidden}.vinyl-island{left:clamp(12px,3.2vw,48px);bottom:0;z-index:5;width:clamp(154px,15vw,224px);height:clamp(92px,9vw,132px);background:color-mix(in srgb,var(--mauve) 22%,var(--panel-2));transform:none;opacity:1;pointer-events:auto}.vinyl-player-button{position:absolute;left:50%;top:17%;z-index:2;width:clamp(78px,7.8vw,112px);border:0;background:transparent;color:inherit;cursor:pointer;padding:0;transform:translate(-50%);transform-origin:50% 50%}.vinyl-player-button:before{content:"";position:absolute;top:-18px;right:-24px;bottom:-12px;left:-24px;border-radius:999px}.vinyl-player-button:after{content:attr(data-hotspot-label);position:absolute;left:50%;bottom:calc(100% + .18rem);z-index:4;border:2px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--panel) 90%,var(--wave-color));box-shadow:0 4px color-mix(in srgb,var(--shadow) 70%,transparent);padding:.28rem .54rem;color:var(--ink);font-size:clamp(.66rem,1vw,.74rem);font-weight:700;line-height:1;white-space:nowrap;opacity:0;pointer-events:none;transform:translate(-50%,6px) scale(.96);transition:opacity .18s ease,transform .18s cubic-bezier(.18,.9,.2,1.12)}.vinyl-player-button:hover,.vinyl-player-button:focus-visible{outline:none}.vinyl-player-button:hover:after,.vinyl-player-button:focus-visible:after{opacity:1;transform:translate(-50%) scale(1)}.vinyl-player-button:focus-visible .vinyl-player{outline:2px solid var(--ochre);outline-offset:6px;border-radius:16px}.vinyl-player-visual{position:relative;display:block;transform:rotate(-5deg);transform-origin:50% 82%;filter:drop-shadow(0 4px 0 color-mix(in srgb,var(--shadow) 54%,transparent));animation:vinyl-idle 3.8s ease-in-out infinite alternate;will-change:transform;transition:filter .18s ease,transform .18s cubic-bezier(.18,.9,.2,1.12)}.vinyl-player-button:hover .vinyl-player-visual,.vinyl-player-button:focus-visible .vinyl-player-visual{filter:drop-shadow(0 5px 0 color-mix(in srgb,var(--shadow) 58%,transparent)) drop-shadow(0 0 8px color-mix(in srgb,var(--ochre) 28%,transparent))}.vinyl-player{display:block;width:100%;height:auto;overflow:visible}.vinyl-player-shadow{fill:color-mix(in srgb,var(--shadow) 44%,transparent)}.vinyl-player-base,.vinyl-player-base-side,.vinyl-platter,.vinyl-record-disc,.vinyl-record-ring,.vinyl-record-label,.vinyl-tonearm-base,.vinyl-tonearm-bar,.vinyl-needle,.vinyl-switch,.vinyl-knob{stroke:var(--line);stroke-linecap:round;stroke-linejoin:round;stroke-width:4}.vinyl-player-base{fill:color-mix(in srgb,var(--panel) 88%,var(--mauve))}.vinyl-player-base-side{fill:color-mix(in srgb,var(--mauve) 22%,var(--panel-2))}.vinyl-platter{fill:color-mix(in srgb,var(--slate) 24%,var(--panel))}.vinyl-record{transform-origin:64px 58px}.vinyl-record-disc{fill:color-mix(in srgb,var(--line) 68%,var(--pine))}.vinyl-record-ring,.vinyl-record-shine{fill:none;stroke:color-mix(in srgb,var(--panel) 36%,transparent);stroke-linecap:round;stroke-width:2}.vinyl-record-label{fill:color-mix(in srgb,var(--ochre) 54%,var(--panel))}.vinyl-tonearm-base,.vinyl-knob{fill:color-mix(in srgb,var(--ochre) 38%,var(--panel))}.vinyl-tonearm{transform-origin:106px 43px;transform:rotate(-18deg);transition:transform .28s cubic-bezier(.18,.9,.2,1.12)}.vinyl-tonearm-bar,.vinyl-needle,.vinyl-switch{fill:none}.vinyl-player-button.is-starting .vinyl-tonearm,.vinyl-player-button.is-playing .vinyl-tonearm{transform:rotate(7deg)}.vinyl-player-button.is-playing{animation-duration:initial}.vinyl-player-button.is-playing .vinyl-player-visual{animation-name:vinyl-playing-dance;animation-duration:1.35s;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-direction:alternate}.vinyl-player-button.is-playing .vinyl-record{animation:vinyl-record-spin 1.1s linear infinite}.vinyl-notes{position:absolute;top:8%;right:-6%;display:grid;gap:.1rem;color:var(--secondary);font-family:var(--header-font);font-weight:800;opacity:0;pointer-events:none}.vinyl-notes span{display:block;opacity:0;transform:translateY(5px) rotate(-8deg)}.vinyl-player-button.is-playing .vinyl-notes{opacity:1}.vinyl-player-button.is-playing .vinyl-notes span{animation:vinyl-note-float 1.7s ease-in-out infinite}.vinyl-player-button.is-playing .vinyl-notes span:nth-child(2){animation-delay:.28s}.vinyl-player-button.is-playing .vinyl-notes span:nth-child(3){animation-delay:.56s}.vinyl-lyrics{position:absolute;left:50%;top:-.65rem;z-index:4;width:min(260px,90vw);min-height:3.4rem;pointer-events:none;transform:translate(-50%)}.vinyl-lyric-pop{position:absolute;left:50%;bottom:0;max-width:min(240px,78vw);padding:0;color:var(--primary);font-size:clamp(.68rem,1vw,.82rem);font-style:italic;font-weight:800;letter-spacing:.085em;line-height:1.25;text-align:center;text-shadow:0 1px 0 color-mix(in srgb,var(--panel) 62%,transparent),0 0 10px color-mix(in srgb,var(--primary) 28%,transparent);white-space:normal;opacity:0;transform:translate(-50%) translateY(10px) scale(.96);filter:blur(.6px)}.vinyl-lyric-pop.is-active{animation:vinyl-lyric-rise var(--lyric-duration, 3.6s) linear forwards}.vinyl-lyric-pop.is-fading-out{animation:vinyl-lyric-stop-fade .55s ease forwards}.site-footer{position:absolute;right:calc(var(--hill-overlap) + clamp(24px,4vw,72px));bottom:clamp(24px,4.2vw,54px);z-index:3;display:flex;width:fit-content;max-width:min(240px,calc(100% - var(--hill-overlap) - 32px));align-items:center;gap:.42rem;margin:0;padding:0;border:0;background:transparent;box-shadow:none;color:var(--muted);font-size:clamp(.72rem,1.15vw,.84rem);line-height:1;text-align:right}.site-footer p{margin:0;text-wrap:balance}.site-footer button{display:inline-grid;place-items:center;width:1.28rem;height:1.28rem;border:2px solid color-mix(in srgb,var(--line) 70%,transparent);border-radius:999px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:none;box-shadow:none;color:var(--secondary);cursor:pointer;line-height:1;padding:0;transition:color .16s ease,transform .16s cubic-bezier(.18,.9,.2,1.16)}.site-footer button svg{width:.92rem;height:.92rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.5}.site-footer button:hover,.site-footer button:focus-visible{border-color:var(--secondary);color:var(--ink);outline:none}.water-wave{position:absolute;top:0;bottom:0;left:calc(var(--wave-drift) * -1);width:calc(100% + (var(--wave-drift) * 2));height:100%;display:block;animation:wave-drift var(--wave-speed) ease-in-out infinite alternate;transform-origin:50% 100%;will-change:transform}.water-wave path{fill:var(--wave-color)}.water-wave-back{opacity:.42;animation-duration:calc(var(--wave-speed) * 1.35);animation-direction:alternate-reverse}.water-wave-back path{fill:color-mix(in srgb,var(--wave-color) 74%,var(--panel))}.water-wave-mid{opacity:.74}.water-wave-front{top:22px;opacity:.9;animation-duration:calc(var(--wave-speed) * .82)}.water-wave-front path{fill:color-mix(in srgb,var(--wave-color) 88%,var(--line))}.easter-egg-trigger{position:absolute;cursor:pointer;pointer-events:auto}.easter-egg-trigger:before{content:"";position:absolute;top:-18px;right:-18px;bottom:-18px;left:-18px;z-index:2;border-radius:999px;pointer-events:auto}.easter-egg-visual{position:relative;display:block;width:100%;transform-origin:inherit;transition:transform .16s ease;will-change:transform}.easter-egg-motion{position:relative;display:block;width:100%;transform-origin:inherit;will-change:transform}.easter-egg-label{position:absolute;left:50%;bottom:calc(100% + .2rem);z-index:3;border:2px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--panel) 90%,var(--wave-color));box-shadow:0 4px color-mix(in srgb,var(--shadow) 70%,transparent);padding:.28rem .54rem;color:var(--ink);font-size:clamp(.68rem,1.1vw,.76rem);font-weight:700;line-height:1;white-space:nowrap;opacity:0;pointer-events:none;transform:translate(-50%,6px) scale(.96);transition:opacity .18s ease,transform .18s cubic-bezier(.18,.9,.2,1.12)}.easter-egg-trigger:hover .easter-egg-label,.easter-egg-trigger:focus-visible .easter-egg-label{opacity:1;transform:translate(-50%) scale(1)}.sailboat-trigger{left:calc((100vw - min(var(--right-hill-width),calc(100vw - var(--water-middle-min-width))) + var(--hill-overlap)) / 2);top:clamp(52px,31%,86px);z-index:1;width:clamp(72px,8vw,118px);border:0;background:transparent;color:inherit;padding:0;filter:drop-shadow(0 5px 0 color-mix(in srgb,var(--shadow) 72%,transparent)) drop-shadow(0 0 8px color-mix(in srgb,var(--ochre) 26%,transparent));transform-origin:50% 76%;animation:sailboat-drift calc(var(--wave-speed) * 2.8) ease-in-out infinite alternate}.sailboat-trigger:before{top:-24px;right:-30px;bottom:-16px;left:-30px;background:radial-gradient(ellipse at 50% 68%,color-mix(in srgb,var(--ochre) 22%,transparent) 0 16%,transparent 42%),radial-gradient(ellipse at 50% 70%,color-mix(in srgb,var(--ochre) 18%,transparent) 0 30%,transparent 62%),radial-gradient(ellipse at 50% 72%,color-mix(in srgb,var(--panel) 26%,transparent) 0 36%,transparent 68%);opacity:.48;transform:none;animation:sailboat-hotspot-ripple 3.4s ease-in-out infinite;transition:opacity .18s ease,transform .18s ease}.sailboat-trigger .easter-egg-label{bottom:calc(100% + .2rem)}.sailboat-trigger:hover,.sailboat-trigger:focus-visible,.slot-machine-trigger:hover,.slot-machine-trigger:focus-visible{filter:drop-shadow(0 7px 0 color-mix(in srgb,var(--shadow) 78%,transparent)) drop-shadow(0 0 14px color-mix(in srgb,var(--ochre) 58%,transparent)) drop-shadow(0 0 5px color-mix(in srgb,var(--panel) 48%,transparent));outline:none}.sailboat-trigger:hover:before,.sailboat-trigger:focus-visible:before{opacity:.72;animation-duration:1.25s}.sailboat-trigger:focus-visible .sailboat{outline:2px solid var(--ochre);outline-offset:6px;border-radius:18px}.slot-machine-trigger{right:calc(var(--hill-overlap) + clamp(128px,16vw,238px));top:clamp(-44px,-3.2vw,-24px);z-index:3;width:clamp(46px,4.8vw,72px);border:0;background:transparent;color:inherit;padding:0;filter:drop-shadow(0 5px 0 color-mix(in srgb,var(--shadow) 72%,transparent)) drop-shadow(0 0 9px color-mix(in srgb,var(--ochre) 32%,transparent));transform-origin:50% 88%}.slot-machine-trigger:before{top:-18px;right:-22px;bottom:-14px;left:-22px;background:radial-gradient(circle at 56% 30%,color-mix(in srgb,var(--ochre) 34%,transparent) 0 14%,transparent 36%),radial-gradient(ellipse at 50% 65%,color-mix(in srgb,var(--ochre) 20%,transparent) 0 28%,transparent 62%),radial-gradient(ellipse at 50% 78%,color-mix(in srgb,var(--mauve) 18%,transparent) 0 34%,transparent 70%);opacity:.36;transform:none;animation:slot-hotspot-aura 2.8s ease-in-out infinite;transition:opacity .18s ease,transform .18s ease}.slot-machine-trigger .easter-egg-label{bottom:calc(100% + .38rem)}.slot-machine-trigger:hover:before,.slot-machine-trigger:focus-visible:before{opacity:.68}.slot-machine-trigger .easter-egg-motion{animation:slot-machine-idle 3.8s ease-in-out infinite alternate}.slot-machine-trigger:hover .easter-egg-visual,.slot-machine-trigger:focus-visible .easter-egg-visual{transform:translateY(-4px) rotate(-2deg) scale(1.06)}.sailboat-entry-glow-dismissed .sailboat-trigger,.slot-machine-entry-glow-dismissed .slot-machine-trigger{filter:drop-shadow(0 5px 0 color-mix(in srgb,var(--shadow) 72%,transparent))}.sailboat-entry-glow-dismissed .sailboat-trigger:hover,.sailboat-entry-glow-dismissed .sailboat-trigger:focus-visible,.slot-machine-entry-glow-dismissed .slot-machine-trigger:hover,.slot-machine-entry-glow-dismissed .slot-machine-trigger:focus-visible{filter:drop-shadow(0 7px 0 color-mix(in srgb,var(--shadow) 78%,transparent))}.sailboat-entry-glow-dismissed .sailboat-trigger:before,.slot-machine-entry-glow-dismissed .slot-machine-trigger:before{opacity:0;animation:none}.slot-machine-trigger:focus-visible .easter-egg-visual{outline:2px solid var(--ochre);outline-offset:6px;border-radius:12px}.hill-slot-machine{display:block;width:100%;height:auto;overflow:visible;transform-origin:50% 88%}.hill-slot-body,.hill-slot-top,.hill-slot-screen,.hill-slot-panel,.hill-slot-lever,.hill-slot-knob,.hill-slot-light{stroke:var(--line);stroke-linejoin:round;stroke-width:4}.hill-slot-shadow{fill:color-mix(in srgb,var(--shadow) 52%,transparent)}.hill-slot-body{fill:color-mix(in srgb,var(--panel) 84%,var(--mauve))}.hill-slot-top{fill:color-mix(in srgb,var(--pine) 42%,var(--panel))}.hill-slot-screen{fill:color-mix(in srgb,var(--wave-color) 34%,var(--panel));animation:slot-screen-flicker 2.7s ease-in-out infinite}.hill-slot-reel{fill:var(--panel)}.hill-slot-panel{fill:color-mix(in srgb,var(--ochre) 46%,var(--panel))}.hill-slot-light,.hill-slot-knob{fill:var(--ochre)}.hill-slot-light{animation:slot-led-pulse 1.05s ease-in-out infinite}.sailboat{display:block;width:100%;height:auto;overflow:visible;perspective:220px;perspective-origin:56px 42px}.sailboat-sail-main{transform-box:fill-box;transform-origin:0% 50%;animation:sail-glint 6.4s ease-in-out infinite,sail-main-turn 2.8s ease-in-out infinite}.sailboat-sail-small{transform-box:fill-box;transform-origin:100% 52%;animation:sail-small-turn 2.45s ease-in-out infinite}.sailboat-trigger:hover .easter-egg-visual,.sailboat-trigger:focus-visible .easter-egg-visual{transform:translateY(-6px) rotate(-2deg) scale(1.08)}.sailboat-mast,.sailboat-wave{fill:none;stroke-linecap:round;stroke-linejoin:round}.sailboat-mast{stroke:var(--line);stroke-width:4}.sailboat-sail-main{fill:color-mix(in srgb,var(--panel) 84%,var(--wave-color));stroke:var(--line);stroke-linejoin:round;stroke-width:3}.sailboat-sail-small{fill:color-mix(in srgb,var(--mauve) 72%,var(--panel));stroke:var(--line);stroke-linejoin:round;stroke-width:3}.sailboat-hull{fill:var(--rust);stroke:var(--line);stroke-linejoin:round;stroke-width:3}.sailboat-wave{stroke:color-mix(in srgb,var(--panel) 78%,var(--wave-color));stroke-width:4}@keyframes wave-drift{0%{transform:translate(calc(var(--wave-drift) * -.5)) scaleX(1) scaleY(1)}50%{transform:translate(0) scaleX(var(--wave-scale)) scaleY(calc(var(--wave-scale) + .015))}to{transform:translate(calc(var(--wave-drift) * .5)) scaleX(1) scaleY(1)}}@keyframes sailboat-drift{0%{transform:translate(calc(-50% - 22px)) translateY(5px) rotate(-3deg)}50%{transform:translate(calc(-50% + 8px)) translateY(-6px) rotate(2deg)}to{transform:translate(calc(-50% + 34px)) translateY(4px) rotate(-1deg)}}@keyframes sailboat-hotspot-ripple{0%,to{opacity:.34}45%{opacity:.62}}@keyframes sail-glint{0%,68%,to{filter:none}74%{filter:drop-shadow(0 0 5px color-mix(in srgb,var(--ochre) 42%,transparent))}80%{filter:drop-shadow(0 0 10px color-mix(in srgb,var(--ochre) 54%,transparent))}}@keyframes sail-main-turn{0%,to{transform:perspective(180px) rotateY(0) skewY(0) scaleX(1)}34%{transform:perspective(160px) rotateY(-24deg) skewY(-2.5deg) scaleX(.88)}62%{transform:perspective(160px) rotateY(16deg) skewY(1.8deg) scaleX(1.08)}78%{transform:perspective(160px) rotateY(-8deg) skewY(-.8deg) scaleX(.98)}}@keyframes sail-small-turn{0%,to{transform:perspective(160px) rotateY(0) skewY(0) scaleX(1)}36%{transform:perspective(140px) rotateY(28deg) skewY(2deg) scaleX(.86)}64%{transform:perspective(140px) rotateY(-18deg) skewY(-1.5deg) scaleX(1.08)}82%{transform:perspective(140px) rotateY(9deg) skewY(.8deg) scaleX(.98)}}@keyframes slot-machine-idle{0%{transform:translateY(0) rotate(-9deg)}to{transform:translateY(4px) rotate(-7deg)}}@keyframes slot-hotspot-aura{0%,to{opacity:.28}50%{opacity:.58}}@keyframes slot-led-pulse{0%,to{opacity:.46}50%{opacity:1;filter:drop-shadow(0 0 5px color-mix(in srgb,var(--ochre) 58%,transparent))}}@keyframes slot-screen-flicker{0%,68%,to{fill:color-mix(in srgb,var(--wave-color) 34%,var(--panel))}74%{fill:color-mix(in srgb,var(--ochre) 34%,var(--wave-color))}78%{fill:color-mix(in srgb,var(--ochre) 58%,var(--panel))}82%{fill:color-mix(in srgb,var(--wave-color) 56%,var(--panel))}}@keyframes skill-bounce{0%{transform:translateY(0) rotate(0) scale(1)}58%{transform:translateY(-6px) rotate(-1.5deg) scale(1.06)}to{transform:translateY(-3px) rotate(.7deg) scale(1.035)}}@keyframes window-open{0%{opacity:0;transform:translate3d(var(--window-open-x, 0px),var(--window-open-y, 14px),0) scale(.08)}16%{opacity:.72;transform:translate3d(var(--window-open-step-5-x, 0px),var(--window-open-step-5-y, 9px),0) scale(.22)}32%{opacity:.94;transform:translate3d(var(--window-open-step-4-x, 0px),var(--window-open-step-4-y, 8px),0) scale(.44)}50%{opacity:1;transform:translate3d(var(--window-open-step-3-x, 0px),var(--window-open-step-3-y, 6px),0) scale(.68)}68%{opacity:1;transform:translate3d(var(--window-open-step-2-x, 0px),var(--window-open-step-2-y, 4px),0) scale(.86)}84%{opacity:1;transform:translate3d(var(--window-open-step-1-x, 0px),var(--window-open-step-1-y, 2px),0) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes window-close{0%{opacity:1;transform:translateY(0) scale(1)}16%{opacity:1;transform:translate3d(var(--window-close-step-1-x, 0px),var(--window-close-step-1-y, 2px),0) scale(.96)}32%{opacity:1;transform:translate3d(var(--window-close-step-2-x, 0px),var(--window-close-step-2-y, 4px),0) scale(.86)}50%{opacity:1;transform:translate3d(var(--window-close-step-3-x, 0px),var(--window-close-step-3-y, 6px),0) scale(.68)}68%{opacity:.94;transform:translate3d(var(--window-close-step-4-x, 0px),var(--window-close-step-4-y, 8px),0) scale(.44)}84%{opacity:.72;transform:translate3d(var(--window-close-step-5-x, 0px),var(--window-close-step-5-y, 9px),0) scale(.22)}to{opacity:0;transform:translate3d(var(--window-close-x, 0px),var(--window-close-y, 10px),0) scale(.08)}}@keyframes floaty{0%{transform:translateY(0)}to{transform:translateY(10px)}}@keyframes twinkle{0%{opacity:.3;transform:scale(.86) rotate(-8deg)}to{opacity:.85;transform:scale(1.05) rotate(6deg)}}@keyframes vinyl-idle{0%{transform:translate(-1px) translateY(0) rotate(-5deg) scale(1.01,.99)}to{transform:translate(1px) translateY(-2px) rotate(-4deg) scale(.99,1.015)}}@keyframes vinyl-playing-dance{0%{transform:translate(-3px) translateY(0) rotate(-7deg) scale(1.025,.975)}50%{transform:translate(0) translateY(-2px) rotate(-5deg) scale(.985,1.035)}to{transform:translate(3px) translateY(0) rotate(-3deg) scale(1.02,.985)}}@keyframes vinyl-record-spin{to{transform:rotate(360deg)}}@keyframes vinyl-note-float{0%{opacity:0;transform:translateY(6px) translate(0) rotate(-10deg) scale(.82)}30%{opacity:.9}to{opacity:0;transform:translateY(-18px) translate(8px) rotate(10deg) scale(1.06)}}@keyframes vinyl-lyric-rise{0%{opacity:0;transform:translate(-50%) translateY(10px) scale(.96);filter:blur(.8px)}12%{opacity:1;transform:translate(calc(-50% + 1px)) translateY(0) rotate(.18deg) scale(1);filter:blur(0)}28%{transform:translate(calc(-50% + 3px)) translateY(-18px) rotate(.38deg) scale(1)}44%{transform:translate(calc(-50% + 1px)) translateY(-36px) rotate(.12deg) scale(1)}60%{transform:translate(calc(-50% - 2px)) translateY(-52px) rotate(-.28deg) scale(1)}74%{transform:translate(calc(-50% - 1px)) translateY(-64px) rotate(-.16deg) scale(1)}82%{opacity:1;transform:translate(calc(-50% + 1px)) translateY(-70px) rotate(.12deg) scale(1);filter:blur(0)}to{opacity:0;transform:translate(-50%) translateY(-84px) rotate(0) scale(1);filter:blur(.8px)}}@keyframes vinyl-lyric-stop-fade{0%{opacity:1;filter:blur(0)}to{opacity:0;filter:blur(.8px)}}@keyframes cursor-sparkle{0%{opacity:1;transform:translate(-50%,-50%) scale(.45) rotate(0)}72%{opacity:1}to{opacity:0;transform:translate(calc(-50% + var(--spark-dx)),calc(-50% + var(--spark-dy))) scale(1.25) rotate(var(--spark-rotate))}}.is-popping{animation:ui-pop .28s cubic-bezier(.18,.9,.2,1.35) both}@keyframes soft-rise{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes soft-pop{0%{opacity:0;transform:translateY(8px) scale(.95)}72%{opacity:1;transform:translateY(-2px) scale(1.03)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes folder-pop{0%{opacity:0;transform:translateY(16px) scale(.86) rotate(-2deg)}70%{opacity:1;transform:translateY(-4px) scale(1.04) rotate(1deg)}to{opacity:1;transform:translateY(0) scale(1) rotate(0)}}@keyframes ui-pop{0%{transform:translateY(0) scale(1)}48%{transform:translateY(-5px) scale(1.08) rotate(-1deg)}to{transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){.sailboat-trigger,.slot-machine-trigger,.vinyl-player-button,.vinyl-player-visual,.easter-egg-visual,.easter-egg-motion,.vinyl-record,.vinyl-notes span,.vinyl-lyric-pop.is-active,.sailboat-trigger:before,.slot-machine-trigger:before,.sailboat-sail-main,.sailboat-sail-small,.sailboat-sail-main animate,.sailboat-sail-small animate,.hill-slot-screen,.hill-slot-light,.water-wave,.is-popping{animation:none;transition:none}.vinyl-player-button.is-playing .vinyl-record{transform:rotate(16deg)}.vinyl-lyric-pop.is-active{animation:vinyl-lyric-rise-reduced var(--lyric-duration, 3.4s) ease forwards}}@keyframes vinyl-lyric-rise-reduced{0%{opacity:0;transform:translate(-50%) translateY(4px) scale(.98);filter:blur(.4px)}12%,86%{opacity:1;filter:blur(0)}to{opacity:0;transform:translate(-50%) translateY(-24px) scale(1);filter:blur(.4px)}}@media (max-width: 760px){.vinyl-island{left:10px;width:clamp(138px,34vw,186px);height:clamp(88px,22vw,126px)}.vinyl-player-button{width:clamp(76px,20vw,104px)}.slot-machine-trigger{right:calc(var(--hill-overlap) + clamp(78px,22vw,132px));top:-30px;width:clamp(42px,9vw,56px)}}body.minigame-active{overflow:hidden}body.minigame-active .desktop>:not(.ocean-game-overlay){opacity:0;pointer-events:none;transition:opacity .42s ease,transform .52s ease}.ocean-game-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:220;display:grid;grid-template-rows:auto 1fr;overflow:hidden;background:radial-gradient(circle at 18% 14%,color-mix(in srgb,var(--panel) 22%,transparent),transparent 18rem),radial-gradient(circle at 78% 22%,color-mix(in srgb,var(--mauve) 14%,transparent),transparent 16rem),linear-gradient(180deg,color-mix(in srgb,var(--wave-color) 54%,var(--sky)),var(--wave-color));color:var(--ink);opacity:0;pointer-events:none;transform:scale(1.12) translateY(40px);transform-origin:50% 100%;transition:opacity .42s ease,transform .62s cubic-bezier(.18,.9,.2,1)}.ocean-game-overlay.is-visible{opacity:1;pointer-events:auto;transform:scale(1) translateY(0)}.ocean-game-overlay:before,.ocean-game-overlay:after{content:"";position:absolute;right:-8vw;left:-8vw;height:38vh;min-height:220px;background:color-mix(in srgb,var(--panel) 18%,transparent);clip-path:polygon(0 34%,8% 26%,18% 32%,28% 18%,39% 28%,51% 20%,62% 30%,74% 22%,86% 31%,100% 24%,100% 100%,0 100%);opacity:.28;animation:ocean-layer-drift calc(var(--wave-speed) * 1.7) ease-in-out infinite alternate}.ocean-game-overlay:before{bottom:20vh}.ocean-game-overlay:after{bottom:-4vh;opacity:.34;animation-duration:calc(var(--wave-speed) * 1.1);animation-direction:alternate-reverse}.game-hud{position:relative;z-index:4;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.75rem;padding:max(14px,env(safe-area-inset-top)) 16px 10px;pointer-events:none}.game-hud-stats,.game-hud-actions{display:flex;flex-wrap:wrap;gap:.55rem;pointer-events:auto}.game-hud-actions{justify-content:flex-end}.game-hud-pill,.game-hud button{border:2px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--panel) 86%,var(--wave-color));box-shadow:0 4px 0 var(--shadow);color:var(--ink);padding:.42rem .7rem;font-weight:700}.game-controls-hint{border:2px solid color-mix(in srgb,var(--line) 62%,transparent);border-radius:999px;background:color-mix(in srgb,var(--panel) 76%,var(--wave-color));color:var(--muted);font-size:.86rem;font-weight:700;max-width:min(34rem,44vw);overflow:hidden;padding:.38rem .68rem;text-align:center;text-overflow:ellipsis;white-space:nowrap;opacity:.72;animation:controls-hint-fade 5.5s ease 2.6s forwards}.ocean-game-overlay.show-controls .game-controls-hint,.game-controls-hint:focus-within{animation:none;opacity:1}.controls-touch{display:none}.game-hud button{cursor:pointer;transition:transform .16s ease,box-shadow .16s ease}.game-hud button:hover,.game-hud button:focus-visible{box-shadow:0 5px 0 var(--shadow);outline:none}.ocean-game-world{position:relative;z-index:2;min-height:0;overflow:hidden;cursor:crosshair;touch-action:none}.ocean-game-world:before,.ocean-game-world:after{content:"";position:absolute;right:-12vw;left:-12vw;height:46%;border-radius:50% 50% 0 0;background:repeating-linear-gradient(170deg,color-mix(in srgb,var(--panel) 16%,transparent) 0 2px,transparent 2px 48px);opacity:.38;animation:ocean-ripple calc(var(--wave-speed) * 1.25) ease-in-out infinite alternate}.ocean-game-world:before{top:8%}.ocean-game-world:after{bottom:0;opacity:.5;animation-direction:alternate-reverse}.game-entity{position:absolute;left:0;top:0;display:grid;place-items:center;transform:translate3d(var(--x),var(--y),0) rotate(var(--angle, 0deg));transform-origin:50% 58%;will-change:transform}.player-sailboat{width:clamp(70px,8.5vw,116px);z-index:3;filter:drop-shadow(0 6px 0 color-mix(in srgb,var(--shadow) 62%,transparent))}.player-sailboat.is-hit{animation:player-hit .42s ease}.player-sailboat svg{width:100%;height:auto;overflow:visible;animation:game-boat-bob 1.9s ease-in-out infinite}.pirate-boat{width:clamp(58px,6.5vw,90px);z-index:2;filter:drop-shadow(0 5px 0 color-mix(in srgb,var(--shadow) 58%,transparent))}.pirate-boat svg{width:100%;height:auto;overflow:visible}.pirate-boat-tough{width:clamp(72px,7.8vw,108px)}.pirate-boat-tough .pirate-hull{fill:color-mix(in srgb,var(--pine) 70%,var(--line))}.pirate-sail{fill:color-mix(in srgb,var(--line) 74%,var(--mauve))}.pirate-hull{fill:var(--pine)}.cannonball{width:13px;height:13px;z-index:3;border:2px solid var(--line);border-radius:50%;background:color-mix(in srgb,var(--line) 82%,var(--panel));box-shadow:0 2px color-mix(in srgb,var(--shadow) 68%,transparent)}.coin{z-index:2;display:grid;place-items:center;width:22px;height:22px;border:2px solid var(--line);border-radius:50%;background:var(--ochre);box-shadow:0 3px color-mix(in srgb,var(--shadow) 64%,transparent);color:var(--ink);font-size:.9rem;font-weight:700;line-height:1}.hit-effect{position:absolute;left:0;top:0;z-index:4;display:grid;place-items:center;width:46px;height:46px;color:color-mix(in srgb,var(--panel) 82%,var(--wave-color));font-size:1.7rem;pointer-events:none;transform:translate3d(var(--x),var(--y),0);animation:splash-pop .56s ease-out forwards}.game-over-panel{position:fixed;left:50%;top:50%;z-index:5;display:none;width:min(360px,calc(100vw - 40px));max-height:calc(100dvh - 40px);overflow-y:auto;border:3px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--panel) 92%,var(--wave-color));box-shadow:10px 12px 0 var(--shadow);padding:clamp(.8rem,3vw,1rem);text-align:center;transform:translate(-50%,-50%)}.game-over-panel,.upgrade-panel{scrollbar-width:none;-ms-overflow-style:none}.game-over-panel::-webkit-scrollbar,.upgrade-panel::-webkit-scrollbar{display:none}.upgrade-panel{position:fixed;left:50%;top:50%;z-index:6;display:none;width:min(720px,calc(100vw - 40px));max-height:min(720px,calc(100dvh - 40px));overflow-y:auto;border:3px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--panel) 94%,var(--wave-color));box-shadow:10px 12px 0 var(--shadow);padding:clamp(.75rem,2vw,1rem);text-align:center;transform:translate(-50%,-50%)}.upgrade-panel.is-visible{display:block;animation:centered-panel-pop .28s ease both}.upgrade-panel h2{margin:0 0 .3rem;font-family:var(--header-font)}.upgrade-panel p{margin:0 0 .9rem;color:var(--muted)}.upgrade-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(13rem,100%),1fr));gap:.8rem}.upgrade-card{display:grid;gap:.38rem;min-height:9rem;border:2px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--panel-2) 82%,var(--wave-color));box-shadow:0 4px 0 var(--shadow);color:var(--ink);cursor:pointer;padding:.75rem;text-align:left;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease}.upgrade-card:hover,.upgrade-card:focus-visible{box-shadow:0 5px 0 var(--shadow);outline:none}.upgrade-card:disabled{cursor:not-allowed;opacity:.48;transform:none}.upgrade-card strong{font-size:1rem}.upgrade-card span,.upgrade-card small{color:var(--muted)}.upgrade-skip{margin-top:.9rem}.game-over-panel.is-visible{display:block;animation:centered-panel-pop .28s ease both}.game-over-panel h2{margin:0 0 .45rem;font-family:var(--header-font)}.game-over-panel p{margin:0 0 .9rem;color:var(--muted)}.game-over-panel button,.upgrade-skip{border:2px solid var(--line);border-radius:999px;background:var(--ochre);box-shadow:0 4px 0 var(--shadow);color:var(--ink);cursor:pointer;font-weight:700;padding:.5rem .85rem}.game-over-panel button+button{margin-left:.5rem}.game-over-exit{background:color-mix(in srgb,var(--rust) 84%,var(--panel))!important}@keyframes ocean-layer-drift{0%{transform:translate(-2vw) translateY(0)}to{transform:translate(2vw) translateY(10px)}}@keyframes ocean-ripple{0%{transform:translate(-3vw) scaleY(1)}to{transform:translate(3vw) scaleY(1.06)}}@keyframes game-boat-bob{0%,to{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-5px) rotate(1.5deg)}}@keyframes player-hit{0%,to{opacity:1}30%,70%{opacity:.44}}@keyframes splash-pop{0%{opacity:1;transform:translate3d(var(--x),var(--y),0) scale(.58)}to{opacity:0;transform:translate3d(var(--x),var(--y),0) translateY(-22px) scale(1.35)}}@keyframes controls-hint-fade{to{opacity:.18}}@keyframes centered-panel-pop{0%{opacity:0;transform:translate(-50%,calc(-50% + 8px)) scale(.95)}72%{opacity:1;transform:translate(-50%,calc(-50% - 2px)) scale(1.03)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media (max-width: 680px){.game-hud{align-items:flex-start;grid-template-columns:1fr}.game-hud-actions{justify-content:flex-start}.game-controls-hint{max-width:calc(100vw - 32px);text-align:left;white-space:normal}.controls-desktop{display:none}.controls-touch{display:inline}.game-hud-pill,.game-hud button{padding:.48rem .72rem}.upgrade-grid{grid-template-columns:1fr}.upgrade-panel{width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.game-over-panel{width:min(360px,calc(100vw - 24px));max-height:calc(100dvh - 24px)}}@media (prefers-reduced-motion: reduce){body.minigame-active .desktop>:not(.ocean-game-overlay),.ocean-game-overlay,.ocean-game-overlay:before,.ocean-game-overlay:after,.ocean-game-world:before,.ocean-game-world:after,.player-sailboat svg,.game-controls-hint{animation:none;transition-duration:1ms}}body.slot-machine-active{overflow:hidden}body.slot-machine-active .desktop>:not(.slot-game-overlay){opacity:.14;pointer-events:none;filter:blur(2px);transform:scale(.985);transition:opacity .36s ease,filter .36s ease,transform .42s ease}.slot-game-overlay .sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap}.slot-game-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:230;display:grid;place-items:center;overflow:hidden auto;background:radial-gradient(circle at 20% 18%,color-mix(in srgb,var(--ochre) 18%,transparent),transparent 15rem),radial-gradient(circle at 78% 16%,color-mix(in srgb,var(--wave-color) 22%,transparent),transparent 18rem),color-mix(in srgb,var(--sky) 82%,var(--line));color:var(--ink);opacity:0;padding:clamp(.8rem,2vw,1.4rem);pointer-events:none;transform:scale(1.08) translateY(28px);transform-origin:68% 78%;transition:opacity .36s ease,transform .56s cubic-bezier(.18,.9,.2,1)}.slot-game-overlay.is-visible{opacity:1;pointer-events:auto;transform:scale(1) translateY(0)}.slot-game-shell{display:grid;grid-template-rows:auto minmax(0,1fr) auto;gap:clamp(.8rem,2vw,1.2rem);width:min(1120px,100%);min-height:min(780px,calc(100dvh - 2rem))}.slot-game-header,.slot-game-footer,.slot-table,.slot-result-card{border:3px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--panel) 86%,transparent);box-shadow:10px 12px color-mix(in srgb,var(--shadow) 78%,transparent)}.slot-game-header{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:1rem;padding:.85rem 1rem}.slot-kicker{display:block;color:var(--muted);font-size:.72rem;font-weight:800;letter-spacing:0;text-transform:lowercase}.slot-game-header h2,.slot-game-footer h3{margin:0;font-family:var(--header-font);letter-spacing:0}.slot-game-stats{display:flex;gap:.55rem;font-weight:800}.slot-game-stats span,.slot-exit{border:2px solid var(--line);border-radius:999px;background:var(--panel);box-shadow:0 4px 0 var(--shadow);color:var(--ink);padding:.42rem .72rem;font-weight:800}.slot-exit{cursor:pointer;transition:box-shadow .16s ease,transform .16s ease}.slot-exit:hover,.slot-exit:focus-visible{box-shadow:0 6px 0 var(--shadow);outline:none}.slot-game-scene{display:grid;align-items:end;grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr);gap:clamp(1rem,4vw,2.2rem);min-height:0}.slot-machine-stage{position:relative;display:grid;place-items:center;min-height:28rem;isolation:isolate}.slot-machine-stage:before{content:"";position:absolute;right:6%;bottom:.8rem;left:9%;z-index:-1;height:8rem;border:3px solid var(--line);border-bottom:0;border-radius:50% 50% 0 0;background:color-mix(in srgb,var(--sage) 22%,var(--panel-2))}.slot-machine-card{position:relative;width:min(360px,84vw);transform:rotate(-2deg);transition:transform .18s ease,filter .2s ease}.slot-machine-card.is-spinning{animation:reward-machine-shake .26s ease-in-out infinite}.slot-machine-card.is-accepting .slot-coin-mouth{animation:slot-mouth-accept .42s ease}.slot-machine-card.is-denied{animation:slot-denied .26s ease}.slot-machine-card.is-accepting,.slot-machine-card.reward-rare,.slot-machine-card.reward-epic,.slot-machine-card.reward-legendary{filter:drop-shadow(0 0 18px color-mix(in srgb,var(--ochre) 56%,transparent))}.slot-machine-antenna{width:4.3rem;height:2rem;margin:0 auto -.3rem;border:3px solid var(--line);border-bottom:0;border-radius:999px 999px 0 0;background:color-mix(in srgb,var(--pine) 42%,var(--panel))}.slot-machine-face{border:4px solid var(--line);border-radius:26px 26px 18px 18px;background:linear-gradient(135deg,color-mix(in srgb,var(--panel) 88%,var(--mauve)),color-mix(in srgb,var(--panel-2) 88%,var(--wave-color)));box-shadow:14px 16px 0 var(--shadow);padding:1rem;transition:box-shadow .18s ease,transform .18s ease}.slot-machine-card.reward-uncommon .slot-machine-face,.slot-machine-card.reward-rare .slot-machine-face,.slot-machine-card.reward-epic .slot-machine-face,.slot-machine-card.reward-legendary .slot-machine-face{box-shadow:14px 16px 0 var(--shadow),0 0 0 5px color-mix(in srgb,var(--reward-color, var(--ochre)) 30%,transparent)}.slot-machine-screen{display:grid;gap:.18rem;min-height:2.2rem;border:2px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--line) 80%,var(--pine));color:color-mix(in srgb,var(--ochre) 86%,#fff);font-family:var(--body-font);font-size:.86rem;font-weight:900;padding:.48rem .65rem;text-align:center;text-transform:lowercase}.slot-machine-screen.is-instructions{min-height:6.4rem;align-content:center;background:linear-gradient(135deg,color-mix(in srgb,var(--pine) 74%,var(--line)),color-mix(in srgb,var(--line) 78%,var(--wave-color))),color-mix(in srgb,var(--line) 80%,var(--pine));color:color-mix(in srgb,var(--ochre) 82%,#fff);padding:.65rem .75rem}.slot-machine-screen.is-instructions strong{color:color-mix(in srgb,#fff 84%,var(--ochre));font-family:var(--header-font);font-size:1rem;line-height:1}.slot-machine-screen.is-instructions span{display:block;color:color-mix(in srgb,#fff 76%,var(--ochre));font-size:.74rem;line-height:1.2}.slot-machine-screen.is-typing{animation:slot-screen-pop .22s ease}.slot-reel-window{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;margin:.9rem 0;border:3px solid var(--line);border-radius:18px;background:color-mix(in srgb,var(--wave-color) 18%,var(--panel));padding:.65rem;transition:box-shadow .16s ease,transform .16s ease}.slot-reel-window.is-magnetic,.slot-reel-window:focus-visible{box-shadow:0 0 0 4px color-mix(in srgb,var(--ochre) 42%,transparent);outline:none}.slot-reel{display:grid;place-items:center;aspect-ratio:1;border:2px solid var(--line);border-radius:14px;background:var(--panel);box-shadow:inset 0 -8px color-mix(in srgb,var(--shadow) 10%,transparent)}.slot-reel.is-spinning .slot-symbol{animation:slot-reel-spin .18s linear infinite}.slot-reel.is-stopping{animation:slot-reel-stop .26s ease}.slot-reel.is-match{box-shadow:inset 0 -8px color-mix(in srgb,var(--shadow) 10%,transparent),0 0 0 4px color-mix(in srgb,var(--ochre) 42%,transparent),0 0 18px color-mix(in srgb,var(--ochre) 34%,transparent);animation:slot-symbol-match .62s ease both}.slot-symbol{width:60%;height:60%;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.1}.slot-symbol-common{color:var(--ink)}.slot-symbol-uncommon{color:var(--pine)}.slot-symbol-rare{color:var(--wave-color)}.slot-symbol-epic{color:var(--mauve)}.slot-symbol-legendary{color:var(--ochre)}.slot-insert-row{display:block}.slot-coin-mouth{flex:1;height:1.8rem;border:3px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--line) 72%,var(--panel));box-shadow:inset 0 5px color-mix(in srgb,#000 16%,transparent)}.slot-table{align-self:center;display:grid;gap:.75rem;padding:.9rem;transform:rotate(1.3deg);transition:transform .18s ease,box-shadow .18s ease}.slot-table.is-earning{box-shadow:10px 12px 0 var(--shadow),0 0 0 5px color-mix(in srgb,var(--ochre) 34%,transparent);transform:rotate(.4deg) translateY(-3px)}.slot-table.is-receiving .slot-storage{animation:slot-tray-catch .68s cubic-bezier(.18,.9,.2,1)}.slot-table.is-big-reward .slot-storage{box-shadow:inset 0 -12px color-mix(in srgb,var(--shadow) 12%,transparent),0 0 0 5px color-mix(in srgb,var(--ochre) 30%,transparent),0 0 24px color-mix(in srgb,var(--ochre) 28%,transparent)}.slot-tray-header{display:flex;justify-content:space-between;gap:.8rem;font-weight:800}.slot-tray-header>span{color:var(--muted);font-size:.82rem;text-align:right}.slot-storage{position:relative;display:grid;gap:.7rem;min-height:15rem;border:3px solid var(--line);border-radius:24px;background:radial-gradient(circle at 50% 18%,color-mix(in srgb,#fff 26%,transparent),transparent 9rem),color-mix(in srgb,var(--panel-2) 88%,var(--ochre));box-shadow:inset 0 -12px color-mix(in srgb,var(--shadow) 12%,transparent);overflow:hidden;padding:.75rem}.slot-storage:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(110deg,transparent 20%,color-mix(in srgb,#fff 24%,transparent) 46%,transparent 72%);opacity:0;pointer-events:none;transform:translate(-100%)}.slot-table.is-receiving .slot-storage:after{animation:slot-tray-shine .76s ease}.slot-storage-bay{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label count" "value stack";align-items:center;min-height:4.15rem;border:2px solid var(--line);border-radius:16px;background:color-mix(in srgb,var(--panel) 82%,transparent);color:var(--ink);cursor:pointer;overflow:hidden;padding:.55rem .65rem;text-align:left;transition:background .16s ease,box-shadow .16s ease,opacity .16s ease,transform .16s ease}.slot-storage-bay:disabled{cursor:not-allowed;opacity:.54}.slot-storage-bay:not(:disabled):hover,.slot-storage-bay:not(:disabled):focus-visible,.slot-storage-bay.is-selected{box-shadow:0 5px color-mix(in srgb,var(--shadow) 72%,transparent),0 0 0 4px color-mix(in srgb,var(--coin-accent, var(--ochre)) 32%,transparent);outline:none}.slot-storage-bay.is-changing{animation:slot-storage-change .68s cubic-bezier(.18,.9,.2,1)}.slot-storage-gold{--coin-accent: var(--ochre)}.slot-storage-silver{--coin-accent: #bfc8d3}.slot-storage-platinum{--coin-accent: var(--wave-color)}.slot-storage-label{grid-area:label;color:var(--muted);font-size:.76rem;font-weight:900;text-transform:lowercase}.slot-storage-bay strong{grid-area:count;font-family:var(--header-font);font-size:1.25rem}.slot-storage-value{grid-area:value;color:var(--muted);font-size:.75rem;font-weight:800}.slot-storage-stack{position:relative;grid-area:stack;justify-self:end;width:6.5rem;height:2.4rem}.slot-stack-coin{position:absolute;right:calc(var(--stack-index) * .43rem);bottom:calc(var(--stack-index) * .08rem);display:grid;place-items:center;width:1.85rem;height:1.85rem;border:2px solid var(--line);border-radius:50%;box-shadow:0 3px color-mix(in srgb,var(--shadow) 62%,transparent);color:var(--ink);font-size:.62rem;font-weight:900;transform:rotate(var(--stack-rot))}.slot-storage-empty{position:absolute;right:0;bottom:.4rem;color:var(--muted);font-size:.75rem;font-weight:800}.slot-tray-coin,.slot-drag-coin,.slot-insert-coin{position:absolute;display:grid;place-items:center;width:2.35rem;height:2.35rem;border:3px solid var(--line);border-radius:50%;box-shadow:0 4px color-mix(in srgb,var(--shadow) 72%,transparent);color:var(--ink);font-size:.76rem;font-weight:900;touch-action:none}.slot-payout-coin{position:absolute;left:0;top:0;z-index:238;display:grid;place-items:center;width:2rem;height:2rem;border:3px solid var(--line);border-radius:50%;box-shadow:0 4px color-mix(in srgb,var(--shadow) 68%,transparent);color:var(--ink);font-size:.7rem;font-weight:900;pointer-events:none;transform:translate(var(--start-x),var(--start-y));animation:slot-payout-arc var(--duration) cubic-bezier(.14,.78,.24,1) var(--delay) forwards}.slot-payout-coin:after,.slot-tray-coin:after{content:"";position:absolute;inset:16% 20% auto auto;width:24%;height:24%;border-radius:50%;background:color-mix(in srgb,#fff 58%,transparent);opacity:.76}.slot-tray-coin{left:var(--coin-x);top:var(--coin-y);cursor:grab;transform:translate(-50%,-50%) rotate(var(--coin-rot));transition:box-shadow .16s ease,transform .16s ease}.slot-tray-coin:hover,.slot-tray-coin:focus-visible,.slot-tray-coin.is-selected{box-shadow:0 6px 0 var(--shadow),0 0 0 4px color-mix(in srgb,var(--ochre) 38%,transparent);outline:none}.slot-drag-coin{z-index:240;pointer-events:none;transform:translate(-50%,-50%) rotate(8deg) scale(1.08)}.slot-insert-coin{z-index:235;pointer-events:none;left:0;top:0;transform:translate(var(--insert-start-x),var(--insert-start-y)) translate(-50%,-50%) scale(1);animation:slot-coin-insert .46s cubic-bezier(.18,.9,.2,1) forwards}.slot-currency-delta{position:absolute;z-index:242;border:2px solid var(--line);border-radius:999px;background:var(--panel);box-shadow:0 4px 0 var(--shadow);color:var(--ink);font-size:.76rem;font-weight:900;padding:.22rem .5rem;pointer-events:none;transform:translate(-50%);animation:slot-delta-pop .92s ease forwards}.slot-delta-spend{background:color-mix(in srgb,var(--rust) 18%,var(--panel))}.slot-delta-gain{background:color-mix(in srgb,var(--ochre) 22%,var(--panel))}.slot-coin-gold{background:var(--ochre)}.slot-coin-silver{background:color-mix(in srgb,var(--panel) 70%,#bec7d2)}.slot-coin-platinum{background:color-mix(in srgb,var(--wave-color) 38%,#f5fbff)}.slot-empty-tray{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--muted);font-weight:800;text-align:center}.slot-help{margin:0;color:var(--muted);font-size:.88rem;font-weight:700;line-height:1.35}.slot-result-card{position:absolute;left:0;bottom:.6rem;display:grid;grid-template-columns:auto minmax(13rem,1fr);gap:.35rem .75rem;z-index:6;width:min(30rem,92vw);padding:.75rem;opacity:.94;transform:rotate(-1.5deg);transition:box-shadow .18s ease,opacity .22s ease,transform .22s ease}.slot-result-card.is-visible{animation:slot-result-reveal .52s cubic-bezier(.18,.9,.2,1.18)}.slot-result-card.is-collapsed{opacity:0;pointer-events:none;transform:translateY(.8rem) rotate(-1.5deg) scale(.96)}.slot-result-card.reward-rare,.slot-result-card.reward-epic,.slot-result-card.reward-legendary{box-shadow:10px 12px color-mix(in srgb,var(--shadow) 78%,transparent),0 0 0 5px color-mix(in srgb,var(--reward-color) 34%,transparent),0 0 28px color-mix(in srgb,var(--reward-color) 28%,transparent)}.slot-result-icon{grid-row:1 / 4;display:grid;place-items:center;width:2.6rem;height:2.6rem;border:2px solid var(--line);border-radius:12px;background:var(--panel-2)}.slot-result-rarity{align-self:start;grid-column:2;grid-row:1;width:fit-content;border:2px solid color-mix(in srgb,var(--reward-color, var(--line)) 74%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--reward-color, var(--panel)) 18%,var(--panel));color:var(--ink);padding:.12rem .42rem;font-size:.68rem;font-weight:900;text-transform:lowercase}.slot-result-card strong,.slot-result-card p{grid-column:2;min-width:0}.slot-result-card strong{grid-row:2}.slot-result-card p{grid-row:3;margin:0;color:var(--muted);font-size:.88rem;line-height:1.35}.slot-result-card small{grid-column:2;grid-row:4;color:var(--muted);font-size:.74rem;font-weight:900;text-transform:lowercase}.slot-result-card.is-new-unlock strong{color:color-mix(in srgb,var(--reward-color, var(--ochre)) 72%,var(--ink))}.slot-game-footer{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:1rem;padding:.85rem}.slot-log>div,.slot-collection>div{display:flex;flex-wrap:wrap;gap:.48rem;margin-top:.5rem}.slot-log-item,.slot-collection-item{display:inline-flex;align-items:center;gap:.38rem;min-width:0;border:2px solid color-mix(in srgb,var(--line) 62%,transparent);border-radius:999px;background:color-mix(in srgb,var(--panel) 78%,transparent);color:var(--ink);padding:.32rem .52rem;font-size:.78rem;font-weight:800}.slot-log-icon,.slot-collection-icon{width:1rem;height:1rem;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:2.2}.slot-collection-item.is-locked{opacity:.46}.slot-collection-completion{margin-top:.7rem}.slot-collection-completion p{margin:0;color:var(--muted);font-size:.86rem;font-weight:800}.slot-collection-completion span{color:var(--ink)}.slot-claim-reward,.slot-dotfiles-download,.slot-rebirth-button,.slot-completion-close{border:2px solid var(--line);border-radius:999px;background:color-mix(in srgb,var(--mauve) 32%,var(--panel));box-shadow:0 4px 0 var(--shadow);color:var(--ink);cursor:pointer;font-weight:900;padding:.42rem .72rem;text-decoration:none;text-transform:lowercase;transition:box-shadow .16s ease,transform .16s ease}.slot-claim-reward:hover,.slot-claim-reward:focus-visible,.slot-dotfiles-download:hover,.slot-dotfiles-download:focus-visible,.slot-rebirth-button:hover,.slot-rebirth-button:focus-visible,.slot-completion-close:hover,.slot-completion-close:focus-visible{box-shadow:0 6px 0 var(--shadow);outline:none}.slot-completion-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:260;display:grid;place-items:center;background:color-mix(in srgb,var(--line) 46%,transparent);opacity:0;padding:1rem;pointer-events:none;transition:opacity .18s ease}.slot-completion-modal.is-visible{opacity:1;pointer-events:auto}.slot-completion-panel{position:relative;width:min(34rem,94vw);border:3px solid var(--line);border-radius:22px;background:radial-gradient(circle at 14% 18%,color-mix(in srgb,var(--mauve) 28%,transparent),transparent 8rem),radial-gradient(circle at 88% 18%,color-mix(in srgb,var(--ochre) 22%,transparent),transparent 8rem),var(--panel);box-shadow:12px 14px 0 var(--shadow);overflow:hidden;padding:1.1rem;transform:translateY(.8rem) scale(.96);transition:transform .2s cubic-bezier(.18,.9,.2,1)}.slot-completion-modal.is-visible .slot-completion-panel{transform:translateY(0) scale(1)}.slot-completion-panel h2{margin:.2rem 0 .55rem;font-family:var(--header-font)}.slot-completion-panel p{margin:.65rem 0 0;color:var(--muted);font-weight:800;line-height:1.45}.slot-completion-panel a{color:var(--secondary);text-decoration:underline;text-decoration-style:dotted;text-underline-offset:.16em}.slot-completion-panel a:hover,.slot-completion-panel a:focus-visible{color:var(--ink)}.slot-dotfiles-note{border:2px dashed color-mix(in srgb,var(--line) 52%,transparent);border-radius:14px;background:color-mix(in srgb,var(--panel-2) 72%,transparent);padding:.7rem}.slot-completion-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:.85rem}.slot-dotfiles-download,.slot-rebirth-button{display:inline-flex}.slot-dotfiles-download.is-disabled{background:color-mix(in srgb,var(--muted) 20%,var(--panel));color:var(--muted);cursor:not-allowed;opacity:.68}.slot-dotfiles-download.is-disabled:hover,.slot-dotfiles-download.is-disabled:focus-visible{box-shadow:0 4px 0 var(--shadow);transform:none}.slot-rebirth-button{background:color-mix(in srgb,var(--rust) 32%,var(--panel))}.slot-completion-close{position:absolute;top:.75rem;right:.75rem;display:grid;place-items:center;width:2rem;height:2rem;padding:0}.slot-heart{position:absolute;color:color-mix(in srgb,var(--mauve) 72%,var(--rust));font-family:var(--header-font);font-size:3.4rem;opacity:.28;pointer-events:none}.slot-heart-one{right:3.8rem;top:.6rem;transform:rotate(12deg)}.slot-heart-two{right:1.3rem;bottom:.3rem;transform:rotate(-14deg)}.slot-reward-burst{position:absolute;left:50%;top:46%;pointer-events:none}.slot-game-overlay.has-spotlight:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 39% 47%,color-mix(in srgb,var(--reward-color, var(--ochre)) 22%,transparent),transparent 18rem),radial-gradient(circle at 39% 47%,color-mix(in srgb,#fff 16%,transparent),transparent 8rem);opacity:0;pointer-events:none;animation:slot-spotlight 1.4s ease forwards}.slot-game-overlay.is-rare-win,.slot-game-overlay.is-epic-win,.slot-game-overlay.is-legendary-win{--screen-win-scale: 1}.slot-game-overlay.is-rare-win .slot-machine-card,.slot-game-overlay.is-epic-win .slot-machine-card,.slot-game-overlay.is-legendary-win .slot-machine-card{animation:slot-big-win-machine .98s cubic-bezier(.18,.9,.2,1)}.slot-game-overlay.is-epic-win .slot-result-card,.slot-game-overlay.is-legendary-win .slot-result-card{animation:slot-result-showcase .98s cubic-bezier(.18,.9,.2,1.16)}.slot-celebration-ring{position:absolute;left:50%;top:45%;z-index:1;width:5rem;height:5rem;border:3px solid color-mix(in srgb,var(--reward-color, var(--ochre)) 68%,transparent);border-radius:50%;opacity:0;pointer-events:none;transform:translate(-50%,-50%) scale(.5);animation:slot-ring-burst .95s ease-out var(--ring-delay) forwards}.slot-reward-burst span{position:absolute;width:.55rem;height:.55rem;border-radius:50%;background:var(--reward-color, var(--ochre));box-shadow:0 0 14px color-mix(in srgb,var(--reward-color, var(--ochre)) 62%,transparent);animation:slot-particle .86s ease-out forwards;transform:rotate(var(--angle)) translate(var(--distance))}.slot-value-popup{position:absolute;left:50%;top:20%;z-index:6;border:2px solid var(--line);border-radius:999px;background:var(--panel);box-shadow:0 5px 0 var(--shadow);color:var(--ink);padding:.32rem .62rem;font-weight:900;pointer-events:none;transform:translate(-50%);animation:slot-value-pop .98s ease forwards}.reward-common{--reward-color: var(--ochre)}.reward-uncommon{--reward-color: var(--pine)}.reward-rare{--reward-color: var(--wave-color)}.reward-epic{--reward-color: var(--mauve)}.reward-legendary{--reward-color: var(--ochre)}.reward-uncommon,.reward-rare,.reward-epic,.reward-legendary{border-color:color-mix(in srgb,var(--reward-color) 72%,var(--line))}@keyframes reward-machine-shake{0%,to{transform:rotate(-2deg) translate(0)}35%{transform:rotate(-1deg) translate(-2px)}70%{transform:rotate(-3deg) translate(2px)}}@keyframes slot-denied{0%,to{transform:rotate(-2deg) translate(0)}25%{transform:rotate(-2deg) translate(-7px)}55%{transform:rotate(-2deg) translate(6px)}78%{transform:rotate(-2deg) translate(-3px)}}@keyframes slot-mouth-accept{0%,to{transform:scaleX(1);filter:none}45%{transform:scaleX(1.08);filter:brightness(1.25)}}@keyframes slot-reel-spin{0%{transform:translateY(-10px) scale(.92);opacity:.45}to{transform:translateY(10px) scale(1.05);opacity:1}}@keyframes slot-reel-stop{0%{transform:translateY(-10px)}65%{transform:translateY(4px)}to{transform:translateY(0)}}@keyframes slot-symbol-match{0%{transform:scale(1)}40%{transform:scale(1.08) translateY(-3px)}to{transform:scale(1)}}@keyframes slot-screen-pop{0%{transform:scale(.98);opacity:.72}to{transform:scale(1);opacity:1}}@keyframes slot-coin-insert{0%{opacity:1;transform:translate(var(--insert-start-x),var(--insert-start-y)) translate(-50%,-50%) rotate(-18deg) scale(1.08)}72%{opacity:1;transform:translate(var(--insert-end-x),var(--insert-end-y)) translate(-50%,-50%) rotate(6deg) scale(.84)}to{opacity:0;transform:translate(var(--insert-end-x),var(--insert-end-y)) translate(-50%,-24%) rotate(18deg) scale(.18)}}@keyframes slot-delta-pop{0%{opacity:0;transform:translate(-50%) translateY(8px) scale(.88)}24%{opacity:1;transform:translate(-50%) translateY(-4px) scale(1.05)}to{opacity:0;transform:translate(-50%) translateY(-32px) scale(.96)}}@keyframes slot-payout-arc{0%{opacity:0;transform:translate(var(--start-x),var(--start-y)) translate(-50%,-50%) scale(.72) rotate(0)}12%{opacity:1}62%{transform:translate(var(--mid-x),var(--mid-y)) translate(-50%,-50%) scale(1.08) rotate(var(--spin))}86%{opacity:1;transform:translate(var(--end-x),var(--end-y)) translate(-50%,-50%) scale(1) rotate(var(--spin))}to{opacity:0;transform:translate(var(--end-x),var(--end-y)) translate(-50%,-40%) scale(.72) rotate(var(--spin))}}@keyframes slot-tray-catch{0%,to{transform:translateY(0) scale(1)}34%{transform:translateY(4px) scale(.985)}68%{transform:translateY(-2px) scale(1.012)}}@keyframes slot-tray-shine{0%{opacity:0;transform:translate(-100%)}22%{opacity:.8}to{opacity:0;transform:translate(100%)}}@keyframes slot-storage-change{0%,to{transform:translateY(0) scale(1)}35%{transform:translateY(-4px) scale(1.025)}68%{transform:translateY(2px) scale(.992)}}@keyframes slot-result-reveal{0%{opacity:0;transform:translateY(14px) rotate(-1.5deg) scale(.92)}64%{opacity:1;transform:translateY(-5px) rotate(-.5deg) scale(1.035)}to{opacity:.94;transform:rotate(-1.5deg) scale(1)}}@keyframes slot-result-showcase{0%{opacity:0;transform:translateY(24px) rotate(3deg) scale(.82)}48%{opacity:1;transform:translateY(-12px) rotate(-1deg) scale(1.12)}74%{transform:translateY(2px) rotate(.6deg) scale(.98)}to{opacity:.98;transform:rotate(-1.5deg) scale(1)}}@keyframes slot-spotlight{0%,to{opacity:0}24%,72%{opacity:1}}@keyframes slot-big-win-machine{0%{transform:rotate(-2deg) scale(1)}28%{transform:rotate(-3deg) scale(1.045) translateY(-5px)}52%{transform:rotate(1deg) scale(1.02) translateY(1px)}to{transform:rotate(-2deg) scale(1)}}@keyframes slot-ring-burst{0%{opacity:.8;transform:translate(-50%,-50%) scale(.42)}to{opacity:0;transform:translate(-50%,-50%) scale(2.7)}}@keyframes slot-value-pop{0%{opacity:0;transform:translate(-50%) translateY(10px) scale(.88)}24%{opacity:1;transform:translate(-50%) translateY(-4px) scale(1.08)}to{opacity:0;transform:translate(-50%) translateY(-34px) scale(.96)}}@keyframes slot-particle{0%{opacity:1;transform:rotate(var(--angle)) translate(0) scale(1)}to{opacity:0;transform:rotate(var(--angle)) translate(var(--distance)) scale(.3)}}@media (max-width: 760px){.slot-game-overlay{align-items:start;padding:.75rem}.slot-game-shell{min-height:calc(100dvh - 1.5rem)}.slot-game-header,.slot-game-scene,.slot-game-footer{grid-template-columns:1fr}.slot-game-header{gap:.65rem}.slot-game-stats{justify-content:start}.slot-machine-stage{min-height:25rem}.slot-table{transform:none}.slot-storage{min-height:11rem}.slot-result-card{position:static;margin-top:-1.2rem;width:100%;grid-template-columns:auto minmax(0,1fr);transform:none}}@media (prefers-reduced-motion: reduce){.slot-game-overlay,body.slot-machine-active .desktop>:not(.slot-game-overlay),.slot-machine-card,.slot-reel,.slot-tray-coin,.slot-insert-coin,.slot-payout-coin,.slot-currency-delta,.slot-storage-bay,.slot-celebration-ring,.slot-completion-modal,.slot-completion-panel,.slot-machine-screen,.slot-reward-burst span{animation:none;transition:none}}@media (max-width: 760px){:root{--wave-drift: 14px;--right-hill-width: clamp(260px, 38vw, 380px);--hill-overlap: clamp(14px, 4vw, 34px);--water-middle-min-width: 32vw;--hill-height: clamp(210px, 30vw, 270px)}.desktop{padding:20px 18px calc(var(--wave-height) + var(--hill-height) * .65);overflow-x:hidden}.desktop-icons{grid-template-columns:repeat(3,minmax(96px,1fr));gap:28px 18px;width:min(420px,100%)}.mobile-desktop-note{display:flex}.window{position:relative;top:auto;right:auto;left:auto;display:none;width:100%;max-width:680px;margin:1rem auto}.window-bar button:before{top:-14px;right:-14px;bottom:-14px;left:-14px}.window.is-open{display:block}.scene-decor{opacity:.65}.hill{position:absolute}.hill-two{right:calc(var(--hill-overlap) * -1);bottom:0;display:block;opacity:1}.water,.vinyl-island{position:absolute;bottom:0}.hill-actions{top:36px;left:auto;right:calc(var(--hill-overlap) + 34px)}.site-footer{right:calc(var(--hill-overlap) + 22px);bottom:22px;max-width:min(220px,calc(100% - var(--hill-overlap) - 26px))}}@media (max-width: 560px){:root{--right-hill-width: clamp(200px, 45vw, 290px);--hill-overlap: 22px;--water-middle-min-width: 28vw;--hill-height: clamp(188px, 42vw, 240px)}.hero-panel{margin-top:42px}.desktop-icons{grid-template-columns:repeat(3,minmax(86px,1fr));gap:32px 16px;width:min(340px,100%)}.profile-grid{grid-template-columns:1fr}.links-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.work-project{grid-template-columns:1fr}.avatar{width:96px;height:96px}.hill-two{right:calc(var(--hill-overlap) * -1);bottom:0}.water{bottom:0}.vinyl-island{width:136px;height:88px}.vinyl-player-button{top:13%;width:76px}.hill-actions{top:28px;right:calc(var(--hill-overlap) + 22px);gap:.45rem}.hill-actions .icon-pill{width:2.55rem;height:2.4rem}.hill-actions .icon-pill svg{width:1.18rem;height:1.18rem}.site-footer{right:calc(var(--hill-overlap) + 14px);bottom:18px;max-width:min(180px,calc(100% - var(--hill-overlap) - 18px));gap:.32rem;font-size:.66rem}.site-footer button{width:1.12rem;height:1.12rem}}@media (max-width: 380px){:root{--right-hill-width: 188px;--hill-overlap: 18px;--water-middle-min-width: 12vw;--hill-height: 188px}.hill-actions{right:calc(var(--hill-overlap) + 16px);gap:.35rem}.hill-actions .icon-pill{width:2.35rem;height:2.2rem}.hill-actions .icon-pill svg{width:1.08rem;height:1.08rem}.vinyl-island{width:118px;height:78px}.vinyl-player-button{width:68px}.site-footer{right:calc(var(--hill-overlap) + 10px);bottom:16px;max-width:150px;font-size:.6rem}.desktop-icons{grid-template-columns:repeat(3,minmax(72px,1fr));gap:28px 10px;width:min(280px,100%)}.links-grid,.animation-grid,.feature-list{grid-template-columns:1fr}.feature-toggle{padding:.6rem}.feature-preview{min-height:6.5rem}}@media (max-height: 560px){:root{--hill-height: 184px}.hill-actions{top:26px;right:calc(var(--hill-overlap) + 22px)}.water{--wave-height: 190px;bottom:0}}
