@layer theme,base,components,utilities;@layer theme{@theme default{ --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji"; --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif; --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; --color-red-50: oklch(97.1% .013 17.38); --color-red-100: oklch(93.6% .032 17.717); --color-red-200: oklch(88.5% .062 18.334); --color-red-300: oklch(80.8% .114 19.571); --color-red-400: oklch(70.4% .191 22.216); --color-red-500: oklch(63.7% .237 25.331); --color-red-600: oklch(57.7% .245 27.325); --color-red-700: oklch(50.5% .213 27.518); --color-red-800: oklch(44.4% .177 26.899); --color-red-900: oklch(39.6% .141 25.723); --color-red-950: oklch(25.8% .092 26.042); --color-orange-50: oklch(98% .016 73.684); --color-orange-100: oklch(95.4% .038 75.164); --color-orange-200: oklch(90.1% .076 70.697); --color-orange-300: oklch(83.7% .128 66.29); --color-orange-400: oklch(75% .183 55.934); --color-orange-500: oklch(70.5% .213 47.604); --color-orange-600: oklch(64.6% .222 41.116); --color-orange-700: oklch(55.3% .195 38.402); --color-orange-800: oklch(47% .157 37.304); --color-orange-900: oklch(40.8% .123 38.172); --color-orange-950: oklch(26.6% .079 36.259); --color-amber-50: oklch(98.7% .022 95.277); --color-amber-100: oklch(96.2% .059 95.617); --color-amber-200: oklch(92.4% .12 95.746); --color-amber-300: oklch(87.9% .169 91.605); --color-amber-400: oklch(82.8% .189 84.429); --color-amber-500: oklch(76.9% .188 70.08); --color-amber-600: oklch(66.6% .179 58.318); --color-amber-700: oklch(55.5% .163 48.998); --color-amber-800: oklch(47.3% .137 46.201); --color-amber-900: oklch(41.4% .112 45.904); --color-amber-950: oklch(27.9% .077 45.635); --color-yellow-50: oklch(98.7% .026 102.212); --color-yellow-100: oklch(97.3% .071 103.193); --color-yellow-200: oklch(94.5% .129 101.54); --color-yellow-300: oklch(90.5% .182 98.111); --color-yellow-400: oklch(85.2% .199 91.936); --color-yellow-500: oklch(79.5% .184 86.047); --color-yellow-600: oklch(68.1% .162 75.834); --color-yellow-700: oklch(55.4% .135 66.442); --color-yellow-800: oklch(47.6% .114 61.907); --color-yellow-900: oklch(42.1% .095 57.708); --color-yellow-950: oklch(28.6% .066 53.813); --color-lime-50: oklch(98.6% .031 120.757); --color-lime-100: oklch(96.7% .067 122.328); --color-lime-200: oklch(93.8% .127 124.321); --color-lime-300: oklch(89.7% .196 126.665); --color-lime-400: oklch(84.1% .238 128.85); --color-lime-500: oklch(76.8% .233 130.85); --color-lime-600: oklch(64.8% .2 131.684); --color-lime-700: oklch(53.2% .157 131.589); --color-lime-800: oklch(45.3% .124 130.933); --color-lime-900: oklch(40.5% .101 131.063); --color-lime-950: oklch(27.4% .072 132.109); --color-green-50: oklch(98.2% .018 155.826); --color-green-100: oklch(96.2% .044 156.743); --color-green-200: oklch(92.5% .084 155.995); --color-green-300: oklch(87.1% .15 154.449); --color-green-400: oklch(79.2% .209 151.711); --color-green-500: oklch(72.3% .219 149.579); --color-green-600: oklch(62.7% .194 149.214); --color-green-700: oklch(52.7% .154 150.069); --color-green-800: oklch(44.8% .119 151.328); --color-green-900: oklch(39.3% .095 152.535); --color-green-950: oklch(26.6% .065 152.934); --color-emerald-50: oklch(97.9% .021 166.113); --color-emerald-100: oklch(95% .052 163.051); --color-emerald-200: oklch(90.5% .093 164.15); --color-emerald-300: oklch(84.5% .143 164.978); --color-emerald-400: oklch(76.5% .177 163.223); --color-emerald-500: oklch(69.6% .17 162.48); --color-emerald-600: oklch(59.6% .145 163.225); --color-emerald-700: oklch(50.8% .118 165.612); --color-emerald-800: oklch(43.2% .095 166.913); --color-emerald-900: oklch(37.8% .077 168.94); --color-emerald-950: oklch(26.2% .051 172.552); --color-teal-50: oklch(98.4% .014 180.72); --color-teal-100: oklch(95.3% .051 180.801); --color-teal-200: oklch(91% .096 180.426); --color-teal-300: oklch(85.5% .138 181.071); --color-teal-400: oklch(77.7% .152 181.912); --color-teal-500: oklch(70.4% .14 182.503); --color-teal-600: oklch(60% .118 184.704); --color-teal-700: oklch(51.1% .096 186.391); --color-teal-800: oklch(43.7% .078 188.216); --color-teal-900: oklch(38.6% .063 188.416); --color-teal-950: oklch(27.7% .046 192.524); --color-cyan-50: oklch(98.4% .019 200.873); --color-cyan-100: oklch(95.6% .045 203.388); --color-cyan-200: oklch(91.7% .08 205.041); --color-cyan-300: oklch(86.5% .127 207.078); --color-cyan-400: oklch(78.9% .154 211.53); --color-cyan-500: oklch(71.5% .143 215.221); --color-cyan-600: oklch(60.9% .126 221.723); --color-cyan-700: oklch(52% .105 223.128); --color-cyan-800: oklch(45% .085 224.283); --color-cyan-900: oklch(39.8% .07 227.392); --color-cyan-950: oklch(30.2% .056 229.695); --color-sky-50: oklch(97.7% .013 236.62); --color-sky-100: oklch(95.1% .026 236.824); --color-sky-200: oklch(90.1% .058 230.902); --color-sky-300: oklch(82.8% .111 230.318); --color-sky-400: oklch(74.6% .16 232.661); --color-sky-500: oklch(68.5% .169 237.323); --color-sky-600: oklch(58.8% .158 241.966); --color-sky-700: oklch(50% .134 242.749); --color-sky-800: oklch(44.3% .11 240.79); --color-sky-900: oklch(39.1% .09 240.876); --color-sky-950: oklch(29.3% .066 243.157); --color-blue-50: oklch(97% .014 254.604); --color-blue-100: oklch(93.2% .032 255.585); --color-blue-200: oklch(88.2% .059 254.128); --color-blue-300: oklch(80.9% .105 251.813); --color-blue-400: oklch(70.7% .165 254.624); --color-blue-500: oklch(62.3% .214 259.815); --color-blue-600: oklch(54.6% .245 262.881); --color-blue-700: oklch(48.8% .243 264.376); --color-blue-800: oklch(42.4% .199 265.638); --color-blue-900: oklch(37.9% .146 265.522); --color-blue-950: oklch(28.2% .091 267.935); --color-indigo-50: oklch(96.2% .018 272.314); --color-indigo-100: oklch(93% .034 272.788); --color-indigo-200: oklch(87% .065 274.039); --color-indigo-300: oklch(78.5% .115 274.713); --color-indigo-400: oklch(67.3% .182 276.935); --color-indigo-500: oklch(58.5% .233 277.117); --color-indigo-600: oklch(51.1% .262 276.966); --color-indigo-700: oklch(45.7% .24 277.023); --color-indigo-800: oklch(39.8% .195 277.366); --color-indigo-900: oklch(35.9% .144 278.697); --color-indigo-950: oklch(25.7% .09 281.288); --color-violet-50: oklch(96.9% .016 293.756); --color-violet-100: oklch(94.3% .029 294.588); --color-violet-200: oklch(89.4% .057 293.283); --color-violet-300: oklch(81.1% .111 293.571); --color-violet-400: oklch(70.2% .183 293.541); --color-violet-500: oklch(60.6% .25 292.717); --color-violet-600: oklch(54.1% .281 293.009); --color-violet-700: oklch(49.1% .27 292.581); --color-violet-800: oklch(43.2% .232 292.759); --color-violet-900: oklch(38% .189 293.745); --color-violet-950: oklch(28.3% .141 291.089); --color-purple-50: oklch(97.7% .014 308.299); --color-purple-100: oklch(94.6% .033 307.174); --color-purple-200: oklch(90.2% .063 306.703); --color-purple-300: oklch(82.7% .119 306.383); --color-purple-400: oklch(71.4% .203 305.504); --color-purple-500: oklch(62.7% .265 303.9); --color-purple-600: oklch(55.8% .288 302.321); --color-purple-700: oklch(49.6% .265 301.924); --color-purple-800: oklch(43.8% .218 303.724); --color-purple-900: oklch(38.1% .176 304.987); --color-purple-950: oklch(29.1% .149 302.717); --color-fuchsia-50: oklch(97.7% .017 320.058); --color-fuchsia-100: oklch(95.2% .037 318.852); --color-fuchsia-200: oklch(90.3% .076 319.62); --color-fuchsia-300: oklch(83.3% .145 321.434); --color-fuchsia-400: oklch(74% .238 322.16); --color-fuchsia-500: oklch(66.7% .295 322.15); --color-fuchsia-600: oklch(59.1% .293 322.896); --color-fuchsia-700: oklch(51.8% .253 323.949); --color-fuchsia-800: oklch(45.2% .211 324.591); --color-fuchsia-900: oklch(40.1% .17 325.612); --color-fuchsia-950: oklch(29.3% .136 325.661); --color-pink-50: oklch(97.1% .014 343.198); --color-pink-100: oklch(94.8% .028 342.258); --color-pink-200: oklch(89.9% .061 343.231); --color-pink-300: oklch(82.3% .12 346.018); --color-pink-400: oklch(71.8% .202 349.761); --color-pink-500: oklch(65.6% .241 354.308); --color-pink-600: oklch(59.2% .249 .584); --color-pink-700: oklch(52.5% .223 3.958); --color-pink-800: oklch(45.9% .187 3.815); --color-pink-900: oklch(40.8% .153 2.432); --color-pink-950: oklch(28.4% .109 3.907); --color-rose-50: oklch(96.9% .015 12.422); --color-rose-100: oklch(94.1% .03 12.58); --color-rose-200: oklch(89.2% .058 10.001); --color-rose-300: oklch(81% .117 11.638); --color-rose-400: oklch(71.2% .194 13.428); --color-rose-500: oklch(64.5% .246 16.439); --color-rose-600: oklch(58.6% .253 17.585); --color-rose-700: oklch(51.4% .222 16.935); --color-rose-800: oklch(45.5% .188 13.697); --color-rose-900: oklch(41% .159 10.272); --color-rose-950: oklch(27.1% .105 12.094); --color-slate-50: oklch(98.4% .003 247.858); --color-slate-100: oklch(96.8% .007 247.896); --color-slate-200: oklch(92.9% .013 255.508); --color-slate-300: oklch(86.9% .022 252.894); --color-slate-400: oklch(70.4% .04 256.788); --color-slate-500: oklch(55.4% .046 257.417); --color-slate-600: oklch(44.6% .043 257.281); --color-slate-700: oklch(37.2% .044 257.287); --color-slate-800: oklch(27.9% .041 260.031); --color-slate-900: oklch(20.8% .042 265.755); --color-slate-950: oklch(12.9% .042 264.695); --color-gray-50: oklch(98.5% .002 247.839); --color-gray-100: oklch(96.7% .003 264.542); --color-gray-200: oklch(92.8% .006 264.531); --color-gray-300: oklch(87.2% .01 258.338); --color-gray-400: oklch(70.7% .022 261.325); --color-gray-500: oklch(55.1% .027 264.364); --color-gray-600: oklch(44.6% .03 256.802); --color-gray-700: oklch(37.3% .034 259.733); --color-gray-800: oklch(27.8% .033 256.848); --color-gray-900: oklch(21% .034 264.665); --color-gray-950: oklch(13% .028 261.692); --color-zinc-50: oklch(98.5% 0 0); --color-zinc-100: oklch(96.7% .001 286.375); --color-zinc-200: oklch(92% .004 286.32); --color-zinc-300: oklch(87.1% .006 286.286); --color-zinc-400: oklch(70.5% .015 286.067); --color-zinc-500: oklch(55.2% .016 285.938); --color-zinc-600: oklch(44.2% .017 285.786); --color-zinc-700: oklch(37% .013 285.805); --color-zinc-800: oklch(27.4% .006 286.033); --color-zinc-900: oklch(21% .006 285.885); --color-zinc-950: oklch(14.1% .005 285.823); --color-neutral-50: oklch(98.5% 0 0); --color-neutral-100: oklch(97% 0 0); --color-neutral-200: oklch(92.2% 0 0); --color-neutral-300: oklch(87% 0 0); --color-neutral-400: oklch(70.8% 0 0); --color-neutral-500: oklch(55.6% 0 0); --color-neutral-600: oklch(43.9% 0 0); --color-neutral-700: oklch(37.1% 0 0); --color-neutral-800: oklch(26.9% 0 0); --color-neutral-900: oklch(20.5% 0 0); --color-neutral-950: oklch(14.5% 0 0); --color-stone-50: oklch(98.5% .001 106.423); --color-stone-100: oklch(97% .001 106.424); --color-stone-200: oklch(92.3% .003 48.717); --color-stone-300: oklch(86.9% .005 56.366); --color-stone-400: oklch(70.9% .01 56.259); --color-stone-500: oklch(55.3% .013 58.071); --color-stone-600: oklch(44.4% .011 73.639); --color-stone-700: oklch(37.4% .01 67.558); --color-stone-800: oklch(26.8% .007 34.298); --color-stone-900: oklch(21.6% .006 56.043); --color-stone-950: oklch(14.7% .004 49.25); --color-mauve-50: oklch(98.5% 0 0); --color-mauve-100: oklch(96% .003 325.6); --color-mauve-200: oklch(92.2% .005 325.62); --color-mauve-300: oklch(86.5% .012 325.68); --color-mauve-400: oklch(71.1% .019 323.02); --color-mauve-500: oklch(54.2% .034 322.5); --color-mauve-600: oklch(43.5% .029 321.78); --color-mauve-700: oklch(36.4% .029 323.89); --color-mauve-800: oklch(26.3% .024 320.12); --color-mauve-900: oklch(21.2% .019 322.12); --color-mauve-950: oklch(14.5% .008 326); --color-olive-50: oklch(98.8% .003 106.5); --color-olive-100: oklch(96.6% .005 106.5); --color-olive-200: oklch(93% .007 106.5); --color-olive-300: oklch(88% .011 106.6); --color-olive-400: oklch(73.7% .021 106.9); --color-olive-500: oklch(58% .031 107.3); --color-olive-600: oklch(46.6% .025 107.3); --color-olive-700: oklch(39.4% .023 107.4); --color-olive-800: oklch(28.6% .016 107.4); --color-olive-900: oklch(22.8% .013 107.4); --color-olive-950: oklch(15.3% .006 107.1); --color-mist-50: oklch(98.7% .002 197.1); --color-mist-100: oklch(96.3% .002 197.1); --color-mist-200: oklch(92.5% .005 214.3); --color-mist-300: oklch(87.2% .007 219.6); --color-mist-400: oklch(72.3% .014 214.4); --color-mist-500: oklch(56% .021 213.5); --color-mist-600: oklch(45% .017 213.2); --color-mist-700: oklch(37.8% .015 216); --color-mist-800: oklch(27.5% .011 216.9); --color-mist-900: oklch(21.8% .008 223.9); --color-mist-950: oklch(14.8% .004 228.8); --color-taupe-50: oklch(98.6% .002 67.8); --color-taupe-100: oklch(96% .002 17.2); --color-taupe-200: oklch(92.2% .005 34.3); --color-taupe-300: oklch(86.8% .007 39.5); --color-taupe-400: oklch(71.4% .014 41.2); --color-taupe-500: oklch(54.7% .021 43.1); --color-taupe-600: oklch(43.8% .017 39.3); --color-taupe-700: oklch(36.7% .016 35.7); --color-taupe-800: oklch(26.8% .011 36.5); --color-taupe-900: oklch(21.4% .009 43.1); --color-taupe-950: oklch(14.7% .004 49.3); --color-black: #000; --color-white: #fff; --spacing: .25rem; --breakpoint-sm: 40rem; --breakpoint-md: 48rem; --breakpoint-lg: 64rem; --breakpoint-xl: 80rem; --breakpoint-2xl: 96rem; --container-3xs: 16rem; --container-2xs: 18rem; --container-xs: 20rem; --container-sm: 24rem; --container-md: 28rem; --container-lg: 32rem; --container-xl: 36rem; --container-2xl: 42rem; --container-3xl: 48rem; --container-4xl: 56rem; --container-5xl: 64rem; --container-6xl: 72rem; --container-7xl: 80rem; --text-xs: .75rem; --text-xs--line-height: calc(1 / .75); --text-sm: .875rem; --text-sm--line-height: calc(1.25 / .875); --text-base: 1rem; --text-base--line-height: 1.5 ; --text-lg: 1.125rem; --text-lg--line-height: calc(1.75 / 1.125); --text-xl: 1.25rem; --text-xl--line-height: calc(1.75 / 1.25); --text-2xl: 1.5rem; --text-2xl--line-height: calc(2 / 1.5); --text-3xl: 1.875rem; --text-3xl--line-height: 1.2 ; --text-4xl: 2.25rem; --text-4xl--line-height: calc(2.5 / 2.25); --text-5xl: 3rem; --text-5xl--line-height: 1; --text-6xl: 3.75rem; --text-6xl--line-height: 1; --text-7xl: 4.5rem; --text-7xl--line-height: 1; --text-8xl: 6rem; --text-8xl--line-height: 1; --text-9xl: 8rem; --text-9xl--line-height: 1; --font-weight-thin: 100; --font-weight-extralight: 200; --font-weight-light: 300; --font-weight-normal: 400; --font-weight-medium: 500; --font-weight-semibold: 600; --font-weight-bold: 700; --font-weight-extrabold: 800; --font-weight-black: 900; --tracking-tighter: -.05em; --tracking-tight: -.025em; --tracking-normal: 0em; --tracking-wide: .025em; --tracking-wider: .05em; --tracking-widest: .1em; --leading-tight: 1.25; --leading-snug: 1.375; --leading-normal: 1.5; --leading-relaxed: 1.625; --leading-loose: 2; --radius-xs: .125rem; --radius-sm: .25rem; --radius-md: .375rem; --radius-lg: .5rem; --radius-xl: .75rem; --radius-2xl: 1rem; --radius-3xl: 1.5rem; --radius-4xl: 2rem; --shadow-2xs: 0 1px rgb(0 0 0 / .05); --shadow-xs: 0 1px 2px 0 rgb(0 0 0 / .05); --shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1); --shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1); --shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1); --shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1); --shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25); --inset-shadow-2xs: inset 0 1px rgb(0 0 0 / .05); --inset-shadow-xs: inset 0 1px 1px rgb(0 0 0 / .05); --inset-shadow-sm: inset 0 2px 4px rgb(0 0 0 / .05); --drop-shadow-xs: 0 1px 1px rgb(0 0 0 / .05); --drop-shadow-sm: 0 1px 2px rgb(0 0 0 / .15); --drop-shadow-md: 0 3px 3px rgb(0 0 0 / .12); --drop-shadow-lg: 0 4px 4px rgb(0 0 0 / .15); --drop-shadow-xl: 0 9px 7px rgb(0 0 0 / .1); --drop-shadow-2xl: 0 25px 25px rgb(0 0 0 / .15); --text-shadow-2xs: 0px 1px 0px rgb(0 0 0 / .15); --text-shadow-xs: 0px 1px 1px rgb(0 0 0 / .2); --text-shadow-sm: 0px 1px 0px rgb(0 0 0 / .075), 0px 1px 1px rgb(0 0 0 / .075), 0px 2px 2px rgb(0 0 0 / .075); --text-shadow-md: 0px 1px 1px rgb(0 0 0 / .1), 0px 1px 2px rgb(0 0 0 / .1), 0px 2px 4px rgb(0 0 0 / .1); --text-shadow-lg: 0px 1px 2px rgb(0 0 0 / .1), 0px 3px 2px rgb(0 0 0 / .1), 0px 4px 8px rgb(0 0 0 / .1); --ease-in: cubic-bezier(.4, 0, 1, 1); --ease-out: cubic-bezier(0, 0, .2, 1); --ease-in-out: cubic-bezier(.4, 0, .2, 1); --animate-spin: spin 1s linear infinite; --animate-ping: ping 1s cubic-bezier(0, 0, .2, 1) infinite; --animate-pulse: pulse 2s cubic-bezier(.4, 0, .6, 1) infinite; --animate-bounce: bounce 1s infinite; @keyframes spin { to { transform: rotate(360deg); } } @keyframes ping { 75%, 100% { transform: scale(2); opacity: 0; } } @keyframes pulse { 50% { opacity: .5; } } @keyframes bounce { 0%, 100% { transform: translateY(-25%); animation-timing-function: cubic-bezier(.8, 0, 1, 1); } 50% { transform: none; animation-timing-function: cubic-bezier(0, 0, .2, 1); } } --blur-xs: 4px; --blur-sm: 8px; --blur-md: 12px; --blur-lg: 16px; --blur-xl: 24px; --blur-2xl: 40px; --blur-3xl: 64px; --perspective-dramatic: 100px; --perspective-near: 300px; --perspective-normal: 500px; --perspective-midrange: 800px; --perspective-distant: 1200px; --aspect-video: 16 / 9; --default-transition-duration: .15s; --default-transition-timing-function: cubic-bezier(.4, 0, .2, 1); --default-font-family: --theme(--font-sans, initial); --default-font-feature-settings: --theme( --font-sans--font-feature-settings, initial ); --default-font-variation-settings: --theme( --font-sans--font-variation-settings, initial ); --default-mono-font-family: --theme(--font-mono, initial); --default-mono-font-feature-settings: --theme( --font-mono--font-feature-settings, initial ); --default-mono-font-variation-settings: --theme( --font-mono--font-variation-settings, initial ); }@theme default inline reference{ --blur: 8px; --shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1); --shadow-inner: inset 0 2px 4px 0 rgb(0 0 0 / .05); --drop-shadow: 0 1px 2px rgb(0 0 0 / .1), 0 1px 1px rgb(0 0 0 / .06); --radius: .25rem; --max-width-prose: 65ch; }}@layer base{*,:after,:before,::backdrop,::file-selector-button{box-sizing:border-box;margin:0;padding:0;border:0 solid}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:--theme(--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:--theme(--default-font-feature-settings,normal);font-variation-settings:--theme(--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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:--theme(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:--theme(--default-mono-font-feature-settings,normal);font-variation-settings:--theme(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}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{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea,::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;border-radius:0;background-color:transparent;opacity:1}: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: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,::-webkit-datetime-edit-year-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-millisecond-field,::-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]),::file-selector-button{-webkit-appearance:button;-moz-appearance:button;appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer utilities{@tailwind utilities;}@theme{ --font-sans: "Geist", "Satoshi", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif; --font-mono: "JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace; --color-ink: oklch(.92 .008 230); --color-muted: oklch(.68 .016 230); --color-soft: oklch(.24 .012 235); --color-paper: oklch(.15 .014 240); --color-panel: oklch(.19 .014 238); --color-line: oklch(.36 .015 235); --color-accent: oklch(.72 .085 184); --color-accent-dark: oklch(.82 .045 190); --color-warm: oklch(.74 .078 78); --color-graphite: oklch(.11 .012 244); }.generic-case-shell{width:100%;max-width:none;min-height:100dvh;background:linear-gradient(90deg,color-mix(in oklch,var(--color-accent) 9%,transparent) 1px,transparent 1px),linear-gradient(180deg,color-mix(in oklch,var(--color-accent) 9%,transparent) 1px,transparent 1px),radial-gradient(circle at 12% 14%,color-mix(in oklch,var(--color-accent) 18%,transparent),transparent 34%),linear-gradient(135deg,color-mix(in oklch,white 92%,var(--color-accent)),color-mix(in oklch,var(--color-soft) 90%,white));background-size:64px 64px,64px 64px,auto,auto}.generic-case-shell main{width:min(100%,1440px);margin:0 auto;padding-inline:clamp(18px,4vw,56px)}.generic-case-hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);gap:clamp(24px,4vw,58px);align-items:center;padding:clamp(34px,6vw,88px) 0 clamp(30px,5vw,70px);border-bottom:1px solid color-mix(in oklch,var(--color-line) 70%,transparent)}.generic-case-copy{display:grid;gap:18px}.generic-case-copy h1{max-width:980px;margin:0;font-size:clamp(48px,6vw,108px);line-height:.98;letter-spacing:0}.generic-case-copy>p:not(.eyebrow){max-width:720px;color:var(--color-muted);font-size:clamp(17px,1.6vw,22px);line-height:1.82}.generic-case-media{min-height:clamp(300px,42vw,610px);margin:0;padding:clamp(12px,2vw,24px);border:1px solid color-mix(in oklch,var(--color-line) 80%,transparent);border-radius:12px;background:color-mix(in oklch,white 76%,transparent);box-shadow:0 30px 90px color-mix(in oklch,var(--color-accent) 12%,transparent)}.generic-case-media img,.generic-story-images img,.generic-gallery-grid img,.quick-view-gallery img{display:block;width:100%;height:auto;max-height:720px;object-fit:contain}.generic-case-layout{align-items:start;padding-top:clamp(34px,6vw,78px)}.generic-case-toc a{display:flex;gap:14px;align-items:center}.generic-case-toc span{color:var(--color-accent-dark);font-family:var(--font-mono);font-size:12px}.generic-case-content{display:grid;gap:clamp(44px,7vw,86px)}.generic-section-heading{max-width:1040px;margin-bottom:clamp(20px,3vw,34px)}.generic-section-heading h2{margin:8px 0 0;font-size:clamp(34px,4.8vw,72px);line-height:1.06;letter-spacing:0}.generic-overview-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid color-mix(in oklch,var(--color-line) 82%,transparent);border-radius:12px;overflow:hidden;background:color-mix(in oklch,white 66%,transparent)}.generic-overview-grid article{display:grid;gap:14px;min-height:190px;padding:clamp(20px,3vw,32px);border-right:1px solid color-mix(in oklch,var(--color-line) 78%,transparent)}.generic-overview-grid article:last-child{border-right:0}.generic-overview-grid svg{color:var(--color-accent-dark)}.generic-overview-grid span,.generic-story-card .mono-label,.quick-view-meta{color:var(--color-accent-dark);font-family:var(--font-mono);font-size:12px;text-transform:uppercase}.generic-overview-grid strong{color:var(--color-ink);font-size:clamp(21px,2.4vw,30px);line-height:1.35}.generic-highlight-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:16px}.generic-highlight-strip p{display:flex;gap:10px;align-items:flex-start;margin:0;padding:16px;border:1px solid color-mix(in oklch,var(--color-line) 72%,transparent);border-radius:10px;background:color-mix(in oklch,white 62%,transparent);color:var(--color-muted);line-height:1.65}.generic-highlight-strip svg{flex:0 0 auto;color:var(--color-accent-dark);margin-top:2px}.generic-story-list{display:grid;gap:clamp(18px,3vw,30px)}.generic-story-card{display:grid;grid-template-columns:minmax(260px,.36fr) minmax(0,1fr);gap:clamp(18px,3vw,34px);align-items:start;padding:clamp(20px,3vw,34px);border:1px solid color-mix(in oklch,var(--color-line) 76%,transparent);border-radius:12px;background:color-mix(in oklch,white 70%,transparent)}.generic-story-card h3{margin:10px 0 12px;font-size:clamp(24px,3vw,42px);line-height:1.18;letter-spacing:0}.generic-story-card p{color:var(--color-muted);line-height:1.78}.generic-story-images{display:grid;gap:14px}.generic-story-images figure,.generic-gallery-grid figure,.quick-view-gallery figure{margin:0;padding:12px;border:1px solid color-mix(in oklch,var(--color-line) 74%,transparent);border-radius:10px;background:color-mix(in oklch,white 80%,transparent)}.generic-story-images figcaption,.generic-gallery-grid figcaption,.quick-view-gallery figcaption{margin-top:10px;color:var(--color-muted);font-size:13px;line-height:1.55}.generic-gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px}.generic-gallery-groups{display:grid;gap:clamp(38px,6vw,76px)}.generic-gallery-group{scroll-margin-top:112px}.generic-gallery-group-heading{max-width:760px;margin-bottom:clamp(18px,2.6vw,30px)}.generic-gallery-group-heading h3{margin:8px 0 10px;color:var(--color-ink);font-size:clamp(28px,3.6vw,52px);line-height:1.12;letter-spacing:0}.generic-gallery-group-heading>p:last-child{margin:0;color:var(--color-muted);line-height:1.72}.quick-view-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:80;display:grid;place-items:center;padding:clamp(16px,3vw,36px);background:color-mix(in oklch,black 72%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.quick-view-panel{position:relative;width:min(1120px,100%);max-height:min(88dvh,900px);overflow:auto;padding:clamp(24px,4vw,46px);border:1px solid color-mix(in oklch,var(--color-line) 72%,white 12%);border-radius:14px;background:linear-gradient(90deg,color-mix(in oklch,var(--color-accent) 8%,transparent) 1px,transparent 1px),linear-gradient(180deg,color-mix(in oklch,var(--color-accent) 8%,transparent) 1px,transparent 1px),color-mix(in oklch,white 92%,var(--color-soft));background-size:54px 54px,54px 54px,auto;color:var(--color-ink);box-shadow:0 38px 110px color-mix(in oklch,black 36%,transparent)}.quick-view-close{position:sticky;top:0;float:right;z-index:2;display:inline-grid;place-items:center;width:42px;height:42px;margin:-8px -8px 8px 16px;border:1px solid color-mix(in oklch,var(--color-line) 82%,transparent);border-radius:999px;color:var(--color-ink);background:color-mix(in oklch,white 86%,transparent);cursor:pointer}.quick-view-head{display:grid;gap:14px;max-width:820px}.quick-view-head h2{margin:0;font-size:clamp(38px,5vw,78px);line-height:1.03;letter-spacing:0}.quick-view-head>p:not(.eyebrow){color:var(--color-muted);font-size:clamp(16px,1.6vw,21px);line-height:1.78}.quick-view-meta{display:flex;flex-wrap:wrap;gap:10px;margin:22px 0}.quick-view-meta span{padding:8px 11px;border:1px solid color-mix(in oklch,var(--color-line) 75%,transparent);border-radius:999px;background:color-mix(in oklch,white 60%,transparent)}.quick-view-body{display:grid;grid-template-columns:minmax(240px,.32fr) minmax(0,1fr);gap:clamp(18px,3vw,34px);align-items:start}.quick-view-highlights{display:grid;gap:10px}.quick-view-highlights p{margin:0;padding:14px;border-left:2px solid var(--color-accent-dark);background:color-mix(in oklch,white 58%,transparent);color:var(--color-muted);line-height:1.65}.quick-view-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:14px}.quick-view-detail-link{display:inline-flex;gap:8px;align-items:center;margin-top:24px;color:var(--color-accent-dark);font-weight:700}.case-mobile-actions{display:none}@media(max-width:980px){.generic-case-hero,.generic-story-card,.quick-view-body,.generic-overview-grid{grid-template-columns:1fr}.generic-overview-grid article{border-right:0;border-bottom:1px solid color-mix(in oklch,var(--color-line) 78%,transparent)}.generic-overview-grid article:last-child{border-bottom:0}}:root{--font-sans: "Geist", "Satoshi", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;--font-mono: "JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;--color-ink: oklch(.92 .008 230);--color-muted: oklch(.68 .016 230);--color-soft: oklch(.24 .012 235);--color-paper: oklch(.15 .014 240);--color-panel: oklch(.19 .014 238);--color-line: oklch(.36 .015 235);--color-accent: oklch(.72 .085 184);--color-accent-dark: oklch(.82 .045 190);--color-warm: oklch(.74 .078 78);--color-graphite: oklch(.11 .012 244);color:var(--color-ink);background:var(--color-paper);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;scroll-behavior:smooth}*{box-sizing:border-box}html{overflow-x:hidden}body{margin:0;min-width:320px;overflow-x:hidden;background:radial-gradient(circle at 78% 4%,color-mix(in oklch,var(--color-accent) 18%,transparent),transparent 28vw),radial-gradient(circle at 18% 14%,color-mix(in oklch,var(--color-warm) 16%,transparent),transparent 24vw),linear-gradient(90deg,color-mix(in oklch,var(--color-line) 35%,transparent) 1px,transparent 1px),linear-gradient(180deg,color-mix(in oklch,var(--color-line) 35%,transparent) 1px,transparent 1px),var(--color-paper);background-size:auto,auto,72px 72px,72px 72px,auto}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}img{display:block;max-width:100%}.site-shell{width:min(100%,1480px);margin:0 auto;padding:18px clamp(16px,4vw,48px) 64px}.portfolio-layout{display:grid;grid-template-columns:190px minmax(0,1fr);gap:clamp(22px,4vw,58px);align-items:start}.portfolio-layout main{min-width:0}.scroll-toc{position:sticky;top:96px;display:grid;gap:16px;max-height:calc(100dvh - 118px);padding:18px 12px;border:1px solid color-mix(in oklch,var(--color-line) 70%,transparent);border-radius:10px;background:color-mix(in oklch,var(--color-panel) 76%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:inset 0 1px color-mix(in oklch,white 80%,transparent),0 18px 48px color-mix(in oklch,var(--color-graphite) 9%,transparent)}.scroll-toc nav{display:grid;gap:6px}.scroll-toc a{display:grid;grid-template-columns:26px minmax(0,1fr);gap:8px 10px;align-items:baseline;padding:10px;border-radius:8px;color:var(--color-muted);transition:color .22s cubic-bezier(.16,1,.3,1),background .22s cubic-bezier(.16,1,.3,1),transform .22s cubic-bezier(.16,1,.3,1)}.scroll-toc a:hover,.scroll-toc a.active{color:var(--color-ink);background:color-mix(in oklch,var(--color-accent) 12%,white);transform:translate(3px)}.scroll-toc span,.scroll-toc small{font-family:var(--font-mono);letter-spacing:0}.scroll-toc span{color:var(--color-accent-dark);font-size:11px}.scroll-toc strong{font-size:14px;font-weight:650}.scroll-toc small{grid-column:2;font-size:10px;text-transform:uppercase}.site-header{position:sticky;top:14px;z-index:20;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:18px;min-height:56px;padding:8px;border:1px solid color-mix(in oklch,var(--color-line) 76%,transparent);border-radius:999px;background:color-mix(in oklch,var(--color-panel) 78%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);box-shadow:inset 0 1px color-mix(in oklch,white 75%,transparent),0 16px 44px color-mix(in oklch,var(--color-graphite) 8%,transparent)}.brand-mark{display:grid;width:40px;height:40px;place-items:center;border:1px solid var(--color-line);border-radius:999px;font-family:var(--font-mono);font-size:13px;letter-spacing:0}.top-nav{display:flex;justify-content:center;gap:clamp(10px,2.2vw,30px);font-family:var(--font-mono);font-size:12px;color:var(--color-muted)}.top-nav a,.header-contact,.primary-action,.secondary-action,.back-link,.case-next-link{min-height:42px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.top-nav a{transition:color .18s ease}.top-nav a:hover{color:var(--color-ink)}.header-contact,.primary-action,.secondary-action,.case-next-link{border-radius:999px;transition:transform .18s ease,border-color .18s ease,background .18s ease}.header-contact{padding:0 14px;border:1px solid var(--color-line);font-size:13px;background:color-mix(in oklch,white 72%,transparent)}.header-contact:active,.primary-action:active,.secondary-action:active,.case-next-link:active{transform:translateY(1px)}.hero-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(310px,.88fr);gap:clamp(24px,5vw,76px);min-height:calc(100dvh - 92px);align-items:center;padding:clamp(56px,9vw,120px) 0 54px}.eyebrow,.mono-label,.project-meta-row,.target-line{font-family:var(--font-mono);letter-spacing:0}.eyebrow{margin:0 0 16px;color:var(--color-accent-dark);font-size:12px;text-transform:uppercase}[data-case-subtitle]{min-inline-size:0;overflow-wrap:anywhere}.energy-section-heading .case-section-title,.hongye-section-heading .case-section-title,.dialysis-section-heading .case-section-title,.curated-section-heading .case-section-title,.generic-section-heading .case-section-title{max-width:980px;margin:8px 0 0;color:var(--color-ink);font-family:var(--font-display);font-size:clamp(30px,4.2vw,58px);font-weight:800;line-height:1.06;letter-spacing:0}.energy-section-heading .case-section-description,.hongye-section-heading .case-section-description,.dialysis-section-heading .case-section-description,.curated-section-heading .case-section-description,.generic-section-heading .case-section-description{max-width:860px;margin:12px 0 0;color:color-mix(in oklch,var(--color-ink) 72%,var(--color-muted));font-family:var(--font-sans);font-size:clamp(16px,1.5vw,20px);font-weight:500;line-height:1.72;letter-spacing:0}.hero-copy h1,.detail-copy h1{max-width:12ch;margin:0;font-size:clamp(52px,10vw,128px);line-height:.94;font-weight:700;letter-spacing:0}.target-line{margin:28px 0 0;color:var(--color-muted);font-size:clamp(13px,1.2vw,15px)}.hero-intro{margin-top:28px;max-width:820px;color:color-mix(in oklch,var(--color-ink) 82%,white);font-size:clamp(18px,2.1vw,26px);line-height:1.55}.hero-intro p,.text-columns p,.section-heading p,.project-copy p,.capability-item p,.credential-block p,.contact-band p,.case-content p,.case-list{margin:0}.hero-intro p+p{margin-top:12px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.primary-action,.secondary-action{padding:0 18px;border:1px solid var(--color-line);font-size:14px}.primary-action{color:#fff;background:var(--color-accent-dark);border-color:var(--color-accent-dark)}.secondary-action{color:var(--color-ink);background:color-mix(in oklch,white 78%,transparent)}.hero-panel{position:relative;padding:clamp(22px,3vw,34px);border:1px solid var(--color-line);border-radius:14px;background:linear-gradient(145deg,color-mix(in oklch,var(--color-panel) 95%,white),color-mix(in oklch,var(--color-soft) 62%,white)),color-mix(in oklch,var(--color-panel) 82%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:inset 0 1px color-mix(in oklch,white 80%,transparent)}.panel-rule{height:1px;margin-bottom:24px;background:linear-gradient(90deg,var(--color-accent),transparent)}.mono-label{margin:0 0 24px;color:var(--color-muted);font-size:12px}.hero-panel dl,.fact-grid{display:grid;gap:18px;margin:0}.hero-panel dt,.fact-grid dt{color:var(--color-muted);font-size:13px}.hero-panel dd,.fact-grid dd{display:flex;align-items:center;gap:8px;margin:6px 0 0;font-size:17px;line-height:1.45}.page-section{padding:clamp(72px,10vw,132px) 0;border-top:1px solid color-mix(in oklch,var(--color-line) 70%,transparent)}.section-heading{display:grid;grid-template-columns:minmax(0,.72fr) minmax(0,1fr);gap:24px;align-items:end;margin-bottom:clamp(24px,4vw,44px)}.section-heading h2{margin:0;font-size:clamp(30px,5vw,68px);line-height:1;letter-spacing:0}.section-heading>p:not(.eyebrow){color:var(--color-muted);line-height:1.8}.text-columns{columns:2 320px;column-gap:clamp(28px,6vw,84px);color:color-mix(in oklch,var(--color-ink) 84%,white);line-height:1.95}.text-columns p{break-inside:avoid;margin-bottom:18px}.strength-strip{margin-top:32px;padding:24px;border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line);background:color-mix(in oklch,white 58%,transparent)}.strength-strip>p{margin:0 0 16px;font-family:var(--font-mono);color:var(--color-accent-dark)}.strength-strip ul,.credential-block ul,.case-list{margin:0;padding-left:18px;color:var(--color-muted);line-height:1.85}.featured-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:16px}.project-card{grid-column:span 6;min-width:0;border:1px solid var(--color-line);border-radius:14px;overflow:hidden;background:color-mix(in oklch,var(--color-panel) 93%,transparent);box-shadow:inset 0 1px color-mix(in oklch,white 78%,transparent),0 22px 60px color-mix(in oklch,var(--color-graphite) 9%,transparent);transition:transform .22s ease,border-color .22s ease}.project-card:first-child{grid-column:span 7}.project-card:nth-child(2){grid-column:span 5}.project-card:hover{transform:translateY(-3px);border-color:color-mix(in oklch,var(--color-accent) 55%,var(--color-line))}.project-card a,.project-card-trigger{display:grid;height:100%}.project-card-trigger{width:100%;padding:0;border:0;color:inherit;background:transparent;font:inherit;text-align:left;cursor:pointer}.project-media{position:relative;aspect-ratio:16 / 11;overflow:hidden;background:var(--color-soft)}.project-media img{width:100%;height:100%;object-fit:cover}.detail-media img{width:100%;height:100%;object-fit:contain;padding:clamp(8px,1.4vw,14px)}.project-card:nth-child(1) .project-media img,.project-card:nth-child(4) .project-media img{object-position:center}.media-placeholder{width:100%;height:100%;background:linear-gradient(135deg,transparent 0 48%,color-mix(in oklch,var(--color-line) 80%,transparent) 49% 51%,transparent 52%),linear-gradient(90deg,color-mix(in oklch,var(--color-line) 45%,transparent) 1px,transparent 1px),linear-gradient(180deg,color-mix(in oklch,var(--color-line) 45%,transparent) 1px,transparent 1px),var(--color-soft);background-size:auto,28px 28px,28px 28px,auto}.project-copy{display:grid;gap:14px;padding:clamp(20px,3vw,34px)}.project-meta-row{display:flex;justify-content:space-between;gap:12px;color:var(--color-muted);font-size:11px;text-transform:uppercase}.project-copy h3,.capability-item h3,.credential-block h3,.case-content h2{margin:0;letter-spacing:0}.project-copy h3{font-size:clamp(24px,2.7vw,42px);line-height:1.12}.project-copy p{color:var(--color-muted);line-height:1.75}.tag-row,.detail-tags{display:flex;flex-wrap:wrap;gap:8px}.tag-row span,.detail-tags span{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border:1px solid color-mix(in oklch,var(--color-line) 80%,transparent);border-radius:999px;color:color-mix(in oklch,var(--color-ink) 74%,white);font-family:var(--font-mono);font-size:11px}.project-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:6px;color:var(--color-muted);font-size:13px}.open-indicator{display:inline-flex;align-items:center;gap:6px;color:var(--color-accent-dark)}.capability-grid,.credentials-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.capability-item,.credential-block{padding:clamp(20px,3vw,30px);border:1px solid color-mix(in oklch,var(--color-line) 76%,transparent);border-radius:12px;background:color-mix(in oklch,white 62%,transparent);box-shadow:inset 0 1px color-mix(in oklch,white 80%,transparent)}.capability-item span{display:block;margin-bottom:24px;color:var(--color-accent-dark);font-family:var(--font-mono);font-size:13px}.capability-item h3,.credential-block h3{font-size:clamp(21px,2.4vw,30px)}.capability-item p,.credential-block p{margin-top:14px;color:var(--color-muted);line-height:1.82}.course-line{font-size:14px}.credential-block ul{margin-top:14px}.experience-block{grid-column:1 / -1}.experience-lists{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:18px}.experience-lists ol{margin:0;padding-left:20px;color:var(--color-muted);line-height:1.85}.compact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:14px}.project-card.compact{grid-column:auto}.project-card.compact .project-media{aspect-ratio:4 / 3}.project-card.compact .project-copy{padding:18px}.project-card.compact .project-copy h3{font-size:20px}.ability-gallery-stack{display:grid;gap:clamp(30px,5vw,58px);min-width:0}.ability-gallery-panel{display:grid;gap:clamp(18px,3vw,28px);min-width:0;padding-block:clamp(8px,2vw,18px) clamp(18px,3vw,28px);border-bottom:1px solid color-mix(in oklch,var(--color-line) 68%,transparent)}.ability-gallery-panel:last-child{border-bottom:0}.ability-gallery-head{display:grid;grid-template-columns:minmax(280px,.45fr) minmax(0,.55fr);gap:clamp(18px,4vw,56px);align-items:end}.ability-gallery-title-block{display:grid;gap:12px;min-width:0}.ability-gallery-title-block .eyebrow{margin:0}.ability-gallery-head h3{margin:0;color:var(--color-ink);font-size:46px;line-height:1.04;letter-spacing:0;overflow-wrap:normal;word-break:keep-all}.ability-gallery-head p:not(.eyebrow){margin:0;color:var(--color-muted);line-height:1.78}.ability-gallery-rail{display:grid;grid-auto-flow:column;grid-auto-columns:clamp(300px,34vw,430px);gap:clamp(14px,2vw,24px);min-width:0;max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;padding:4px 2px 22px;scroll-padding-inline:2px;scroll-snap-type:inline mandatory;scrollbar-color:color-mix(in oklch,var(--color-accent) 60%,var(--color-line)) transparent;scrollbar-width:thin}.ability-gallery-rail::-webkit-scrollbar{height:10px}.ability-gallery-rail::-webkit-scrollbar-track{border-radius:999px;background:color-mix(in oklch,var(--color-line) 28%,transparent)}.ability-gallery-rail::-webkit-scrollbar-thumb{border-radius:999px;background:color-mix(in oklch,var(--color-accent) 62%,var(--color-line))}.ability-gallery-frame,.ability-gallery-placeholder{scroll-snap-align:start;min-width:0;margin:0;overflow:hidden;border:1px solid color-mix(in oklch,var(--color-line) 74%,transparent);border-radius:10px;background:linear-gradient(135deg,color-mix(in oklch,var(--color-accent) 9%,transparent),transparent 58%),color-mix(in oklch,var(--color-panel) 90%,transparent)}.ability-gallery-frame img{width:100%;aspect-ratio:4 / 3;object-fit:contain;padding:clamp(8px,1.4vw,14px);background:color-mix(in oklch,white 82%,transparent)}.ability-gallery-image-button{display:block;width:100%;padding:0;border:0;color:inherit;background:transparent;cursor:zoom-in}.ability-gallery-image-button img{transition:transform .18s ease,filter .18s ease}.ability-gallery-image-button:hover img,.ability-gallery-image-button:focus-visible img{transform:scale(1.015);filter:brightness(1.04)}.ability-gallery-image-button:focus-visible{outline:2px solid var(--color-accent-dark);outline-offset:-3px}.ability-gallery-frame figcaption{padding:12px 14px 14px;color:var(--color-muted);font-family:var(--font-mono);font-size:12px;line-height:1.55}.ability-gallery-placeholder{display:grid;align-content:space-between;aspect-ratio:4 / 3;padding:clamp(18px,3vw,28px)}.ability-gallery-placeholder span,.ability-gallery-placeholder small{color:var(--color-accent-dark);font-family:var(--font-mono);font-size:12px;text-transform:uppercase}.ability-gallery-placeholder strong{align-self:center;max-width:8em;color:var(--color-ink);font-size:34px;line-height:1.08;overflow-wrap:normal;word-break:keep-all}@media(max-width:980px){.ability-gallery-head{grid-template-columns:1fr;gap:10px;align-items:start}.ability-gallery-rail{grid-auto-columns:minmax(240px,72vw)}}@media(max-width:640px){.ability-gallery-head h3{font-size:34px}.ability-gallery-placeholder strong{font-size:28px}.ability-gallery-rail{grid-auto-columns:minmax(220px,86vw)}}.contact-band{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;padding:clamp(22px,4vw,36px);border:1px solid var(--color-line);border-radius:14px;background:linear-gradient(135deg,var(--color-graphite),color-mix(in oklch,var(--color-accent-dark) 72%,var(--color-graphite))),var(--color-accent-dark);color:#fff}.work-intro-panel{margin-bottom:24px;padding:clamp(20px,3vw,30px);border:1px solid color-mix(in oklch,var(--color-accent) 45%,var(--color-line));border-radius:14px;background:linear-gradient(135deg,color-mix(in oklch,var(--color-accent) 10%,white),color-mix(in oklch,var(--color-warm) 10%,white));color:color-mix(in oklch,var(--color-ink) 85%,white);font-size:clamp(18px,2vw,25px);line-height:1.65}.work-intro-panel p{margin:0}.contact-band p{max-width:760px;font-size:clamp(18px,2vw,28px);line-height:1.55}.contact-band div{display:grid;gap:8px;font-family:var(--font-mono);font-size:14px}.detail-shell{max-width:1320px}.back-link{width:fit-content;margin-top:38px;color:var(--color-muted);font-size:14px}.detail-hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(340px,1.1fr);gap:clamp(22px,5vw,70px);align-items:end;padding:clamp(36px,7vw,88px) 0 48px}.detail-copy h1{max-width:12ch;font-size:clamp(42px,7vw,98px)}.detail-copy>p:not(.eyebrow){margin-top:24px;color:var(--color-muted);font-size:clamp(17px,1.6vw,22px);line-height:1.75}.detail-tags{margin-top:26px}.detail-media{aspect-ratio:16 / 11;overflow:hidden;border:1px solid var(--color-line);border-radius:14px;box-shadow:inset 0 1px color-mix(in oklch,white 80%,transparent),0 22px 70px color-mix(in oklch,var(--color-graphite) 12%,transparent);background:var(--color-soft)}.case-layout{display:grid;grid-template-columns:220px minmax(0,1fr);gap:clamp(24px,5vw,72px);padding:36px 0 96px;border-top:1px solid var(--color-line)}.case-toc{position:sticky;top:96px;align-self:start;display:grid;gap:12px;font-family:var(--font-mono);font-size:13px;color:var(--color-muted)}.case-toc a{min-height:32px}.case-content{display:grid;gap:52px}.case-content section{display:grid;gap:16px;padding-bottom:36px;border-bottom:1px solid color-mix(in oklch,var(--color-line) 76%,transparent)}.case-story-section{border-bottom:0!important}.case-story-list{display:grid;gap:clamp(36px,6vw,76px)}.case-story-block{display:grid;grid-template-columns:minmax(260px,.44fr) minmax(0,.56fr);gap:clamp(22px,4vw,54px);align-items:start;padding:clamp(20px,3vw,30px);border:1px solid color-mix(in oklch,var(--color-line) 76%,transparent);border-radius:16px;background:color-mix(in oklch,var(--color-panel) 82%,transparent);box-shadow:inset 0 1px color-mix(in oklch,white 78%,transparent)}.case-story-copy{position:sticky;top:104px;display:grid;gap:14px}.case-story-copy h3{margin:0;font-size:clamp(24px,3vw,42px);line-height:1.12}.case-story-copy p:not(.mono-label){color:var(--color-muted);line-height:1.9}.case-image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.case-image-grid.single{grid-template-columns:1fr}.case-image-grid figure,.detail-gallery figure{margin:0;overflow:hidden;border:1px solid color-mix(in oklch,var(--color-line) 70%,transparent);border-radius:12px;background:color-mix(in oklch,white 66%,transparent)}.case-image-grid img,.detail-gallery img{width:100%;height:auto;object-fit:contain}.detail-shell img[data-lightbox-ready=true]{cursor:zoom-in}.detail-shell img[data-lightbox-ready=true]:focus-visible{outline:3px solid color-mix(in oklch,var(--color-accent) 72%,white);outline-offset:4px}.project-lightbox-dialog{position:fixed;top:0;right:0;bottom:0;left:0;width:min(96vw,1500px);height:92dvh;max-width:1500px;max-height:92dvh;margin:auto;padding:0;overflow:visible;border:0;background:transparent;color:var(--color-ink)}.project-lightbox-dialog::backdrop{background:color-mix(in oklch,black 74%,transparent);-webkit-backdrop-filter:blur(16px) saturate(1.15);backdrop-filter:blur(16px) saturate(1.15)}.project-lightbox-panel{position:relative;display:grid;grid-template-rows:minmax(0,1fr) auto;gap:12px;width:100%;height:100%;min-height:0;padding:clamp(10px,1.8vw,18px);border:1px solid color-mix(in oklch,white 18%,transparent);border-radius:10px;background:linear-gradient(145deg,color-mix(in oklch,white 9%,transparent),color-mix(in oklch,black 28%,transparent)),color-mix(in oklch,var(--color-panel) 78%,black);box-shadow:0 38px 120px color-mix(in oklch,black 62%,transparent)}.project-lightbox-toolbar{position:absolute;top:12px;right:12px;z-index:2;display:flex;align-items:center;gap:8px;padding:6px;border:1px solid color-mix(in oklch,white 20%,transparent);border-radius:999px;background:color-mix(in oklch,black 54%,transparent);-webkit-backdrop-filter:blur(14px) saturate(1.1);backdrop-filter:blur(14px) saturate(1.1)}.project-lightbox-toolbar span{min-width:46px;color:#fff;font-family:var(--font-number);font-size:12px;text-align:center}.project-lightbox-toolbar button{width:42px;height:42px;display:grid;place-items:center;border:1px solid color-mix(in oklch,white 22%,transparent);border-radius:999px;color:#fff;background:color-mix(in oklch,white 8%,transparent);cursor:pointer}.project-lightbox-toolbar button:hover:not(:disabled){background:color-mix(in oklch,var(--color-accent) 46%,black)}.project-lightbox-toolbar button:disabled{opacity:.42;cursor:not-allowed}.project-lightbox-toolbar button:focus-visible{outline:3px solid color-mix(in oklch,var(--color-accent) 70%,white);outline-offset:3px}.project-lightbox-viewport{width:100%;height:100%;min-height:0;overflow:hidden;display:grid;place-items:center;border-radius:6px;background:linear-gradient(45deg,color-mix(in oklch,white 8%,transparent) 25%,transparent 25%),linear-gradient(-45deg,color-mix(in oklch,white 8%,transparent) 25%,transparent 25%),color-mix(in oklch,white 9%,transparent);background-size:18px 18px;cursor:zoom-in;touch-action:none;-webkit-user-select:none;user-select:none}.project-lightbox-viewport[data-zoomed=true]{cursor:grab}.project-lightbox-viewport[data-dragging=true]{cursor:grabbing}.project-lightbox-image{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;transform-origin:center center;transition:transform .16s ease;will-change:transform;pointer-events:none}.project-lightbox-viewport[data-dragging=true] .project-lightbox-image{transition:none}.project-lightbox-caption{margin:0;max-width:92ch;color:color-mix(in oklch,var(--color-ink) 72%,var(--color-muted));font-family:var(--font-mono);font-size:12px;line-height:1.65}.case-image-grid figcaption,.detail-gallery figcaption{padding:10px 12px 12px;color:var(--color-muted);font-family:var(--font-mono);font-size:11px;line-height:1.55}.detail-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.case-content h2{font-size:clamp(26px,3vw,42px)}.case-content p{color:var(--color-muted);line-height:1.85}.case-map{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid color-mix(in oklch,var(--color-line) 80%,transparent);border-radius:14px;background:color-mix(in oklch,var(--color-line) 80%,transparent)}.case-map-node{min-height:132px;padding:18px;background:linear-gradient(180deg,color-mix(in oklch,white 70%,transparent),transparent),color-mix(in oklch,var(--color-panel) 88%,transparent)}.case-map-node span,.case-map-node strong,.evidence-grid span,.editable-paths span{font-family:var(--font-mono);letter-spacing:0}.case-map-node span,.evidence-grid span{display:block;color:var(--color-accent-dark);font-size:11px}.case-map-node strong{display:block;margin-top:18px;font-size:12px;color:var(--color-muted)}.case-map-node p{margin-top:8px;color:var(--color-ink);font-size:15px;line-height:1.5}.evidence-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.evidence-grid article{display:grid;align-content:start;gap:18px;min-height:184px;padding:20px;border:1px solid color-mix(in oklch,var(--color-line) 76%,transparent);border-radius:12px;background:linear-gradient(135deg,color-mix(in oklch,var(--color-accent) 8%,white),color-mix(in oklch,var(--color-panel) 90%,transparent))}.evidence-grid p{color:color-mix(in oklch,var(--color-ink) 80%,white)}.editable-paths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.editable-paths div{display:grid;gap:8px;min-width:0;padding:16px;border:1px dashed color-mix(in oklch,var(--color-accent) 42%,var(--color-line));border-radius:10px;background:color-mix(in oklch,white 62%,transparent)}.editable-paths span{color:var(--color-accent-dark);font-size:11px}.editable-paths code{overflow-wrap:anywhere;color:var(--color-muted)}.award-line,.asset-warning{color:var(--color-accent-dark)!important}.fact-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.fact-grid div{padding:18px;border:1px solid var(--color-line);border-radius:8px;background:color-mix(in oklch,white 56%,transparent)}.case-next-link{width:fit-content;padding:0 18px;border:1px solid var(--color-line)}code{font-family:var(--font-mono);font-size:.9em}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}@media(max-width:980px){.portfolio-layout{display:block}.scroll-toc,.top-nav{display:none}.hero-grid,.section-heading,.detail-hero,.case-layout,.case-story-block{grid-template-columns:1fr}.hero-grid{min-height:auto;padding-top:52px}.hero-panel{max-width:640px}.featured-grid,.capability-grid,.credentials-grid,.experience-lists{grid-template-columns:1fr}.project-card,.project-card:first-child,.project-card:nth-child(2),.experience-block{grid-column:auto}.case-toc{position:static;display:flex;flex-wrap:wrap;gap:10px 18px}.case-story-copy{position:static}.fact-grid,.case-map,.evidence-grid,.editable-paths,.contact-band{grid-template-columns:1fr}}@media(max-width:620px){.site-shell{padding-inline:12px}.site-header{top:8px;grid-template-columns:auto 1fr}.header-contact span{display:none}.hero-copy h1,.detail-copy h1{font-size:clamp(50px,18vw,78px)}.hero-intro{font-size:17px}.hero-actions{display:grid}.primary-action,.secondary-action{width:100%}.strength-strip,.capability-item,.credential-block,.contact-band{padding:18px}.project-media,.detail-media{aspect-ratio:4 / 3}.project-copy{padding:18px}.case-image-grid,.detail-gallery{grid-template-columns:1fr}}body{overflow-x:clip;background:var(--color-paper);color:var(--color-ink);font-family:Kanit,Bahnschrift,PingFang SC,Microsoft YaHei,sans-serif}.site-shell{width:min(100%,1560px);padding:0 clamp(20px,4vw,64px) clamp(48px,6vw,96px)}.home-shell{--section-label: clamp(106px, 10.5vw, 160px);--section-gap: clamp(20px, 3.5vw, 52px)}.site-header{display:none}.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,360px);grid-template-areas:"copy panel" "footer footer";gap:clamp(32px,5vw,84px) var(--section-gap);min-height:min(900px,100dvh);padding:clamp(40px,7vw,96px) 0 28px;align-content:end}.hero-copy{grid-area:copy;min-width:0}.hero-kicker,.eyebrow,.mono-label,.project-meta-row,.target-line,.discipline-strip{font-family:var(--font-mono);letter-spacing:0}.hero-kicker{margin:0 0 clamp(20px,3vw,42px);color:var(--color-accent);font-size:11px}.hero-copy h1{max-width:none;color:var(--color-ink);font-size:clamp(82px,16.7vw,248px);font-weight:720;line-height:.82;letter-spacing:0;white-space:nowrap}.target-line{max-width:32rem;margin:28px 0 0;color:var(--color-muted);font-size:clamp(13px,1.2vw,16px);line-height:1.55}.hero-panel{grid-area:panel;align-self:end;padding:20px 0 0;border:0;border-radius:0;border-top:1px solid var(--color-line);background:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.hero-facts{display:grid;gap:18px;margin:0}.hero-panel dt,.fact-grid dt{color:var(--color-muted);font-size:12px}.hero-panel dd,.fact-grid dd{margin:5px 0 0;color:var(--color-ink);font-size:15px;line-height:1.5}.hero-footer{grid-area:footer;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:end;padding-top:20px;border-top:1px solid var(--color-line)}.hero-intro{max-width:740px;margin:0;color:color-mix(in oklch,var(--color-ink) 88%,var(--color-paper));font-size:clamp(17px,1.75vw,24px);line-height:1.55}.hero-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin:0}.primary-action,.secondary-action{min-height:44px;padding:0 16px;border:1px solid var(--color-line);border-radius:999px;font-size:13px;transition:transform .22s cubic-bezier(.16,1,.3,1),background .22s cubic-bezier(.16,1,.3,1)}.primary-action{color:var(--color-graphite);border-color:var(--color-ink);background:var(--color-ink)}.secondary-action{color:var(--color-ink);background:transparent}.primary-action:hover,.secondary-action:hover{transform:translateY(-2px)}.discipline-strip{display:flex;flex-wrap:wrap;gap:8px 0;padding:14px 0;border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line);color:var(--color-muted);font-size:11px}.discipline-strip span{padding:0 18px;border-right:1px solid var(--color-line)}.discipline-strip span:first-child{padding-left:0}.portfolio-layout{display:grid;grid-template-columns:var(--section-label) minmax(0,1fr);gap:var(--section-gap);align-items:start}.portfolio-content{min-width:0}.scroll-toc{position:sticky;top:24px;display:grid;gap:16px;max-height:calc(100dvh - 48px);padding:30px 0;border:0;border-radius:0;background:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.scroll-toc nav{display:grid;gap:2px}.scroll-toc a{grid-template-columns:22px minmax(0,1fr);gap:2px 9px;padding:7px 0;border-radius:0;color:var(--color-muted)}.scroll-toc a:hover,.scroll-toc a.active{color:var(--color-ink);background:none;transform:translate(3px)}.scroll-toc strong{font-size:13px;font-weight:600}.scroll-toc span,.scroll-toc small{color:var(--color-accent)}.page-section{padding:clamp(58px,8vw,116px) 0;border-top:1px solid var(--color-line)}.section-heading{display:grid;grid-template-columns:var(--section-label) minmax(0,1fr);gap:var(--section-gap);align-items:start;margin:0 0 clamp(26px,4vw,54px)}.section-label .eyebrow{margin:5px 0 0;color:var(--color-accent);font-size:11px}.section-title-block{min-width:0}.section-heading h2{max-width:14ch;color:var(--color-ink);font-size:clamp(34px,4.6vw,70px);font-weight:680;line-height:.98}.section-heading>p,.section-title-block>p{max-width:62ch;margin:18px 0 0;color:var(--color-muted);font-size:15px;line-height:1.75}.section-body{min-width:0;margin-inline-start:calc(var(--section-label) + var(--section-gap))}.text-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(20px,4vw,60px);max-width:1060px;columns:unset;color:color-mix(in oklch,var(--color-ink) 88%,var(--color-paper));font-size:16px;line-height:1.9}.text-columns p{margin:0}.strength-strip{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(0,1.3fr);gap:clamp(22px,5vw,80px);margin-top:40px;padding:24px 0;border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line);background:none}.strength-strip>p{margin:0;color:var(--color-accent);font-family:var(--font-mono);font-size:13px;line-height:1.7}.strength-strip ul,.credential-block ul,.case-list{color:var(--color-muted)}.capability-grid,.credentials-grid{display:grid;grid-template-columns:1fr;gap:0}.capability-item{display:grid;grid-template-columns:46px minmax(180px,.65fr) minmax(0,1.35fr);gap:22px;align-items:start;padding:22px 0;border:0;border-top:1px solid var(--color-line);border-radius:0;background:none;box-shadow:none}.capability-item span{margin:3px 0 0;color:var(--color-accent);font-size:12px}.capability-item h3,.credential-block h3{color:var(--color-ink);font-size:clamp(20px,2vw,28px);line-height:1.25}.capability-item p,.credential-block p{margin:0;color:var(--color-muted);font-size:15px;line-height:1.8}.credential-block{display:grid;grid-template-columns:minmax(126px,.45fr) minmax(210px,.8fr) minmax(0,1.35fr);gap:20px;align-items:start;padding:24px 0;border:0;border-top:1px solid var(--color-line);border-radius:0;background:none;box-shadow:none}.credential-block .mono-label{margin:4px 0 0;color:var(--color-accent);font-size:11px}.credential-block .course-line,.credential-block ul{grid-column:3}.credential-block ul{margin:-8px 0 0;padding-left:18px}.experience-block{grid-template-columns:minmax(126px,.45fr) minmax(210px,.8fr) minmax(0,1.35fr)}.experience-block>p:not(.mono-label){grid-column:2}.experience-lists{grid-column:3;grid-row:2 / span 2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:0}.experience-lists ol{margin:0;color:var(--color-muted);font-size:15px;line-height:1.82}.contact-band{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:end;padding:28px 0;border:0;border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line);border-radius:0;background:none;color:var(--color-ink)}.contact-band p{max-width:29ch;color:var(--color-ink);font-size:clamp(21px,2.5vw,36px);line-height:1.25}.contact-band div{color:var(--color-muted);font-size:13px}.contact-band a:hover{color:var(--color-accent)}.work-intro-panel{max-width:66ch;margin-bottom:34px;padding:0;border:0;border-radius:0;background:none;color:var(--color-muted);font-size:16px;line-height:1.85}.featured-grid{gap:clamp(14px,1.8vw,26px)}.project-card{border:1px solid var(--color-line);border-radius:8px;background:var(--color-panel);box-shadow:none}.project-card:hover{border-color:color-mix(in oklch,var(--color-accent) 62%,var(--color-line));transform:translateY(-4px)}.project-copy{gap:12px;padding:clamp(18px,2.4vw,30px)}.project-copy h3{color:var(--color-ink)}.project-copy p,.project-meta-row,.project-footer{color:var(--color-muted)}.tag-row span,.detail-tags span{border-color:var(--color-line);color:var(--color-muted);background:transparent}.open-indicator{color:var(--color-accent)}.detail-shell{padding-top:8px}.detail-media,.fact-grid div,.evidence-grid article,.editable-paths div{border-color:var(--color-line);border-radius:8px;background:var(--color-panel);box-shadow:none}.detail-copy h1,.case-content h2,.case-map-node strong{color:var(--color-ink)}.case-content p,.case-list,.editable-paths code,.case-map-node p{color:var(--color-muted)}@media(max-width:980px){.home-shell{--section-label: 1fr;--section-gap: 0px}.hero-grid{grid-template-columns:1fr;grid-template-areas:"copy" "panel" "footer";min-height:auto;padding:68px 0 34px}.portfolio-layout{display:block}.scroll-toc{display:none}.section-heading{grid-template-columns:1fr;gap:10px}.section-label .eyebrow{margin:0}.section-body{margin-inline-start:0}.text-columns,.strength-strip,.contact-band{grid-template-columns:1fr}.capability-item,.credential-block,.experience-block{grid-template-columns:46px minmax(0,1fr)}.capability-item p,.credential-block .course-line,.credential-block ul,.experience-lists,.experience-block>p:not(.mono-label){grid-column:2}.experience-lists{grid-row:auto}}@media(max-width:620px){.site-shell{padding-inline:16px}.hero-grid{gap:32px;padding-top:48px}.hero-copy h1{font-size:clamp(68px,22vw,112px);white-space:normal}.hero-footer{grid-template-columns:1fr;gap:24px}.hero-actions{justify-content:stretch}.primary-action,.secondary-action{flex:1 1 100%}.discipline-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.discipline-strip span{padding:8px 10px 8px 0}.section-heading h2{font-size:clamp(34px,11vw,52px)}.text-columns{grid-template-columns:1fr;font-size:15px}.capability-item,.credential-block,.experience-block{grid-template-columns:34px minmax(0,1fr);gap:14px}.experience-lists{grid-template-columns:1fr}.contact-band{gap:20px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--font-sans: "Microsoft YaHei UI", "Microsoft YaHei", "PingFang SC", "Noto Sans CJK SC", "Source Han Sans SC", "HarmonyOS Sans SC", system-ui, sans-serif;--font-display: "Microsoft YaHei UI", "Microsoft YaHei", "PingFang SC", "Noto Sans CJK SC", system-ui, sans-serif;--font-number: "Bahnschrift", "DIN Alternate", "Aptos", "Segoe UI", "Microsoft YaHei UI", system-ui, sans-serif;--font-mono: "Bahnschrift", "JetBrains Mono", "Aptos Mono", Consolas, "Microsoft YaHei UI", monospace;--color-paper: oklch(.135 .014 232);--color-panel: oklch(.19 .016 230);--color-line: oklch(.39 .018 224);--color-accent: oklch(.76 .105 184);--color-accent-dark: oklch(.82 .064 190)}html{overflow-x:clip;scrollbar-gutter:stable}body{position:relative;overflow-x:clip;background:linear-gradient(116deg,color-mix(in oklch,var(--color-paper) 78%,black) 0%,var(--color-paper) 42%,oklch(.16 .018 218) 100%),var(--color-paper);color:var(--color-ink);font-family:var(--font-sans)}body:before,body:after{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;content:""}body:before{background:radial-gradient(ellipse 84% 54% at 72% -12%,color-mix(in oklch,var(--color-accent) 24%,transparent),transparent 62%),radial-gradient(ellipse 72% 42% at 12% 22%,color-mix(in oklch,oklch(.68 .09 220) 14%,transparent),transparent 68%),linear-gradient(135deg,transparent 0 44%,color-mix(in oklch,var(--color-line) 24%,transparent) 44.2% 44.6%,transparent 45% 100%);opacity:.88}body:after{background:repeating-linear-gradient(100deg,color-mix(in oklch,white 3%,transparent) 0 1px,transparent 1px 9px),repeating-linear-gradient(0deg,color-mix(in oklch,white 2%,transparent) 0 1px,transparent 1px 38px);mix-blend-mode:screen;opacity:.2}.site-shell{position:relative;z-index:1;width:min(100%,1680px);padding-inline:clamp(18px,3vw,48px)}.home-shell{--section-gap: clamp(28px, 3.8vw, 64px)}.hero-grid{min-height:min(920px,100dvh)}.hero-copy h1,.section-heading h2,.project-copy h3,.detail-copy h1,.case-content h2,.case-story-copy h3,.credential-block h3,.capability-item h3{font-family:var(--font-display)}.hero-kicker,.eyebrow,.mono-label,.target-line,.project-meta-row,.tag-row span,.detail-tags span,.scroll-toc span,.scroll-toc small,.education-period,.case-toc,code{font-family:var(--font-number);font-variant-numeric:tabular-nums}.work-jump-action{min-height:58px;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:0 30px;border:1px solid color-mix(in oklch,var(--color-accent) 84%,white);border-radius:999px;color:#02070a;background:linear-gradient(135deg,color-mix(in oklch,var(--color-accent) 92%,white),color-mix(in oklch,var(--color-accent-dark) 92%,white));box-shadow:0 0 0 1px color-mix(in oklch,var(--color-accent) 34%,transparent),0 0 34px color-mix(in oklch,var(--color-accent) 22%,transparent),0 22px 58px color-mix(in oklch,var(--color-accent) 20%,transparent);font-size:clamp(1rem,1.1vw,1.15rem);font-weight:800}.work-jump-action:hover{transform:translateY(-2px)}.hero-primary-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}.portfolio-layout{grid-template-columns:minmax(178px,220px) minmax(0,1fr);gap:var(--section-gap)}.scroll-toc{padding-block:28px}.scroll-toc a{position:relative;min-height:42px;padding:8px 10px;border-radius:8px}.scroll-toc a.active{color:var(--color-ink);background:linear-gradient(90deg,color-mix(in oklch,var(--color-accent) 13%,transparent),transparent 72%);box-shadow:inset 2px 0 0 var(--color-accent);text-shadow:0 0 16px color-mix(in oklch,var(--color-accent) 30%,transparent)}.scroll-toc .toc-child{grid-template-columns:16px minmax(0,1fr);min-height:34px;margin-left:28px;padding-block:5px}.scroll-toc .toc-child strong{font-size:12px;font-weight:520}.scroll-toc .toc-child small{font-size:9px}.scroll-toc .toc-child span{font-size:16px;line-height:0}.page-section{padding:clamp(52px,7vw,96px) 0}.section-heading{display:block;margin-bottom:clamp(24px,3.6vw,48px)}.section-title-block{max-width:1120px}.section-title-block .eyebrow{margin:0 0 18px}.section-heading h2{max-width:none}.section-body{margin-inline-start:0}.text-columns{max-width:none}.text-columns .intro-emphasis{grid-column:2}.strength-strip{grid-template-columns:minmax(280px,.88fr) minmax(0,1.12fr);align-items:start}.strength-strip>p{color:var(--color-ink);font-family:var(--font-display);font-size:clamp(23px,2.2vw,36px);font-weight:680;line-height:1.28}.strength-strip ul{font-size:16px}.capability-item{grid-template-columns:78px minmax(250px,.72fr) minmax(0,1.28fr);gap:clamp(18px,3vw,44px);padding-block:28px}.capability-item span{width:58px;height:58px;display:grid;place-items:center;border:1px solid color-mix(in oklch,var(--color-accent) 58%,var(--color-line));border-radius:8px;color:var(--color-accent);font-size:15px;font-weight:680}.credential-block{grid-template-columns:116px minmax(310px,.7fr) minmax(0,1.3fr);gap:clamp(22px,3.8vw,54px)}.education-mark{width:76px;height:76px;display:grid;place-items:center;align-self:start;overflow:hidden;padding:7px;box-sizing:border-box;border:1px solid color-mix(in oklch,white 52%,var(--color-line));border-radius:50%;background:color-mix(in oklch,white 96%,var(--color-accent) 2%);color:#081319;box-shadow:0 12px 34px color-mix(in oklch,black 28%,transparent)}.education-mark img{display:block;width:100%;height:100%;object-fit:contain}.education-mark span{font-family:var(--font-number);font-size:13px;font-weight:780}.education-period{margin:0 0 12px;color:var(--color-accent);font-size:clamp(17px,1.35vw,22px);letter-spacing:0}.education-head h3{font-size:clamp(28px,2.7vw,42px);line-height:1.15}.degree-line{margin-top:12px!important;color:color-mix(in oklch,var(--color-ink) 78%,var(--color-muted));font-size:16px}.education-detail{display:grid;gap:10px;color:var(--color-muted);line-height:1.75}.detail-kicker{margin-top:10px!important;color:var(--color-accent);font-size:13px;font-weight:700}.education-detail .detail-kicker:first-child{margin-top:0!important}.credential-block .course-line,.credential-block ul{grid-column:auto;margin:0}.experience-block{grid-template-columns:190px minmax(380px,.76fr) minmax(0,1.24fr);gap:clamp(24px,4vw,58px)}.experience-block>.education-period{grid-column:1}.experience-head{grid-column:2}.experience-head h3{max-width:14em;font-size:clamp(27px,2vw,32px);word-break:keep-all}.experience-head p{margin-top:20px;color:var(--color-muted);font-size:16px}.experience-lists{grid-column:3;grid-row:1 / span 2;gap:clamp(18px,2.6vw,36px)}.experience-gallery{display:flex;gap:14px;margin-top:42px;padding:0 0 18px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-gutter:stable}.experience-gallery figure{flex:0 0 min(320px,78vw);margin:0;border:1px solid var(--color-line);border-radius:8px;overflow:hidden;background:var(--color-panel)}.experience-gallery .media-placeholder{aspect-ratio:16 / 9}.experience-gallery figcaption{padding:12px 14px;color:var(--color-muted);font-size:13px}#hardware,#other,#contact{padding-top:clamp(34px,5vw,70px)}.work-intro-panel{display:none}.featured-grid,.compact-grid{gap:clamp(16px,2vw,28px)}.project-card{scroll-margin-top:28px}.project-card:target{border-color:color-mix(in oklch,var(--color-accent) 82%,var(--color-line));box-shadow:0 0 0 1px color-mix(in oklch,var(--color-accent) 26%,transparent)}.open-indicator{width:46px;height:46px;justify-content:center;border:1px solid color-mix(in oklch,var(--color-accent) 58%,var(--color-line));border-radius:50%;background:color-mix(in oklch,var(--color-accent) 7%,transparent);color:var(--color-accent)}.contact-band{grid-template-columns:minmax(0,1.1fr) minmax(190px,auto) auto;gap:clamp(22px,4vw,56px);align-items:center}.contact-info{display:grid;gap:10px}.contact-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.detail-return-link,.detail-return-bottom{margin-inline:auto;min-height:52px;padding:0 22px;border:1px solid color-mix(in oklch,var(--color-accent) 50%,var(--color-line));border-radius:999px;background:color-mix(in oklch,var(--color-accent) 7%,transparent);color:var(--color-ink)}.detail-return-bottom{justify-self:center}.detail-footer-actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px}.detail-footer-actions .detail-return-bottom{margin-inline:0}.detail-top-link{background:color-mix(in oklch,white 38%,transparent)}.case-layout{grid-template-columns:180px minmax(0,1fr)}.case-toc{font-family:var(--font-sans)}.case-content{gap:42px}.case-content section{gap:18px}@media(max-width:1180px){.portfolio-layout{grid-template-columns:168px minmax(0,1fr)}.capability-item,.credential-block,.experience-block{grid-template-columns:1fr}.education-mark,.experience-block>.education-period,.experience-head,.experience-lists{grid-column:auto;grid-row:auto}.experience-lists{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:980px){.portfolio-layout,.section-heading{display:block}.text-columns,.strength-strip,.contact-band{grid-template-columns:1fr}.text-columns .intro-emphasis{grid-column:auto}.contact-actions{justify-content:flex-start}}@media(max-width:620px){.site-shell{padding-inline:16px}.hero-actions{display:grid;grid-template-columns:1fr}.work-jump-action,.primary-action,.secondary-action{width:100%}.capability-item span{width:46px;height:46px}.experience-lists{grid-template-columns:1fr}}body{background:linear-gradient(116deg,#000509,#000c10 48%,#000808),var(--color-paper)}body:before{background:radial-gradient(ellipse 105% 62% at 78% -16%,color-mix(in oklch,var(--color-accent) 42%,transparent),transparent 62%),radial-gradient(ellipse 86% 54% at 10% 14%,color-mix(in oklch,oklch(.72 .11 205) 30%,transparent),transparent 66%),radial-gradient(ellipse 74% 46% at 92% 72%,color-mix(in oklch,oklch(.72 .12 168) 20%,transparent),transparent 72%),linear-gradient(135deg,transparent 0 39%,color-mix(in oklch,white 13%,transparent) 39.2% 39.55%,transparent 40% 100%),linear-gradient(112deg,transparent 0 58%,color-mix(in oklch,var(--color-accent) 14%,transparent) 58.15% 58.42%,transparent 59% 100%);opacity:1}body:after{background:repeating-linear-gradient(98deg,color-mix(in oklch,white 4.5%,transparent) 0 1px,transparent 1px 8px),repeating-linear-gradient(0deg,color-mix(in oklch,var(--color-accent) 3.2%,transparent) 0 1px,transparent 1px 42px);opacity:.28}.hero-copy,.hero-panel,.hero-intro,.text-columns,.strength-strip,.capability-layout,.credential-block,.contact-band{border:1px solid color-mix(in oklch,white 12%,var(--color-line));border-radius:10px;background:linear-gradient(145deg,color-mix(in oklch,var(--color-panel) 82%,transparent),color-mix(in oklch,oklch(.125 .02 220) 78%,transparent)),color-mix(in oklch,black 16%,transparent);box-shadow:inset 0 1px color-mix(in oklch,white 12%,transparent),0 22px 72px color-mix(in oklch,black 24%,transparent);-webkit-backdrop-filter:blur(18px) saturate(124%);backdrop-filter:blur(18px) saturate(124%)}.hero-copy{padding:clamp(20px,3.4vw,42px)}.hero-copy h1{font-size:clamp(74px,13.2vw,210px);font-weight:680;line-height:.9;white-space:nowrap}.hero-primary-actions{margin-top:clamp(20px,2.4vw,32px)}.hero-panel{padding:clamp(20px,2.4vw,28px);border-top:1px solid color-mix(in oklch,white 12%,var(--color-line))}.hero-footer{grid-template-columns:minmax(0,1fr) minmax(260px,auto);align-items:stretch;gap:clamp(18px,3vw,42px)}.hero-intro{max-width:none;padding:clamp(18px,2.2vw,26px)}.hero-action-cluster{display:grid;align-content:end;justify-items:end;gap:12px;min-width:0}.contact-kicker{margin:0;color:color-mix(in oklch,var(--color-accent) 92%,white);font-family:var(--font-number);font-size:clamp(13px,1.1vw,16px);font-weight:680;letter-spacing:0}.text-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(28px,6vw,86px);columns:initial;padding:clamp(20px,3vw,34px)}.text-columns p{margin-bottom:0}#about{padding-bottom:clamp(28px,4vw,58px)}#capability{padding-top:clamp(34px,5vw,74px)}.strength-strip{grid-template-columns:minmax(260px,.82fr) minmax(0,1.18fr);gap:clamp(24px,4vw,56px);margin-top:clamp(20px,3vw,32px);padding:clamp(22px,3.2vw,36px)}.strength-strip>p{display:grid;gap:8px;color:var(--color-ink);font-size:clamp(21px,2vw,31px);font-weight:560;line-height:1.24}.strength-strip>p span{display:block}.strength-strip ul{font-size:clamp(15px,1.08vw,17px)}.capability-layout{display:grid;gap:clamp(22px,3vw,36px);padding:clamp(18px,2.8vw,32px)}.capability-showcase{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:12px 0;min-width:0}.tool-orb{position:relative;width:clamp(66px,5vw,86px);aspect-ratio:1;display:grid;place-items:center;margin:0 0 0 -8px;border:1px solid color-mix(in oklch,var(--color-accent) 52%,var(--color-line));border-radius:50%;color:var(--color-accent);background:radial-gradient(circle at 35% 28%,color-mix(in oklch,white 14%,transparent),transparent 44%),color-mix(in oklch,var(--color-panel) 76%,transparent);box-shadow:inset 0 1px color-mix(in oklch,white 16%,transparent),0 12px 38px color-mix(in oklch,var(--color-accent) 10%,transparent)}.tool-orb:first-child{margin-left:0}.tool-orb:nth-child(2n){transform:translateY(10px)}.tool-orb figcaption{position:absolute;inset-inline:0;bottom:14px;color:color-mix(in oklch,var(--color-ink) 74%,var(--color-muted));font-family:var(--font-number);font-size:9px;font-weight:680;text-align:center;letter-spacing:0}.tool-orb img{width:clamp(30px,2.5vw,42px);height:clamp(30px,2.5vw,42px);object-fit:contain;transform:translateY(-8px)}.capability-grid{grid-template-columns:1fr;gap:0}.capability-item{grid-template-columns:86px minmax(360px,.56fr) minmax(0,1.44fr);align-items:center;gap:clamp(12px,1.7vw,26px);padding:clamp(24px,3.2vw,38px) 0;border:0;border-top:1px solid color-mix(in oklch,var(--color-line) 78%,transparent);border-radius:0;background:transparent;box-shadow:none}.capability-item:first-child{border-top:0}.capability-item span{width:72px;height:72px;margin:0;display:grid;place-items:center;border-radius:12px;font-size:18px}.capability-item h3{align-self:center;font-size:clamp(24px,2vw,32px);line-height:1.18}.capability-item p{align-self:center;color:color-mix(in oklch,var(--color-ink) 72%,var(--color-muted));font-size:clamp(16px,1.08vw,18px);line-height:1.85}.credentials-grid{grid-template-columns:1fr}.credential-block{grid-template-columns:112px minmax(360px,.78fr) minmax(0,1.22fr)}.education-detail ul{display:grid;gap:10px;padding-left:0;list-style:none}.education-detail li{display:flex;align-items:center;flex-wrap:wrap;gap:10px;min-width:0}.certificate-actions{display:inline-flex;flex-wrap:wrap;gap:7px;align-items:center}.certificate-trigger{position:relative;flex:0 0 auto;display:inline-flex;min-width:28px;height:28px;align-items:center;justify-content:center;gap:4px;padding:0 7px;border:1px solid color-mix(in oklch,var(--color-accent) 45%,var(--color-line));border-radius:50%;color:var(--color-accent);background:color-mix(in oklch,var(--color-panel) 74%,transparent);font:inherit;cursor:zoom-in}.certificate-trigger:has(.certificate-button-label){border-radius:999px}.certificate-button-label{color:color-mix(in oklch,var(--color-ink) 78%,var(--color-accent));font-family:var(--font-mono);font-size:10px;font-weight:750;line-height:1}.certificate-trigger:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.certificate-preview{position:absolute;right:-12px;bottom:calc(100% + 12px);z-index:40;width:min(260px,70vw);display:none;gap:8px;padding:14px;border:1px solid color-mix(in oklch,white 16%,var(--color-line));border-radius:8px;background:linear-gradient(145deg,color-mix(in oklch,var(--color-panel) 92%,transparent),color-mix(in oklch,black 26%,transparent)),var(--color-panel);box-shadow:0 18px 52px color-mix(in oklch,black 38%,transparent);opacity:0;pointer-events:none;transform:translateY(8px);transition:opacity .18s ease,transform .18s ease}.certificate-preview:before{content:none}.certificate-preview img{width:100%;max-height:180px;aspect-ratio:16 / 10;object-fit:contain;padding:8px;border:1px solid color-mix(in oklch,var(--color-accent) 34%,var(--color-line));border-radius:6px;background:color-mix(in oklch,white 92%,transparent)}.certificate-preview strong,.certificate-preview small,.certificate-preview em{font-style:normal;line-height:1.45}.certificate-preview strong{color:var(--color-ink);font-size:14px}.certificate-preview small,.certificate-preview em{color:var(--color-muted);font-size:12px}.certificate-trigger:hover .certificate-preview,.certificate-trigger:focus-visible .certificate-preview,.certificate-trigger:focus-within .certificate-preview{display:grid;opacity:1;transform:translateY(0)}.certificate-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:120;display:grid;place-items:center;padding:clamp(16px,3vw,36px);background:color-mix(in oklch,black 72%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.certificate-lightbox-panel{width:min(1120px,100%);max-height:min(92dvh,980px);display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid color-mix(in oklch,white 18%,var(--color-line));border-radius:10px;background:linear-gradient(145deg,color-mix(in oklch,var(--color-panel) 94%,white),color-mix(in oklch,black 18%,transparent)),var(--color-panel);box-shadow:inset 0 1px color-mix(in oklch,white 16%,transparent),0 34px 110px color-mix(in oklch,black 48%,transparent)}.certificate-lightbox-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px clamp(14px,2vw,22px);border-bottom:1px solid color-mix(in oklch,white 14%,transparent)}.certificate-lightbox-head p{margin:0;color:var(--color-ink);font-weight:720;line-height:1.4}.certificate-lightbox-head button{flex:0 0 auto;width:42px;height:42px;display:grid;place-items:center;border:1px solid color-mix(in oklch,var(--color-accent) 45%,var(--color-line));border-radius:50%;color:var(--color-ink);background:color-mix(in oklch,white 10%,transparent);cursor:pointer}.certificate-lightbox-panel>img{width:100%;height:100%;max-height:calc(92dvh - 72px);object-fit:contain;padding:clamp(12px,2vw,24px);background:color-mix(in oklch,black 12%,transparent)}.ability-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:130;display:grid;place-items:center;padding:clamp(12px,2vw,28px);background:color-mix(in oklch,black 78%,transparent);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.ability-lightbox-panel{position:relative;width:min(1480px,100%);height:min(94dvh,980px);min-width:0;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden;border:1px solid color-mix(in oklch,white 18%,var(--color-line));border-radius:10px;background:linear-gradient(90deg,color-mix(in oklch,var(--color-accent) 10%,transparent) 1px,transparent 1px),linear-gradient(180deg,color-mix(in oklch,var(--color-accent) 9%,transparent) 1px,transparent 1px),color-mix(in oklch,var(--color-panel) 90%,black);background-size:58px 58px,58px 58px,auto;box-shadow:inset 0 1px color-mix(in oklch,white 16%,transparent),0 36px 120px color-mix(in oklch,black 54%,transparent)}.ability-lightbox-head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px;align-items:center;padding:14px clamp(14px,2vw,24px);border-bottom:1px solid color-mix(in oklch,white 14%,transparent)}.ability-lightbox-head .eyebrow{margin-bottom:6px}.ability-lightbox-head h2{margin:0;color:var(--color-ink);font-size:22px;line-height:1.25;letter-spacing:0}.ability-lightbox-head span{color:var(--color-muted);font-family:var(--font-mono);font-size:12px}.ability-lightbox-tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end}.ability-lightbox-tools button,.ability-lightbox-nav{display:inline-grid;place-items:center;border:1px solid color-mix(in oklch,var(--color-accent) 44%,var(--color-line));color:var(--color-ink);background:color-mix(in oklch,white 10%,transparent);cursor:pointer;transition:transform .16s ease,background .16s ease,border-color .16s ease}.ability-lightbox-tools button{width:42px;height:42px;border-radius:50%}.ability-lightbox-tools>span{min-width:48px;text-align:center}.ability-lightbox-tools button:hover,.ability-lightbox-nav:hover{border-color:color-mix(in oklch,var(--color-accent) 80%,white);background:color-mix(in oklch,var(--color-accent) 18%,transparent)}.ability-lightbox-tools button:active,.ability-lightbox-nav:active{transform:translateY(1px)}.ability-lightbox-stage{min-width:0;min-height:0;display:grid;place-items:center;overflow:auto;padding:clamp(58px,6vw,92px);background:color-mix(in oklch,black 16%,transparent)}.ability-lightbox-stage img{display:block;object-fit:contain;flex:0 0 auto;max-width:none;max-height:none;min-width:0;min-height:0;transition:width .16s ease,height .16s ease;box-shadow:0 18px 70px color-mix(in oklch,black 42%,transparent)}.ability-lightbox-nav{position:absolute;top:50%;z-index:2;width:56px;height:72px;border-radius:999px;transform:translateY(-50%);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.ability-lightbox-nav.previous{left:clamp(12px,2vw,24px)}.ability-lightbox-nav.next{right:clamp(12px,2vw,24px)}@media(max-width:720px){.ability-lightbox-panel{height:96dvh}.ability-lightbox-head{grid-template-columns:1fr;align-items:start}.ability-lightbox-tools{justify-content:flex-start}.ability-lightbox-stage{padding:74px 16px 24px}.ability-lightbox-nav{top:auto;bottom:18px;width:50px;height:50px;transform:none}}.experience-block{grid-template-columns:112px minmax(0,1fr);align-items:start}.experience-logo-mark{grid-row:1 / span 2;background:#fff;color:color-mix(in oklch,var(--color-muted) 72%,var(--color-ink))}.experience-logo-mark span{opacity:.46}.experience-logo-mark img{width:100%;height:100%;object-fit:contain;transform:scale(1.62);transform-origin:center}.experience-head{grid-column:auto}.experience-head p{margin-top:12px}.experience-lists{grid-column:2;grid-row:auto;grid-template-columns:repeat(2,minmax(240px,1fr));margin-top:clamp(18px,2.2vw,28px)}.experience-gallery{--scrollbar-thumb: color-mix(in oklch, white 82%, transparent);--scrollbar-track: transparent;position:relative;max-width:100%;margin-top:clamp(24px,3vw,34px);padding-bottom:12px;contain:layout paint;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track);scrollbar-width:thin;scrollbar-gutter:auto}.experience-gallery::-webkit-scrollbar{height:4px}.experience-gallery::-webkit-scrollbar-track{background:var(--scrollbar-track)}@media(prefers-contrast:more){.experience-gallery{--scrollbar-thumb: white;--scrollbar-track: black}}.contact-band{grid-template-columns:minmax(0,1.08fr) minmax(220px,auto) auto;color:var(--color-ink)}.contact-info a,.contact-info>span{display:inline-flex;align-items:center;gap:10px;min-width:0;color:color-mix(in oklch,var(--color-ink) 80%,var(--color-muted))}.contact-info svg{flex:0 0 auto;color:var(--color-accent)}@media(max-width:1180px){.credential-block,.experience-block{grid-template-columns:92px minmax(0,1fr)}.education-detail,.experience-lists{grid-column:2}.experience-lists{grid-template-columns:repeat(2,minmax(220px,1fr))}}@media(max-width:980px){.hero-grid{grid-template-columns:1fr;grid-template-areas:"copy" "panel" "footer"}.hero-footer,.text-columns,.strength-strip,.contact-band{grid-template-columns:1fr}.hero-action-cluster,.hero-actions{justify-items:start;justify-content:flex-start}.capability-showcase{justify-content:flex-start}.tool-orb{margin-left:0}.capability-item{grid-template-columns:88px minmax(0,1fr)}.capability-item p{grid-column:2}.credential-block,.experience-block{grid-template-columns:84px minmax(0,1fr)}}@media(max-width:620px){.hero-copy{padding:18px}.hero-copy h1{font-size:clamp(66px,24vw,104px)}.hero-panel,.hero-intro,.text-columns,.strength-strip,.capability-layout,.credential-block,.contact-band{border-radius:8px}.capability-item,.credential-block,.experience-block{grid-template-columns:1fr}.capability-item p,.education-detail,.experience-lists{grid-column:auto}.capability-item span{width:58px;height:58px;font-size:16px}.experience-lists{grid-template-columns:1fr}.certificate-preview{right:auto;left:-10px}}html,body{overflow-x:clip}body{background:radial-gradient(ellipse 140% 94% at -24% 18%,color-mix(in oklch,oklch(.66 .12 188) 34%,transparent),transparent 64%),radial-gradient(ellipse 132% 90% at 118% 58%,color-mix(in oklch,oklch(.7 .13 166) 30%,transparent),transparent 66%),radial-gradient(ellipse 120% 72% at 50% -18%,color-mix(in oklch,oklch(.58 .1 220) 24%,transparent),transparent 68%),linear-gradient(116deg,#000407,#030710 48%,#020306)}body:before{background:radial-gradient(ellipse 110% 56% at 6% 34%,color-mix(in oklch,var(--color-accent) 32%,transparent),transparent 66%),radial-gradient(ellipse 98% 62% at 88% 22%,color-mix(in oklch,oklch(.7 .12 174) 26%,transparent),transparent 70%),linear-gradient(128deg,transparent 0 32%,color-mix(in oklch,white 7%,transparent) 32.18% 32.42%,transparent 32.7% 100%),linear-gradient(104deg,transparent 0 66%,color-mix(in oklch,var(--color-accent) 9%,transparent) 66.08% 66.34%,transparent 66.62% 100%);opacity:1}body:after{background:repeating-linear-gradient(96deg,color-mix(in oklch,white 3.8%,transparent) 0 1px,transparent 1px 9px),repeating-linear-gradient(0deg,color-mix(in oklch,var(--color-accent) 3%,transparent) 0 1px,transparent 1px 48px);opacity:.24}.hero-copy,.hero-panel,.hero-intro,.text-columns,.strength-strip,.capability-layout,.credential-block,.contact-band{border:0;border-radius:0;background:transparent;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.hero-copy{padding:0}.hero-panel{padding:clamp(14px,2vw,24px) 0 0;border-top:1px solid color-mix(in oklch,white 14%,transparent)}.hero-intro,.text-columns,.capability-layout{padding:0}.strength-strip{margin-top:clamp(18px,2.8vw,30px);padding:clamp(22px,3vw,34px) 0;border-top:1px solid color-mix(in oklch,white 13%,transparent);border-bottom:1px solid color-mix(in oklch,white 13%,transparent)}.credential-block{padding:clamp(30px,4.2vw,56px) 0;border-top:1px solid color-mix(in oklch,white 13%,transparent)}.credentials-grid .credential-block:first-child,.experience-block{border-top-color:color-mix(in oklch,white 17%,transparent)}.contact-band{padding:clamp(30px,4vw,54px) 0;border-top:1px solid color-mix(in oklch,white 14%,transparent);border-bottom:1px solid color-mix(in oklch,white 14%,transparent)}.scroll-toc{overflow:hidden;isolation:isolate;padding:18px 14px;border:1px solid color-mix(in oklch,var(--color-accent) 26%,white 9%);border-radius:18px;background:linear-gradient(145deg,color-mix(in oklch,white 10%,transparent),transparent 32%),linear-gradient(180deg,color-mix(in oklch,oklch(.2 .036 194) 62%,transparent),color-mix(in oklch,oklch(.085 .018 220) 82%,transparent));-webkit-backdrop-filter:blur(22px) saturate(154%);backdrop-filter:blur(22px) saturate(154%);box-shadow:inset 0 1px color-mix(in oklch,white 24%,transparent),inset 0 -1px color-mix(in oklch,var(--color-accent) 14%,transparent),0 24px 80px color-mix(in oklch,black 34%,transparent)}.scroll-toc:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 88% 56% at 2% 8%,color-mix(in oklch,var(--color-accent) 28%,transparent),transparent 70%),radial-gradient(ellipse 64% 48% at 100% 62%,color-mix(in oklch,oklch(.68 .1 205) 18%,transparent),transparent 72%),linear-gradient(116deg,transparent 0 38%,color-mix(in oklch,white 12%,transparent) 38.2% 38.58%,transparent 39% 100%);opacity:.9}.scroll-toc nav{position:relative;z-index:1}.scroll-toc .mono-label{position:relative;z-index:1;color:color-mix(in oklch,var(--color-ink) 66%,var(--color-accent))}.scroll-toc a{border:1px solid transparent}.scroll-toc a:hover,.scroll-toc a.active{background:linear-gradient(90deg,color-mix(in oklch,var(--color-accent) 24%,transparent),color-mix(in oklch,white 6%,transparent));border-color:color-mix(in oklch,var(--color-accent) 38%,transparent);box-shadow:inset 2px 0 0 var(--color-accent),inset 0 1px color-mix(in oklch,white 18%,transparent)}.project-card{position:relative;overflow:hidden;isolation:isolate;border-color:color-mix(in oklch,var(--color-accent) 22%,white 8%);background:linear-gradient(145deg,color-mix(in oklch,oklch(.17 .02 214) 92%,transparent),color-mix(in oklch,oklch(.09 .016 218) 96%,transparent)),color-mix(in oklch,var(--color-panel) 78%,transparent);box-shadow:inset 0 1px color-mix(in oklch,white 14%,transparent),0 26px 76px color-mix(in oklch,black 27%,transparent)}.project-card:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;z-index:0;pointer-events:none;background:radial-gradient(ellipse 80% 42% at 18% 0%,color-mix(in oklch,var(--color-accent) 18%,transparent),transparent 66%),linear-gradient(124deg,transparent 0 42%,color-mix(in oklch,white 10%,transparent) 42.2% 42.72%,transparent 43% 100%);opacity:.72;transition:opacity .52s cubic-bezier(.16,1,.3,1),transform .52s cubic-bezier(.16,1,.3,1)}.project-card:hover:before{opacity:1;transform:translate3d(2px,-2px,0)}.project-card>a,.project-card-trigger{position:relative;z-index:1}.project-media{position:relative;overflow:hidden}.project-media:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:linear-gradient(180deg,color-mix(in oklch,white 12%,transparent),transparent 24%),linear-gradient(118deg,transparent 0 50%,color-mix(in oklch,var(--color-accent) 9%,transparent) 50.2% 50.6%,transparent 51% 100%);mix-blend-mode:screen;opacity:.56}@media(max-width:620px){.hero-copy,.hero-panel,.hero-intro,.text-columns,.strength-strip,.capability-layout,.credential-block,.contact-band{border-radius:0}.hero-copy{padding:0}.scroll-toc{border-radius:14px}}:root{--portfolio-line: color-mix(in oklch, white 26%, transparent);--portfolio-line-soft: color-mix(in oklch, white 18%, transparent);--portfolio-line-strong: color-mix(in oklch, white 38%, transparent)}.hero-panel,.hero-footer,.discipline-strip,.page-section,.strength-strip,.credential-block,.capability-item,.contact-band,.case-layout,.case-content section{border-color:var(--portfolio-line)}.discipline-strip span{border-color:var(--portfolio-line-soft)}.portfolio-layout{margin-top:clamp(18px,2.2vw,30px)}#about .strength-strip{border-bottom:0}#capability{padding-top:clamp(28px,4.4vw,62px)}#capability .section-heading{margin-bottom:clamp(10px,2.2vw,28px)}#capability .capability-layout{gap:clamp(12px,2.2vw,26px)}.capability-item{border-top-color:var(--portfolio-line)}.capability-item:first-child{border-top-color:transparent}.tool-orb{margin-left:-8px;transform:none}.tool-orb:nth-child(2n){transform:none}@media(min-width:981px){#capability .capability-showcase{align-items:center;justify-content:flex-end;gap:0;margin-top:clamp(-118px,-7vw,-76px);margin-bottom:clamp(14px,2.4vw,28px);padding-left:min(42vw,620px)}}@media(min-width:1181px){.experience-block{grid-template-columns:112px minmax(320px,.48fr) minmax(0,1fr);align-items:center;gap:clamp(26px,4vw,58px)}.experience-logo-mark{grid-column:1;grid-row:1;align-self:center}.experience-head{grid-column:2;grid-row:1;align-self:center}.experience-head h3{max-width:none}.experience-head p{margin-top:8px}.experience-lists{grid-column:3;grid-row:1;align-self:center;margin-top:0}}.experience-gallery{--scrollbar-thumb: color-mix(in oklch, white 48%, transparent);padding-bottom:8px}.experience-gallery::-webkit-scrollbar{height:2px}.experience-gallery::-webkit-scrollbar-thumb{border-radius:999px;background:var(--scrollbar-thumb)}.project-media:after{content:none}.project-media img{transition:transform .52s cubic-bezier(.16,1,.3,1),filter .52s cubic-bezier(.16,1,.3,1)}.project-card{transition:transform .28s cubic-bezier(.16,1,.3,1),border-color .28s cubic-bezier(.16,1,.3,1),box-shadow .28s cubic-bezier(.16,1,.3,1),background .28s cubic-bezier(.16,1,.3,1)}.project-card:hover{transform:translateY(-8px);border-color:color-mix(in oklch,var(--color-accent) 72%,white 12%);box-shadow:inset 0 1px color-mix(in oklch,white 18%,transparent),0 0 0 1px color-mix(in oklch,var(--color-accent) 24%,transparent),0 28px 88px color-mix(in oklch,black 34%,transparent),0 0 46px color-mix(in oklch,var(--color-accent) 18%,transparent)}.project-card:hover .project-media img{transform:scale(1.025);filter:saturate(1.06) contrast(1.03)}.project-card:hover .open-indicator{transform:scale(1.08);border-color:color-mix(in oklch,var(--color-accent) 82%,white 16%);background:color-mix(in oklch,var(--color-accent) 18%,transparent);box-shadow:0 0 26px color-mix(in oklch,var(--color-accent) 18%,transparent)}#contact{padding-top:clamp(28px,4vw,54px)}#contact .section-heading{margin-bottom:clamp(12px,2vw,22px)}#contact .contact-band{grid-template-columns:minmax(0,1.05fr) minmax(220px,.42fr) auto;grid-template-areas:"lead info actions" "top top top";row-gap:clamp(18px,2.6vw,30px);padding-top:clamp(22px,3vw,34px);padding-bottom:clamp(22px,3vw,34px)}.contact-band>p{grid-area:lead}.contact-info{grid-area:info}.contact-actions{grid-area:actions}.back-top-action{grid-area:top;justify-self:center;min-width:188px;border-color:color-mix(in oklch,var(--color-accent) 58%,white 12%);background:radial-gradient(circle at 28% 20%,color-mix(in oklch,white 16%,transparent),transparent 42%),color-mix(in oklch,var(--color-accent) 12%,transparent);color:var(--color-ink);font-weight:700;box-shadow:inset 0 1px color-mix(in oklch,white 16%,transparent),0 0 30px color-mix(in oklch,var(--color-accent) 12%,transparent)}.back-top-action:hover{color:var(--color-ink);border-color:color-mix(in oklch,var(--color-accent) 80%,white 20%);background:color-mix(in oklch,var(--color-accent) 18%,transparent)}.case-toc{overflow:hidden;isolation:isolate;padding:18px 14px;border:1px solid color-mix(in oklch,var(--color-accent) 26%,white 9%);border-radius:18px;background:linear-gradient(145deg,color-mix(in oklch,white 10%,transparent),transparent 32%),linear-gradient(180deg,color-mix(in oklch,oklch(.2 .036 194) 62%,transparent),color-mix(in oklch,oklch(.085 .018 220) 82%,transparent));-webkit-backdrop-filter:blur(22px) saturate(154%);backdrop-filter:blur(22px) saturate(154%);box-shadow:inset 0 1px color-mix(in oklch,white 24%,transparent),inset 0 -1px color-mix(in oklch,var(--color-accent) 14%,transparent),0 24px 80px color-mix(in oklch,black 34%,transparent)}.case-toc:before{content:"";position:absolute;top:-1px;right:-1px;bottom:-1px;left:-1px;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 88% 56% at 2% 8%,color-mix(in oklch,var(--color-accent) 28%,transparent),transparent 70%),radial-gradient(ellipse 64% 48% at 100% 62%,color-mix(in oklch,oklch(.68 .1 205) 18%,transparent),transparent 72%),linear-gradient(116deg,transparent 0 38%,color-mix(in oklch,white 12%,transparent) 38.2% 38.58%,transparent 39% 100%);opacity:.9}.case-toc .mono-label{color:color-mix(in oklch,var(--color-ink) 66%,var(--color-accent))}.case-toc a{min-height:38px;display:flex;align-items:center;padding:8px 10px;border:1px solid transparent;border-radius:8px;transition:color .22s cubic-bezier(.16,1,.3,1),background .22s cubic-bezier(.16,1,.3,1),border-color .22s cubic-bezier(.16,1,.3,1),transform .22s cubic-bezier(.16,1,.3,1)}.case-toc a:hover{color:var(--color-ink);background:linear-gradient(90deg,color-mix(in oklch,var(--color-accent) 24%,transparent),color-mix(in oklch,white 6%,transparent));border-color:color-mix(in oklch,var(--color-accent) 38%,transparent);box-shadow:inset 2px 0 0 var(--color-accent),inset 0 1px color-mix(in oklch,white 18%,transparent);transform:translate(3px)}.detail-return-link,.detail-return-bottom{border-color:color-mix(in oklch,var(--color-accent) 56%,white 10%)}.detail-return-bottom{min-width:184px;box-shadow:0 0 30px color-mix(in oklch,var(--color-accent) 12%,transparent)}@media(max-width:1180px){#capability .capability-showcase{margin-top:0;padding-left:0}}@media(max-width:980px){#contact .contact-band{grid-template-columns:1fr;grid-template-areas:"lead" "info" "actions" "top"}.back-top-action{justify-self:center}.case-toc{position:static;display:grid}}@media(min-width:1181px){.experience-block{grid-template-columns:112px minmax(260px,.34fr) minmax(0,1fr);gap:clamp(22px,3vw,40px)}.experience-lists{gap:clamp(18px,2.2vw,28px)}}.page-section{padding:clamp(42px,5.2vw,74px) 0}.section-heading{margin-bottom:clamp(18px,2.8vw,34px)}.section-title-block>p{max-width:54ch;margin-top:12px;color:color-mix(in oklch,var(--color-accent) 74%,var(--color-ink));font-size:clamp(14px,1.1vw,17px);line-height:1.55}#about{padding-bottom:clamp(20px,2.8vw,38px)}#about .text-columns{padding-block:clamp(12px,1.8vw,22px)}#about .strength-strip{margin-top:clamp(12px,1.8vw,22px);padding-block:clamp(16px,2.2vw,26px)}#capability{padding-top:clamp(18px,2.6vw,36px)}#capability .capability-layout{padding-block:clamp(12px,1.8vw,22px)}#capability .capability-showcase{margin-bottom:clamp(6px,1.2vw,14px)}#education{padding-top:clamp(20px,2.8vw,38px);padding-bottom:clamp(18px,2.4vw,34px)}#education .section-heading{margin-bottom:clamp(14px,2vw,24px)}#education .credential-block{padding-block:clamp(22px,2.8vw,38px)}#experience{padding-top:clamp(18px,2.4vw,32px)}#experience .section-heading{margin-bottom:clamp(16px,2.2vw,28px)}#experience .experience-block{padding-bottom:clamp(22px,2.8vw,38px)}.home-shell .text-columns p,.home-shell .strength-strip li,.home-shell .capability-item p,.home-shell .degree-line,.home-shell .education-detail,.home-shell .education-detail p:not(.detail-kicker),.home-shell .education-detail li,.home-shell .experience-head p,.home-shell .experience-lists li{color:color-mix(in oklch,var(--color-ink) 72%,var(--color-muted));font-size:clamp(16px,1.08vw,18px);line-height:1.85}.energy-case-shell{max-width:1440px}.energy-case-hero{display:grid;grid-template-columns:minmax(0,.86fr) minmax(460px,1.14fr);gap:clamp(28px,5vw,76px);align-items:end;padding:clamp(34px,7vw,86px) 0 clamp(28px,5vw,58px);border-bottom:1px solid color-mix(in oklch,white 34%,transparent)}.energy-hero-copy{min-width:0}.energy-hero-copy h1{max-width:760px;margin:0;color:var(--color-ink);font-family:var(--font-display);font-size:clamp(54px,8.2vw,118px);line-height:.96;letter-spacing:0}.energy-subtitle{max-width:680px;margin:22px 0 0;color:color-mix(in oklch,var(--color-ink) 86%,var(--color-accent));font-size:clamp(22px,2.6vw,34px);font-weight:700;line-height:1.24}.energy-intro{max-width:680px;margin:20px 0 0;color:var(--color-muted);font-size:clamp(16px,1.5vw,20px);line-height:1.85}.energy-hero-actions{display:flex;flex-wrap:wrap;gap:12px 18px;align-items:center;margin-top:28px;color:var(--color-muted);font-family:var(--font-number);font-size:13px}.energy-hero-actions a{min-height:44px;display:inline-flex;align-items:center;gap:8px;padding:0 18px;border:1px solid color-mix(in oklch,var(--color-accent) 54%,transparent);border-radius:999px;color:#010b0e;background:linear-gradient(135deg,var(--color-accent),oklch(.82 .075 166));box-shadow:0 18px 36px color-mix(in oklch,var(--color-accent) 18%,transparent);font-family:var(--font-sans);font-weight:800}.energy-hero-media{margin:0;overflow:hidden;border:1px solid color-mix(in oklch,var(--color-accent) 28%,transparent);border-radius:8px;background:color-mix(in oklch,white 8%,transparent);box-shadow:inset 0 1px color-mix(in oklch,white 18%,transparent),0 26px 80px color-mix(in oklch,black 44%,transparent)}.energy-hero-media img{width:100%;height:auto;min-height:0;aspect-ratio:16 / 9;object-fit:contain}.energy-case-layout{grid-template-columns:188px minmax(0,1fr);gap:clamp(28px,5vw,68px)}.energy-case-toc a{gap:10px}.energy-case-toc a span{color:var(--color-accent);font-family:var(--font-number);font-weight:800}.energy-case-content{gap:clamp(34px,5vw,58px)}.energy-case-content section{gap:clamp(20px,3vw,34px);padding-bottom:clamp(30px,5vw,56px)}.energy-section-heading{max-width:980px}.energy-section-heading h2{max-width:980px;margin:8px 0 0;color:var(--color-ink);font-family:var(--font-display);font-size:clamp(34px,5.2vw,78px);line-height:1.04;letter-spacing:0}.energy-overview-grid{display:grid;grid-template-columns:minmax(280px,.7fr) minmax(0,1fr);gap:clamp(22px,4vw,48px);align-items:start}.energy-overview-grid>p{color:color-mix(in oklch,var(--color-ink) 82%,var(--color-muted));font-size:clamp(19px,2vw,28px);line-height:1.7}.energy-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid color-mix(in oklch,white 24%,transparent);border-radius:8px;background:color-mix(in oklch,white 18%,transparent)}.energy-meta-grid div{min-width:0;display:grid;gap:10px;padding:clamp(16px,2vw,22px);background:linear-gradient(135deg,color-mix(in oklch,white 7%,transparent),transparent 54%),color-mix(in oklch,var(--color-graphite) 76%,transparent)}.energy-meta-grid span,.energy-funnel-step span{color:var(--color-accent);font-family:var(--font-number);font-size:12px;font-weight:800;text-transform:uppercase}.energy-meta-grid strong{color:var(--color-ink);font-size:clamp(15px,1.3vw,18px);line-height:1.55}.energy-funnel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.energy-funnel-step{position:relative;min-width:0;min-height:270px;display:grid;align-content:end;gap:14px;overflow:hidden;padding:clamp(18px,2.5vw,28px);border:1px solid color-mix(in oklch,white 24%,transparent);border-radius:8px;background:radial-gradient(circle at 82% 12%,color-mix(in oklch,var(--color-accent) 26%,transparent),transparent 34%),linear-gradient(180deg,color-mix(in oklch,white 8%,transparent),color-mix(in oklch,black 22%,transparent)),color-mix(in oklch,var(--color-panel) 86%,transparent)}.energy-funnel-step:before{content:"";position:absolute;top:16px;right:16px;bottom:16px;left:16px;border:1px solid color-mix(in oklch,var(--color-accent) 34%,transparent);clip-path:polygon(0 0,100% 0,72% 100%,28% 100%);opacity:.42}.energy-funnel-step h3,.energy-journey-card h3,.energy-system-node-grid h3,.energy-hardware-card h3,.energy-detail-points h3,.energy-app-strip h3{margin:0;color:var(--color-ink);letter-spacing:0}.energy-funnel-step h3{font-size:clamp(22px,2.2vw,32px);line-height:1.18}.energy-funnel-step p,.energy-journey-card p,.energy-system-node-grid p,.energy-hardware-card p,.energy-detail-points p,.energy-app-strip p{margin:0;color:var(--color-muted);line-height:1.85}.energy-funnel-step small{position:absolute;right:18px;top:14px;color:color-mix(in oklch,var(--color-accent) 74%,transparent);font-family:var(--font-number);font-size:42px;font-weight:800;opacity:.2}.energy-journey-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.energy-journey-card{display:grid;gap:18px;padding:clamp(18px,2.4vw,26px);overflow:hidden;border:1px solid color-mix(in oklch,white 34%,transparent);border-radius:8px;background:radial-gradient(circle at 18% 0%,color-mix(in oklch,var(--color-accent) 12%,transparent),transparent 44%),linear-gradient(145deg,color-mix(in oklch,white 18%,transparent),color-mix(in oklch,var(--color-accent) 7%,transparent));box-shadow:0 18px 44px color-mix(in oklch,var(--color-accent) 8%,transparent)}.energy-journey-card>div{display:flex;align-items:center;justify-content:space-between;color:var(--color-accent);font-family:var(--font-number)}.energy-journey-card h3{display:grid;gap:8px;font-size:clamp(24px,2.8vw,42px)}.energy-journey-card em{width:fit-content;padding:5px 10px;border:1px solid color-mix(in oklch,var(--color-accent) 38%,transparent);border-radius:999px;color:var(--color-accent);font-family:var(--font-number);font-size:12px;font-style:normal}.energy-system-panel{display:grid;grid-template-columns:minmax(260px,.36fr) minmax(0,1fr);gap:clamp(20px,4vw,42px);align-items:center;padding:clamp(20px,3vw,34px);border:1px solid color-mix(in oklch,var(--color-accent) 28%,transparent);border-radius:8px;background:radial-gradient(circle at 18% 16%,color-mix(in oklch,var(--color-accent) 26%,transparent),transparent 38%),linear-gradient(145deg,color-mix(in oklch,white 8%,transparent),color-mix(in oklch,black 18%,transparent))}.energy-system-center{min-height:250px;display:grid;place-content:center;gap:12px;text-align:center;border:1px solid color-mix(in oklch,var(--color-accent) 40%,transparent);border-radius:999px;background:radial-gradient(circle,color-mix(in oklch,var(--color-accent) 24%,transparent),transparent 62%),color-mix(in oklch,black 18%,transparent)}.energy-system-center span{color:var(--color-accent);font-family:var(--font-number);font-size:12px;text-transform:uppercase}.energy-system-center strong{max-width:220px;color:var(--color-ink);font-size:clamp(26px,3.2vw,42px);line-height:1.1}.energy-system-node-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.energy-system-node-grid article{min-width:0;display:grid;gap:10px;padding:16px;border-left:1px solid color-mix(in oklch,var(--color-accent) 34%,transparent);color:var(--color-accent);background:color-mix(in oklch,black 16%,transparent)}.energy-system-node-grid h3{font-size:18px}.energy-system-node-grid p{font-size:14px}.energy-inserted-image-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:16px}.energy-inserted-image-grid figure,.energy-content-gallery figure{margin:0;overflow:hidden;border:1px solid color-mix(in oklch,var(--color-accent) 22%,white);border-radius:8px;background:#fff}.energy-inserted-image-grid img,.energy-content-gallery img{display:block;width:100%;height:auto}.energy-content-gallery-section{margin-top:clamp(32px,5vw,64px)}.energy-content-gallery-section>h3{margin:0 0 16px;color:var(--color-ink);font-size:clamp(26px,3vw,42px);line-height:1.1}.energy-content-gallery[data-layout=stack]{display:grid;grid-template-columns:minmax(0,1fr);gap:16px}.energy-content-gallery[data-layout=masonry]{columns:3 220px;column-gap:16px}.energy-content-gallery[data-layout=masonry] figure{break-inside:avoid;margin-bottom:16px}.energy-final-form-heading{margin-top:clamp(32px,5vw,64px)}.energy-final-form-heading h3{margin:0 0 16px;color:var(--color-ink);font-size:clamp(26px,3vw,42px);line-height:1.1}.energy-hardware-showcase{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.energy-hardware-card{display:grid;grid-template-rows:auto 1fr;overflow:hidden;border:1px solid color-mix(in oklch,var(--color-accent) 30%,transparent);border-radius:8px;background:color-mix(in oklch,black 22%,transparent);transition:transform .22s cubic-bezier(.16,1,.3,1),border-color .22s cubic-bezier(.16,1,.3,1),box-shadow .22s cubic-bezier(.16,1,.3,1)}.energy-hardware-card:hover{transform:translateY(-4px);border-color:color-mix(in oklch,var(--color-accent) 74%,transparent);box-shadow:0 24px 58px color-mix(in oklch,var(--color-accent) 13%,transparent)}.energy-hardware-card figure{margin:0;background:color-mix(in oklch,white 74%,transparent)}.energy-hardware-card img{width:100%;aspect-ratio:16 / 9;object-fit:contain;padding:clamp(8px,1.5vw,14px)}.energy-hardware-card>div{display:grid;gap:14px;padding:clamp(18px,2.5vw,28px)}.energy-hardware-card h3{font-size:clamp(28px,3.4vw,48px);line-height:1.08}.energy-hardware-card ul{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:2px 0 0;list-style:none}.energy-hardware-card li{padding:7px 11px;border:1px solid color-mix(in oklch,white 22%,transparent);border-radius:999px;color:color-mix(in oklch,var(--color-ink) 82%,var(--color-accent));font-family:var(--font-number);font-size:12px}.energy-wide-media{margin:0;overflow:hidden;border:1px solid color-mix(in oklch,white 22%,transparent);border-radius:8px;background:color-mix(in oklch,white 8%,transparent)}.energy-hardware-report-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:16px;margin-top:16px}.energy-wide-media img{width:100%;aspect-ratio:16 / 8.2;object-fit:contain;padding:clamp(8px,1.5vw,14px)}.energy-wide-media figcaption,.energy-technical-grid figcaption,.energy-proof-grid figcaption{display:flex;gap:8px;align-items:center;padding:12px 14px;color:var(--color-muted);font-family:var(--font-number);font-size:12px;line-height:1.55}.energy-detail-feature{display:grid;grid-template-columns:minmax(0,.58fr) minmax(280px,.42fr);gap:clamp(18px,3vw,36px);align-items:stretch}.energy-detail-feature>figure{margin:0;overflow:hidden;border:1px solid color-mix(in oklch,white 22%,transparent);border-radius:8px;background:color-mix(in oklch,white 60%,transparent)}.energy-detail-feature>figure img{width:100%;height:100%;min-height:420px;object-fit:contain;padding:clamp(8px,1.5vw,14px)}.energy-detail-points{display:grid;grid-template-columns:1fr;gap:1px;overflow:hidden;border:1px solid color-mix(in oklch,var(--color-accent) 24%,transparent);border-radius:8px;background:color-mix(in oklch,white 16%,transparent)}.energy-detail-points article{min-width:0;display:grid;grid-template-columns:22px minmax(0,1fr);gap:8px 12px;align-content:start;padding:18px;background:color-mix(in oklch,black 18%,transparent)}.energy-detail-points svg{color:var(--color-accent)}.energy-detail-points h3{font-size:18px}.energy-detail-points p{grid-column:2;font-size:14px}.energy-technical-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.energy-technical-grid figure{margin:0;overflow:hidden;border:1px solid color-mix(in oklch,white 22%,transparent);border-radius:8px;background:color-mix(in oklch,white 84%,transparent)}.energy-technical-grid figure.wide{grid-column:1 / -1}.energy-technical-grid img{width:100%;aspect-ratio:4 / 3;object-fit:contain;padding:clamp(10px,2vw,18px)}.energy-show-gallery{overflow-x:auto;margin-top:16px;padding:4px 0 14px;scrollbar-color:color-mix(in oklch,var(--color-accent) 68%,white) transparent;scrollbar-width:thin}.energy-show-gallery-track{display:flex;width:max-content;gap:14px}.energy-show-gallery-column{display:grid;grid-template-rows:repeat(2,clamp(132px,13vw,190px));gap:14px;flex:0 0 clamp(240px,27vw,400px)}.energy-show-gallery figure{min-width:0;margin:0;overflow:hidden;border:1px solid color-mix(in oklch,var(--color-accent) 22%,white);border-radius:8px;background:#fff}.energy-show-gallery img{display:block;width:100%;height:100%;aspect-ratio:4 / 3;object-fit:contain}.energy-show-gallery::-webkit-scrollbar{height:9px}.energy-show-gallery::-webkit-scrollbar-thumb{border-radius:999px;background:color-mix(in oklch,var(--color-accent) 62%,white)}.energy-app-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.energy-app-strip article{min-width:0;display:grid;gap:14px;align-content:start;padding:16px;border:1px solid color-mix(in oklch,var(--color-accent) 24%,transparent);border-radius:8px;background:linear-gradient(180deg,color-mix(in oklch,white 8%,transparent),color-mix(in oklch,black 18%,transparent)),color-mix(in oklch,var(--color-panel) 86%,transparent)}.energy-app-strip figure{margin:0;display:grid;place-items:center;min-height:360px}.energy-app-strip img{width:min(100%,220px);max-height:360px;object-fit:contain;filter:drop-shadow(0 22px 42px color-mix(in oklch,black 54%,transparent))}.energy-app-strip h3{display:flex;gap:8px;align-items:center;color:var(--color-ink);font-size:19px}.energy-app-strip h3 svg{color:var(--color-accent)}.energy-app-strip p{font-size:14px}.energy-proof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.energy-proof-grid figure{margin:0;overflow:hidden;border:1px solid color-mix(in oklch,white 22%,transparent);border-radius:8px;background:color-mix(in oklch,white 82%,transparent)}.energy-proof-grid img{width:100%;aspect-ratio:4 / 3;object-fit:contain;padding:clamp(8px,1.5vw,14px)}.energy-proof-grid .award img{object-fit:contain;padding:18px;background:#fff}.energy-boundary-note{display:grid;grid-template-columns:36px minmax(0,1fr);gap:14px;align-items:start;padding:clamp(18px,2.6vw,28px);border-top:1px solid color-mix(in oklch,var(--color-accent) 38%,transparent);border-bottom:1px solid color-mix(in oklch,white 20%,transparent)}.energy-boundary-note svg{color:var(--color-accent)}.energy-boundary-note p{margin:0;color:color-mix(in oklch,var(--color-ink) 78%,var(--color-muted));font-size:clamp(16px,1.4vw,19px);line-height:1.85}.energy-return-bottom{justify-self:center}@media(max-width:1180px){.energy-case-hero,.energy-overview-grid,.energy-system-panel,.energy-detail-feature{grid-template-columns:1fr}.energy-system-node-grid,.energy-app-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:980px){.energy-case-layout{grid-template-columns:1fr}.energy-case-toc{position:static}.energy-funnel,.energy-journey-grid,.energy-hardware-showcase,.energy-inserted-image-grid,.energy-proof-grid,.energy-technical-grid{grid-template-columns:1fr}.energy-technical-grid figure.wide{grid-column:auto}.energy-content-gallery[data-layout=masonry]{columns:2 180px}}@media(max-width:640px){.energy-case-hero{padding-top:28px}.energy-hero-copy h1{font-size:clamp(48px,17vw,78px)}.energy-hero-media img{min-height:260px}.energy-meta-grid,.energy-system-node-grid,.energy-app-strip{grid-template-columns:1fr}.energy-funnel-step{min-height:auto}.energy-detail-feature>figure img{min-height:280px}.energy-content-gallery[data-layout=masonry]{columns:1}.energy-app-strip figure{min-height:300px}}.energy-case-shell{width:100%;max-width:none;min-height:100dvh;--color-ink: oklch(.23 .036 168);--color-muted: oklch(.48 .026 172);--color-soft: oklch(.94 .026 152);--color-paper: oklch(.985 .012 138);--color-panel: oklch(.995 .006 145);--color-line: oklch(.84 .035 154);--color-accent: oklch(.72 .16 152);--color-accent-dark: oklch(.42 .13 154);--color-warm: oklch(.86 .08 98);--color-graphite: oklch(.21 .04 172);background:radial-gradient(ellipse 78% 56% at 86% 4%,color-mix(in oklch,var(--color-accent) 22%,transparent),transparent 66%),radial-gradient(ellipse 62% 46% at 8% 18%,color-mix(in oklch,oklch(.92 .08 178) 34%,transparent),transparent 68%),radial-gradient(ellipse 70% 48% at 76% 70%,color-mix(in oklch,oklch(.88 .1 124) 24%,transparent),transparent 70%),linear-gradient(90deg,color-mix(in oklch,var(--color-line) 26%,transparent) 1px,transparent 1px),linear-gradient(180deg,color-mix(in oklch,var(--color-line) 22%,transparent) 1px,transparent 1px),linear-gradient(180deg,#fbfffb,#e7f9eb 58%,#f6fcf4);background-size:auto,auto,auto,64px 64px,64px 64px,auto}.energy-case-shell main{width:min(100%,1440px);margin:0 auto}.energy-case-shell .back-link,.energy-case-shell .case-next-link{color:var(--color-accent-dark)}.energy-case-shell .detail-return-link,.energy-case-shell .detail-return-bottom{border-color:color-mix(in oklch,var(--color-accent) 34%,white);background:color-mix(in oklch,white 70%,transparent);box-shadow:0 14px 36px color-mix(in oklch,var(--color-accent) 12%,transparent)}.energy-case-shell .detail-return-link:hover,.energy-case-shell .detail-return-bottom:hover{background:color-mix(in oklch,var(--color-accent) 14%,white);border-color:color-mix(in oklch,var(--color-accent) 62%,white)}.energy-case-shell .eyebrow,.energy-case-shell .mono-label{color:var(--color-accent-dark)}.energy-case-hero{border-bottom-color:color-mix(in oklch,var(--color-accent) 24%,white)}.energy-hero-copy h1{color:#0a251c}.energy-subtitle{color:var(--color-accent-dark)}.energy-intro,.energy-hero-actions,.energy-overview-grid>p,.energy-funnel-step p,.energy-journey-card p,.energy-system-node-grid p,.energy-hardware-card p,.energy-detail-points p,.energy-app-strip p,.energy-boundary-note p{color:color-mix(in oklch,var(--color-ink) 70%,var(--color-muted))}.energy-hero-actions a{color:#fff;background:radial-gradient(circle at 30% 20%,color-mix(in oklch,white 34%,transparent),transparent 42%),linear-gradient(135deg,#42c070,#30b770,#15ad6f 50%,#00a86f,#00a26f 75%,#00976f);background:radial-gradient(circle at 30% 20%,color-mix(in oklch,white 34%,transparent),transparent 42%),linear-gradient(135deg,#42c070,#30b770,#15ad6f 50%,color(xyz 0.167 0.291 0.196),color(xyz 0.155 0.271 0.191) 75%,color(xyz 0.132 0.235 0.182));box-shadow:inset 0 1px color-mix(in oklch,white 38%,transparent),0 18px 40px color-mix(in oklch,var(--color-accent) 26%,transparent)}.energy-hero-media{background:color-mix(in oklch,white 88%,var(--color-soft));border-color:color-mix(in oklch,var(--color-accent) 24%,white);box-shadow:inset 0 1px color-mix(in oklch,white 96%,transparent),0 32px 86px color-mix(in oklch,oklch(.56 .12 158) 18%,transparent)}.energy-case-layout{border-top-color:color-mix(in oklch,var(--color-accent) 20%,white)}.energy-case-shell .case-toc{border-color:color-mix(in oklch,var(--color-accent) 26%,white);background:linear-gradient(145deg,color-mix(in oklch,white 82%,transparent),transparent 48%),linear-gradient(180deg,color-mix(in oklch,white 76%,transparent),color-mix(in oklch,oklch(.9 .05 155) 74%,transparent));color:color-mix(in oklch,var(--color-ink) 64%,var(--color-muted));box-shadow:inset 0 1px color-mix(in oklch,white 90%,transparent),inset 0 -1px color-mix(in oklch,var(--color-accent) 18%,transparent),0 26px 70px color-mix(in oklch,oklch(.32 .08 160) 16%,transparent)}.energy-case-shell .case-toc:before{background:radial-gradient(ellipse 92% 58% at 6% 4%,color-mix(in oklch,var(--color-accent) 16%,transparent),transparent 70%),radial-gradient(ellipse 64% 48% at 100% 70%,color-mix(in oklch,oklch(.85 .08 184) 18%,transparent),transparent 72%),linear-gradient(116deg,transparent 0 38%,color-mix(in oklch,white 58%,transparent) 38.2% 38.58%,transparent 39% 100%)}.energy-case-shell .case-toc .mono-label{color:color-mix(in oklch,var(--color-ink) 64%,var(--color-accent-dark))}.energy-case-shell .case-toc a:hover{color:var(--color-ink);background:linear-gradient(90deg,color-mix(in oklch,var(--color-accent) 18%,white),color-mix(in oklch,white 72%,transparent));border-color:color-mix(in oklch,var(--color-accent) 42%,white);box-shadow:inset 2px 0 0 var(--color-accent),inset 0 1px color-mix(in oklch,white 86%,transparent)}.energy-section-heading h2,.energy-funnel-step h3,.energy-journey-card h3,.energy-system-node-grid h3,.energy-hardware-card h3,.energy-detail-points h3,.energy-app-strip h3{color:var(--color-ink)}.energy-case-content section{border-bottom-color:color-mix(in oklch,var(--color-accent) 18%,white)}.energy-meta-grid,.energy-funnel-step,.energy-system-panel,.energy-detail-points,.energy-app-strip article{border-color:color-mix(in oklch,var(--color-accent) 22%,white)}.energy-meta-grid{background:color-mix(in oklch,var(--color-line) 22%,white)}.energy-meta-grid div{background:linear-gradient(135deg,color-mix(in oklch,var(--color-accent) 8%,white),transparent 58%),color-mix(in oklch,white 90%,var(--color-soft))}.energy-funnel-step{background:radial-gradient(circle at 80% 12%,color-mix(in oklch,var(--color-accent) 20%,transparent),transparent 34%),linear-gradient(180deg,color-mix(in oklch,white 88%,transparent),color-mix(in oklch,var(--color-soft) 70%,transparent)),#fff}.energy-funnel-step:before{border-color:color-mix(in oklch,var(--color-accent) 42%,white)}.energy-journey-card{border-top-color:color-mix(in oklch,var(--color-accent) 20%,white);border-bottom-color:color-mix(in oklch,var(--color-accent) 18%,white)}.energy-journey-card em,.energy-hardware-card li{border-color:color-mix(in oklch,var(--color-accent) 36%,white);background:color-mix(in oklch,var(--color-accent) 9%,white);color:var(--color-accent-dark)}.energy-system-panel{background:radial-gradient(circle at 14% 18%,color-mix(in oklch,var(--color-accent) 18%,transparent),transparent 44%),linear-gradient(145deg,color-mix(in oklch,white 82%,transparent),color-mix(in oklch,var(--color-soft) 68%,transparent))}.energy-system-center{background:radial-gradient(circle,color-mix(in oklch,var(--color-accent) 20%,transparent),transparent 64%),color-mix(in oklch,white 64%,transparent);border-color:color-mix(in oklch,var(--color-accent) 48%,white)}.energy-system-node-grid article{background:color-mix(in oklch,white 72%,var(--color-soft));border-left-color:color-mix(in oklch,var(--color-accent) 45%,white)}.energy-hardware-card,.energy-wide-media{background:linear-gradient(180deg,color-mix(in oklch,white 90%,transparent),color-mix(in oklch,var(--color-soft) 72%,transparent));border-color:color-mix(in oklch,var(--color-accent) 24%,white);box-shadow:0 24px 70px color-mix(in oklch,oklch(.44 .08 160) 10%,transparent)}.energy-hardware-card:hover{border-color:color-mix(in oklch,var(--color-accent) 72%,white);box-shadow:0 28px 76px color-mix(in oklch,var(--color-accent) 18%,transparent)}.energy-hardware-card figure,.energy-detail-feature>figure,.energy-technical-grid figure,.energy-proof-grid figure{background:#fff;border-color:color-mix(in oklch,var(--color-accent) 18%,white)}.energy-detail-points{background:color-mix(in oklch,var(--color-line) 26%,white)}.energy-detail-points article{background:color-mix(in oklch,white 86%,var(--color-soft))}.energy-app-strip article{background:radial-gradient(circle at 76% 8%,color-mix(in oklch,var(--color-accent) 13%,transparent),transparent 42%),linear-gradient(180deg,#fff,color-mix(in oklch,var(--color-soft) 64%,white))}.energy-app-strip img{filter:drop-shadow(0 18px 34px color-mix(in oklch,oklch(.3 .08 165) 18%,transparent))}.energy-boundary-note{border-top-color:color-mix(in oklch,var(--color-accent) 36%,white);border-bottom-color:color-mix(in oklch,var(--color-accent) 18%,white)}.energy-proof-grid .award img{background:#fff}.hongye-case-shell{width:100%;max-width:none;min-height:100dvh;--color-ink: oklch(.25 .035 30);--color-muted: oklch(.5 .026 32);--color-soft: oklch(.95 .026 32);--color-paper: oklch(.992 .008 38);--color-panel: oklch(.998 .004 40);--color-line: oklch(.84 .042 30);--color-accent: oklch(.66 .17 29);--color-accent-dark: oklch(.45 .125 30);--color-warm: oklch(.82 .07 86);--color-graphite: oklch(.22 .024 30);background:radial-gradient(ellipse 78% 48% at 86% 2%,color-mix(in oklch,var(--color-accent) 18%,transparent),transparent 68%),radial-gradient(ellipse 62% 42% at 5% 22%,color-mix(in oklch,white 62%,transparent),transparent 70%),radial-gradient(ellipse 72% 36% at 72% 78%,color-mix(in oklch,var(--color-warm) 16%,transparent),transparent 72%),linear-gradient(90deg,color-mix(in oklch,var(--color-line) 35%,transparent) 1px,transparent 1px),linear-gradient(180deg,color-mix(in oklch,var(--color-line) 28%,transparent) 1px,transparent 1px),linear-gradient(180deg,#fffdfc,#ffece8 54%,#fffbf9);background:radial-gradient(ellipse 78% 48% at 86% 2%,color-mix(in oklch,var(--color-accent) 18%,transparent),transparent 68%),radial-gradient(ellipse 62% 42% at 5% 22%,color-mix(in oklch,white 62%,transparent),transparent 70%),radial-gradient(ellipse 72% 36% at 72% 78%,color-mix(in oklch,var(--color-warm) 16%,transparent),transparent 72%),linear-gradient(90deg,color-mix(in oklch,var(--color-line) 35%,transparent) 1px,transparent 1px),linear-gradient(180deg,color-mix(in oklch,var(--color-line) 28%,transparent) 1px,transparent 1px),linear-gradient(180deg,color(xyz 0.944 0.983 1.045),color(xyz 0.861 0.873 0.887) 54%,color(xyz 0.929 0.969 1.033));background-size:auto,auto,auto,72px 72px,72px 72px,auto}.hongye-case-shell main{width:min(100%,1440px);margin:0 auto}.hongye-case-shell .detail-return-link,.hongye-case-shell .detail-return-bottom{border:1px solid color-mix(in oklch,var(--color-accent) 42%,var(--color-line));border-radius:999px;padding:0 16px;background:color-mix(in oklch,white 72%,transparent);color:var(--color-ink);box-shadow:0 14px 34px color-mix(in oklch,var(--color-accent) 14%,transparent)}.hongye-hero{display:grid;grid-template-columns:minmax(0,.86fr) minmax(360px,1.14fr);gap:clamp(24px,5vw,76px);align-items:center;padding:clamp(44px,7vw,96px) 0 58px;border-bottom:1px solid color-mix(in oklch,var(--color-line) 68%,transparent)}.hongye-hero>*{min-width:0}.hongye-hero-copy h1{max-width:12ch;margin:0;color:var(--color-ink);font-size:clamp(42px,5.8vw,88px);line-height:.98;letter-spacing:0}.hongye-hero-copy h1 span{display:block;white-space:nowrap}.hongye-subtitle{margin:24px 0 0;color:var(--color-accent-dark);font-size:clamp(18px,2vw,28px);line-height:1.42}.hongye-intro,.hongye-section-lead,.hongye-overview-grid>p{margin:20px 0 0;color:color-mix(in oklch,var(--color-ink) 72%,var(--color-muted));font-size:clamp(16px,1.4vw,19px);line-height:1.9}.hongye-hero-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:30px}.hongye-hero-actions a,.hongye-hero-actions span{min-height:42px;display:inline-flex;align-items:center;gap:8px;border-radius:999px;font-family:var(--font-mono);font-size:12px}.hongye-hero-actions a{padding:0 16px;color:#fff;background:radial-gradient(circle at 22% 16%,color-mix(in oklch,white 30%,transparent),transparent 44%),linear-gradient(135deg,#f0584b,#ba3e3e);box-shadow:inset 0 1px color-mix(in oklch,white 28%,transparent),0 20px 46px color-mix(in oklch,var(--color-accent) 22%,transparent)}.hongye-hero-actions span{padding:0 14px;border:1px solid color-mix(in oklch,var(--color-line) 80%,transparent);color:var(--color-muted);background:color-mix(in oklch,white 72%,transparent)}.hongye-hero-media{position:relative;width:100%;margin:0;overflow:hidden;border:1px solid color-mix(in oklch,var(--color-accent) 28%,var(--color-line));border-radius:10px;background:color-mix(in oklch,white 86%,var(--color-soft));box-shadow:inset 0 1px color-mix(in oklch,white 55%,transparent),0 34px 90px color-mix(in oklch,var(--color-accent) 14%,transparent)}.hongye-hero-media:after{content:none}.hongye-hero-media img{width:100%;aspect-ratio:16 / 9;object-fit:contain;padding:clamp(8px,1.4vw,14px)}.hongye-case-layout{border-top:0}.hongye-case-toc{overflow:hidden;padding:16px 12px;border:1px solid color-mix(in oklch,var(--color-line) 75%,transparent);border-radius:10px;background:color-mix(in oklch,white 78%,var(--color-soft));-webkit-backdrop-filter:blur(22px) saturate(1.38);backdrop-filter:blur(22px) saturate(1.38);box-shadow:inset 0 1px color-mix(in oklch,white 80%,transparent),0 24px 68px color-mix(in oklch,var(--color-accent) 12%,transparent)}.hongye-case-toc:before{content:none}.hongye-case-toc a{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;align-items:center;min-height:38px;padding:8px 10px;border:1px solid transparent;border-radius:8px;color:var(--color-muted);transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.hongye-case-toc a:hover{color:var(--color-ink);border-color:color-mix(in oklch,var(--color-accent) 34%,transparent);background:color-mix(in oklch,var(--color-accent) 12%,transparent);transform:translate(3px)}.hongye-case-toc a span{color:var(--color-accent-dark)}.hongye-case-content{gap:clamp(52px,7vw,88px)}.hongye-case-content section{gap:clamp(18px,3vw,30px);padding-bottom:clamp(44px,6vw,72px);border-bottom-color:color-mix(in oklch,var(--color-line) 62%,transparent)}.hongye-section-heading{display:block;max-width:980px}.hongye-section-heading h2{margin:8px 0 0;color:var(--color-ink);font-size:clamp(30px,4.6vw,62px);line-height:1.06;letter-spacing:0}.hongye-overview-grid{display:grid;grid-template-columns:minmax(0,.44fr) minmax(0,.56fr);gap:clamp(20px,4vw,48px);align-items:start}.hongye-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid color-mix(in oklch,var(--color-line) 76%,transparent);border-radius:8px;background:color-mix(in oklch,var(--color-line) 72%,transparent)}.hongye-meta-grid div{min-width:0;display:grid;gap:10px;padding:18px;background:linear-gradient(135deg,color-mix(in oklch,var(--color-accent) 8%,transparent),transparent 68%),color-mix(in oklch,var(--color-panel) 94%,black)}.hongye-meta-grid span,.hongye-frame-grid span,.hongye-market-points span,.hongye-connector-flow>article>span{color:var(--color-accent-dark);font-family:var(--font-mono);font-size:11px;text-transform:uppercase}.hongye-meta-grid strong{color:var(--color-ink);font-size:clamp(17px,1.6vw,22px);line-height:1.35}.hongye-frame-grid,.hongye-market-grid,.hongye-structure-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.hongye-frame-grid article{min-width:0;display:grid;gap:12px;padding:clamp(18px,2.4vw,28px);border:1px solid color-mix(in oklch,var(--color-line) 72%,transparent);border-radius:8px;background:radial-gradient(circle at 88% 8%,color-mix(in oklch,var(--color-accent) 16%,transparent),transparent 38%),color-mix(in oklch,var(--color-panel) 88%,transparent)}.hongye-frame-grid svg,.hongye-boundary-note svg{color:var(--color-accent-dark)}.hongye-frame-grid h3,.hongye-market-points p,.hongye-proposal-one h3,.hongye-structure-grid h3,.hongye-connector-flow h3{margin:0;color:var(--color-ink)}.hongye-frame-grid h3{font-size:clamp(22px,2.3vw,32px)}.hongye-frame-grid p,.hongye-proposal-one p,.hongye-structure-grid p,.hongye-connector-flow p,.hongye-boundary-note p{margin:0;color:color-mix(in oklch,var(--color-ink) 68%,var(--color-muted));line-height:1.82}.hongye-market-grid{grid-template-columns:minmax(0,.56fr) minmax(280px,.44fr);align-items:stretch}.hongye-market-grid figure,.hongye-proposal-one figure,.hongye-proposal-overview,.hongye-proposal-two-board,.hongye-proposal-grid figure,.hongye-variant-strip figure,.hongye-structure-grid figure,.hongye-connector-flow figure,.hongye-proof-grid figure,.hongye-sketch-wall figure{margin:0;overflow:hidden;border:1px solid color-mix(in oklch,var(--color-line) 72%,transparent);border-radius:8px;background:color-mix(in oklch,white 88%,transparent)}.hongye-market-grid img{width:100%;height:100%;min-height:360px;object-fit:contain;padding:clamp(8px,1.4vw,14px)}.hongye-market-grid figcaption,.hongye-proposal-one figcaption,.hongye-proposal-overview figcaption,.hongye-proposal-two-board figcaption,.hongye-proposal-grid figcaption,.hongye-proof-grid figcaption,.hongye-sketch-wall figcaption{padding:11px 13px 13px;color:color-mix(in oklch,var(--color-ink) 52%,var(--color-muted));font-family:var(--font-mono);font-size:11px;line-height:1.55;background:color-mix(in oklch,black 12%,transparent)}.hongye-market-points{display:grid;gap:1px;overflow:hidden;border:1px solid color-mix(in oklch,var(--color-line) 70%,transparent);border-radius:8px;background:color-mix(in oklch,var(--color-line) 70%,transparent)}.hongye-market-points article{display:grid;gap:16px;align-content:center;padding:clamp(18px,2.4vw,28px);background:linear-gradient(135deg,color-mix(in oklch,var(--color-accent) 8%,transparent),transparent 62%),color-mix(in oklch,var(--color-panel) 92%,black)}.hongye-keyword-row{display:flex;flex-wrap:wrap;gap:8px}.hongye-keyword-row span,.hongye-proposal-one li{display:inline-flex;align-items:center;gap:8px;min-height:34px;padding:0 12px;border:1px solid color-mix(in oklch,var(--color-accent) 28%,var(--color-line));border-radius:999px;color:var(--color-ink);background:color-mix(in oklch,var(--color-accent) 10%,transparent);font-family:var(--font-mono);font-size:12px}.hongye-sketch-wall{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.hongye-sketch-wall img{width:100%;aspect-ratio:4 / 3;object-fit:contain;padding:8px;filter:grayscale(.08) contrast(1.03)}.hongye-proposal-one{display:grid;grid-template-columns:minmax(280px,.38fr) minmax(0,.62fr);gap:clamp(18px,4vw,48px);align-items:center;padding:clamp(18px,3vw,30px);border:1px solid color-mix(in oklch,var(--color-accent) 26%,var(--color-line));border-radius:8px;background:radial-gradient(circle at 86% 12%,color-mix(in oklch,var(--color-accent) 13%,transparent),transparent 36%),color-mix(in oklch,var(--color-panel) 86%,transparent)}.hongye-proposal-one>div{display:grid;gap:18px}.hongye-proposal-one ul{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0;list-style:none}.hongye-proposal-one li{color:color-mix(in oklch,var(--color-ink) 82%,white)}.hongye-proposal-one li svg{color:var(--color-accent-dark)}.hongye-proposal-one img{width:100%;aspect-ratio:16 / 9;object-fit:contain;padding:clamp(8px,1.4vw,14px)}.hongye-proposal-grid,.hongye-variant-strip,.hongye-connector-flow,.hongye-proof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.hongye-proposal-two-boards{display:grid;gap:18px}.hongye-proposal-grid img,.hongye-variant-strip img{width:100%;aspect-ratio:16 / 10;object-fit:contain;padding:clamp(8px,1.4vw,14px)}.hongye-proposal-overview img,.hongye-proposal-two-board img{display:block;width:100%;aspect-ratio:16 / 9;object-fit:contain;padding:clamp(8px,1.4vw,14px)}.hongye-variant-strip figure{background:#fff}.hongye-variant-strip img{background:#fff}.hongye-structure-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.hongye-structure-grid article{display:grid;grid-template-rows:auto 1fr;overflow:hidden;border:1px solid color-mix(in oklch,var(--color-line) 72%,transparent);border-radius:8px;background:color-mix(in oklch,var(--color-panel) 88%,transparent)}.hongye-structure-grid img{width:100%;aspect-ratio:16 / 9;object-fit:contain;padding:clamp(8px,1.4vw,14px)}.hongye-structure-grid article>div,.hongye-connector-flow article{display:grid;gap:12px;padding:clamp(16px,2.4vw,24px)}.hongye-structure-grid h3,.hongye-connector-flow h3{display:flex;gap:8px;align-items:center;font-size:clamp(20px,2vw,28px)}.hongye-structure-grid h3 svg,.hongye-connector-flow h3 svg{color:var(--color-accent-dark)}.hongye-connector-flow article{min-width:0;border:1px solid color-mix(in oklch,var(--color-line) 72%,transparent);border-radius:8px;background:linear-gradient(180deg,color-mix(in oklch,white 7%,transparent),color-mix(in oklch,black 15%,transparent)),color-mix(in oklch,var(--color-panel) 88%,transparent)}.hongye-connector-flow img{width:100%;aspect-ratio:4 / 3;object-fit:contain;padding:10px}.hongye-proof-grid figure.wide{grid-column:span 2}.hongye-proof-grid figure{background:color-mix(in oklch,var(--color-panel) 72%,black)}.hongye-proof-grid img{display:block;width:100%;height:auto;aspect-ratio:auto;object-fit:contain;padding:0}.hongye-proof-grid figcaption{color:color-mix(in oklch,var(--color-ink) 82%,var(--color-muted));background:color-mix(in oklch,black 36%,transparent)}.hongye-boundary-note{display:grid;grid-template-columns:36px minmax(0,1fr);gap:14px;align-items:start;padding:clamp(18px,2.6vw,28px);border-top:1px solid color-mix(in oklch,var(--color-accent) 34%,transparent);border-bottom:1px solid color-mix(in oklch,var(--color-line) 60%,transparent)}.hongye-return-bottom{justify-self:center}@media(max-width:1180px){.hongye-hero,.hongye-section-heading,.hongye-overview-grid,.hongye-market-grid,.hongye-proposal-one{grid-template-columns:1fr}.hongye-frame-grid,.hongye-sketch-wall,.hongye-proposal-grid,.hongye-variant-strip,.hongye-connector-flow,.hongye-proof-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:980px){.hongye-case-layout{grid-template-columns:1fr}.hongye-case-toc{position:static}.hongye-structure-grid{grid-template-columns:1fr}}@media(max-width:640px){.hongye-case-shell,.hongye-case-shell main,.hongye-hero,.hongye-hero-copy,.hongye-case-layout,.hongye-case-content{width:100%;max-width:100%;min-width:0}.hongye-hero{padding-top:28px}.hongye-hero-copy,.hongye-subtitle,.hongye-intro{inline-size:min(100%,calc(100vw - 32px))}.hongye-hero-copy h1{max-width:100%;font-size:clamp(34px,10vw,40px);line-height:1.08;overflow-wrap:anywhere;word-break:break-all}.hongye-case-shell p,.hongye-case-shell li,.hongye-case-shell h2,.hongye-case-shell h3{max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:break-all}.hongye-meta-grid,.hongye-frame-grid,.hongye-sketch-wall,.hongye-proposal-grid,.hongye-variant-strip,.hongye-connector-flow,.hongye-proof-grid{grid-template-columns:1fr}.hongye-market-grid img{min-height:250px}.hongye-proof-grid figure.wide{grid-column:auto}}.dialysis-case-shell{width:100vw;max-width:none;min-height:100dvh;--color-ink: oklch(.18 .025 205);--color-muted: oklch(.47 .025 215);--color-paper: oklch(.97 .018 185);--color-panel: oklch(.99 .008 190);--color-line: oklch(.82 .028 195);--color-accent: oklch(.73 .14 174);--color-accent-dark: oklch(.47 .12 178);--color-violet: oklch(.58 .16 286);--color-warm: oklch(.79 .08 72);color:var(--color-ink);background:radial-gradient(circle at 78% 10%,color-mix(in oklch,var(--color-accent) 22%,transparent),transparent 28vw),radial-gradient(circle at 12% 34%,color-mix(in oklch,var(--color-violet) 10%,transparent),transparent 26vw),linear-gradient(90deg,color-mix(in oklch,var(--color-line) 42%,transparent) 1px,transparent 1px),linear-gradient(180deg,color-mix(in oklch,var(--color-line) 42%,transparent) 1px,transparent 1px),var(--color-paper);background-size:auto,auto,72px 72px,72px 72px,auto}.dialysis-case-shell main{width:min(100%,1440px);margin:0 auto;min-width:0}.dialysis-case-shell .detail-return-link,.dialysis-case-shell .detail-return-bottom{border-color:color-mix(in oklch,var(--color-accent) 32%,var(--color-line));color:var(--color-ink);background:color-mix(in oklch,white 76%,transparent);box-shadow:inset 0 1px #fff,0 18px 44px color-mix(in oklch,var(--color-accent) 12%,transparent)}.dialysis-case-shell .eyebrow,.dialysis-case-shell .mono-label{color:var(--color-accent-dark)}.dialysis-hero{display:grid;grid-template-columns:minmax(0,.76fr) minmax(360px,1.24fr);gap:clamp(28px,5vw,76px);align-items:center;padding:clamp(44px,7vw,96px) 0 58px;border-bottom:1px solid color-mix(in oklch,var(--color-line) 74%,transparent)}.dialysis-hero>*{min-width:0}.dialysis-hero-copy h1{margin:0;color:var(--color-ink);font-family:var(--font-display);font-size:clamp(56px,8.2vw,118px);line-height:.96;letter-spacing:0;white-space:nowrap}.dialysis-subtitle{max-width:680px;margin:24px 0 0;color:var(--color-accent-dark);font-size:clamp(20px,2.4vw,34px);line-height:1.36;font-weight:720}.dialysis-intro,.dialysis-section-lead,.dialysis-overview-grid p{margin:20px 0 0;max-width:760px;color:var(--color-muted);font-size:clamp(16px,1.4vw,19px);line-height:1.9}.dialysis-hero-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:30px}.dialysis-hero-actions a,.dialysis-hero-actions span{min-height:42px;display:inline-flex;align-items:center;gap:8px;border-radius:999px;font-family:var(--font-mono);font-size:12px}.dialysis-hero-actions a{padding:0 16px;color:#01090b;background:radial-gradient(circle at 22% 16%,color-mix(in oklch,white 55%,transparent),transparent 44%),linear-gradient(135deg,#51e1b3,#36cbb0,#0fb6ac);box-shadow:inset 0 1px #fff,0 20px 44px color-mix(in oklch,var(--color-accent) 24%,transparent);font-weight:800}.dialysis-hero-actions span{padding:0 14px;max-width:100%;border:1px solid color-mix(in oklch,var(--color-violet) 30%,var(--color-line));color:color-mix(in oklch,var(--color-ink) 78%,var(--color-violet));background:color-mix(in oklch,white 62%,transparent);white-space:normal;line-height:1.4}.dialysis-hero-media{margin:0;display:grid;place-items:center;overflow:hidden;min-height:clamp(340px,42vw,560px);border:1px solid color-mix(in oklch,var(--color-accent) 30%,var(--color-line));border-radius:10px;background:radial-gradient(circle at 50% 42%,color-mix(in oklch,var(--color-accent) 18%,transparent),transparent 36%),linear-gradient(145deg,#fff,color-mix(in oklch,var(--color-accent) 9%,white));box-shadow:inset 0 1px #fff,0 34px 86px color-mix(in oklch,var(--color-accent-dark) 18%,transparent)}.dialysis-hero-media img{width:min(100%,840px);max-height:520px;object-fit:contain;padding:clamp(14px,2.4vw,30px)}.dialysis-case-layout{grid-template-columns:188px minmax(0,1fr);gap:clamp(28px,5vw,68px)}.dialysis-case-toc{overflow:hidden;padding:16px 12px;border:1px solid color-mix(in oklch,var(--color-line) 84%,transparent);border-radius:10px;background:linear-gradient(145deg,color-mix(in oklch,white 82%,transparent),color-mix(in oklch,var(--color-accent) 7%,white));box-shadow:inset 0 1px #fff,0 24px 58px color-mix(in oklch,var(--color-accent-dark) 9%,transparent)}.dialysis-case-toc a{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;align-items:center;min-height:38px;color:var(--color-muted)}.dialysis-case-toc a:hover{color:var(--color-ink);background:color-mix(in oklch,var(--color-accent) 10%,white)}.dialysis-case-toc a span{color:var(--color-accent-dark);font-family:var(--font-mono);font-size:11px}.dialysis-case-content{gap:clamp(34px,5vw,62px)}.dialysis-case-content section{gap:clamp(20px,3vw,34px);padding-bottom:clamp(30px,5vw,58px)}.dialysis-section-heading{display:block;max-width:980px}.dialysis-section-heading h2{max-width:980px;margin:8px 0 0;color:var(--color-ink);font-size:clamp(34px,5.2vw,76px);line-height:1.04;letter-spacing:0}.dialysis-overview-grid,.dialysis-opportunity-grid,.dialysis-service-grid{display:grid;grid-template-columns:minmax(0,.54fr) minmax(280px,.46fr);gap:clamp(22px,4vw,48px);align-items:start}.dialysis-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid color-mix(in oklch,var(--color-line) 86%,transparent);border-radius:8px;background:color-mix(in oklch,var(--color-line) 84%,transparent)}.dialysis-meta-grid div{min-width:0;display:grid;gap:10px;padding:clamp(16px,2vw,22px);background:color-mix(in oklch,white 84%,transparent)}.dialysis-meta-grid span,.dialysis-context-grid span,.dialysis-evolution-grid span,.dialysis-opportunity-points span,.dialysis-journey-list span{color:var(--color-accent-dark);font-family:var(--font-mono);font-size:12px;text-transform:uppercase}.dialysis-meta-grid strong{color:var(--color-ink);font-size:clamp(15px,1.3vw,18px);line-height:1.55}.dialysis-wide-board,.dialysis-opportunity-grid figure,.dialysis-service-grid figure,.dialysis-hardware-gallery figure,.dialysis-evolution-grid figure{margin:0;overflow:hidden;border:1px solid color-mix(in oklch,var(--color-line) 86%,transparent);border-radius:8px;background:color-mix(in oklch,white 90%,transparent);box-shadow:inset 0 1px #fff,0 20px 48px color-mix(in oklch,var(--color-accent-dark) 8%,transparent)}.dialysis-wide-board img,.dialysis-opportunity-grid img,.dialysis-service-grid img,.dialysis-hardware-gallery img,.dialysis-evolution-grid img{width:100%;object-fit:contain;padding:clamp(8px,1.4vw,16px)}.dialysis-wide-board img{max-height:760px}.dialysis-opportunity-grid img,.dialysis-service-grid img{max-height:720px}.dialysis-hardware-gallery img,.dialysis-evolution-grid img{aspect-ratio:4 / 3}.dialysis-wide-board figcaption,.dialysis-opportunity-grid figcaption,.dialysis-service-grid figcaption,.dialysis-hardware-gallery figcaption{padding:11px 13px 13px;color:var(--color-muted);font-family:var(--font-mono);font-size:11px;line-height:1.55;background:color-mix(in oklch,var(--color-accent) 5%,white)}.dialysis-context-grid,.dialysis-evolution-grid,.dialysis-hardware-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.dialysis-context-grid article{min-width:0;display:grid;gap:14px;align-content:start;padding:clamp(18px,2.5vw,28px);border-top:1px solid color-mix(in oklch,var(--color-accent) 34%,transparent);border-bottom:1px solid color-mix(in oklch,var(--color-violet) 18%,transparent);background:linear-gradient(145deg,color-mix(in oklch,white 76%,transparent),color-mix(in oklch,var(--color-accent) 7%,white))}.dialysis-context-grid svg{color:var(--color-accent-dark)}.dialysis-context-grid h3,.dialysis-evolution-grid h3{margin:0;color:var(--color-ink);font-size:clamp(22px,2.2vw,32px);line-height:1.18}.dialysis-context-grid p,.dialysis-evolution-grid p,.dialysis-opportunity-points p,.dialysis-journey-list p,.dialysis-boundary-note p{margin:0;color:var(--color-muted);line-height:1.85}.dialysis-opportunity-points,.dialysis-journey-list{display:grid;gap:1px;overflow:hidden;border:1px solid color-mix(in oklch,var(--color-line) 86%,transparent);border-radius:8px;background:color-mix(in oklch,var(--color-line) 84%,transparent)}.dialysis-opportunity-points article,.dialysis-journey-list article{min-width:0;display:grid;gap:10px;align-content:center;padding:clamp(18px,2.4vw,26px);background:color-mix(in oklch,white 88%,transparent)}.dialysis-evolution-grid article{display:grid;grid-template-rows:auto 1fr;overflow:hidden;border:1px solid color-mix(in oklch,var(--color-line) 86%,transparent);border-radius:8px;background:color-mix(in oklch,white 82%,transparent)}.dialysis-evolution-grid article>div{display:grid;gap:10px;padding:clamp(16px,2.3vw,24px)}.dialysis-service-grid{grid-template-columns:minmax(0,.58fr) minmax(280px,.42fr)}.dialysis-journey-list article{grid-template-columns:24px 34px minmax(0,1fr);align-items:start}.dialysis-journey-list svg{color:var(--color-violet)}.dialysis-journey-list p{grid-column:3}.dialysis-boundary-note{display:grid;grid-template-columns:38px minmax(0,1fr);gap:14px;align-items:start;padding:clamp(18px,2.6vw,28px);border-top:1px solid color-mix(in oklch,var(--color-accent) 34%,transparent);border-bottom:1px solid color-mix(in oklch,var(--color-violet) 20%,transparent)}.dialysis-boundary-note svg{color:var(--color-accent-dark)}.dialysis-boundary-note strong{display:block;margin-bottom:8px;color:var(--color-ink);font-size:clamp(18px,1.7vw,24px)}.dialysis-return-bottom{justify-self:center}.dialysis-research-grid,.dialysis-ergonomics-grid,.dialysis-interface-grid{display:grid;grid-template-columns:minmax(0,.58fr) minmax(280px,.42fr);gap:clamp(22px,4vw,48px);align-items:start}.dialysis-research-grid figure,.dialysis-ergonomics-grid figure,.dialysis-interface-grid figure{min-width:0;margin:0;overflow:hidden;border:1px solid color-mix(in oklch,var(--color-line) 86%,transparent);border-radius:8px;background:color-mix(in oklch,white 90%,transparent);box-shadow:inset 0 1px #fff,0 20px 48px color-mix(in oklch,var(--color-accent-dark) 8%,transparent)}.dialysis-research-grid img,.dialysis-ergonomics-grid img,.dialysis-interface-grid img{display:block;width:100%;max-height:720px;object-fit:contain;padding:clamp(8px,1.4vw,16px)}.dialysis-research-grid figcaption,.dialysis-ergonomics-grid figcaption,.dialysis-interface-grid figcaption{padding:11px 13px 13px;color:var(--color-muted);font-family:var(--font-mono);font-size:11px;line-height:1.55;background:color-mix(in oklch,var(--color-accent) 5%,white)}.dialysis-research-takeaways,.dialysis-principle-list{display:grid;gap:1px;overflow:hidden;border:1px solid color-mix(in oklch,var(--color-line) 86%,transparent);border-radius:8px;background:color-mix(in oklch,var(--color-line) 84%,transparent)}.dialysis-research-takeaways article,.dialysis-principle-list article{min-width:0;display:grid;gap:10px;align-content:center;padding:clamp(18px,2.4vw,26px);background:color-mix(in oklch,white 88%,transparent)}.dialysis-research-takeaways span,.dialysis-scenario-grid span{color:var(--color-accent-dark);font-family:var(--font-mono);font-size:12px}.dialysis-research-takeaways p,.dialysis-ergonomics-copy>p,.dialysis-principle-list p,.dialysis-interface-grid p,.dialysis-scenario-grid p{margin:0;color:var(--color-muted);line-height:1.85}.dialysis-ergonomics-copy{min-width:0;display:grid;gap:18px}.dialysis-ergonomics-copy h3,.dialysis-interface-grid h3,.dialysis-scenario-grid h3{margin:0;color:var(--color-ink);font-size:clamp(24px,2.7vw,38px);line-height:1.14}.dialysis-principle-list strong{color:var(--color-ink);font-size:16px}.dialysis-interface-grid{grid-template-columns:minmax(0,.4fr) minmax(320px,.6fr);align-items:stretch;padding:clamp(18px,3vw,34px);border-top:1px solid color-mix(in oklch,var(--color-accent) 36%,transparent);border-bottom:1px solid color-mix(in oklch,var(--color-violet) 22%,transparent);background:linear-gradient(145deg,color-mix(in oklch,white 74%,transparent),color-mix(in oklch,var(--color-accent) 7%,white))}.dialysis-interface-grid>div{min-width:0;display:grid;align-content:center;gap:16px}.dialysis-scenario-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.dialysis-scenario-grid article{min-width:0;display:grid;align-content:start;gap:12px;padding:clamp(18px,2.5vw,28px);border-top:1px solid color-mix(in oklch,var(--color-accent) 34%,transparent);border-bottom:1px solid color-mix(in oklch,var(--color-violet) 18%,transparent);background:color-mix(in oklch,white 68%,transparent)}.dialysis-mode-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.dialysis-mode-grid article{min-width:0;overflow:hidden;border:1px solid color-mix(in oklch,var(--color-line) 86%,transparent);border-radius:8px;background:color-mix(in oklch,white 82%,transparent)}.dialysis-mode-grid figure{margin:0;overflow:hidden;background:color-mix(in oklch,white 92%,transparent)}.dialysis-mode-grid img{display:block;width:100%;aspect-ratio:1.35 / 1;object-fit:contain;padding:clamp(10px,1.6vw,18px)}.dialysis-mode-grid article>div{display:grid;gap:10px;padding:clamp(16px,2.3vw,24px)}.dialysis-mode-grid span{color:var(--color-accent-dark);font-family:var(--font-mono);font-size:11px}.dialysis-mode-grid h3{margin:0;color:var(--color-ink);font-size:clamp(22px,2.2vw,32px);line-height:1.18}.dialysis-mode-grid p{margin:0;color:var(--color-muted);line-height:1.85}.dialysis-digital-board,.dialysis-archive-board,.dialysis-context-board,.dialysis-evolution-board{margin-top:clamp(20px,3vw,34px)}@media(max-width:1180px){.dialysis-hero,.dialysis-section-heading,.dialysis-overview-grid,.dialysis-opportunity-grid,.dialysis-service-grid,.dialysis-research-grid,.dialysis-ergonomics-grid,.dialysis-interface-grid{grid-template-columns:1fr}.dialysis-context-grid,.dialysis-evolution-grid,.dialysis-hardware-gallery,.dialysis-scenario-grid,.dialysis-mode-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:980px){.dialysis-case-layout{grid-template-columns:1fr}.dialysis-case-toc{position:static}}@media(max-width:640px){.dialysis-case-shell,.dialysis-case-shell main,.dialysis-hero,.dialysis-hero-copy,.dialysis-case-layout,.dialysis-case-content{width:100%;max-width:100%;min-width:0}.dialysis-hero{padding-top:28px}.dialysis-hero-copy h1{font-size:clamp(48px,15vw,64px)}.dialysis-subtitle,.dialysis-intro,.dialysis-section-lead,.dialysis-case-shell p,.dialysis-case-shell li,.dialysis-case-shell h2,.dialysis-case-shell h3{max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:break-all}.dialysis-hero-media{min-height:280px}.dialysis-meta-grid,.dialysis-context-grid,.dialysis-evolution-grid,.dialysis-hardware-gallery,.dialysis-scenario-grid,.dialysis-mode-grid{grid-template-columns:1fr}.dialysis-journey-list article{grid-template-columns:24px minmax(0,1fr)}.dialysis-journey-list span{display:none}.dialysis-journey-list p{grid-column:2}}.site-shell.detail-shell.generic-case-shell{width:100%;max-width:none;padding:0}.site-shell.detail-shell.generic-case-shell main{width:min(100%,1440px);margin:0 auto;padding-inline:clamp(18px,4vw,56px)}.site-shell.detail-shell.generic-case-shell .case-layout{border-top:0}.curated-case-shell{width:100%;max-width:none;min-height:100dvh;padding:0 clamp(18px,3vw,48px) clamp(48px,6vw,96px)}.curated-case-shell main{width:min(100%,1440px);margin:0 auto}.curated-case-shell.smart-toilet-theme{--color-ink: oklch(.24 .052 252);--color-muted: oklch(.51 .043 251);--color-soft: oklch(.94 .03 252);--color-paper: oklch(.987 .008 252);--color-panel: oklch(.997 .004 252);--color-line: oklch(.83 .052 251);--color-accent: oklch(.68 .17 254);--color-accent-dark: oklch(.47 .16 255);--color-warm: oklch(.79 .08 80);--color-graphite: oklch(.2 .044 254);background:radial-gradient(ellipse 72% 44% at 88% 0%,color-mix(in oklch,var(--color-accent) 20%,transparent),transparent 68%),radial-gradient(ellipse 64% 42% at 8% 18%,color-mix(in oklch,oklch(.92 .05 252) 28%,transparent),transparent 70%),linear-gradient(90deg,color-mix(in oklch,var(--color-line) 30%,transparent) 1px,transparent 1px),linear-gradient(180deg,color-mix(in oklch,var(--color-line) 24%,transparent) 1px,transparent 1px),linear-gradient(180deg,#fbfdff,#e7f3ff 62%,#f8fbff);background:radial-gradient(ellipse 72% 44% at 88% 0%,color-mix(in oklch,var(--color-accent) 20%,transparent),transparent 68%),radial-gradient(ellipse 64% 42% at 8% 18%,color-mix(in oklch,oklch(.92 .05 252) 28%,transparent),transparent 70%),linear-gradient(90deg,color-mix(in oklch,var(--color-line) 30%,transparent) 1px,transparent 1px),linear-gradient(180deg,color-mix(in oklch,var(--color-line) 24%,transparent) 1px,transparent 1px),linear-gradient(180deg,color(xyz 0.928 0.98 1.114),color(xyz 0.83 0.881 1.08) 62%,color(xyz 0.914 0.965 1.097));background-size:auto,auto,64px 64px,64px 64px,auto}.curated-case-shell.mg-displaybox-theme{--color-ink: oklch(.24 .042 202);--color-muted: oklch(.51 .03 204);--color-soft: oklch(.94 .026 202);--color-paper: oklch(.99 .007 202);--color-panel: oklch(.997 .004 202);--color-line: oklch(.83 .042 202);--color-accent: oklch(.65 .125 202);--color-accent-dark: oklch(.43 .095 204);--color-warm: oklch(.77 .062 210);--color-graphite: oklch(.2 .032 204);background:radial-gradient(ellipse 70% 42% at 84% 2%,color-mix(in oklch,var(--color-accent) 18%,transparent),transparent 68%),radial-gradient(ellipse 62% 38% at 4% 18%,color-mix(in oklch,var(--color-warm) 14%,transparent),transparent 72%),linear-gradient(90deg,color-mix(in oklch,var(--color-line) 34%,transparent) 1px,transparent 1px),linear-gradient(180deg,color-mix(in oklch,var(--color-line) 26%,transparent) 1px,transparent 1px),linear-gradient(180deg,#f9ffff,#e3f5f7 54%,#f7fdfd);background-size:auto,auto,72px 72px,72px 72px,auto}.curated-case-shell .detail-return-link,.curated-case-shell .detail-return-bottom{border:1px solid color-mix(in oklch,var(--color-line) 72%,transparent);border-radius:999px;padding:0 16px;background:color-mix(in oklch,var(--color-panel) 72%,transparent);color:color-mix(in oklch,var(--color-ink) 82%,var(--color-muted));box-shadow:inset 0 1px color-mix(in oklch,white 18%,transparent)}.smart-toilet-theme .detail-return-link,.smart-toilet-theme .detail-return-bottom{background:color-mix(in oklch,white 72%,transparent);box-shadow:0 14px 34px color-mix(in oklch,var(--color-accent) 12%,transparent)}.curated-hero{display:grid;grid-template-columns:minmax(0,.86fr) minmax(380px,1.14fr);gap:clamp(24px,5vw,76px);align-items:center;padding:clamp(42px,7vw,96px) 0 58px;border-bottom:1px solid color-mix(in oklch,var(--color-line) 66%,transparent)}.curated-hero>*{min-width:0}.curated-hero-copy h1{max-width:10ch;margin:0;color:var(--color-ink);font-size:clamp(46px,6.2vw,96px);line-height:.98;letter-spacing:0}.mg-displaybox-theme .curated-hero-copy h1{max-width:11ch;font-size:clamp(44px,5.1vw,78px)}.curated-subtitle{margin:24px 0 0;color:var(--color-accent-dark);font-size:clamp(19px,2vw,30px);font-weight:720;line-height:1.42}.curated-intro,.curated-section-lead,.curated-overview-grid>p,.curated-point-list p,.curated-card-grid p,.curated-boundary-note p,.curated-note{color:color-mix(in oklch,var(--color-ink) 68%,var(--color-muted));line-height:1.88}.curated-intro{max-width:760px;margin:20px 0 0;font-size:clamp(16px,1.45vw,19px)}.curated-hero-actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-top:30px}.curated-hero-actions a,.curated-hero-actions span{min-height:42px;display:inline-flex;align-items:center;gap:8px;border-radius:999px;font-family:var(--font-mono);font-size:12px}.curated-hero-actions a{padding:0 16px;color:#fff;background:radial-gradient(circle at 22% 16%,color-mix(in oklch,white 30%,transparent),transparent 44%),linear-gradient(135deg,var(--color-accent),color-mix(in oklch,var(--color-accent-dark) 86%,var(--color-graphite)));box-shadow:inset 0 1px color-mix(in oklch,white 28%,transparent),0 20px 46px color-mix(in oklch,var(--color-accent) 22%,transparent)}.curated-hero-actions span{padding:0 14px;border:1px solid color-mix(in oklch,var(--color-line) 80%,transparent);color:var(--color-muted);background:color-mix(in oklch,var(--color-panel) 64%,transparent)}.smart-toilet-theme .curated-hero-actions span{background:color-mix(in oklch,white 70%,transparent)}.curated-hero-media{margin:0;overflow:hidden;border:1px solid color-mix(in oklch,var(--color-accent) 26%,var(--color-line));border-radius:10px;background:color-mix(in oklch,white 88%,var(--color-soft));box-shadow:inset 0 1px color-mix(in oklch,white 52%,transparent),0 34px 90px color-mix(in oklch,var(--color-graphite) 28%,transparent)}.mg-displaybox-theme .curated-hero-media{background:radial-gradient(circle at 80% 10%,color-mix(in oklch,var(--color-accent) 14%,transparent),transparent 40%),color-mix(in oklch,white 88%,transparent)}.curated-hero-media img{width:100%;aspect-ratio:16 / 10;object-fit:contain;padding:clamp(8px,1.4vw,14px)}.curated-hero-media figcaption,.curated-split figcaption,.curated-image-grid figcaption{padding:11px 13px 13px;color:color-mix(in oklch,var(--color-ink) 54%,var(--color-muted));font-family:var(--font-mono);font-size:11px;line-height:1.55;background:color-mix(in oklch,var(--color-panel) 12%,transparent)}.curated-case-layout{border-top:0}.curated-case-toc{overflow:hidden;padding:16px 12px;border:1px solid color-mix(in oklch,var(--color-line) 75%,transparent);border-radius:10px;background:linear-gradient(145deg,color-mix(in oklch,white 10%,transparent),transparent 46%),color-mix(in oklch,var(--color-panel) 82%,transparent);-webkit-backdrop-filter:blur(22px) saturate(1.28);backdrop-filter:blur(22px) saturate(1.28);box-shadow:inset 0 1px color-mix(in oklch,white 20%,transparent),0 24px 68px color-mix(in oklch,var(--color-graphite) 22%,transparent)}.smart-toilet-theme .curated-case-toc{background:linear-gradient(145deg,color-mix(in oklch,white 84%,transparent),transparent 46%),color-mix(in oklch,var(--color-soft) 62%,white)}.curated-case-toc a{display:grid;grid-template-columns:30px minmax(0,1fr);gap:10px;align-items:center;min-height:38px;padding:8px 10px;border:1px solid transparent;border-radius:8px;color:var(--color-muted);transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.curated-case-toc a:hover{color:var(--color-ink);border-color:color-mix(in oklch,var(--color-accent) 34%,transparent);background:color-mix(in oklch,var(--color-accent) 12%,transparent);transform:translate(3px)}.curated-case-toc a span,.curated-case-shell .eyebrow,.curated-case-shell .mono-label,.curated-meta-grid span,.curated-principle-grid span,.curated-point-list span,.curated-card-grid span{color:var(--color-accent-dark);font-family:var(--font-mono);font-size:11px;text-transform:uppercase}.curated-case-content{gap:clamp(52px,7vw,88px)}.curated-case-content section{display:grid;gap:clamp(18px,3vw,30px);padding-bottom:clamp(44px,6vw,72px);border-bottom:1px solid color-mix(in oklch,var(--color-line) 62%,transparent)}.curated-section-heading{display:block;max-width:1020px}.curated-section-heading h2{margin:8px 0 0;color:var(--color-ink);font-size:clamp(30px,4.2vw,58px);line-height:1.06;letter-spacing:0;text-wrap:balance}.curated-overview-grid{display:grid;grid-template-columns:minmax(0,.42fr) minmax(0,.58fr);gap:clamp(20px,4vw,48px);align-items:start}.curated-overview-grid>p{margin:20px 0 0;font-size:clamp(16px,1.4vw,19px)}.curated-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;overflow:hidden;border:1px solid color-mix(in oklch,var(--color-line) 76%,transparent);border-radius:8px;background:color-mix(in oklch,var(--color-line) 72%,transparent)}.curated-meta-grid div{min-width:0;display:grid;gap:8px;padding:18px;background:linear-gradient(135deg,color-mix(in oklch,var(--color-accent) 8%,transparent),transparent 68%),color-mix(in oklch,var(--color-panel) 94%,black)}.smart-toilet-theme .curated-meta-grid div{background:linear-gradient(135deg,color-mix(in oklch,var(--color-accent) 8%,white),transparent 68%),color-mix(in oklch,white 88%,var(--color-soft))}.curated-meta-grid strong,.curated-principle-grid h3,.curated-point-list h3,.curated-card-grid h3{margin:0;color:var(--color-ink)}.curated-meta-grid small{color:color-mix(in oklch,var(--color-ink) 58%,var(--color-muted));font-size:13px;line-height:1.5}.curated-principle-grid,.curated-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.curated-principle-grid article,.curated-card-grid article{min-width:0;display:grid;gap:12px;padding:clamp(18px,2.4vw,28px);border:1px solid color-mix(in oklch,var(--color-line) 72%,transparent);border-radius:8px;background:radial-gradient(circle at 88% 8%,color-mix(in oklch,var(--color-accent) 14%,transparent),transparent 38%),color-mix(in oklch,var(--color-panel) 88%,transparent)}.curated-card-grid--side{grid-template-columns:minmax(0,1fr);gap:10px}.curated-card-grid--side article{gap:8px;align-content:center;padding:clamp(16px,1.7vw,22px)}.smart-toilet-theme .curated-principle-grid article,.smart-toilet-theme .curated-card-grid article{background:radial-gradient(circle at 88% 8%,color-mix(in oklch,var(--color-accent) 16%,transparent),transparent 38%),color-mix(in oklch,white 74%,var(--color-soft))}.curated-principle-grid svg,.curated-card-grid svg,.curated-boundary-note svg{color:var(--color-accent-dark)}.curated-section-lead{max-width:980px;margin:0;font-size:clamp(16px,1.45vw,19px)}.curated-split{display:grid;grid-template-columns:minmax(0,.58fr) minmax(280px,.42fr);gap:clamp(18px,4vw,48px);align-items:stretch}.curated-split figure,.curated-image-grid figure{min-width:0;margin:0;overflow:hidden;border:1px solid color-mix(in oklch,var(--color-line) 72%,transparent);border-radius:8px;background:color-mix(in oklch,white 88%,transparent)}.curated-split img{width:100%;height:100%;min-height:360px;object-fit:contain;padding:clamp(8px,1.4vw,14px)}.curated-point-list{display:grid;gap:1px;overflow:hidden;border:1px solid color-mix(in oklch,var(--color-line) 70%,transparent);border-radius:8px;background:color-mix(in oklch,var(--color-line) 70%,transparent)}.curated-point-list article{display:grid;gap:12px;align-content:center;padding:clamp(18px,2.4vw,28px);background:linear-gradient(135deg,color-mix(in oklch,var(--color-accent) 8%,transparent),transparent 62%),color-mix(in oklch,var(--color-panel) 92%,black)}.smart-toilet-theme .curated-point-list article{background:linear-gradient(135deg,color-mix(in oklch,var(--color-accent) 8%,white),transparent 62%),color-mix(in oklch,white 84%,var(--color-soft))}.curated-image-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.curated-image-grid figure.wide{grid-column:span 2}.curated-image-grid--two-up{grid-template-columns:repeat(2,minmax(0,1fr))}.curated-image-grid--three-up figure.wide,.curated-image-grid--two-up figure.wide,.curated-image-grid--full figure.wide{grid-column:auto}.curated-image-grid--full{grid-template-columns:minmax(0,1fr)}.curated-image-grid--trailing{margin-top:14px}.mg-displaybox-theme .curated-image-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mg-displaybox-theme .curated-image-grid figure.wide{grid-column:auto}.curated-image-grid img{width:100%;aspect-ratio:16 / 10;object-fit:contain;padding:clamp(8px,1.4vw,14px)}.curated-image-grid--full img{aspect-ratio:auto;max-height:none}.curated-boundary-note{display:grid;grid-template-columns:36px minmax(0,1fr);gap:14px;align-items:start;padding:clamp(18px,2.6vw,28px);border-top:1px solid color-mix(in oklch,var(--color-accent) 34%,transparent);border-bottom:1px solid color-mix(in oklch,var(--color-line) 60%,transparent)}.curated-boundary-note p{margin:0}.curated-return-bottom{justify-self:center}@media(max-width:1180px){.curated-hero,.curated-overview-grid,.curated-split{grid-template-columns:1fr}.curated-principle-grid,.curated-card-grid,.curated-image-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.curated-image-grid--full{grid-template-columns:minmax(0,1fr)}}@media(max-width:980px){.curated-case-layout{grid-template-columns:1fr}.curated-case-toc{position:static}}@media(max-width:640px){.curated-case-shell,.curated-case-shell main,.curated-hero,.curated-case-layout,.curated-case-content{width:100%;max-width:100%;min-width:0}.curated-case-shell{padding-inline:16px}.curated-hero-copy h1{font-size:clamp(46px,15vw,68px)}.curated-meta-grid,.curated-principle-grid,.curated-card-grid,.curated-image-grid{grid-template-columns:1fr}.curated-image-grid figure.wide{grid-column:auto}.curated-split img{min-height:260px}}.case-sidebar{position:sticky;top:96px;align-self:start;display:grid;gap:16px;min-width:0}.case-sidebar .case-toc{position:static}.case-toc-actions{display:grid;gap:12px}.case-rail-action{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:50px;padding:0 18px;border:1px solid color-mix(in oklch,var(--color-accent) 46%,var(--color-line));border-radius:999px;color:var(--color-ink);font-family:"Source Han Sans SC","Noto Sans CJK SC",var(--font-sans);font-size:13px;font-weight:500;line-height:1;letter-spacing:.01em;text-decoration:none;background:color-mix(in oklch,white 72%,transparent);box-shadow:inset 0 1px color-mix(in oklch,white 82%,transparent),0 14px 30px color-mix(in oklch,var(--color-accent) 20%,transparent);backdrop-filter:blur(14px) saturate(130%);-webkit-backdrop-filter:blur(14px) saturate(130%);transition:transform .22s cubic-bezier(.2,.8,.2,1),border-color .22s ease,box-shadow .22s ease,background .22s ease}.case-rail-action svg{flex:0 0 auto;color:currentColor;transition:transform .22s cubic-bezier(.2,.8,.2,1)}.case-rail-action:hover{border-color:color-mix(in oklch,var(--color-accent) 64%,var(--color-line));background:color-mix(in oklch,white 82%,var(--color-accent));box-shadow:inset 0 1px color-mix(in oklch,white 90%,transparent),0 18px 36px color-mix(in oklch,var(--color-accent) 28%,transparent);transform:translateY(-2px)}.case-rail-action:hover svg{transform:translate(2px,-2px)}.case-rail-action--list{background:color-mix(in oklch,white 68%,transparent)}.hongye-meta-grid div,.hongye-market-points article,.hongye-connector-flow article,.hongye-proof-grid figure,.hongye-structure-grid article{background:color-mix(in oklch,white 88%,var(--color-soft))}.hongye-market-grid figcaption,.hongye-proposal-one figcaption,.hongye-proposal-overview figcaption,.hongye-proposal-two-board figcaption,.hongye-proposal-grid figcaption,.hongye-proof-grid figcaption,.hongye-sketch-wall figcaption{color:color-mix(in oklch,var(--color-ink) 58%,var(--color-muted));background:color-mix(in oklch,white 84%,var(--color-soft))}.hongye-proposal-one li{color:var(--color-ink)}.hongye-proof-grid figcaption{color:color-mix(in oklch,var(--color-ink) 68%,var(--color-muted))}.mg-displaybox-theme .detail-return-link,.mg-displaybox-theme .detail-return-bottom{background:color-mix(in oklch,white 72%,transparent);box-shadow:0 14px 34px color-mix(in oklch,var(--color-accent) 12%,transparent)}.mg-displaybox-theme .curated-case-toc{background:linear-gradient(145deg,color-mix(in oklch,white 82%,transparent),transparent 46%),color-mix(in oklch,var(--color-soft) 62%,white)}.mg-displaybox-theme .curated-meta-grid div{background:linear-gradient(135deg,color-mix(in oklch,var(--color-accent) 8%,white),transparent 68%),color-mix(in oklch,white 88%,var(--color-soft))}.mg-displaybox-theme .curated-principle-grid article,.mg-displaybox-theme .curated-card-grid article{background:radial-gradient(circle at 88% 8%,color-mix(in oklch,var(--color-accent) 16%,transparent),transparent 38%),color-mix(in oklch,white 74%,var(--color-soft))}.mg-displaybox-theme .curated-point-list article{background:linear-gradient(135deg,color-mix(in oklch,var(--color-accent) 8%,white),transparent 62%),color-mix(in oklch,white 84%,var(--color-soft))}.case-rail-action:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}@media(max-width:980px){.case-sidebar .case-toc-actions{display:none!important}.case-mobile-actions{position:fixed;right:18px;bottom:calc(env(safe-area-inset-bottom) + 22px);z-index:110;display:grid;gap:10px;margin:0;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);transition:opacity .18s ease,transform .18s cubic-bezier(.16,1,.3,1),visibility .18s step-end}.mobile-case-toc-visible .case-mobile-actions{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);transition:opacity .18s ease,transform .18s cubic-bezier(.16,1,.3,1),visibility 0ms step-start}.case-mobile-actions a{width:46px;height:46px;display:grid;place-items:center;border:1px solid color-mix(in oklch,var(--color-accent) 56%,var(--color-line));border-radius:50%;color:var(--color-ink);background:color-mix(in oklch,var(--color-panel) 88%,white);box-shadow:inset 0 1px color-mix(in oklch,white 84%,transparent),0 12px 30px color-mix(in oklch,black 22%,transparent);-webkit-backdrop-filter:blur(16px) saturate(136%);backdrop-filter:blur(16px) saturate(136%);transition:transform .18s cubic-bezier(.16,1,.3,1),border-color .18s ease,background .18s ease}.case-mobile-actions a:active{transform:translateY(2px) scale(.95)}.case-sidebar{position:static;gap:12px}.case-toc-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.case-rail-action{padding-inline:15px}}@media(max-width:560px){.case-toc-actions{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){.case-rail-action,.case-rail-action svg{transition:none}}.quick-view-overlay{align-items:stretch;padding:0;background:color-mix(in oklch,black 62%,transparent)}.quick-view-panel{--quick-ink: oklch(.19 .02 226);--quick-muted: oklch(.49 .02 225);--quick-line: oklch(.77 .02 210);--quick-accent: oklch(.68 .095 184);width:min(100%,1480px);max-height:100dvh;min-height:min(100dvh,920px);margin:0 auto;padding:clamp(28px,4vw,64px);border-radius:8px;color:var(--quick-ink);background:linear-gradient(90deg,color-mix(in oklch,var(--quick-accent) 15%,transparent) 1px,transparent 1px),linear-gradient(180deg,color-mix(in oklch,var(--quick-accent) 13%,transparent) 1px,transparent 1px),#e7ecee;background-size:72px 72px,72px 72px,auto}.quick-view-close{position:sticky;top:0;float:right;width:58px;height:58px;margin:0 0 20px 24px;border-color:color-mix(in oklch,var(--quick-ink) 45%,transparent);color:var(--quick-ink);background:color-mix(in oklch,white 46%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.quick-view-head{max-width:980px;margin-bottom:clamp(28px,4vw,56px)}.quick-view-head .eyebrow{color:var(--quick-accent)}.quick-view-head h2{color:var(--quick-ink);font-size:clamp(58px,7vw,116px);font-weight:700}.quick-view-head>p:not(.eyebrow){max-width:1040px;color:var(--quick-muted);font-size:clamp(18px,2vw,27px);font-weight:650}.quick-view-panel .detail-tags{margin-top:18px}.quick-view-panel .detail-tags span{min-height:36px;border-color:color-mix(in oklch,var(--quick-ink) 42%,transparent);color:var(--quick-ink);background:color-mix(in oklch,white 34%,transparent)}.quick-view-main{clear:both;display:grid;grid-template-columns:minmax(220px,320px) minmax(0,1fr);gap:clamp(28px,4vw,62px);align-items:start}.quick-view-aside{position:sticky;top:28px;display:grid;gap:18px;color:var(--quick-muted)}.quick-view-aside-label{margin:0;color:var(--quick-accent);font-family:var(--font-mono);font-size:13px;font-weight:700;text-transform:uppercase}.quick-view-aside-meta{display:flex;flex-wrap:wrap;gap:10px}.quick-view-aside-meta span{display:inline-flex;align-items:center;min-height:36px;padding:0 12px;border:1px solid color-mix(in oklch,var(--quick-ink) 38%,transparent);border-radius:999px;color:var(--quick-ink);background:color-mix(in oklch,white 28%,transparent);font-family:var(--font-mono);font-size:12px}.quick-view-design-note{margin:0;color:var(--quick-ink);font-size:16px;font-weight:650;line-height:1.78}.quick-view-aside ul{display:grid;gap:14px;margin:0;padding:0;list-style:none}.quick-view-aside li{padding-left:14px;border-left:2px solid var(--quick-accent);color:var(--quick-muted);font-size:15px;line-height:1.72}.quick-view-toc{display:grid;gap:4px;margin-top:clamp(20px,3vw,36px);padding-top:clamp(20px,3vw,30px);border-top:1px solid color-mix(in oklch,var(--quick-ink) 22%,transparent)}.quick-view-toc-label{margin:0 0 8px;color:var(--quick-accent);font-family:var(--font-mono);font-size:12px;font-weight:700;letter-spacing:.05em}.quick-view-toc a{display:flex;gap:12px;align-items:center;min-height:38px;padding:8px 10px;border:1px solid transparent;border-radius:8px;color:var(--quick-ink);font-weight:650;transition:color .22s cubic-bezier(.16,1,.3,1),background .22s cubic-bezier(.16,1,.3,1),border-color .22s cubic-bezier(.16,1,.3,1),transform .22s cubic-bezier(.16,1,.3,1)}.quick-view-toc a:hover{border-color:color-mix(in oklch,var(--quick-accent) 45%,transparent);background:color-mix(in oklch,var(--quick-accent) 14%,transparent);transform:translate(3px)}.quick-view-toc a span{color:var(--quick-accent);font-family:var(--font-mono);font-size:12px}.quick-view-gallery{display:grid;grid-template-columns:1fr;gap:clamp(18px,3vw,34px)}.quick-view-gallery-group{display:grid;gap:clamp(18px,3vw,34px);scroll-margin-top:28px}.quick-view-gallery-group+.quick-view-gallery-group{padding-top:clamp(26px,4vw,48px);border-top:1px solid color-mix(in oklch,var(--quick-ink) 22%,transparent)}.quick-view-gallery-group-heading p{margin:0;color:var(--quick-accent);font-family:var(--font-mono);font-size:12px;font-weight:700;text-transform:uppercase}.quick-view-gallery-group-heading h3{margin:8px 0 0;color:var(--quick-ink);font-size:clamp(28px,4vw,46px);line-height:1.12}.quick-view-gallery figure{padding:clamp(12px,1.6vw,18px);border-color:color-mix(in oklch,var(--quick-ink) 36%,transparent);border-radius:10px;background:color-mix(in oklch,white 68%,transparent)}.quick-view-gallery img{width:100%;height:auto;max-height:none;object-fit:contain}.quick-view-gallery figcaption{color:var(--quick-muted);font-family:var(--font-mono);font-size:13px}.copy-notice{position:fixed;right:clamp(16px,3vw,36px);bottom:clamp(16px,3vw,36px);z-index:140;max-width:calc(100vw - 32px);padding:13px 18px;border:1px solid color-mix(in oklch,var(--color-accent) 46%,var(--color-line));border-radius:8px;color:var(--color-ink);background:color-mix(in oklch,var(--color-panel) 90%,white);box-shadow:0 14px 38px color-mix(in oklch,black 22%,transparent);font-size:14px;font-weight:700;line-height:1.45;animation:copy-notice-in .22s cubic-bezier(.16,1,.3,1) both}.copy-wechat-action{border-color:color-mix(in oklch,var(--color-accent) 38%,var(--color-line));background:color-mix(in oklch,var(--color-panel) 72%,white);box-shadow:inset 0 1px color-mix(in oklch,white 78%,transparent);transition:transform .18s cubic-bezier(.16,1,.3,1),color .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}.copy-wechat-action:hover{transform:translateY(-2px);color:var(--color-accent-dark);border-color:color-mix(in oklch,var(--color-accent) 72%,var(--color-line));background:color-mix(in oklch,var(--color-accent) 13%,white);box-shadow:inset 0 1px color-mix(in oklch,white 84%,transparent),0 8px 18px color-mix(in oklch,var(--color-accent) 18%,transparent)}.copy-wechat-action:active{transform:translateY(1px) scale(.98);color:var(--color-ink);background:color-mix(in oklch,var(--color-accent) 22%,white);box-shadow:inset 0 2px 5px color-mix(in oklch,var(--color-accent-dark) 20%,transparent)}.copy-wechat-action:focus-visible{outline:3px solid color-mix(in oklch,var(--color-accent) 72%,white);outline-offset:3px}@keyframes copy-notice-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.copy-notice,.copy-wechat-action{animation:none;transition:none}}@media(max-width:980px){.scroll-toc{position:fixed;top:calc(env(safe-area-inset-top) + 8px);right:12px;left:12px;z-index:100;display:block;max-height:none;margin:0;padding:7px;border-radius:12px;opacity:0;pointer-events:none;transform:translateY(-16px);visibility:hidden;transition:opacity .18s ease,transform .22s cubic-bezier(.16,1,.3,1),visibility 0s linear .22s}.mobile-toc-visible .scroll-toc{opacity:1;pointer-events:auto;transform:translateY(0);visibility:visible;transition-delay:0s}.scroll-toc .mono-label{display:none}.scroll-toc nav{display:flex;gap:6px;overflow-x:auto;overscroll-behavior-inline:contain;padding:1px;scroll-snap-type:inline proximity;scrollbar-width:none}.scroll-toc nav::-webkit-scrollbar{display:none}.scroll-toc a,.scroll-toc .toc-child{min-width:max-content;min-height:42px;display:inline-flex;flex:0 0 auto;align-items:center;gap:6px;margin:0;padding:0 12px;border-radius:8px;scroll-snap-align:start;transform:none}.scroll-toc a:hover,.scroll-toc a.active{transform:none}.scroll-toc a span,.scroll-toc .toc-child span{font-size:10px;line-height:1}.scroll-toc a strong,.scroll-toc .toc-child strong{font-size:13px;font-weight:650;white-space:nowrap}.scroll-toc a small{display:none}}@media(prefers-reduced-motion:reduce){.scroll-toc,.scroll-toc a{transition:none}}@media(max-width:980px){.scroll-toc{padding-inline:7px}.scroll-toc-scroll-hint{position:absolute!important;top:0;bottom:0;z-index:2;width:24px;display:grid;place-items:center;color:var(--color-accent);opacity:.24;pointer-events:none;transform:none;transition:opacity .18s ease}.scroll-toc-scroll-hint--left{left:0;background:linear-gradient(90deg,color-mix(in oklch,var(--color-panel) 88%,white),transparent)}.scroll-toc-scroll-hint--right{right:0;background:linear-gradient(-90deg,color-mix(in oklch,var(--color-panel) 88%,white),transparent)}.scroll-toc-scroll-hint.is-visible{opacity:1}.home-shell.has-quick-view .scroll-toc{opacity:0;pointer-events:none;visibility:hidden}.case-sidebar{position:fixed;top:calc(env(safe-area-inset-top) + 8px);right:12px;left:12px;z-index:100;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;margin:0;padding:6px;border:1px solid color-mix(in oklch,var(--color-accent) 30%,var(--color-line));border-radius:12px;background:color-mix(in oklch,var(--color-panel) 88%,white);box-shadow:0 14px 34px color-mix(in oklch,black 22%,transparent);-webkit-backdrop-filter:blur(18px) saturate(132%);backdrop-filter:blur(18px) saturate(132%);opacity:0;pointer-events:none;transform:translateY(-16px);visibility:hidden;transition:opacity .18s ease,transform .22s cubic-bezier(.16,1,.3,1),visibility 0s linear .22s}.mobile-case-toc-visible .case-sidebar{opacity:1;pointer-events:auto;transform:translateY(0);visibility:visible;transition-delay:0s}.case-sidebar .case-toc{position:static;min-width:0;display:flex;gap:6px;overflow-x:auto;overscroll-behavior-inline:contain;padding:1px;border:0;border-radius:0;background:none;box-shadow:none;scroll-snap-type:inline proximity;scrollbar-width:none}.case-sidebar .case-toc:before,.case-sidebar .case-toc .mono-label{display:none}.case-sidebar .case-toc::-webkit-scrollbar{display:none}.case-sidebar .case-toc a{min-width:max-content;min-height:38px;display:inline-flex;flex:0 0 auto;align-items:center;gap:6px;padding:0 10px;border-radius:7px;scroll-snap-align:start;transform:none}.case-sidebar .case-toc a:hover{transform:none}.case-sidebar .case-toc a span{font-size:10px;line-height:1}.case-toc-actions{display:flex;grid-column:2;gap:6px}.case-rail-action{min-height:38px;padding:0 10px;gap:5px;border-radius:8px;box-shadow:none;font-size:12px;white-space:nowrap}.case-rail-action svg{width:14px;height:14px}}@media(prefers-reduced-motion:reduce){.scroll-toc-scroll-hint,.case-sidebar,.case-rail-action{transition:none}}.ability-lightbox-stage{touch-action:none;overscroll-behavior:contain;cursor:default}.ability-lightbox-stage.is-zoomed{cursor:grab}.ability-lightbox-stage.is-panning{cursor:grabbing;-webkit-user-select:none;user-select:none}.ability-lightbox-stage img{pointer-events:none;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}@media(max-width:980px){.mobile-back-to-top{position:fixed;right:18px;bottom:calc(env(safe-area-inset-bottom) + 22px);z-index:75;width:46px;height:46px;display:grid;place-items:center;border:1px solid color-mix(in oklch,var(--color-accent) 56%,var(--color-line));border-radius:50%;color:var(--color-ink);background:color-mix(in oklch,var(--color-panel) 88%,white);box-shadow:inset 0 1px color-mix(in oklch,white 78%,transparent),0 12px 30px color-mix(in oklch,black 26%,transparent);-webkit-backdrop-filter:blur(16px) saturate(136%);backdrop-filter:blur(16px) saturate(136%);transition:transform .18s cubic-bezier(.16,1,.3,1),border-color .18s ease,background .18s ease}.mobile-back-to-top:active{transform:translateY(2px) scale(.95)}.home-shell.has-quick-view .mobile-back-to-top{visibility:hidden}.case-sidebar{display:block!important;padding:7px!important}.case-sidebar .case-toc{display:flex!important;width:100%;overflow-x:auto!important;white-space:nowrap}.case-toc-actions{display:none!important}}@media(prefers-reduced-motion:reduce){.mobile-back-to-top{transition:none}}@media(max-width:820px){.quick-view-panel{padding:24px 16px 42px}.quick-view-main{grid-template-columns:1fr}.quick-view-aside{position:static}.quick-view-head h2{font-size:clamp(44px,15vw,72px)}}@media(max-width:980px){.case-sidebar{position:fixed!important;display:block!important;overflow:hidden;padding:7px!important}.case-sidebar .case-toc{display:flex!important;flex-wrap:nowrap!important;width:100%;min-width:0;max-width:none;gap:6px;overflow-x:auto!important;overflow-y:hidden;padding:1px;white-space:nowrap;scroll-snap-type:inline proximity;scrollbar-width:none}.case-sidebar .case-toc::-webkit-scrollbar{display:none}.case-sidebar .case-toc a{display:inline-flex!important;flex:0 0 auto;min-width:max-content;white-space:nowrap;scroll-snap-align:start}.case-sidebar:before,.case-sidebar:after{position:absolute;top:0;bottom:0;z-index:3;width:28px;display:grid;place-items:center;color:var(--color-accent);font-size:26px;line-height:1;pointer-events:none}.case-sidebar:before{content:"‹";left:0;background:linear-gradient(90deg,color-mix(in oklch,var(--color-panel) 92%,white),transparent)}.case-sidebar:after{content:"›";right:0;background:linear-gradient(-90deg,color-mix(in oklch,var(--color-panel) 92%,white),transparent)}.case-toc-actions{position:fixed;right:18px;bottom:calc(env(safe-area-inset-bottom) + 22px);z-index:100;display:grid!important;grid-template-columns:1fr;gap:10px}.case-rail-action{width:46px;height:46px;min-height:46px;display:grid;place-items:center;padding:0;border-radius:50%;box-shadow:inset 0 1px color-mix(in oklch,white 84%,transparent),0 12px 30px color-mix(in oklch,black 22%,transparent)}.case-rail-action span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.case-rail-action[href="#top"] svg{transform:rotate(-45deg)}}
