:root{color-scheme:light;--paper:#fff9ed;--ink:#29352f;--muted:#697268;--coral:#c65740;--teal:#34776a;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Arial,Helvetica,sans-serif}*{box-sizing:border-box}body{min-width:280px;margin:0}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--teal);outline-offset:5px}.skip-link{background:var(--ink);color:#fff;z-index:5;padding:12px 18px;position:fixed;top:-70px;left:16px}.skip-link:focus{top:16px}.topbar{justify-content:flex-end;align-items:center;max-width:1280px;margin:auto;padding:30px 48px;display:flex}.wordmark{letter-spacing:-1.1px;font-size:22px;font-weight:700}.wordmark-dot{color:var(--coral);vertical-align:middle;margin-left:6px;font-size:10px}.share-button{width:44px;height:44px;color:var(--ink);background:0 0;border:1px solid #dcded1;border-radius:50%;place-items:center;transition:background .2s,transform .2s;display:grid}.share-button:hover{background:#edeedf;transform:translateY(-2px)}.link-page{width:min(100% - 40px,570px);margin:7px auto 0;position:relative}.profile{text-align:center}.avatar-wrap{width:132px;margin:0 auto 26px;position:relative}.avatar{place-items:center;width:132px;height:132px;display:grid}.avatar img{width:160px;max-width:none;height:auto;display:block}.eyebrow{letter-spacing:2.1px;color:var(--muted);margin:0 0 14px;font-size:10px;font-weight:700}h1{letter-spacing:-1.8px;margin:0;font-size:40px;font-weight:700;line-height:1.15}h1 .greeting-period{color:var(--coral)}.profile-cn{letter-spacing:4px;color:var(--muted);margin:11px 0 0;font-size:14px}.bio{color:#606b60;margin:20px 0 0;font-size:14px;line-height:1.85}.link-list{gap:12px;margin-top:29px;display:grid}.list-heading{letter-spacing:1.7px;color:var(--muted);justify-content:space-between;align-items:center;padding:0 3px 1px;font-size:10px;font-weight:700;display:flex}.list-heading>span:last-child{font-size:17px;font-weight:400}.link-card{--card-color:var(--coral);--card-tint:#f8e6da;background:#fffcf5;border:1px solid #dcded1;border-radius:15px;align-items:center;gap:17px;min-height:91px;padding:18px 21px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;box-shadow:0 3px #e6e4d8}.link-card:hover{border-color:var(--card-color);transform:translateY(-3px);box-shadow:0 6px #e6e4d8}.link-card:active{transform:translateY(1px);box-shadow:0 1px #e6e4d8}.link-card--x{--card-color:#303c35;--card-tint:#e9ecdf}.link-icon{background:var(--card-tint);width:47px;height:47px;color:var(--card-color);--icon-fill:var(--card-tint);border-radius:12px;flex-shrink:0;place-items:center;display:grid}.link-copy{flex-direction:column;gap:6px;min-width:0;display:flex}.link-title{letter-spacing:-.25px;font-size:16px;font-weight:700}.link-description{color:#687165;font-size:12px;line-height:1.4}.link-end{color:#72796b;align-items:center;gap:12px;margin-left:auto;display:flex}.link-label{letter-spacing:.6px;white-space:nowrap;font-size:9px}.link-end svg{flex-shrink:0}.link-footer{text-align:center;padding:35px 0 28px}.footer-spark{color:var(--teal);font-size:26px;line-height:1;display:inline-block}.link-footer p{color:#7b7e6b;margin:12px 0 20px;font-family:Georgia,serif;font-size:14px;font-style:italic}.copyright{letter-spacing:1.7px;color:#747b6f;font-size:9px}.page-decoration{pointer-events:none;z-index:-1;position:absolute;inset:0;overflow:hidden}.page-decoration span:first-child{color:#d9e4d3;font-size:70px;line-height:1;position:absolute;top:300px;left:max(40px,50% - 430px);transform:rotate(15deg)}.page-decoration span:nth-child(2){color:#ecd8bc;font-size:42px;line-height:1;position:absolute;top:650px;right:max(40px,50% - 440px);transform:rotate(-10deg)}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.share-status:empty{display:none}.share-status{background:var(--ink);color:var(--paper);text-align:center;z-index:10;border-radius:30px;width:max-content;max-width:calc(100% - 32px);padding:14px 22px;font-size:14px;position:fixed;bottom:24px;left:50%;transform:translate(-50%);box-shadow:0 5px 20px #29352f25}dialog{background:var(--paper);width:min(420px,100% - 40px);color:var(--ink);border:1px solid #dcded1;border-radius:18px;padding:28px}dialog::backdrop{background:#29352f66}dialog h2{margin:0 0 22px;font-size:21px}dialog label{margin-bottom:9px;font-size:13px;display:block}dialog input{background:#fff;border:1px solid #ccc;border-radius:7px;width:100%;padding:12px}dialog button{background:var(--ink);color:var(--paper);border:0;border-radius:8px;margin:18px 0 0 auto;padding:10px 22px;display:block}@media (width>=1500px){.topbar{padding-top:40px}.link-page{margin-top:24px}}@media (width<=700px){.topbar{padding:19px 23px}.wordmark{font-size:20px}.link-page{margin-top:21px}.page-decoration,.link-label{display:none}h1{font-size:36px}.link-card{gap:15px;padding:17px}.link-list{margin-top:26px}.link-footer{padding-top:32px}}@media (width<=360px){h1{font-size:31px}.eyebrow{letter-spacing:1.5px;font-size:9px}.link-description{font-size:11px}.link-card{gap:12px;padding:15px}.link-icon{width:40px;height:44px}.bio{font-size:13px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.typewriter{white-space:nowrap}.type-char{white-space:pre;display:inline-block;position:relative}.is-typing .type-char[data-visible=false]{opacity:0}.is-typing .is-cursor:after{content:"";border-right:2px solid var(--coral);height:.85em;position:absolute;top:.12em;right:-2px}@media (prefers-reduced-motion:reduce){.is-typing .type-char[data-visible=false]{opacity:1}.is-typing .is-cursor:after{display:none}}.page-decoration span:nth-child(3){color:#ecd8bc;font-size:30px;line-height:1;position:absolute;top:135px;left:max(32px,50% - 350px);transform:rotate(-15deg)}.page-decoration span:nth-child(4){color:#d9e4d3;font-size:55px;line-height:1;position:absolute;top:260px;right:max(36px,50% - 390px);transform:rotate(25deg)}.page-decoration span:nth-child(5){color:#ecd8bc;font-size:38px;line-height:1;position:absolute;top:590px;left:max(40px,50% - 420px);transform:rotate(5deg)}.page-decoration span:nth-child(6){color:#d9e4d3;font-size:25px;line-height:1;position:absolute;top:90px;right:max(30px,50% - 360px);transform:rotate(-20deg)}.avatar-art{width:160px;position:relative}.avatar-art img{width:100%}.avatar-star{pointer-events:none;opacity:0;background:url(/assets/mr-crab-happy.png) 50%/100% 100% no-repeat;animation:3.6s ease-in-out infinite star-twinkle;position:absolute;inset:0}.avatar-star--left{clip-path:inset(24% 72% 57% 17%);transform-origin:23% 34%}.avatar-star--right{clip-path:inset(30% 20% 54% 69%);transform-origin:74% 38%;animation-delay:-1.2s}.avatar-star--lower{clip-path:inset(67% 15% 20% 76%);transform-origin:80% 73%;animation-delay:-2.4s}@keyframes star-twinkle{0%,65%,to{opacity:0;filter:brightness();transform:scale(1)}30%{opacity:1;filter:brightness(1.4)saturate(1.2);transform:scale(1.12)}}@media (prefers-reduced-motion:reduce){.avatar-star{display:none}}
