@font-face{font-family:Smiley Sans;src:url(/fonts/smiley-sans.woff2)format("woff2");font-display:swap}:root{--paper:#fff;--ink:#000;--ink-2:#474747;--muted:#6b6b6b;--rule:#e6e6e6;--grain:#f5c84c;--grain-paper:#fdf3d4;--grain-deep:#9a6a0c;--paddy:#0b7a46;--night-ink-2:#a3a3a3;--night-muted:#5e5e5e;--night-rule:#262626;--font-display:"Smiley Sans", "PingFang SC", "Microsoft YaHei", sans-serif;--font-body:-apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "HarmonyOS Sans SC", "MiSans", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", "Noto Sans CJK SC", "Source Han Sans SC", sans-serif;--font-mono:ui-monospace, "SF Mono", "Cascadia Mono", Consolas, monospace;--fs-sm:.875rem;--fs-base:1.0625rem;--fs-lead:1.25rem;--fs-h3:1.375rem;--fs-display:clamp(2.75rem, 7.2vw, 6.75rem);--wrap:1320px;--gutter:clamp(12px, 2.6vw, 40px);--pad:clamp(18px, 4vw, 56px);--nav-h:64px;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-spring:cubic-bezier(.34, 1.56, .64, 1);--rule-c:var(--rule);--cross-c:#a8a8a8;--focus-c:var(--ink)}.dark{--rule-c:var(--night-rule);--cross-c:#575757;--focus-c:var(--grain);background:var(--ink);color:var(--paper)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{background:var(--paper);color:var(--ink);font-family:var(--font-body);font-size:var(--fs-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0;line-height:1.75}h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin:0}ul,ol{padding:0;list-style:none}a{color:inherit}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}img,svg{max-width:100%;display:block}::selection{background:var(--grain);color:var(--ink)}:focus-visible{outline:2px solid var(--focus-c);outline-offset:3px;border-radius:4px}.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}.skip-link{z-index:200;background:var(--ink);color:var(--paper);border-radius:999px;padding:8px 16px;text-decoration:none;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus-visible{transform:none}.container{width:min(100% - 2 * var(--gutter), var(--wrap));padding-inline:var(--pad);border-inline:1px solid var(--rule-c);margin-inline:auto;position:relative}.section{border-top:1px solid var(--rule-c);position:relative}.cross:before,.cross:after{content:"";z-index:2;background:linear-gradient(var(--cross-c), var(--cross-c)) center / 1px 100% no-repeat, linear-gradient(var(--cross-c), var(--cross-c)) center / 100% 1px no-repeat;pointer-events:none;width:11px;height:11px;position:absolute;top:-6px}.cross:before{left:-6px}.cross:after{right:-6px}.display{font-family:var(--font-display);font-weight:400;font-size:var(--fs-display);letter-spacing:-.01em;line-height:1.02}.lead{font-size:var(--fs-lead);color:var(--ink-2);max-width:30em;line-height:1.7}.dark .lead{color:var(--night-ink-2)}.roll{vertical-align:top;display:inline-flex;position:relative;overflow:hidden}.roll>span{transition:transform .5s var(--ease-out);display:block}.roll>span:last-child{position:absolute;inset:100% 0 auto}:is(a,button):hover>.roll>span,:is(a,button):hover .roll>span,.roll:hover>span{transform:translateY(-100%)}.btn{--btn-bg:var(--ink);--btn-fg:var(--paper);--btn-line:var(--ink);--btn-fill:var(--grain);--btn-fg-on:var(--ink);isolation:isolate;border:1px solid var(--btn-line);background:var(--btn-bg);height:56px;color:var(--btn-fg);white-space:nowrap;transition:color .4s var(--ease-out);border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:0 30px;font-size:1rem;font-weight:600;line-height:1.5;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.btn:before{content:"";z-index:-1;background:var(--btn-fill);width:130%;height:250%;transition:transform .65s var(--ease-out);border-radius:50%;position:absolute;top:0;left:-15%;transform:translateY(102%)}.btn:hover{color:var(--btn-fg-on)}.btn:hover:before{transform:translateY(-30%)}.btn-ghost{--btn-bg:transparent;--btn-fg:var(--ink);--btn-fill:var(--ink);--btn-fg-on:var(--paper)}.btn-sm{height:40px;padding:0 18px;font-size:.9375rem}.dark .btn{--btn-bg:var(--paper);--btn-fg:var(--ink);--btn-line:var(--paper)}.tags{flex-wrap:wrap;gap:8px;display:flex}.tags li{border:1px solid var(--rule-c);font-size:var(--fs-sm);border-radius:999px;padding:4px 12px;line-height:1.6}.dark .tags li{color:#d4d4d4;border-color:#333}.cursor,.cursor-tag{z-index:1000;pointer-events:none;will-change:transform;display:none;position:fixed;top:0;left:0}.has-cursor .cursor,.has-cursor .cursor-tag{display:block}.cursor{mix-blend-mode:difference}.cursor-dot{width:12px;height:12px;transform:scale(var(--s,1));transition:transform .45s var(--ease-out), opacity .3s;background:#fff;border-radius:50%;margin:-6px 0 0 -6px}.cursor.is-hover{--s:3.6}.cursor.is-down{--s:.7}.cursor.is-hidden .cursor-dot,.cursor.is-out .cursor-dot,.lens-on .cursor .cursor-dot{transform:scale(0)}.cursor-tag-inner{background:var(--grain);width:96px;height:96px;color:var(--ink);transition:transform .5s var(--ease-out);border-radius:50%;place-items:center;margin:-48px 0 0 -48px;font-size:.9375rem;font-weight:600;display:grid;transform:scale(0)}.cursor-tag.is-on .cursor-tag-inner{transform:scale(1)}.has-cursor,.has-cursor *{cursor:none!important}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}}
