:root{--hue: 176;--bg: hsl(calc(var(--hue) - 2) 25% 6%);--bg-alt: hsl(var(--hue) 27% 8%);--surface: hsl(var(--hue) 25% 12%);--surface-2: hsl(var(--hue) 23% 15%);--ink: hsl(var(--hue) 30% 93%);--ink-soft: hsl(var(--hue) 12% 79%);--white: hsl(var(--hue) 45% 97%);--white-soft: hsl(var(--hue) 45% 97% / .85);--muted: hsl(calc(var(--hue) - 15) 8% 61%);--line: hsl(calc(var(--hue) + 7) 21% 19%);--teal: hsl(calc(var(--hue) - 4) 36% 54%);--sea: hsl(calc(var(--hue) + 11) 48% 61%);--sage: hsl(calc(var(--hue) - 23) 28% 70%);--amber: hsl(calc(var(--hue) + 30) 70% 66%);--clay: hsl(calc(var(--hue) - 30) 58% 64%);--accent: var(--teal);--accent-2: var(--amber);--blob-1: hsl(calc(var(--hue) + 11) 45% 50% / .08);--blob-2: var(--blob-1);--blob-3: var(--blob-1);--glow: hsl(calc(var(--hue) + 30) 70% 66% / .06);--shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 8px 24px -12px rgba(0, 0, 0, .6);--shadow-lift: 0 2px 4px rgba(0, 0, 0, .3), 0 18px 40px -16px rgba(0, 0, 0, .7);--radius: 10px;--radius-sm: 6px;--maxw: 960px;--font-display: "Lora", Georgia, "Times New Roman", "Songti SC", "Noto Serif SC", "SimSun", serif;--font-body: "Satoshi", system-ui, -apple-system, "Segoe UI", Roboto, "PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif;--ease: cubic-bezier(.22, 1, .36, 1);color-scheme:dark}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font-body);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased;animation:page-in .6s var(--ease) both;transition:background-color .4s var(--ease),color .4s var(--ease)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:100;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}@keyframes page-in{0%{opacity:0}to{opacity:1}}img{max-width:100%;display:block}a{color:var(--accent);text-decoration:none}h1,h2,h3{font-family:var(--font-display);font-weight:500;line-height:1.15;letter-spacing:-.015em;margin:0 0 .5em}h1{font-size:clamp(2.2rem,5vw,3.4rem)}h2{font-size:clamp(1.6rem,3vw,2.1rem)}h3{font-size:1.15rem}p{margin:0 0 1em;color:var(--ink-soft)}::selection{background:var(--sage);color:#10201e}:focus-visible{outline:2px solid var(--amber);outline-offset:3px;border-radius:4px}.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 24px}.site-header .container,.site-footer .container{max-width:1240px}.skip-link{position:absolute;left:-999px;top:8px;background:var(--surface);padding:8px 14px;border-radius:8px;z-index:200}.skip-link:focus{left:16px}.site-header{position:sticky;top:0;z-index:50;backdrop-filter:blur(14px) saturate(1.2);-webkit-backdrop-filter:blur(14px) saturate(1.2);background:color-mix(in srgb,var(--bg) 78%,transparent);transition:background-color .4s var(--ease)}.site-header:after,.site-footer:before{content:"";position:absolute;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--line) 25%,var(--line) 75%,transparent);pointer-events:none}.site-header:after{bottom:0}.site-footer:before{top:0}.nav{display:flex;align-items:center;justify-content:space-between;height:60px;gap:16px}.brand{font-family:var(--font-display);font-size:1.35rem;font-weight:600;color:var(--ink);display:inline-flex;align-items:center;gap:10px}.brand-sig{width:48px;height:38px;flex:none;background:linear-gradient(135deg,var(--sea),var(--teal) 55%,var(--amber));-webkit-mask:url(/signature.png) center / contain no-repeat;mask:url(/signature.png) center / contain no-repeat;transition:transform .5s var(--ease)}.brand:hover .brand-sig{transform:rotate(-8deg) scale(1.08)}.nav-links{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}.nav-links a{position:relative;display:inline-block;padding:8px 12px;color:var(--ink-soft);font-size:.95rem;font-weight:500;border-radius:8px;transition:color .25s var(--ease)}.nav-links a:after{content:"";position:absolute;left:12px;right:12px;bottom:4px;height:2px;border-radius:2px;background:linear-gradient(90deg,var(--teal),var(--amber));transform:scaleX(0);transform-origin:left;transition:transform .35s var(--ease)}.nav-links a:hover,.nav-links a[aria-current=page]{color:var(--ink)}.nav-links a:hover:after,.nav-links a[aria-current=page]:after{transform:scaleX(1)}.menu-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid var(--line);background:var(--surface);color:var(--ink);width:38px;height:38px;border-radius:6px;display:grid;place-items:center;cursor:pointer;transition:transform .3s var(--ease),border-color .3s}.menu-toggle:hover{transform:translateY(-1px);border-color:var(--sage)}.hue-slider{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:96px;height:6px;border-radius:999px;background:linear-gradient(90deg,#59c08c,#59c0b7,#60a5c7,#7087cd,#8d7fd2);cursor:pointer;outline-offset:6px}.hue-slider::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--sea);border:2px solid var(--ink);box-shadow:0 2px 8px #0006;transition:transform .2s var(--ease)}.hue-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--sea);border:2px solid var(--ink);box-shadow:0 2px 8px #0006}.hue-slider:hover::-webkit-slider-thumb{transform:scale(1.15)}@media (max-width: 720px){.hue-slider{width:72px}}.nav-actions{display:flex;align-items:center;gap:8px}.menu-toggle{display:none}.menu-toggle span,.menu-toggle span:before,.menu-toggle span:after{display:block;width:16px;height:2px;background:currentColor;border-radius:2px;position:relative;transition:transform .3s var(--ease),background .2s}.menu-toggle span:before,.menu-toggle span:after{content:"";position:absolute;left:0}.menu-toggle span:before{top:-5px}.menu-toggle span:after{top:5px}.nav-open .menu-toggle span{background:transparent}.nav-open .menu-toggle span:before{transform:translateY(5px) rotate(45deg)}.nav-open .menu-toggle span:after{transform:translateY(-5px) rotate(-45deg)}@media (max-width: 720px){.menu-toggle{display:grid}.nav-links{position:absolute;top:60px;left:0;right:0;flex-direction:column;align-items:stretch;padding:8px 16px 16px;background:var(--bg);border-bottom:1px solid var(--line);transform:translateY(-8px);opacity:0;pointer-events:none;transition:opacity .3s var(--ease),transform .3s var(--ease)}.nav-open .nav-links{opacity:1;transform:none;pointer-events:auto}.nav-links a{padding:12px}.nav-links a:after{left:12px;right:auto;width:24px;bottom:6px}}.btn{display:inline-flex;align-items:center;gap:8px;font-family:inherit;padding:10px 18px;border-radius:var(--radius-sm);font-weight:500;font-size:.92rem;border:1px solid transparent;cursor:pointer;transition:transform .3s var(--ease),box-shadow .3s var(--ease),background-color .3s,color .3s,border-color .3s}.btn svg{width:16px;height:16px;transition:transform .3s var(--ease)}.btn:hover svg{transform:translate(3px)}.btn-primary{background:linear-gradient(120deg,color-mix(in srgb,var(--sea) 82%,var(--bg)),color-mix(in srgb,var(--teal) 82%,var(--bg)) 45%,color-mix(in srgb,var(--amber) 82%,var(--bg)));background-size:180% 100%;background-position:0% 50%;color:var(--white);font-weight:600;box-shadow:0 6px 16px -6px #0009,0 2px 4px #0000004d;transition:transform .3s var(--ease),box-shadow .3s var(--ease),background-position .6s var(--ease)}.btn-primary:hover{transform:translateY(-2px);background-position:100% 50%;box-shadow:0 10px 22px -8px #000000a6,0 3px 6px #0000004d}.btn-ghost{border-color:var(--line);color:var(--ink);background:color-mix(in srgb,var(--surface) 70%,transparent);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.btn-ghost:hover{border-color:var(--amber);color:var(--amber);transform:translateY(-2px)}.hero{position:relative;padding:clamp(48px,8vw,96px) 0 clamp(40px,6vw,72px);overflow:hidden}.ambient{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;overflow:hidden;pointer-events:none}.ambient-blobs{position:absolute;top:-40px;right:-40px;bottom:-40px;left:-40px}.cursor-glow{position:absolute;left:-55px;top:-55px;width:110px;height:110px;border-radius:50%;background:var(--glow);filter:blur(30px);opacity:0;transition:opacity .4s var(--ease);will-change:transform}.cursor-glow.on{opacity:1}.blob{position:absolute;border-radius:50%;filter:blur(110px);will-change:transform}.blob-1{width:560px;height:560px;background:var(--blob-1);top:-160px;right:-120px;animation:drift-1 22s ease-in-out infinite alternate}.blob-2{width:480px;height:480px;background:var(--blob-2);bottom:-180px;left:-140px;animation:drift-2 26s ease-in-out infinite alternate}.blob-3{width:360px;height:360px;background:var(--blob-3);top:35%;right:30%;animation:drift-3 20s ease-in-out infinite alternate}@keyframes drift-1{to{transform:translate(-80px,60px) scale(1.1)}}@keyframes drift-2{to{transform:translate(90px,-50px) scale(.92)}}@keyframes drift-3{to{transform:translate(-60px,-40px) scale(1.15)}}.hero-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:clamp(32px,6vw,80px);align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:10px;font-size:.85rem;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--teal);margin-bottom:20px}.eyebrow .dot{width:8px;height:8px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 0 var(--amber);animation:pulse 2.6s ease-out infinite}@keyframes pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--amber) 60%,transparent)}70%{box-shadow:0 0 0 10px transparent}to{box-shadow:0 0 0 0 transparent}}.hero h1 .accent{font-style:italic;background:linear-gradient(100deg,var(--teal),var(--sea) 45%,var(--amber));-webkit-background-clip:text;background-clip:text;color:transparent;background-size:200% 100%;animation:shimmer 8s ease-in-out infinite alternate;padding-right:.08em}@keyframes shimmer{to{background-position:100% 0}}.hero h1 .accent.word{animation:word-up .9s var(--ease) forwards,shimmer 8s ease-in-out 1s infinite alternate}.hero .bio{font-size:.95rem;line-height:1.65;max-width:46ch;margin-bottom:24px}.hero .bio p{margin:0 0 10px}.hero .bio p:last-child{margin-bottom:0}.hero .bio strong{color:var(--teal);font-weight:600}.hero-cta{display:flex;flex-wrap:wrap;gap:12px}.split .word{display:inline-block;opacity:0;transform:translateY(.45em);animation:word-up .9s var(--ease) forwards}@keyframes word-up{to{opacity:1;transform:none}}.fade-up{opacity:0;transform:translateY(16px);animation:word-up .9s var(--ease) forwards}.photo{position:relative;margin:0;border-radius:var(--radius);overflow:hidden;background:radial-gradient(120% 90% at 20% 10%,color-mix(in srgb,var(--sage) 70%,transparent),transparent 60%),radial-gradient(100% 80% at 90% 100%,color-mix(in srgb,var(--amber) 45%,transparent),transparent 60%),linear-gradient(140deg,var(--sea),var(--teal));aspect-ratio:4 / 3;isolation:isolate}.photo img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}.portrait{aspect-ratio:4 / 5;border-radius:14px 14px 14px 64px;box-shadow:var(--shadow-lift);transform:rotate(1.5deg);transition:transform .8s var(--ease),border-radius .8s var(--ease)}.portrait:hover{transform:rotate(0);border-radius:64px 14px 14px}.portrait-wrap{position:relative;max-width:320px;justify-self:end;width:100%}.portrait-frame{position:relative;isolation:isolate}.portrait-frame:before{content:"";position:absolute;top:18px;right:-18px;bottom:-18px;left:18px;border:1.5px solid var(--amber);border-radius:14px 14px 14px 64px;opacity:.55;z-index:-1}button.portrait{display:block;width:100%;padding:0;border:0;cursor:pointer;font:inherit}.portrait img{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;transform:scale(1.06);transition:opacity .9s var(--ease),transform 1.6s var(--ease)}.portrait img.active{opacity:1;transform:none}.portrait-caption{position:absolute;right:14px;bottom:14px;z-index:1;font-size:.75rem;font-weight:500;font-variant-numeric:tabular-nums;color:var(--white);background:#0f191873;padding:4px 10px;border-radius:999px;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:word-up .6s var(--ease) both}.portrait-dots{display:flex;justify-content:center;gap:8px;margin-top:26px}.portrait-dots button{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:8px;height:8px;padding:0;border:0;border-radius:999px;background:var(--line);cursor:pointer;transition:width .4s var(--ease),background-color .3s}.portrait-dots button:hover{background:var(--sage)}.portrait-dots button.active{width:22px;background:var(--teal)}section{position:relative}.hero,.page-hero{isolation:isolate}.page-hero{position:relative;padding:clamp(48px,8vw,96px) 0 clamp(32px,5vw,48px);overflow:hidden}.page-hero p{font-size:1.05rem;max-width:52ch}main{overflow-x:clip}.section{padding:clamp(48px,7vw,80px) 0}.section-alt{background:var(--bg-alt)}.section-head{margin-bottom:28px}.section-head h2{margin-bottom:0}.section-head p{max-width:52ch;margin:6px 0 0;color:var(--muted)}.section-head .btn{margin-top:16px}.resume-dialog{width:min(900px,calc(100vw - 48px));height:min(92vh,1100px);max-width:none;max-height:none;padding:0;border:none;border-radius:var(--radius);background:var(--surface);color:var(--ink);box-shadow:0 30px 80px -20px #00000073;overflow:hidden}.resume-dialog[open]{animation:dialog-in .4s var(--ease)}.resume-dialog::backdrop{background:#0f19188c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:page-in .3s var(--ease)}@keyframes dialog-in{0%{opacity:0;transform:translateY(16px) scale(.98)}}.resume-frame{display:flex;flex-direction:column;height:100%}.resume-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px 10px 20px;border-bottom:1px solid var(--line);font-family:var(--font-display);font-size:1.05rem}.resume-actions{display:flex;gap:6px}.resume-icon-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:36px;height:36px;display:grid;place-items:center;border-radius:6px;border:1px solid var(--line);background:transparent;color:var(--ink);cursor:pointer;transition:border-color .25s,color .25s,transform .25s var(--ease)}.resume-icon-btn:hover{border-color:var(--amber);color:var(--amber);transform:translateY(-1px)}.resume-icon-btn svg{width:17px;height:17px}.resume-dialog iframe{flex:1;width:100%;border:0;background:#fff}.kicker{font-family:var(--font-body);font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--clay);display:block;margin-bottom:6px}.chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px;padding:0;list-style:none}.chip{font-size:.625rem;line-height:1.5;padding:1px 8px;border-radius:999px;background:color-mix(in srgb,var(--sage) 12%,transparent);color:var(--muted);border:1px solid color-mix(in srgb,var(--sage) 28%,transparent);transition:color .25s,background-color .25s,border-color .25s}.chip:hover{color:var(--ink-soft);background:color-mix(in srgb,var(--sage) 22%,transparent);border-color:color-mix(in srgb,var(--sage) 45%,transparent)}.subsection{margin-top:36px}.subsection-title{font-size:1.05rem;margin:0 0 12px}.edu ul{list-style:circle}.timeline{position:relative;list-style:none;margin:0;padding:0}.timeline:before{content:"";position:absolute;left:9px;top:8px;bottom:8px;width:2px;background:linear-gradient(to bottom,var(--sea),var(--teal) 45%,color-mix(in srgb,var(--teal) 30%,var(--bg)));border-radius:2px;transform-origin:top;transform:scaleY(var(--progress, 0));transition:transform .2s linear}.timeline:after{content:"";position:absolute;left:9px;top:8px;bottom:8px;width:2px;background:var(--line);z-index:-1}.job{position:relative;padding-left:48px;margin-bottom:14px}.job:last-child{margin-bottom:0}.job:before{content:"";position:absolute;left:2px;top:22px;width:16px;height:16px;border-radius:50%;--dot-strength: calc(100% - var(--age, 0) * 55%);background:var(--bg);border:2px solid color-mix(in srgb,var(--teal) var(--dot-strength),var(--bg));transition:background-color .4s var(--ease),transform .4s var(--ease)}.job.in-view:before{background:color-mix(in srgb,var(--amber) var(--dot-strength),var(--bg));border-color:color-mix(in srgb,var(--amber) var(--dot-strength),var(--bg));transform:scale(1.1)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:18px 22px;box-shadow:var(--shadow);transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .45s}@keyframes float{0%,to{translate:0 0}50%{translate:0 -3px}}.card{animation:float 7s ease-in-out infinite;box-shadow:var(--shadow),0 22px 34px -22px #000000a6}.timeline .job:nth-child(3n+2)>.card,.project-grid>.card:nth-child(3n+2),.hobby-grid>.card:nth-child(3n+2),.link-cards>.card:nth-child(3n+2){animation-duration:8s;animation-delay:-2.5s}.timeline .job:nth-child(3n)>.card,.project-grid>.card:nth-child(3n),.hobby-grid>.card:nth-child(3n),.link-cards>.card:nth-child(3n){animation-duration:6.5s;animation-delay:-4.5s}.fun-fact.card{animation-duration:9s;animation-delay:-1s}.card{position:relative}.card:after{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;border-radius:inherit;background:var(--bg);opacity:0;pointer-events:none;z-index:3;transition:opacity .35s var(--ease)}@media (hover: hover) and (pointer: fine){main:has(.card:hover) .card:not(:hover):after{opacity:.45}}.timeline .job>.job-card{background:hsl(var(--hue) 23% calc(15% - var(--age, 0) *7%))}.pong-on .timeline .job>.job-card,.dash-on .timeline .job>.job-card{background:hsl(var(--hue) 23% calc(19% - var(--age, 0) * 7%) / .7)}.project-grid>.card:nth-child(2n),.hobby-grid>.card:nth-child(4n+2),.hobby-grid>.card:nth-child(4n+3),.link-cards>.card:nth-child(4n+2),.link-cards>.card:nth-child(4n+3){background:var(--surface-2)}.card:hover,.card.reveal.in-view:hover{transform:translateY(-4px);box-shadow:var(--shadow-lift);border-color:color-mix(in srgb,var(--sage) 60%,var(--line))}.job-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px 20px;flex-wrap:wrap;margin-bottom:4px}.job h3,.edu h3{margin:0}.job .company,.edu .company{color:var(--teal);font-weight:500}.job .dates,.edu .dates{font-size:.85rem;color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}.job-when{display:flex;flex-direction:column;align-items:flex-end;text-align:right;line-height:1.3;white-space:nowrap}.job-loc{font-size:.85rem;color:var(--muted)}.job-dates{font-size:.68rem;color:var(--muted);opacity:.7;font-variant-numeric:tabular-nums}@media (max-width: 600px){.job-when{align-items:flex-start;text-align:left}}.job ul,.edu ul{margin:8px 0 0;padding-left:1.1em;color:var(--ink-soft)}.job li,.edu li{margin-bottom:2px;font-size:.95rem}.job li::marker,.edu li::marker{color:var(--amber)}.job .chips{margin-top:12px}.hobby-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.hobby{padding:0;overflow:hidden}.hobby{display:flex;flex-direction:column}.hobby .photo{border-radius:0;aspect-ratio:2.2 / 1}.hobby:hover .photo img{transform:scale(1.05)}.hobby-body{padding:14px 18px 16px;flex:1;display:flex;flex-direction:column}.hobby-body h3{display:flex;align-items:center;gap:10px}.hobby-body h3 .emoji{font-size:1.1rem}.hobby-body p{margin:0;font-size:.93rem}.hobby-body p strong,.hobby-dialog-intro strong,.hobby-details span strong{color:var(--teal);font-weight:600}.hobby-body .chips{margin-top:12px}.hobby-icon{position:absolute;right:12px;bottom:10px;width:85px;height:85px;color:var(--teal);opacity:.32;pointer-events:none;transition:opacity .4s var(--ease),transform .6s var(--ease)}.hobby-icon svg{width:100%;height:100%;display:block}.hobby .hobby-body{position:relative;z-index:1}.hobby:hover .hobby-icon{opacity:.55;transform:rotate(-8deg) scale(1.06)}.hobby.has-details{cursor:pointer}.hobby-more{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;padding:0;font:inherit;display:inline-flex;align-items:center;gap:6px;font-size:.92rem;font-weight:600;color:var(--teal);cursor:pointer}.hobby-more svg{width:16px;height:16px;transition:transform .35s var(--ease)}.hobby.has-details:hover .hobby-more svg{transform:translate(3px)}.hobby-dialog{width:min(560px,calc(100vw - 32px));max-height:min(85vh,760px);padding:0;border:none;border-radius:var(--radius);background:var(--surface);color:var(--ink);box-shadow:0 30px 80px -20px #00000073;overflow:hidden}.hobby-dialog[open]{animation:dialog-in .4s var(--ease)}.hobby-dialog.alt{background:var(--surface-2)}.hobby-dialog::backdrop{background:#0f19188c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:page-in .3s var(--ease)}.hobby-dialog-inner{display:flex;flex-direction:column;max-height:inherit}.hobby-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 16px 12px 24px;border-bottom:1px solid var(--line)}.hobby-dialog-head h2{margin:0;font-size:1.45rem}.hobby-dialog-body{padding:18px 24px 24px;overflow-y:auto}.hobby-dialog-intro{margin:0;font-size:.97rem}.hobby-dialog-intro+.hobby-dialog-intro{margin-top:10px}.hobby-dialog-note{margin:18px 0 0;padding-top:14px;border-top:1px solid var(--line);font-size:.88rem;color:var(--muted)}.hobby-dialog-note strong{color:var(--teal);font-weight:600}.hobby-dialog-subhead{font-size:1.02rem;margin:22px 0 8px}.hobby-dialog-subhead.first,.hobby-details.titled{margin-top:0}.hobby-detail-group+.hobby-detail-group{margin-top:14px}.hobby-group-title{margin:18px 0 8px;font-family:var(--font-body);font-size:.72rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--clay)}.hobby-detail-group+.hobby-detail-group .hobby-group-title{margin-top:0}.hobby-details{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:12px}.hobby-details li{position:relative;padding-left:20px;display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px}.hobby-details li:before{content:"";position:absolute;left:2px;top:.55em;width:7px;height:7px;border-radius:50%;background:var(--amber)}.hobby-details strong{font-weight:600;color:var(--ink);font-size:.97rem}.hobby-details span{flex-basis:100%;font-size:.88rem;color:var(--muted)}.hobby-details a{display:inline-flex;align-items:center;gap:3px;font-size:.85rem;font-weight:500}.hobby-details a svg{width:13px;height:13px}.hobby-video{position:relative;margin-top:16px;aspect-ratio:16 / 9;border-radius:var(--radius-sm);overflow:hidden;background:#000;box-shadow:var(--shadow)}.hobby-video iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.hobby-video-thumb{position:relative}.hobby-video-thumb .photo{border-radius:0;aspect-ratio:2.2 / 1}.play-badge{position:absolute;left:50%;top:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;display:grid;place-items:center;color:var(--white);background:#0a10108c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);transition:transform .3s var(--ease),background-color .3s}.play-badge svg{width:22px;height:22px;margin-left:3px}.hobby:hover .play-badge{transform:scale(1.1);background:color-mix(in srgb,var(--amber) 70%,transparent)}.hobby-records{margin-top:14px}.hobby-detail-group .hobby-records{margin-top:8px}.hobby-group-title+.hobby-records{margin-top:0}.hobby-records summary{display:inline-flex;align-items:center;gap:6px;padding:4px 8px 4px 2px;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.97rem;font-weight:600;color:var(--ink);cursor:pointer;list-style:none;transition:color .2s,background-color .2s}.hobby-records summary::-webkit-details-marker{display:none}.hobby-records summary:hover{color:var(--amber);background:color-mix(in srgb,var(--surface-2) 70%,transparent)}.records-chevron{width:15px;height:15px;flex:none;transition:transform .25s var(--ease)}.hobby-records[open] .records-chevron{transform:rotate(90deg)}.records-count{font-family:var(--font-body);font-size:.78rem;color:var(--muted)}.hobby-records[open] table{margin-top:6px;animation:records-open .3s var(--ease)}@keyframes records-open{0%{opacity:0;transform:translateY(-4px)}}.hobby-records table{width:100%;border-collapse:collapse;font-size:.9rem}.hobby-records th,.hobby-records td{padding:7px 10px;text-align:left;border-bottom:1px solid var(--line)}.hobby-records thead th{font-size:.72rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.hobby-records tbody th{font-weight:500;color:var(--ink)}.hobby-records td{font-variant-numeric:tabular-nums;color:var(--ink-soft);text-align:right}.hobby-records thead th:not(:first-child){text-align:right}.hobby-records tbody tr:last-child th,.hobby-records tbody tr:last-child td{border-bottom:0}.hobby-dialog-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;margin-top:18px}.hobby-dialog-gallery a{position:relative;display:block;aspect-ratio:4 / 5;border-radius:7px;overflow:hidden;background:#fff;box-shadow:var(--shadow)}.hobby-dialog-gallery img{width:100%;height:100%;object-fit:contain;transition:transform .6s var(--ease)}.hobby-dialog-gallery a:hover img{transform:scale(1.04)}.hobby-dialog-gallery span{position:absolute;left:8px;bottom:8px;font-size:.72rem;font-weight:500;color:var(--white);background:#0f19188c;padding:3px 9px;border-radius:999px}.hobby-dialog .project-links{align-items:center;flex-wrap:wrap;margin-top:18px;padding-top:14px;border-top:1px solid var(--line)}.links-label{font-size:.85rem;color:var(--muted);margin-right:-6px}.fun-fact{display:flex;align-items:center;gap:16px;margin-bottom:18px;padding:16px 20px;background:linear-gradient(90deg,color-mix(in srgb,var(--amber) 12%,var(--surface)),var(--surface) 70%);border-color:color-mix(in srgb,var(--amber) 30%,var(--line));border-left:3px solid var(--amber);box-shadow:var(--shadow),0 10px 32px -18px color-mix(in srgb,var(--amber) 55%,transparent)}.fun-fact.card:hover,.fun-fact.card.reveal.in-view:hover{transform:none;border-color:color-mix(in srgb,var(--amber) 30%,var(--line));border-left-color:var(--amber)}.fun-fact-icon{flex:none;width:40px;height:40px;border-radius:7px;display:grid;place-items:center;background:color-mix(in srgb,var(--amber) 16%,transparent);color:var(--clay)}.fun-fact-icon svg{width:20px;height:20px}.fun-fact-body{flex:1;min-width:0}.fun-fact-label{display:flex;align-items:center;gap:8px;font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--clay)}.fun-fact-count{font-weight:500;letter-spacing:.04em;color:var(--muted)}.fun-fact-body p{margin:2px 0 0;font-size:1.02rem;color:var(--ink);animation:word-up .5s var(--ease) both}.fun-fact-body strong{color:var(--teal);font-weight:600}.fun-fact-link{display:inline-flex;align-items:center;gap:3px;font-size:.85rem;font-weight:500;white-space:nowrap}.fun-fact-link svg{width:13px;height:13px;transition:transform .3s var(--ease)}.fun-fact-link:hover svg{transform:translate(2px,-2px)}.fun-fact-next{flex:none;-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;border:1px solid var(--line);background:transparent;font:inherit;font-size:.82rem;font-weight:500;color:var(--ink-soft);cursor:pointer;transition:border-color .25s,color .25s}.fun-fact-next-label{display:inline-block;animation:word-up .35s var(--ease) both}.fun-fact-next svg{width:14px;height:14px;transition:transform .3s var(--ease)}.fun-fact-next:hover{border-color:var(--amber);color:var(--amber)}.fun-fact-next:hover svg{transform:translate(3px)}@media (max-width: 600px){.fun-fact{flex-wrap:wrap}.fun-fact-next{margin-left:56px}}.hobby.wide{grid-column:1 / -1;flex-direction:row-reverse;align-items:stretch}.hobby.wide .hobby-body{flex:1;justify-content:center;padding:18px 20px}.art-gallery{flex:1.5;display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:14px}.art-piece{position:relative;display:block;aspect-ratio:1 / 1;border-radius:8px;overflow:hidden;background:#fff;box-shadow:var(--shadow);transition:transform .5s var(--ease),box-shadow .5s var(--ease)}.art-piece img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}.art-piece.contain img{object-fit:contain;padding:8%}.art-piece span{position:absolute;left:10px;bottom:10px;font-size:.75rem;font-weight:500;color:var(--white);background:#0f19188c;padding:4px 10px;border-radius:999px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);opacity:0;transform:translateY(4px);transition:opacity .3s var(--ease),transform .3s var(--ease)}.art-piece:nth-child(1){transform:rotate(-1.5deg)}.art-piece:nth-child(3){transform:rotate(1.5deg)}.art-piece:hover{transform:translateY(-6px) rotate(0);box-shadow:var(--shadow-lift)}.art-piece:hover img{transform:scale(1.04)}.art-piece:hover span,.art-piece:focus-visible span{opacity:1;transform:none}.hobby-stats{display:flex;flex-wrap:wrap;gap:6px 20px;margin-top:10px}.hobby-stat strong{display:block;font-family:var(--font-display);font-size:1.15rem;font-weight:500;line-height:1.1;color:var(--teal)}.hobby-stat span{font-size:.75rem;color:var(--muted)}.project-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.project{padding:0;overflow:hidden;display:flex;flex-direction:column}.project .photo{border-radius:0;aspect-ratio:16 / 9}.project:hover .photo img{transform:scale(1.04)}.project-body{padding:16px 20px 20px;display:flex;flex-direction:column;flex:1}.project-meta{display:flex;align-items:center;gap:10px;font-size:.78rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--clay);margin-bottom:6px}.project h3{font-size:1.2rem;margin-bottom:6px}.project p{margin:0;font-size:.93rem}.project p strong{color:var(--teal);font-weight:600}.project .chips{margin-top:12px}.project-links{display:flex;gap:18px;margin-top:auto;padding-top:14px}.project-links a{display:inline-flex;align-items:center;gap:6px;font-size:.92rem;font-weight:500}.project-links svg{width:16px;height:16px;transition:transform .35s var(--ease)}.project-links a:hover svg{transform:translate(2px,-2px)}.project.featured{grid-column:1 / -1;flex-direction:row}.project.featured .photo{flex:1.15;aspect-ratio:auto;min-height:240px}.project.featured .project-body{flex:1;padding:24px 28px;justify-content:center}.project.featured h3{font-size:clamp(1.35rem,2.2vw,1.6rem)}.contact-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(32px,6vw,72px);align-items:start}.link-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}@media (max-width: 720px){.link-cards{grid-template-columns:1fr}}.link-card{display:flex;align-items:center;gap:18px;color:inherit}.link-card .icon{flex:none;width:52px;height:52px;border-radius:8px;display:grid;place-items:center;background:color-mix(in srgb,var(--sea) 14%,transparent);color:var(--teal);transition:transform .45s var(--ease),background-color .3s,color .3s}.link-card .icon svg{width:24px;height:24px}.link-card:hover .icon{transform:rotate(-6deg) scale(1.06);background:var(--teal);color:var(--surface)}.link-card h3{margin:0 0 2px;font-size:1.15rem}.link-card p{margin:0;font-size:.93rem;color:var(--muted)}.link-card .go{margin-left:auto;color:var(--muted);transition:transform .4s var(--ease),color .3s}.link-card .go svg{width:18px;height:18px}.link-card:hover .go{transform:translate(3px,-3px);color:var(--amber)}.form{display:grid;gap:16px}.field{display:grid;gap:6px}.field label{font-size:.88rem;font-weight:500;color:var(--ink-soft)}.field input,.field textarea{font:inherit;font-size:1rem;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:var(--radius-sm);padding:12px 14px;transition:border-color .3s,box-shadow .3s}.field textarea{min-height:140px;resize:vertical}.field input:focus,.field textarea:focus{outline:none;border-color:var(--sea);box-shadow:0 0 0 4px color-mix(in srgb,var(--sea) 18%,transparent)}.form-note{font-size:.85rem;color:var(--muted);margin:0}.cta-band{position:relative;overflow:hidden;border-radius:14px;padding:clamp(28px,5vw,44px);background:radial-gradient(80% 120% at 100% 0%,color-mix(in srgb,var(--amber) 45%,transparent),transparent 60%),linear-gradient(135deg,#1f6b66,#2d8a96);color:var(--white);display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap}.cta-band h2{margin:0 0 8px;color:var(--white)}.cta-band p{margin:0;color:var(--white-soft);max-width:44ch}.cta-band .btn{background:#fbf7f0;color:#1b2b2a}.cta-band .btn:hover{transform:translateY(-2px);box-shadow:0 14px 28px -12px #0006}.app{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.app>main{flex:1 0 auto}.app.deck-mode{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}.deck-mode main{position:relative;min-height:0}.deck{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.deck-track{display:flex;height:100%;transition:transform .7s var(--ease)}.slide{flex:0 0 100%;height:100%;overflow-y:auto;overscroll-behavior:contain;display:flex;flex-direction:column;padding-bottom:16px;scrollbar-width:thin}.slide-inner{margin:auto 0;width:100%}.slide .section{padding:clamp(24px,4vw,40px) 0}.slide .section-alt{background:transparent}.slide .hero{padding:clamp(24px,5vw,48px) 0}.deck-arrow{position:absolute;top:50%;z-index:5;width:48px;height:48px;margin-top:-24px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line);background:color-mix(in srgb,var(--surface) 85%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:var(--ink);box-shadow:var(--shadow);cursor:pointer;transition:transform .35s var(--ease),border-color .3s,color .3s,box-shadow .35s var(--ease)}.deck-arrow svg{width:22px;height:22px}.deck-arrow.prev{left:20px}.deck-arrow.next{right:20px}.deck-arrow:hover{border-color:var(--amber);color:var(--amber);box-shadow:var(--shadow-lift)}.deck-arrow.prev:hover{transform:translate(-3px)}.deck-arrow.next:hover{transform:translate(3px)}.deck-arrow.page-arrow{position:fixed}.deck-mode .site-footer{padding:12px 0 14px;font-size:.8rem}@media (max-width: 900px){.deck-arrow{width:38px;height:38px;margin-top:-19px}.deck-arrow svg{width:18px;height:18px}.deck-arrow.prev{left:8px}.deck-arrow.next{right:8px}}.pong-racket{position:fixed;top:76px;right:24px;z-index:40;width:42px;height:42px;padding:0;border:0;background:none;color:color-mix(in srgb,var(--amber) 80%,var(--bg));cursor:pointer;filter:drop-shadow(0 0 4px color-mix(in srgb,var(--amber) 55%,transparent)) drop-shadow(0 0 12px color-mix(in srgb,var(--amber) 28%,transparent))}.pong-racket svg{width:100%;height:100%;display:block;overflow:visible}@keyframes racket-float{0%,to{transform:translate(0) rotate(0)}25%{transform:translate(-3px,-6px) rotate(-6deg)}50%{transform:translateY(-9px) rotate(2deg)}75%{transform:translate(3px,-4px) rotate(6deg)}}@keyframes racket-glow{50%{opacity:.72}}.pong-racket.leaving{pointer-events:none;animation:racket-to-ball .95s cubic-bezier(.55,0,.25,1) forwards}@keyframes racket-to-ball{0%{transform:translate(0) rotate(0) scale(1)}15%{transform:translate(6px,-8px) rotate(-25deg) scale(1.12)}to{transform:translate(var(--tx),var(--ty)) rotate(600deg) scale(.34)}}.pong-racket-art{transition:opacity .5s var(--ease);animation:racket-in 6s ease-in .5s backwards}@keyframes racket-in{0%{opacity:0}to{opacity:1}}.pong-racket.leaving .pong-racket-art{animation:morph-out .95s ease forwards}@keyframes morph-out{0%,50%{opacity:1}85%,to{opacity:0}}.pong-morph-ball{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:var(--amber);box-shadow:0 0 18px var(--amber);opacity:0;pointer-events:none}.pong-racket.leaving .pong-morph-ball{animation:morph-in .95s ease forwards}@keyframes morph-in{0%,50%{opacity:0}90%,to{opacity:.65}}.pong-canvas,.egg-canvas{position:fixed;top:0;right:0;bottom:0;left:0;width:100vw;height:100vh;z-index:-1;pointer-events:none;opacity:0;transition:opacity .5s var(--ease)}.pong-canvas.on,.egg-canvas.on{opacity:1}.pong-canvas.stopping,.egg-canvas.stopping{opacity:0;transition-duration:.9s}.card{transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .45s,background-color .9s var(--ease)}.pong-on .card,.dash-on .card{background-color:color-mix(in srgb,var(--surface) 70%,transparent)}.pong-on .project-grid>.card:nth-child(2n),.dash-on .project-grid>.card:nth-child(2n),.pong-on .hobby-grid>.card:nth-child(4n+2),.dash-on .hobby-grid>.card:nth-child(4n+2),.pong-on .hobby-grid>.card:nth-child(4n+3),.dash-on .hobby-grid>.card:nth-child(4n+3),.pong-on .link-cards>.card:nth-child(4n+2),.dash-on .link-cards>.card:nth-child(4n+2),.pong-on .link-cards>.card:nth-child(4n+3),.dash-on .link-cards>.card:nth-child(4n+3){background-color:color-mix(in srgb,var(--surface-2) 70%,transparent)}.pong-on .fun-fact.card,.dash-on .fun-fact.card{background:linear-gradient(90deg,color-mix(in srgb,color-mix(in srgb,var(--amber) 12%,var(--surface)) 70%,transparent),color-mix(in srgb,var(--surface) 70%,transparent) 70%)}.pong-controls,.egg-controls{position:fixed;top:76px;right:24px;z-index:40;display:flex;gap:12px;animation:ctl-in .6s var(--ease) both;transition:opacity .5s var(--ease)}.pong-controls.leaving,.egg-controls.leaving{animation:ctl-out .9s var(--ease) forwards;pointer-events:none}@keyframes ctl-out{0%{opacity:1}to{opacity:0}}@keyframes ctl-in{0%{opacity:0;scale:.6}to{opacity:1;scale:1}}.pong-ctl,.egg-stop{width:34px;height:34px;padding:0;border:0;background:none;color:var(--amber);cursor:pointer;filter:drop-shadow(0 0 5px color-mix(in srgb,var(--amber) 75%,transparent)) drop-shadow(0 0 12px color-mix(in srgb,var(--amber) 40%,transparent));animation:racket-glow 3.2s ease-in-out infinite;transition:transform .25s var(--ease)}.pong-ctl svg,.egg-stop svg{width:100%;height:100%;display:block}.pong-ctl:hover,.egg-stop:hover{transform:scale(1.1)}.pong-ctl:hover,.pong-ctl:focus-visible,.egg-stop:hover,.egg-stop:focus-visible{animation-play-state:paused;opacity:1}.dash-icon{position:fixed;left:24px;bottom:84px;z-index:40;width:28px;height:28px;padding:0;border:0;background:none;cursor:pointer;filter:drop-shadow(0 0 4px color-mix(in srgb,var(--amber) 55%,transparent)) drop-shadow(0 0 12px color-mix(in srgb,var(--amber) 28%,transparent))}.dash-icon-square{display:block;width:100%;height:100%;border-radius:4px;background:color-mix(in srgb,var(--amber) 80%,var(--bg));animation:racket-in 6s ease-in .5s backwards}.dash-icon.leaving{pointer-events:none;animation:dash-drop .8s cubic-bezier(.5,0,.3,1) forwards}@keyframes dash-drop{0%{transform:translate(0) rotate(0) scale(1)}30%{transform:translate(calc(var(--tx) * .35),-36px) rotate(-120deg) scale(1.05)}to{transform:translate(var(--tx),var(--ty)) rotate(-360deg) scale(var(--s))}}.egg-controls--bl{top:auto;right:auto;left:24px;bottom:140px}.pong-racket .egg-float,.dash-icon .egg-float{position:relative;display:block;width:100%;height:100%;animation:racket-float 4.5s ease-in-out infinite,racket-glow 3.2s ease-in-out infinite}.dash-icon .egg-float{animation-delay:-2s,0s}.leaving .egg-float{animation-play-state:paused}.pong-racket,.dash-icon{transition:color .3s var(--ease),filter .3s var(--ease)}.pong-racket:hover,.pong-racket:focus-visible,.pong-racket.leaving,.dash-icon:hover,.dash-icon:focus-visible,.dash-icon.leaving{color:var(--amber);filter:brightness(1.2) drop-shadow(0 0 6px color-mix(in srgb,var(--amber) 80%,transparent)) drop-shadow(0 0 18px color-mix(in srgb,var(--amber) 50%,transparent))}.pong-racket:hover .egg-float,.pong-racket:focus-visible .egg-float,.dash-icon:hover .egg-float,.dash-icon:focus-visible .egg-float{animation-play-state:running,paused}.dash-icon:hover .dash-icon-square,.dash-icon:focus-visible .dash-icon-square,.dash-icon.leaving .dash-icon-square{background:var(--amber)}.pong-racket.handoff,.dash-icon.handoff{opacity:0;pointer-events:none;transition:opacity .5s var(--ease)}.pong-racket.blocked,.dash-icon.blocked{pointer-events:none}.pong-racket.blocked .pong-racket-art,.pong-racket.blocked .pong-morph-ball,.dash-icon.blocked .dash-icon-square{opacity:0}.site-footer{position:relative;padding:30px 0;font-size:.9rem;color:var(--muted)}.footer-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px}.footer-meta{justify-self:start}.verse{margin:0;display:flex;align-items:baseline;justify-content:center;gap:8px;text-align:center}.verse blockquote{margin:0;font-family:var(--font-display);font-style:italic;font-size:.85rem;color:var(--ink-soft);white-space:nowrap}.verse figcaption{font-family:var(--font-display);font-style:italic;font-size:.85rem;color:var(--ink-soft);white-space:nowrap}.footer-links{justify-self:end;display:flex;gap:18px}.footer-links a{color:var(--muted);transition:color .25s}.footer-links a:hover{color:var(--teal)}@media (max-width: 1000px){.footer-inner{grid-template-columns:1fr;justify-items:center;gap:6px;text-align:center}.footer-meta,.verse{order:-1;flex-wrap:wrap}.verse blockquote{white-space:normal}}.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s var(--ease),transform .9s var(--ease);transition-delay:calc(var(--i, 0) * 90ms)}.reveal.in-view,.no-js .reveal{opacity:1;transform:none}@media (max-width: 900px){.hero-grid,.contact-grid{grid-template-columns:1fr}.hero-grid .portrait-wrap{max-width:280px;order:-1;justify-self:start}.project-grid{grid-template-columns:repeat(2,1fr)}.project.featured,.hobby.wide{flex-direction:column}.hobby.wide .hobby-body{padding:16px 20px 20px}.art-gallery{padding:18px 18px 0}.project.featured .photo{flex:none;aspect-ratio:16 / 9;min-height:0}.project.featured .project-body{padding:16px 20px 20px}}@media (max-width: 600px){.container{padding:0 16px}.hobby-grid,.project-grid{grid-template-columns:1fr}.card:not(.project):not(.hobby){padding:18px}.job{padding-left:36px}.portrait-frame:before{top:12px;right:-10px;bottom:-12px;left:12px}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}.reveal,.split .word,.fade-up{opacity:1;transform:none}}.lang-toggle{display:flex;gap:2px;padding:2px;border:1px solid var(--line);border-radius:var(--radius-sm)}.lang-toggle button{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;font:inherit;font-size:.75rem;font-weight:600;color:var(--muted);padding:4px 8px;border-radius:5px;cursor:pointer;transition:color .2s,background-color .2s}.lang-toggle button:hover{color:var(--ink)}.lang-toggle button.active{background:var(--teal);color:var(--bg)}:lang(zh-CN) .accent,:lang(zh-CN) .hero h1 .accent,:lang(zh-CN) .split .accent,:lang(zh-CN) .verse blockquote,:lang(zh-CN) .verse figcaption{font-style:normal}.verse{max-width:560px}.verse blockquote{white-space:normal;text-wrap:balance}
