/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}::backdrop{--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.relative{position:relative}.static{position:static}.start{inset-inline-start:var(--spacing)}.hidden{display:none}.table{display:table}.resize{resize:both}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}@font-face{font-family:Guestbook Placeholder;src:url(/message-note/noto-placeholder.ttf)format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Fusion Pixel;src:url(/message-note/fusion-pixel/fusion-pixel-12px-proportional-zh_hans.otf.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}:root{--ink:#11110f;--paper:#fff;--blue:#68bdf3;--yellow:#f8ef72;--pink:#f78bad;--green:#91c99a;--guestbook-blue:#51c2ff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:PingFang SC,Microsoft YaHei,Helvetica Neue,Arial,sans-serif}a{color:inherit}.site-header{z-index:50;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffe6;height:68px;position:sticky;top:0}.nav-shell{justify-content:space-between;align-items:center;width:min(1180px,100% - 48px);height:100%;margin:0 auto;display:flex}.brand{letter-spacing:-.025em;align-items:center;gap:8px;font-size:15px;font-weight:760;text-decoration:none;display:inline-flex;position:relative}.site-header nav{align-items:center;gap:clamp(32px,4vw,60px);display:flex}.site-header nav a,.site-header nav .site-talk{text-transform:uppercase;letter-spacing:.075em;padding:5px 1px;font-family:inherit;font-size:12px;font-weight:650;line-height:1.5;text-decoration:none;position:relative}.site-header nav a:after{content:"";background:currentColor;height:1.5px;transition:right .25s;position:absolute;bottom:0;left:0;right:100%}.site-header nav a:hover:after,.site-header nav a.active:after{right:0}.site-header nav .site-talk{color:#fff;cursor:pointer;background:#11110f;border:0;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;gap:6px;min-height:31px;padding:6px 15px;display:inline-flex}.site-talk img{width:19px;height:19px;display:block;transform:scale(.84)}.site-header nav .site-talk:hover{background:#333}.site-header nav .site-talk[aria-expanded=true]{background:var(--guestbook-blue)}.site-talk:focus-visible{outline:2px solid var(--blue);outline-offset:4px}.home-layout{flex-direction:column;height:100svh;display:flex}.home-layout>.site-header{flex-shrink:0}.home-layout>main{flex:1;min-height:0}.home-layout .hero{height:100%;min-height:0}.hero{isolation:isolate;min-height:calc(100svh - 68px);position:relative;overflow:hidden}.hero:before{content:"";z-index:-2;opacity:.18;background-image:radial-gradient(#d8d8d2 1px,#0000 1px);background-size:26px 26px;position:absolute;inset:6% 8%;-webkit-mask-image:radial-gradient(circle,#000,#0000 68%);mask-image:radial-gradient(circle,#000,#0000 68%)}.hero:after{content:"";z-index:2;pointer-events:none;background:linear-gradient(#fff0,#ffffffc7 56%,#fff 90%);height:clamp(100px,8vh,132px);position:absolute;bottom:0;left:0;right:0;-webkit-mask-image:linear-gradient(#0000,#000 48%);mask-image:linear-gradient(#0000,#000 48%)}.hero-top-fade{z-index:3;pointer-events:none;background:linear-gradient(#fff 0%,#fffffff0 18%,#ffffff94 52%,#fff0 100%);height:clamp(100px,8vh,132px);position:absolute;top:0;left:0;right:0;-webkit-mask-image:linear-gradient(#000 0% 32%,#0000 100%);mask-image:linear-gradient(#000 0% 32%,#0000 100%)}.hero-glow{z-index:-1;background:radial-gradient(circle,#26beff29,#26beff00 68%);border-radius:50%;width:560px;height:560px;position:absolute;top:47%;left:50%;transform:translate(-50%,-50%)}.signpost-stage{width:100%;height:100%;position:absolute;inset:0;overflow:hidden}.signpost-stage:after{display:none}.signpost-poster{z-index:0;pointer-events:none;opacity:1;display:block;position:absolute;inset:0;overflow:hidden}.signpost-poster img{object-fit:contain;object-position:50% 50%;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.signpost-live{visibility:hidden;opacity:0;pointer-events:none}.signpost-shell.is-interactive-ready>.signpost-poster{visibility:hidden;opacity:0}.signpost-shell.is-interactive-ready>.signpost-live{visibility:visible;opacity:1;pointer-events:auto}.signpost-canvas{z-index:1;contain:strict;cursor:grab;-webkit-user-select:none;user-select:none;width:100%;height:100%;position:absolute;inset:0}.signpost-loading{position:absolute;inset:0}.signpost-canvas.is-dragging{cursor:grabbing}.signpost-canvas.has-sign-hover{cursor:pointer}.signpost-canvas canvas{z-index:0;outline:none;width:100%;height:100%;display:block;position:absolute;inset:0}.signpost-canvas canvas:focus-visible{outline-offset:-7px;outline:1px solid #11110f73}.home-guestbook{z-index:auto;pointer-events:none;color:#111;font-family:PingFang SC,Microsoft YaHei,sans-serif;position:absolute;inset:0}.home-guestbook[hidden]{display:none}.guestbook-inputbar{z-index:5;left:max(0px, env(safe-area-inset-left));bottom:max(0px, env(safe-area-inset-bottom));pointer-events:auto;background:linear-gradient(#fff0,#fff);width:min(406px,100%);padding:0 20px 20px;position:absolute}.guestbook-inputbar[hidden]{display:none}.guestbook-controls{align-items:center;gap:8px;padding:8px 0;display:flex}.guestbook-pill{white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #0000000d;border-radius:100px;justify-content:center;align-items:center;gap:4px;min-height:34px;padding:8px 12px 8px 10px;font:500 .75rem/1rem PingFang SC,Microsoft YaHei,sans-serif;display:inline-flex;box-shadow:0 5px 12.5px #0000000d}.guestbook-all{color:#000c;padding-left:12px;padding-right:10px}.guestbook-all img{flex:0 0 16px;width:16px;height:16px;display:block}.guestbook-toggle{background:#c3c8ce;border-radius:8px;flex:0 0 22px;width:22px;height:16px;padding:2px;transition:background .2s;display:inline-flex}.guestbook-toggle.is-on{background:#26beff}.guestbook-toggle>span{background:#fff;border-radius:50%;width:12px;height:12px;transition:transform .2s;transform:translate(0);box-shadow:0 .8px 2.4px #0a0d121a}.guestbook-toggle.is-on>span{transform:translate(6px)}.guestbook-form{background:#fff;border:1px solid #0000000d;border-radius:20px;justify-content:space-between;align-items:center;gap:12px;width:min(335px,100%);min-height:54px;padding:12px 16px;display:flex;box-shadow:0 5px 12.5px #00000014}.guestbook-form input{color:#30343b;background:0 0;border:0;outline:0;width:100%;min-width:0;padding:0;font:500 .875rem/1.5 Noto Sans SC,PingFang SC,Microsoft YaHei,sans-serif;display:block}.guestbook-form input::placeholder{color:#0003;opacity:1;font-family:Guestbook Placeholder,Noto Sans SC,PingFang SC,sans-serif}.guestbook-send{background:var(--guestbook-blue);cursor:pointer;border:0;border-radius:30px;flex:0 0 28px;place-items:center;width:28px;height:28px;padding:4.667px;display:grid;box-shadow:0 3.889px 17.111px #00000014}.guestbook-send img{width:18.667px;height:18.667px;display:block}.guestbook-send:disabled{cursor:default}.guestbook-send:not(:disabled):hover{background:#26beff}:is(.guestbook-pill:focus-visible,.guestbook-send:focus-visible){outline-offset:3px;outline:2px solid #148bca}.guestbook-feedback-row{color:#777;justify-content:space-between;gap:8px;width:min(335px,100%);font-size:.75rem;line-height:1.5;display:flex}.guestbook-feedback-row:not(:has(:not(.sr-only):not(:empty))){display:none}.guestbook-feedback-row>:not(:empty):not(.sr-only){padding-top:7px}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.guestbook-danmaku{z-index:0;aspect-ratio:1;pointer-events:none;border-radius:50%;width:min(1120px,100% - 40px,100svh - 152px);position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);-webkit-mask-image:radial-gradient(circle closest-side,#000 72%,#000000a6 88%,#0000 100%);mask-image:radial-gradient(circle closest-side,#000 72%,#000000a6 88%,#0000 100%)}.guestbook-danmaku-slot{left:var(--message-x);height:100%;width:min(340px,var(--message-width));animation:guestbook-rise 42s linear var(--message-delay) infinite;position:absolute;top:0;transform:translate(-50%,108%)}.guestbook-danmaku-message{-webkit-line-clamp:2;color:#11110f61;font-synthesis:none;letter-spacing:0;text-align:center;overflow-wrap:anywhere;background:0 0;border:0;-webkit-box-orient:vertical;margin:0;padding:4px 0;font-family:Fusion Pixel,PingFang SC,Microsoft YaHei,sans-serif;font-size:12px;font-weight:400;line-height:20px;display:-webkit-box;overflow:hidden;transform:translateY(-50%)}.guestbook-dialog{pointer-events:auto;--guestbook-paper:#dff9fb;--guestbook-ink:#114c51;width:min(440px,100vw - 32px);max-height:min(620px,100svh - 64px);color:var(--guestbook-ink);filter:drop-shadow(0 2px 3px #114c5114)drop-shadow(0 16px 32px #114c5129);background:0 0;border:0;border-radius:16px;margin:auto;padding:0;overflow:visible}.guestbook-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#14191e2e}.guestbook-dialog-content{background:var(--guestbook-paper);border-radius:16px;flex-direction:column;max-height:min(620px,100svh - 64px);display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffbf}.guestbook-dialog header{flex-shrink:0;justify-content:space-between;align-items:center;gap:20px;padding:16px 20px 8px;display:flex}.guestbook-dialog h2{letter-spacing:-.5px;white-space:nowrap;align-items:center;gap:10px;margin:0;font:600 14px/22px PingFang SC,Microsoft YaHei,sans-serif;display:flex}.guestbook-note-wordmark{flex:0 0 46px;width:46px;height:22px;display:block;position:relative}.guestbook-note-wordmark img{width:43.674px;height:15.024px;display:block;position:absolute;top:3.56px;left:.93px}.guestbook-dialog header button{width:32px;height:32px;color:var(--guestbook-ink);cursor:pointer;background:#f5feff;border:1px solid #114c510f;border-radius:50%;flex:0 0 32px;place-items:center;padding:0;display:grid;box-shadow:0 1px 6px #114c5114}.guestbook-dialog header button svg{display:block}.guestbook-dialog header button:hover{background:#fff}.guestbook-dialog button:focus-visible{outline-offset:3px;outline:2px solid #3c929a}.guestbook-message-list{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#b8e3e7 transparent;background-image:radial-gradient(1px .7px at 1px 27px,#114c511c 98%,#0000);background-position:0 16px;background-size:7px 28px;background-attachment:local;background-origin:content-box;background-clip:content-box;min-height:0;padding:0 24px 24px;overflow-y:auto}.guestbook-message-list:focus-visible{outline-offset:-7px;outline:1px solid #114c514d}.guestbook-message-list article{padding:14px 0}.guestbook-message-list article p{color:var(--guestbook-ink);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:14px;line-height:28px}.guestbook-message-list article>span{color:#114c5173;font-size:11px;line-height:28px;display:block}.guestbook-list-status{text-align:center;color:#114c5199;padding:24px 0;font-size:.875rem}.guestbook-list-status button,.guestbook-load-more{color:var(--guestbook-ink);font:inherit;cursor:pointer;background:#f5feff;border:1px solid #114c5114;border-radius:100px;margin:16px auto 0;padding:10px 18px;display:block}.guestbook-spinner{border:1.5px solid #ffffff80;border-top-color:#fff;border-radius:50%;width:14px;height:14px;animation:.8s linear infinite guestbook-spin}@keyframes guestbook-rise{0%{transform:translate(-50%,108%)}to{transform:translate(-50%,-8%)}}@keyframes guestbook-spin{to{transform:rotate(360deg)}}@media (max-width:620px){.guestbook-inputbar{right:max(0px,env(safe-area-inset-right));width:auto}.guestbook-controls{justify-content:flex-start}.guestbook-form,.guestbook-feedback-row{width:100%}.guestbook-form input{font-size:1rem}.guestbook-form input::placeholder{font-size:.875rem}.guestbook-danmaku{width:min(100% - 24px,100svh - 152px)}.guestbook-danmaku-slot{width:max(32%,var(--message-width))}.guestbook-danmaku-message{-webkit-line-clamp:1}}@media (max-height:540px){.guestbook-danmaku-slot:first-child{animation-delay:-36s}.guestbook-danmaku-slot:nth-child(2){animation-delay:-29s}.guestbook-danmaku-slot:nth-child(3){animation-delay:-22s}.guestbook-danmaku-slot:nth-child(4){animation-delay:-15s}.guestbook-danmaku-slot:nth-child(5){animation-delay:-8s}.guestbook-danmaku-slot:nth-child(6){animation-delay:-1s}.guestbook-danmaku-slot:nth-child(n+7){display:none}}@media (prefers-reduced-motion:reduce){.guestbook-danmaku-slot{top:var(--message-y);height:auto;animation:none;transform:translate(-50%)}.guestbook-toggle,.guestbook-toggle>span{transition:none}}.signpost-detail{z-index:4;pointer-events:none;opacity:0;text-align:right;width:min(35vw,520px);transition:opacity .48s,transform .7s cubic-bezier(.18,.8,.22,1);position:absolute;top:50%;left:auto;right:59%;transform:translate(-28px,-45%)}.signpost-stage.is-focus-right .signpost-detail{text-align:left;left:59%;right:auto;transform:translate(28px,-45%)}.signpost-detail.is-visible{pointer-events:auto;opacity:1;transition-delay:.14s;transform:translateY(-45%)}.signpost-stage.is-focus-right .signpost-detail.is-visible{transform:translateY(-45%)}.signpost-detail h2{white-space:pre-line;letter-spacing:0;max-width:100%;margin:0 0 24px;font:700 30px/1.2 Arial,sans-serif}.signpost-detail p{color:#66655f;margin:0;font:15px/1.85 Arial,sans-serif}.signpost-detail p span{display:block}.signpost-project-link{color:#11110f;letter-spacing:0;background:#fff;border:1px solid #11110f14;border-radius:999px;justify-content:center;align-items:center;gap:4px;margin-top:26px;padding:9px 14px 9px 20px;font:500 15px PingFang SC,Microsoft YaHei,sans-serif;text-decoration:none;transition:border-color .22s,transform .22s,box-shadow .22s;display:inline-flex}.signpost-project-link img{flex:0 0 16px;width:16px;height:16px;transition:transform .22s}.signpost-project-link:hover{border-color:#11110f2e;transform:translateY(-1px);box-shadow:0 5px 16px #11110f0f}.signpost-project-link:hover img{transform:translate(2px,-2px)}.signpost-scene{width:440px;height:520px;transform-style:preserve-3d;filter:drop-shadow(0 24px 24px #4a3a2321);transition:transform .18s ease-out;position:absolute;top:47%;left:50%;translate:-50% -50%}.pole{background:linear-gradient(90deg,#845c34 0%,#deb572 44%,#a5723c 71%,#6b482d 100%);border:1px solid #72522f;border-radius:4px;width:30px;height:365px;position:absolute;top:92px;left:211px;box-shadow:inset 5px 0 8px #ffffff3d,inset -5px 0 7px #3b1f0a33}.pole-cap{background:radial-gradient(circle at 38% 30%,#f1cb8e,#9d6c39 65%,#654325);border:1px solid #6d492a;border-radius:50% 50% 45% 45%;width:42px;height:42px;position:absolute;top:76px;left:205px}.sign{width:258px;height:66px;transform-style:preserve-3d;letter-spacing:.13em;text-shadow:0 1px #ffffff40;border:1.5px solid #221f1899;place-items:center;font-family:Arial,sans-serif;font-size:20px;font-weight:800;display:grid;position:absolute;left:50%;box-shadow:inset 0 4px 5px #ffffff40,inset 0 -5px 9px #1414141a,0 10px 16px #2620141f}.sign:after{content:"";border-top:33px solid #0000;border-bottom:33px solid #0000;position:absolute;right:-45px}.sign span{transform:translateZ(12px)}.sign-one{background:var(--blue);margin-left:-232px;top:118px;transform:rotate(-7deg)rotateY(8deg)translateZ(20px)}.sign-one:after{border-left:46px solid var(--blue)}.sign-two{background:var(--pink);margin-left:-44px;top:212px;transform:rotate(5deg)rotateY(-10deg)translateZ(34px)}.sign-two:after{display:none}.sign-two:before{content:"";border-top:33px solid #0000;border-bottom:33px solid #0000;border-right:46px solid var(--pink);position:absolute;left:-45px}.sign-three{background:var(--green);margin-left:-208px;top:306px;transform:rotate(-2deg)rotateY(13deg)translateZ(16px)}.sign-three:after{border-left:46px solid var(--green)}.shadow{filter:blur(14px);background:#3b2f1e2e;border-radius:50%;width:270px;height:34px;position:absolute;top:446px;left:102px;transform:rotateX(78deg)translateZ(-30px)}@media (max-width:980px){.site-header{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff}.hero:after,.hero-top-fade{-webkit-backdrop-filter:none;backdrop-filter:none}.nav-shell{width:calc(100% - 32px)}.site-header nav{gap:28px}.site-header nav a,.site-header nav .site-talk{font-size:10px}.brand{font-size:13px}.signpost-stage:after{display:none}.signpost-poster img{object-fit:cover}.signpost-canvas{width:100%;height:100%}.signpost-detail,.signpost-detail.is-visible,.signpost-stage.is-focus-right .signpost-detail,.signpost-stage.is-focus-right .signpost-detail.is-visible{width:auto;padding:116px 28px max(42px, env(safe-area-inset-bottom));-webkit-backdrop-filter:none;backdrop-filter:none;text-align:left;pointer-events:none;background:linear-gradient(#fff0 0,#fffffff5 92px,#fff 156px 100%);border:0;border-radius:0;inset:auto 0 0;transform:translateY(28px)}.signpost-detail.is-visible,.signpost-stage.is-focus-right .signpost-detail.is-visible{transform:translateY(0)}.signpost-detail h2{width:min(58vw,340px);margin:0 0 12px;font-size:30px}.signpost-detail p{width:min(58vw,340px);padding-right:0;font-size:13px;line-height:1.7}.signpost-project-link{pointer-events:auto}}@media (max-width:620px){.site-header:has(.site-talk){height:auto;min-height:68px;padding:14px 0}.site-header:has(.site-talk) .nav-shell{flex-wrap:wrap;gap:8px 12px;min-height:40px}.site-header:has(.site-talk) .brand{white-space:nowrap;flex-shrink:0}.site-header:has(.site-talk) nav{gap:18px;margin-left:auto}.site-header nav .site-talk{gap:4px;min-height:27px;padding:6px 10px}.site-talk img{width:15px;height:15px}}@media (max-width:380px){.site-header .brand{display:none}.site-header .nav-shell{justify-content:center}.site-header:has(.site-talk) nav{margin-left:0}}@media (max-width:980px) and (orientation:landscape){.signpost-detail h2,.signpost-detail p{width:min(46vw,300px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.about-page,.work-page{width:min(1180px,100% - 48px);margin:0 auto}.section-heading-row{border-bottom:1px solid #171714;justify-content:space-between;align-items:baseline;padding-bottom:12px;display:flex}.section-heading-row h2{letter-spacing:-.055em;margin:0;font:700 clamp(34px,5vw,68px)/.95 Georgia,serif}.section-heading-row span{letter-spacing:.17em;color:#77776f;font-size:9px;font-weight:700}.about-intro{padding:58px 0 32px}.heart-stage{background:radial-gradient(circle,#82c5ec1c,#0000 60%);place-items:center;min-height:500px;display:grid;position:relative}.circuit-heart{color:#f47d96;filter:drop-shadow(0 18px 25px #1e4b6324);place-items:center;width:320px;height:300px;transition:transform .35s,filter .35s;display:grid;position:relative}.heart-core{z-index:2;color:#9bd5f1;-webkit-text-stroke:2px #18394a;text-shadow:inset 0 0 0 #fff;font-family:Arial,sans-serif;font-size:260px;line-height:1;display:block;position:relative;transform:scaleX(1.08)}.circuit-heart:before{content:"";z-index:3;clip-path:polygon(50% 100%,0 46%,9% 17%,28% 3%,49% 18%,71% 3%,91% 17%,100% 46%);opacity:.7;background-image:linear-gradient(90deg,#0000 48%,#17394a 48% 52%,#0000 52%),linear-gradient(#0000 48%,#17394a 48% 52%,#0000 52%);background-size:38px 38px;position:absolute;inset:65px 64px 74px}.node{z-index:4;background:#f9ee77;border:2px solid #17394a;border-radius:50%;width:11px;height:11px;animation:2.6s ease-in-out infinite nodeblink;position:absolute}.n1{top:90px;left:90px}.n2{animation-delay:.4s;top:66px;left:148px}.n3{animation-delay:.8s;top:96px;right:86px}.n4{animation-delay:1.2s;top:166px;left:104px}.n5{animation-delay:1.6s;top:174px;right:102px}.n6{animation-delay:2s;bottom:58px;left:154px}.heart-face,.heart-text{z-index:5;color:#17394a;opacity:0;transition:opacity .25s;position:absolute}.heart-face{font:700 24px/1 monospace;top:125px}.heart-text{text-align:center;letter-spacing:.05em;font:800 18px/1.05 Arial,sans-serif;top:108px}.effect-heartbeat{animation:1.05s ease-in-out infinite heartbeat}.effect-pulse{filter:drop-shadow(0 0 30px #f77d96ad);animation:1.4s ease-in-out infinite softpulse}.effect-face .heart-face,.effect-text .heart-text{opacity:1}.effect-wave{animation:1.6s ease-in-out infinite wave}.effect-sparkle:after{content:"✦  ·  ✦";z-index:8;text-align:center;color:#ec6c91;letter-spacing:4.5em;font-size:34px;animation:1s ease-in-out infinite alternate sparkle;position:absolute;inset:20px -10px auto}.bio-panel{max-width:520px}.bio-name{color:#111;width:fit-content;margin:0 0 36px;font:800 40px/1.2 Georgia,serif}.bio-copy{font-size:clamp(15px,1.2vw,18px);line-height:1.85}.bio-copy p{margin:0 0 22px}.background-section{padding:80px 0 110px;font-family:Arial,sans-serif}.timeline{border-bottom:1px solid #171714}.timeline-item{border-top:1px solid #d4d3cc}.timeline-item:first-child{border-top:0}.timeline-item button{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:110px 1fr 32px;align-items:center;gap:20px;width:100%;padding:23px 0;font-family:inherit;display:grid}.timeline-kind{color:#88877f;letter-spacing:.16em;text-transform:uppercase;font-size:10px;font-weight:700}.timeline-title{word-spacing:0;font-size:clamp(22px,3vw,39px);line-height:1.1}.background-section .section-heading-row h2,.background-section .timeline-title{letter-spacing:0;font-family:Arial,sans-serif;font-weight:700}.timeline-plus{justify-self:end;font-size:28px}.timeline-item p{opacity:0;max-height:0;margin:0 0 0 130px;transition:all .35s;overflow:hidden}.timeline-item.open p{opacity:1;max-height:100px;margin-bottom:24px}.work-heading{border-bottom:1px solid #171714;flex-direction:column;justify-content:space-between;min-height:460px;padding:72px 0 44px;display:flex}.work-kicker{color:#76766f;letter-spacing:.18em;justify-content:space-between;font:650 9px/1 Arial,sans-serif;display:flex}.work-heading-grid{grid-template-columns:minmax(0,1.7fr) minmax(220px,.55fr);align-items:end;gap:8vw;display:grid}.work-heading h1{letter-spacing:-.075em;max-width:830px;margin:0;font:700 clamp(82px,13vw,174px)/.72 Georgia,serif}.work-heading h1 em{color:#8d8b84;letter-spacing:-.035em;margin-left:.18em;font-size:.34em;font-weight:400;display:block}.work-heading-grid p{color:#676760;max-width:290px;margin:0 0 4px;font:15px/1.65 Georgia,serif}.project-journey{width:min(900px,100%);margin:0 auto;padding:64px 0 88px;position:relative}.project-journey:before{content:"";background:#171714;width:1px;position:absolute;top:54px;bottom:72px;left:12px}.project-stop{z-index:1;grid-template-columns:40px minmax(0,1fr);align-items:start;gap:24px;margin-bottom:104px;display:grid;position:relative}.project-stop:last-child{margin-bottom:0}.project-stop--left .project-visual{grid-column:1}.project-stop--left .project-node{grid-column:2}.project-stop--left .project-copy{grid-column:3;padding-left:clamp(18px,3vw,48px)}.project-stop--right .project-visual{grid-column:3}.project-stop--right .project-node{grid-area:1/2}.project-stop--right .project-copy{text-align:left;grid-area:1/1;padding-right:clamp(18px,3vw,48px)}.project-node{place-items:center;width:24px;height:36px;display:grid;position:relative}.project-node:before{content:"";background:#171714;height:1px;position:absolute;top:50%;left:12px;right:-16px}.project-node i{z-index:1;background:#fff;border:2px solid #171714;border-radius:50%;width:11px;height:11px;position:relative;box-shadow:0 0 0 6px #fff}.project-visual{aspect-ratio:1.34;background:var(--card);width:100%;color:var(--accent);text-align:left;cursor:pointer;border:1px solid #11111161;border-radius:24px 96px 24px 24px;padding:24px;text-decoration:none;transition:transform .4s cubic-bezier(.2,.75,.2,1),box-shadow .4s,border-radius .4s;display:block;position:relative;overflow:hidden;box-shadow:0 18px 46px #23201912}.project-stop--right .project-visual{border-radius:96px 24px 24px}.project-visual--compact{justify-self:center;width:85%}.project-visual:before{content:"";aspect-ratio:1;opacity:.28;border:1px solid;border-radius:50%;width:62%;position:absolute;top:-34%;right:-14%}.project-visual:after{content:"";opacity:.34;transform-origin:100%;background:currentColor;height:1px;position:absolute;bottom:24%;left:-8%;right:22%;transform:rotate(-13deg)}.project-visual-fade{z-index:3;pointer-events:none;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:linear-gradient(#fff 0%,#fffffff0 18%,#ffffff94 52%,#fff0 100%);height:clamp(90px,10vw,132px);position:absolute;top:0;left:0;right:0;-webkit-mask-image:linear-gradient(#000 0% 32%,#0000 100%);mask-image:linear-gradient(#000 0% 32%,#0000 100%)}.project-visual:hover{border-radius:58px;transform:translateY(-8px);box-shadow:0 34px 74px #23201926}.preview-index,.preview-caption{z-index:1;letter-spacing:.18em;font:700 8px/1 Arial,sans-serif;position:absolute}.preview-index{top:22px;left:24px}.preview-caption{bottom:24px;left:25px}.preview-glyph{z-index:1;font:500 clamp(27px,3.2vw,43px)/1 Arial,sans-serif;position:absolute;top:21px;right:25px}.project-sign-art{z-index:1;background:#0d1118;border:clamp(5px,.55vw,8px) solid #59616c;display:block;position:absolute;top:46%;left:50%;overflow:hidden;transform:translate(-50%,-50%)rotate(-1deg);box-shadow:inset 0 0 0 2px #ffffff52,0 14px 28px #181b2133}.project-sign-art canvas{width:100%;height:100%;display:block}.project-sign-art--bar{aspect-ratio:1;border-radius:50%;width:42%}.project-sign-art--bug{aspect-ratio:1.25;border-radius:13px;width:62%}.project-sign-art--down{aspect-ratio:.78;border-radius:12px;width:31%}.project-sign-art--start{aspect-ratio:1.16;border-radius:12px;width:48%}.preview-title{z-index:1;letter-spacing:-.06em;max-width:calc(100% - 48px);font:720 clamp(25px,3.3vw,43px)/.9 Arial,sans-serif;position:absolute;bottom:47px;left:24px}.project-copy{color:#171714}.project-copy h2{margin:0 0 24px}.project-copy h2 a{color:inherit;letter-spacing:0;word-spacing:0;white-space:pre-line;font:700 30px/1.2 Arial,sans-serif;text-decoration:none}.project-copy p{color:#66655f;max-width:660px;margin:0;font:15px/1.85 Arial,sans-serif}.view-project{color:inherit;letter-spacing:0;cursor:pointer;background:#fff;border:1px solid #11110f24;border-radius:999px;align-items:center;gap:8px;margin-top:24px;padding:9px 14px 9px 20px;font:500 15px PingFang SC,Microsoft YaHei,sans-serif;text-decoration:none;transition:border-color .22s,transform .22s,box-shadow .22s;display:inline-flex}.view-project:hover{border-color:#11110f57;transform:translateY(-1px);box-shadow:0 8px 22px #11110f12}.view-project span{margin-left:6px;transition:transform .25s;display:inline-block}.view-project:hover span{transform:translate(3px,-3px)}.project-image-page{width:min(1180px,100% - 32px);margin:24px auto 0}.project-back-link{color:#777;align-items:center;gap:5px;min-height:30px;margin-bottom:16px;padding:0 2px;font-size:12px;text-decoration:none;transition:color .2s;display:inline-flex}.project-back-link:hover{color:#111}.project-back-link:focus-visible{outline-offset:4px;outline:2px solid #111}.project-image-page picture{display:block}.project-image-page img{width:100%;height:auto;display:block}.project-detail{width:min(880px,100% - clamp(80px,14vw,240px));margin:0 auto}.project-article{padding:126px 0 140px}.article-header{margin-bottom:70px}.article-header h1{letter-spacing:-.075em;margin:0;font:650 clamp(68px,9vw,118px)/.78 Georgia,serif}.article-header p{color:#55554f;max-width:680px;margin:38px 0 0;font:17px/1.9 Georgia,serif}.article-cover{aspect-ratio:1.64;background:var(--card);width:100%;color:var(--accent);border:1px solid #1111115c;border-radius:38px 180px 38px 38px;margin:0;position:relative;overflow:hidden;box-shadow:0 34px 80px #1e1c161c}.article-cover:before{content:"";aspect-ratio:1;opacity:.35;border:1px solid;border-radius:50%;width:68%;position:absolute;top:-48%;right:-10%}.article-cover:after{content:"";opacity:.32;transform-origin:100%;background:currentColor;height:1px;position:absolute;bottom:22%;left:-6%;right:22%;transform:rotate(-12deg)}.cover-glyph{z-index:1;font:500 clamp(48px,7vw,96px)/1 Arial,sans-serif;position:absolute;top:35px;right:44px}.article-cover .project-sign-art--bar{width:34%}.article-cover .project-sign-art--bug{width:55%}.article-cover .project-sign-art--down{width:27%}.article-cover .project-sign-art--start{width:42%}.cover-name{z-index:1;letter-spacing:-.045em;font:720 30px/.9 Arial,sans-serif;position:absolute;bottom:42px;left:38px}.article-body{width:min(700px,100%);margin:106px 0 112px}.article-section{padding:0 0 72px}.article-section h2{letter-spacing:-.045em;max-width:520px;margin:0 0 26px;font:600 clamp(34px,5vw,56px)/1.05 Georgia,serif}.article-section p{color:#4f4f49;margin:0;font-size:16px;line-height:2}.article-media-wide{aspect-ratio:1.78;background:var(--card);border-radius:32px;width:100%;margin:0;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.article-media-wide{background:color-mix(in srgb,var(--card) 82%,white)}}.article-media-wide{color:var(--accent)}.article-media-wide:before{content:"";opacity:.28;border:1px solid;border-radius:50%;position:absolute;inset:9%;transform:rotate(-8deg)}.media-orbit{aspect-ratio:1;opacity:.45;border:1px solid;border-radius:50%;width:45%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.media-glyph{font:500 clamp(62px,10vw,150px)/1 Arial,sans-serif;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.site-footer{color:#111;background:#fff;border-top:1px solid #deddd7;padding:70px max(24px,50% - 590px) 30px}.footer-main{grid-template-rows:auto auto;grid-template-columns:1.2fr 1fr;align-items:start;gap:26px 50px;display:grid}.footer-brand{letter-spacing:-.06em;margin:0;font:750 40px/.9 Arial,sans-serif}.footer-note{color:#6f6e67;grid-area:2/1;max-width:410px;margin:0;font:16px/1.7 Georgia,serif}.footer-email{text-underline-offset:5px;grid-area:1/2;justify-self:end}.footer-copyright{color:#77766f;letter-spacing:.12em;text-transform:uppercase;text-align:right;grid-area:2/2;place-self:end;font-size:9px}@keyframes heartbeat{0%,to{transform:scale(1)}12%{transform:scale(1.06)}22%{transform:scale(.98)}34%{transform:scale(1.045)}48%{transform:scale(1)}}@keyframes softpulse{50%{filter:drop-shadow(0 0 50px #f77d96cc);transform:scale(1.06)}}@keyframes wave{0%,to{transform:rotate(-2deg)}50%{transform:rotate(3deg)translateY(-6px)}}@keyframes sparkle{to{opacity:.5;transform:scale(1.15)rotate(5deg)}}@keyframes nodeblink{50%{background:#f27998;box-shadow:0 0 12px #f27998}}@media (max-width:900px){.heart-stage{min-height:440px}.bio-panel{max-width:680px}.work-heading{min-height:390px}.footer-main{grid-template-rows:auto;grid-template-columns:1fr;gap:28px}.footer-note,.footer-email,.footer-copyright{grid-area:auto/1}.footer-email,.footer-copyright{text-align:left;justify-self:start}}@media (max-width:620px){.about-page,.work-page{width:calc(100% - 32px)}.about-intro{padding-top:20px}.circuit-heart{scale:.82}.heart-stage{min-height:390px}.bio-name{font-size:31px}.timeline-item button{grid-template-columns:72px 1fr 24px;gap:10px}.timeline-item p{margin-left:82px}.work-heading{min-height:360px;padding-top:50px}.work-heading-grid{grid-template-columns:1fr;gap:38px}.work-heading h1{font-size:clamp(72px,26vw,110px)}.work-heading-grid p{max-width:260px}.project-journey{padding-top:52px}.project-journey:before{top:42px;left:12px}.project-stop{grid-template-columns:38px minmax(0,1fr);gap:0;margin-bottom:88px}.project-stop--left .project-visual,.project-stop--right .project-visual{border-radius:24px 82px 24px 24px;grid-area:1/2}.project-stop--left .project-node,.project-stop--right .project-node{grid-area:1/1;align-self:start;width:38px;margin-top:55px}.project-stop--left .project-copy,.project-stop--right .project-copy{text-align:left;grid-area:2/2;padding:30px 0 0}.project-node:before{left:12px}.project-copy h2 a{font-size:30px}.project-detail{width:calc(100% - 32px)}.project-article{padding-top:72px}.article-header{margin-bottom:50px}.article-header h1{font-size:clamp(64px,23vw,100px)}.article-header p{font-size:15px}.article-cover{aspect-ratio:.82;border-radius:26px 90px 26px 26px}.cover-glyph{top:25px;right:26px}.cover-name{font-size:30px;bottom:30px;left:24px}.article-body{margin:82px 0 90px}.article-section{padding:0 0 56px}.article-section h2{margin:0 0 20px}.article-section p{font-size:15px;line-height:1.9}.article-media-wide{aspect-ratio:.82;border-radius:24px}}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
