.ContactLinks-module__uQ1y7W__Positioner{outline:0}.ContactLinks-module__uQ1y7W__Popup{color:#9c9ea1;outline:0;transition:transform .2s cubic-bezier(.23,1,.32,1),opacity .2s cubic-bezier(.23,1,.32,1);display:flex}.ContactLinks-module__uQ1y7W__Popup[data-starting-style],.ContactLinks-module__uQ1y7W__Popup[data-ending-style]{opacity:0;transform:translate(-6px)}@media (prefers-reduced-motion:reduce){.ContactLinks-module__uQ1y7W__Popup[data-starting-style],.ContactLinks-module__uQ1y7W__Popup[data-ending-style]{transform:none}}.ContactLinks-module__uQ1y7W__Item{box-sizing:border-box;width:28px;height:28px;color:inherit;cursor:pointer;transition:color .15s ease, transform .15s var(--ease-out);background:0 0;border:0;outline:0;justify-content:center;align-items:center;margin:0;padding:0;display:flex}@media (hover:hover){.ContactLinks-module__uQ1y7W__Item:hover{color:#000}}.ContactLinks-module__uQ1y7W__Item:active{transform:scale(.9)}.ContactLinks-module__uQ1y7W__Item:focus-visible{color:#000;outline-offset:-2px;outline:2px solid #1a1a1a}.ContactLinks-module__uQ1y7W__Swap{animation:ContactLinks-module__uQ1y7W__icon-in .15s var(--ease-out);display:block}@keyframes ContactLinks-module__uQ1y7W__icon-in{0%{opacity:0;transform:scale(.8)}}@media (prefers-reduced-motion:reduce){.ContactLinks-module__uQ1y7W__Item:active{transform:none}.ContactLinks-module__uQ1y7W__Swap{animation-name:ContactLinks-module__uQ1y7W__icon-fade}}@keyframes ContactLinks-module__uQ1y7W__icon-fade{0%{opacity:0}}.ContactLinks-module__uQ1y7W__Status{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}
.rw{--rw-bg:#fff;--rw-ink:#1a1a1a;--rw-title:#858587;--rw-clock:#cecece;--rw-final:#818181;--rw-icon:#c4c4c6;letter-spacing:-.011em;-webkit-font-smoothing:antialiased;color:var(--rw-ink);background:var(--rw-bg);flex-direction:column;min-height:100dvh;font-family:Gen Interface JP Display,system-ui,-apple-system,sans-serif;display:flex;overflow-x:clip}@media (min-width:768px){.rw{--rw-clock:#bdbdbd}}
.hc{color:#1a1a1a;-webkit-font-smoothing:antialiased;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--hc-gap:40px;--hc-acc-air:40px;background:#fff;max-width:488px;margin:0 auto;padding:120px 24px 100px;font-family:Gen Interface JP Display,system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.55;overflow-x:visible}@media (min-width:768px){.hc{max-width:700px;padding:64px 56px 100px}}.hc-name{letter-spacing:-.01em;color:#000;margin:0 0 2px;font-size:14px;font-weight:400}.hc-name-trigger{font:inherit;letter-spacing:inherit;color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;margin:0;padding:0;display:inline-flex}.hc-name-trigger:focus-visible{outline-offset:2px;outline:2px solid #1a1a1a}.hc-name-plus{color:#c4c6c8;flex:none;transition:transform .2s cubic-bezier(.23,1,.32,1);display:block}.hc-name-trigger[data-popup-open] .hc-name-plus{transform:rotate(45deg)}@media (prefers-reduced-motion:reduce){.hc-name-plus{transition:none}}.hc-section:empty{display:none}.hc-tagline{color:#666;margin:0 0 2px}.hc-clock{margin:0 0 var(--hc-gap);color:#d4d6d9;font-variant-numeric:tabular-nums;font-size:14px}.hc-summary,.hc-section{margin:0 0 var(--hc-gap)}.hc-section:last-child{margin-bottom:0}.hc-summary{color:#333;font-size:14px;line-height:1.55}.hc-summary p{margin:0 0 16px}.hc-summary p:last-child{margin-bottom:0}@media (min-width:768px){.hc-summary p{text-wrap:pretty}}.hc-collab{color:inherit}.hc-nowplaying{box-sizing:border-box;color:#d8d8d8;grid-template-columns:16px 24px minmax(0,1fr);align-items:center;gap:8px;width:260px;max-width:calc(100vw - 48px);min-height:24px;margin:64px 0 0;padding:0;text-decoration:none;display:grid}.hc-nowplaying.is-playing{color:#181818}.hc-np-reserve{visibility:hidden}.hc-spotify-mark{color:#e2e4e6;flex:none;width:16px;height:16px}.hc-nowplaying.is-playing .hc-spotify-mark{color:#5df079}.hc-spotify-art{background:#eeeeeb;border-radius:4px;width:24px;height:24px;display:block;overflow:hidden}.hc-spotify-art img,.hc-spotify-art span{object-fit:cover;width:100%;height:100%;display:block}.hc-spotify-copy{font-variant-numeric:tabular-nums;min-width:0;animation:earworm-in .15s var(--ease-out);display:block}.hc-spotify-line{text-overflow:ellipsis;white-space:nowrap;color:#d8d8d8;letter-spacing:-.01em;font-size:12px;line-height:1.3;display:block;overflow:hidden}.hc-spotify-song{color:#292929;font-weight:400}.hc-spotify-sep{vertical-align:middle;opacity:.6;background:currentColor;border-radius:50%;width:3px;height:3px;margin:0 8px;display:inline-block}.hc-spotify-artist{font-weight:400}.hc-nowplaying.is-playing .hc-spotify-line{color:#181818}.hc-lists{gap:var(--hc-gap);margin-bottom:var(--hc-gap);flex-direction:column;display:flex}.hc-list{flex-direction:column;gap:20px;display:flex}.hc-list-title,.hc-list-group-label{margin:0;font-size:14px;font-weight:400;line-height:1.55}.hc-list-title{color:#e2e4e6}.hc-list-group-label{color:#8a8a8a;margin-bottom:4px}.hc-list-title+.hc-list-group{margin-top:-12px}.hc-rows-wrap{position:relative}.hc-fluid-highlight{z-index:0;pointer-events:none;transition:transform .15s var(--ease-out), width .15s var(--ease-out), height .15s var(--ease-out), opacity 80ms linear;background:#f8f8f9;border-radius:6px;position:absolute;top:0;left:0}.hc-fluid-highlight--blue{background:#2563eb}.hc-rows{margin:0;padding:0;list-style:none}.hc-row{color:#4d4d4d;align-items:center;gap:16px;min-height:30px;font-size:14px;display:flex}.hc-row-title,.hc-row-link{text-overflow:ellipsis;white-space:nowrap;text-underline-offset:2px;min-width:0;text-decoration:none;text-decoration-thickness:1px;overflow:hidden}.hc-row-link{color:#4d4d4d;transition:color .15s,text-decoration-color .15s}.hc-row-link:hover,.hc-row-link:focus-visible{color:#1a1a1a;text-decoration-color:currentColor}.hc-acc-header{margin:0}.hc-acc-trigger{z-index:1;width:fit-content;max-width:100%;font:inherit;letter-spacing:inherit;text-align:left;color:#737373;cursor:pointer;background:0 0;border:0;gap:8px;margin:0;padding:0;transition:color .15s;position:relative}.hc-acc-trigger[data-panel-open]{color:#1a1a1a}.hc-acc-trigger:has(.hc-row-title[data-fluid-hover-active]){color:#1a1a1a}.hc-acc-trigger:focus-visible{outline-offset:2px;outline:2px solid #1a1a1a}.hc-acc-icon{color:#c4c6c8;flex:none;transition:transform .2s cubic-bezier(.23,1,.32,1)}.hc-acc-trigger[data-panel-open] .hc-acc-icon{transform:rotate(45deg)}.hc-acc-trigger .hc-row-title{align-self:stretch;align-items:center;margin:0 -6px;padding:0 6px;display:flex}.hc-acc-panel{height:var(--accordion-panel-height);transition:height .25s cubic-bezier(.23,1,.32,1);overflow:hidden}.hc-acc-panel[data-starting-style],.hc-acc-panel[data-ending-style]{height:0}.hc-acc-content{padding:var(--hc-acc-air) 0;transition:opacity .25s var(--ease-out), transform .25s var(--ease-out)}.hc-acc-panel[data-starting-style] .hc-acc-content,.hc-acc-panel[data-ending-style] .hc-acc-content{opacity:0;transform:translateY(-4px)}.hc-acc-image{outline-offset:-1px;outline:1px solid #1818180f;width:100%;height:auto;display:block}.hc-acc-image+.hc-acc-image{margin-top:12px}.hc-acc-images--row{flex-wrap:wrap;align-items:flex-start;gap:6px;display:flex}.hc-acc-images--row .hc-acc-image+.hc-acc-image{margin-top:0}.hc-acc-image--small{width:48px;image-rendering:pixelated}.hc-acc-demo{--lm-max:100%;width:100%}.hc-acc-demo--oklab{width:auto}.hc-acc-demo--momentum,.hc-acc-demo--depth{width:50%;min-width:240px;max-width:100%}.kuya{box-sizing:border-box;color:#000;letter-spacing:.04em;outline-offset:-1px;background:#fff;outline:1px solid #1818180f;flex-direction:column;gap:8px;width:100%;padding:14px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:9px;line-height:1.5;display:flex}.kuya p{margin:0}.kuya-ring{width:56px;height:56px;animation:28s linear infinite kuya-spin}.kuya-guy{width:62%;height:auto;margin:0 auto;display:block}.kuya-word{align-items:center;gap:4px;font-size:12px;font-weight:700;line-height:1.2;display:flex}.kuya-flag{grid-template:1fr 1fr/1fr 1fr;width:10px;height:10px;display:inline-grid}@keyframes kuya-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.kuya-ring{animation:none}}.bj{--ink-2:color-mix(in oklab, var(--ink) 72%, var(--bg));--card:color-mix(in oklab, color-mix(in oklab, var(--bg) 80%, white) 96%, var(--ink));--hover:color-mix(in oklab, var(--bg) 85%, var(--ink));--line:color-mix(in oklab, var(--bg) 68%, var(--ink));--stroke:color-mix(in oklab, var(--bg) 58%, var(--ink));--dot:color-mix(in oklab, var(--bg) 72%, var(--ink));--canvas:color-mix(in oklab, var(--bg) 95%, black);--well:color-mix(in oklab, var(--card) 70%, var(--ink));--ease:cubic-bezier(.2, 0, 0, 1);box-sizing:border-box;background-color:var(--canvas);background-image:radial-gradient(circle at center, var(--dot) 1.25px, transparent 1.25px);min-height:300px;transition:background-color .22s var(--ease);background-size:24px 24px;place-items:center;padding:32px 16px;display:grid}.bj button{font:inherit}.bj-card{border:1px solid var(--stroke);background:var(--card);width:264px;max-width:100%;color:var(--ink);border-radius:12px;flex-direction:column;line-height:1.4;display:flex;overflow:hidden}.bj-head{align-items:center;gap:4px;padding:8px 8px 4px;display:flex}.bj-grip{width:22px;height:22px;color:var(--ink-2);place-items:center;display:grid}.bj-label{letter-spacing:-.01em;flex:1;font-size:13px;font-weight:600}.bj-fold{width:20px;height:20px;color:var(--ink-2);cursor:pointer;transition:background-color .14s var(--ease), color .14s var(--ease);background:0 0;border:0;border-radius:5px;place-items:center;padding:0;display:grid}.bj-fold:hover{background:var(--hover);color:var(--ink)}.bj-fold svg{transition:rotate .22s var(--ease)}.bj-card.shut .bj-fold svg{rotate:-90deg}.bj-body{transition:grid-template-rows .22s var(--ease);grid-template-rows:1fr;display:grid}.bj-card.shut .bj-body{grid-template-rows:0fr}.bj-set{flex-direction:column;gap:9px;min-height:0;padding:2px 14px 14px;display:flex;overflow:hidden}.bj-card.shut .bj-set{padding-bottom:0}.bj-group{flex-direction:column;gap:4px;display:flex}.bj-h{letter-spacing:.07em;text-transform:uppercase;color:var(--ink-2);margin:0;font-size:11px;font-weight:600}.bj-swatches{gap:8px;padding:3px 0;display:flex}.bj-swatch{cursor:pointer;width:28px;height:28px;transition:scale .14s var(--ease);border:1px solid;border-radius:999px;place-items:center;padding:0;display:grid}.bj-swatch>span{transition:width .14s var(--ease), height .14s var(--ease);border-radius:999px}.bj-swatch:hover{scale:1.08}.bj-swatch.on{box-shadow:0 0 0 2px var(--card), 0 0 0 3px var(--ink)}.bj-row{justify-content:space-between;align-items:center;gap:10px;min-height:28px;display:flex}.bj-row-label{font-size:13px}.bj-seg{background:var(--well);border-radius:8px;gap:2px;padding:2px;display:flex}.bj-opt{color:var(--ink-2);cursor:pointer;transition:background-color .14s var(--ease), color .14s var(--ease);background:0 0;border:0;border-radius:6px;padding:4px 10px;font-size:12px;font-weight:500}.bj-opt.on{background:var(--card);color:var(--ink)}.bj-switch{border:1px solid var(--line);background:var(--well);cursor:pointer;width:38px;height:22px;transition:background-color .16s var(--ease), border-color .16s var(--ease);border-radius:999px;padding:0;position:relative}.bj-switch.on{background:var(--ink);border-color:var(--ink)}.bj-knob{background:var(--ink-2);width:16px;height:16px;transition:translate .16s var(--ease), background-color .16s var(--ease);border-radius:999px;position:absolute;top:2px;left:2px}.bj-switch.on .bj-knob{background:var(--bg);translate:16px}@media (prefers-reduced-motion:reduce){.bj,.bj-body,.bj-fold svg,.bj-knob,.bj-swatch,.bj-swatch>span{transition:none}}.chess{background:#f3f3f380;width:100%;position:relative;overflow:hidden}.isoboard{justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.isoboard canvas{image-rendering:pixelated;cursor:pointer;touch-action:manipulation;max-width:100%;display:block}.isoboard-log,.isoboard-actions{font-family:var(--font-geist-pixel-square), ui-monospace, monospace;letter-spacing:.02em;pointer-events:none;font-size:12px;line-height:1;position:absolute}.isoboard-log{text-align:center;color:#6b6b6b;width:34%;top:13%;left:max(16px,50% - 50vw + 16px)}.isoboard-turn{color:#4a4a4a;margin:0 0 10px}.isoboard-moves{margin:0;padding:0;list-style:none}.isoboard-moves li{padding:3px 0;transition:opacity .45s ease-out}@media (max-width:700px){.isoboard-log{text-align:left;width:auto;top:12px}}@media (prefers-reduced-motion:reduce){.isoboard-moves li{transition:none}}.isoboard-actions{align-items:center;gap:8px;display:flex;right:max(16px,50% - 50vw + 16px)}.isoboard-actions button{pointer-events:auto;font:inherit;letter-spacing:inherit;color:#fff;cursor:pointer;border:none;border-radius:999px;padding:7px 12px 6px;transition:opacity .12s,filter .12s}.isoboard-actions .isoboard-undo{background:#6b6b6b}.isoboard-actions .isoboard-reset{background:#ff3837}.isoboard-actions button:hover:not(:disabled){filter:brightness(1.12)}.isoboard-actions button:disabled{opacity:.28;cursor:default}.isoboard-confirm{z-index:2;background:#f3f3f3a8;place-items:center;animation:90ms ease-out both isoboard-fade;display:grid;position:absolute;inset:0}.isoboard-panel{font-family:var(--font-geist-pixel-square), ui-monospace, monospace;text-align:center;background:#ecdfc6;border:3px solid #19592e;padding:20px 24px 18px;box-shadow:6px 6px #2a1c104d}.isoboard-ask{letter-spacing:.06em;color:#19592e;margin:0 0 16px;font-size:14px}.isoboard-caret{vertical-align:-1px;background:#19592e;width:7px;height:12px;margin-left:6px;animation:1s step-end infinite isoboard-blink;display:inline-block}.isoboard-choices{justify-content:center;gap:10px;display:flex}.isoboard-choices button{letter-spacing:.08em;color:#fff;cursor:pointer;border:none;border-radius:0;padding:9px 18px 8px;font-family:inherit;font-size:12px;transition:filter .12s}.isoboard-choices button:hover{filter:brightness(1.12)}.isoboard-choices .isoboard-yes{background:#ff3837}.isoboard-choices .isoboard-no{background:#6b6b6b}@keyframes isoboard-fade{0%{opacity:0}to{opacity:1}}@keyframes isoboard-blink{0%,50%{opacity:1}50.01%,to{opacity:0}}@media (prefers-reduced-motion:reduce){.isoboard-confirm,.isoboard-caret{animation:none}}.hc-acc-demo--facto{width:auto}.facto{aspect-ratio:1;color:#000;grid-template-columns:repeat(6,1fr);width:240px;display:grid}.facto-cell{padding:3.84615%}.facto-cell svg{width:100%;height:100%;display:block}.refgarden{grid-template-columns:repeat(6,1fr);column-gap:3.89%;max-width:194px;display:grid}.refgarden>div{aspect-ratio:1;-webkit-mask:url(/work/refgarden/flower.png) 50%/contain no-repeat;mask:url(/work/refgarden/flower.png) 50%/contain no-repeat}.dd-wrap{width:100%}.dd-frame{touch-action:none}.dd{border-radius:5px;flex:1;min-width:0;padding:8px;transition:box-shadow .15s cubic-bezier(.215,.61,.355,1),background-color .15s cubic-bezier(.215,.61,.355,1);display:flex;position:relative;box-shadow:inset 0 0 0 1px #0000000a}.dd-root{aspect-ratio:3/2;box-sizing:border-box;background:#fafafa;border:1px solid #ececec;border-radius:14px;width:100%;padding:0}.dd-root>.dd,.dd{box-sizing:border-box}.dd-on{box-shadow:inset 0 0 0 1px rgb(var(--dc) / .6)}.dd-pop{background-color:rgb(var(--dc) / .16);box-shadow:inset 0 0 0 1.5px rgb(var(--dc)), 0 6px 18px rgb(var(--dc) / .3);z-index:3}@media (hover:hover) and (pointer:fine){.dd:hover:not(:has(.dd:hover)){background-color:rgb(var(--dc) / .16);box-shadow:inset 0 0 0 1.5px rgb(var(--dc)), 0 6px 18px rgb(var(--dc) / .3);z-index:3}}.dd-label{z-index:1;color:#fff;white-space:nowrap;pointer-events:none;border-radius:4px;padding:1px 5px;font:500 8px/1.4 ui-monospace,SF Mono,Menlo,monospace;transition:transform .15s cubic-bezier(.215,.61,.355,1),box-shadow .15s cubic-bezier(.215,.61,.355,1);position:absolute;top:0;left:0}.dd-pop>.dd-label{z-index:6;box-shadow:0 3px 10px rgb(var(--dc) / .45);transform:translateY(-2px)}.dd:hover:not(:has(.dd:hover))>.dd-label{z-index:6;box-shadow:0 3px 10px rgb(var(--dc) / .45);transform:translateY(-2px)}.dd-switch{color:#6b7280;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;margin-top:14px;font-size:11px;display:inline-flex}.dd-switch input{opacity:0;width:0;height:0;position:absolute}.dd-track{background:#ececec;border-radius:999px;flex:none;width:38px;height:22px;transition:background .18s;position:relative}.dd-track:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .18s cubic-bezier(.215,.61,.355,1);position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000040}.dd-switch input:checked+.dd-track{background:#f56868}.dd-switch input:checked+.dd-track:after{transform:translate(16px)}.dd-switch input:focus-visible+.dd-track{outline-offset:2px;outline:2px solid #1a1a1a}@media (prefers-reduced-motion:reduce){.dd,.dd-label,.dd-track,.dd-track:after{transition:none}}.hc-acc-text{color:#8a8a8a;margin:0;font-size:14px;line-height:1.4}:is(.hc-acc-text:has(+.hc-acc-demo),.hc-acc-text:has(+.hc-acc-image)){margin-bottom:12px}.hc-acc-links{flex-direction:column;align-items:flex-start;gap:4px;margin-bottom:10px;padding-left:6px;display:flex;position:relative}.hc-acc-link{z-index:1;color:#00498f;align-items:center;gap:5px;margin:-2px -6px;padding:2px 6px;font-family:Geist Mono,ui-monospace,SF Mono,Menlo,monospace;font-size:12px;transition:color .15s;display:inline-flex;position:relative}.hc-acc-link:hover,.hc-acc-link:focus-visible{color:#002f5c}.hc-acc-link[data-fluid-hover-active]{color:#fff}.hc-acc-arrow{flex:none}.hc-acc-status{color:#ff6a00;margin:0;font:500 12px/1.55 Geist Mono,ui-monospace,SF Mono,Menlo,monospace}.hc-acc-code{outline-offset:-1px;color:#4d4d4d;white-space:pre-wrap;overflow-wrap:anywhere;background:#fcfcfc;border-radius:3px;outline:1px solid #18181806;margin:0;padding:12px 14px;font-family:Geist Mono,ui-monospace,SF Mono,Menlo,monospace;font-size:12px;line-height:1.6}.hc-acc-code code{font:inherit}.hc-acc-demo+.hc-acc-code,.hc-acc-image+.hc-acc-code,.hc-acc-text+.hc-acc-code{margin-top:10px}@media (prefers-reduced-motion:reduce){.hc-acc-panel,.hc-acc-icon{transition:none}.hc-fluid-highlight{transition:opacity 80ms linear}.hc-acc-content{transition:opacity .25s var(--ease-out)}.hc-acc-panel[data-starting-style] .hc-acc-content,.hc-acc-panel[data-ending-style] .hc-acc-content{transform:none}}.hc-row-meta{color:#b3b3b3;font-variant-numeric:tabular-nums;flex:none;margin-left:auto}@media (max-width:560px){.hc{padding:72px 24px 80px}}
