@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-neutral-400:#a1a1a1;--color-neutral-500:#737373;--color-neutral-600:#525252;--color-black:#000;--color-white:#fff;--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--font-weight-light:300;--font-weight-normal:400;--font-weight-semibold:600;--tracking-tight:-.025em;--tracking-wide:.025em;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}@supports (color:lab(0% 0 0)){:root,:host{--color-neutral-400:lab(66.128% -.0000298023 .0000119209);--color-neutral-500:lab(48.496% 0 0);--color-neutral-600:lab(34.924% 0 0)}}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.order-1{order:1}.order-2{order:2}.col-span-2{grid-column:span 2/span 2}.mb-0{margin-bottom:calc(var(--spacing) * 0)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.aspect-3\/3\.5{aspect-ratio:3/3.5}.h-full{height:100%}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-\[1fr_2fr\]{grid-template-columns:1fr 2fr}.grid-cols-\[120px_1fr\]{grid-template-columns:120px 1fr}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.self-start{align-self:flex-start}.object-cover{object-fit:cover}.object-center{object-position:center}.pt-8{padding-top:calc(var(--spacing) * 8)}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.leading-none{--tw-leading:1;line-height:1}.font-light{--tw-font-weight:var(--font-weight-light);font-weight:var(--font-weight-light)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.text-nowrap{text-wrap:nowrap}.text-black{color:var(--color-black)}.text-neutral-400{color:var(--color-neutral-400)}.text-neutral-500{color:var(--color-neutral-500)}.text-neutral-600{color:var(--color-neutral-600)}.text-white{color:var(--color-white)}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.invert-100{--tw-invert:invert(100%);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}@media (min-width:40rem){.sm\:mb-0{margin-bottom:calc(var(--spacing) * 0)}.sm\:mb-4{margin-bottom:calc(var(--spacing) * 4)}.sm\:block{display:block}.sm\:hidden{display:none}.sm\:pt-12{padding-top:calc(var(--spacing) * 12)}}@media (min-width:48rem){.md\:mb-8{margin-bottom:calc(var(--spacing) * 8)}.md\:gap-6{gap:calc(var(--spacing) * 6)}.md\:gap-10{gap:calc(var(--spacing) * 10)}}@media (min-width:64rem){.lg\:mb-4{margin-bottom:calc(var(--spacing) * 4)}.lg\:mb-12{margin-bottom:calc(var(--spacing) * 12)}.lg\:grid-cols-\[1\.5fr_1fr\]{grid-template-columns:1.5fr 1fr}.lg\:gap-20{gap:calc(var(--spacing) * 20)}}}.site-body{flex-direction:column;min-height:100%;padding:1rem;display:flex;position:relative}.site-header{z-index:var(--z-header);justify-content:space-between;align-items:center;width:100%;padding:1rem 1rem 0;display:flex;position:fixed;top:0;left:0;right:0}.site-logo{z-index:var(--z-header);aspect-ratio:3;width:5rem;position:relative}.site-logo-link{display:block;position:absolute;inset:0}.site-footer{justify-content:space-between;display:flex}.page-home{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:92dvh;display:flex}.page-content{min-height:95dvh;padding-top:4.5rem;padding-bottom:3.5rem}@media (min-width:640px){.site-logo{width:7.5rem}.page-home{min-height:95dvh;padding-block:2.5rem}.page-content{padding-top:7.5rem}}.text-fluid-eyebrow{font-size:var(--text-fluid-eyebrow)}.text-fluid-hero-link{font-size:var(--text-fluid-hero-link)}.text-fluid-contact{font-size:var(--text-fluid-contact)}.text-fluid-caption{font-size:var(--text-fluid-caption)}.text-fluid-intro{font-size:var(--text-fluid-intro)}.text-fluid-nav-action{font-size:var(--text-fluid-nav-action)}.text-fluid-about-lead{font-size:var(--text-fluid-about-lead)}.text-fluid-signature{font-size:var(--text-fluid-signature)}.text-fluid-body{font-size:var(--text-fluid-body)}.home-role-stack{text-align:center;flex-direction:column;align-items:center;display:flex}.home-role-link{font-size:var(--text-fluid-hero-link);letter-spacing:var(--tracking-tight);transition:opacity var(--motion-duration-fast) var(--motion-ease-default), transform var(--motion-duration-fast) var(--motion-ease-default);font-weight:700;line-height:1.25}@media (hover:hover){.home-role-link:hover{opacity:.2;transform:translate(-.5rem)}}.about-lead{font-size:var(--text-fluid-about-lead);letter-spacing:var(--tracking-tight);font-weight:700;line-height:1.2}.about-signature{font-size:var(--text-fluid-signature);line-height:1}.about-description{font-size:var(--text-fluid-body);letter-spacing:var(--tracking-tight)}.about-profile-image{object-position:center -.75rem}.about-profile-divider{background:var(--color-muted);border:0;grid-column:1/-1;width:100%;height:1px;margin:1rem 0 .5rem;display:block}@media (min-width:1024px){.about-profile-divider{display:none}}.profile-stack{flex-direction:column;gap:2.5rem;display:flex}@media (min-width:640px){.profile-stack{gap:4rem}}.visual-page{z-index:0;width:100%;height:100dvh;position:fixed;inset:0;overflow:hidden}.visual-page-image{object-fit:cover;object-position:center}.visual-project-section{z-index:1;place-items:center;width:100%;height:100%;display:grid;position:relative}.visual-project-list{grid-area:auto}.visual-project-item{color:var(--color-text);cursor:default}.visual-project-item .design-project-no,.visual-project-item .design-project-year{opacity:1}.visual-page+.site-footer{z-index:var(--z-header);position:fixed;bottom:1rem;left:1rem;right:1rem}.dev-page-content{padding-block:0}.dev-project-section{min-height:calc(95dvh - 8rem);padding-top:clamp(5rem,20dvh,14rem);padding-bottom:2rem;display:block}.dev-project-list{width:100%;color:var(--color-text);flex-direction:column;gap:clamp(2rem,7vw,7rem);padding:1rem 1.5rem;display:flex}.dev-project-group{flex-direction:column;gap:1rem;min-width:0;display:flex}.dev-project-item,.dev-depth-item{color:var(--color-text);font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.dev-project-item{text-align:left;grid-template-columns:3rem minmax(0,1fr);align-items:start;gap:1rem;width:100%;display:grid}.dev-project-no{font-size:var(--text-fluid-caption);line-height:1.2}.dev-project-meta{flex-direction:column;min-width:0;display:flex}.dev-project-title{font-size:var(--text-fluid-work-title);letter-spacing:var(--tracking-tight);font-weight:600;line-height:1.05}.dev-depth-list{flex-direction:column;gap:.75rem;padding-left:4rem;display:flex}.dev-depth-group{flex-direction:column;gap:.75rem;min-width:0;display:flex}.dev-depth-item{text-align:left;align-items:flex-start;gap:.45rem;width:fit-content;font-weight:400;text-decoration:none;display:inline-flex}.dev-depth-content{flex-direction:column;gap:.25rem;display:flex}.dev-depth-desc{color:var(--color-text-light);font-size:var(--text-fluid-caption);line-height:1.35}.dev-tool-page{flex-direction:column;justify-content:center;align-items:center;min-height:95dvh;display:flex;position:relative}.dev-tool-title{font-size:var(--text-fluid-work-title);letter-spacing:var(--tracking-tight);font-weight:600;line-height:1.05}.dev-tool-heading{text-align:center;flex-direction:column;align-items:center;gap:.5rem;display:flex}.dev-tool-desc{max-width:32rem;color:var(--color-text-light);font-size:var(--text-fluid-body);letter-spacing:var(--tracking-tight);line-height:1.45}.dev-tool-back{color:var(--color-text);align-items:baseline;gap:.45rem;text-decoration:none;display:inline-flex;position:absolute;top:4.5rem;left:0}.roulette-tool{flex-direction:column;align-items:center;gap:1.5rem;width:min(100%,44rem);display:flex}.roulette-toolbar{justify-content:space-between;align-items:flex-start;gap:1rem;width:100%;display:flex}.roulette-desc{text-align:center;width:100%;max-width:32rem}.roulette-count-field{color:var(--color-text);font-size:var(--text-fluid-caption);flex-direction:column;gap:.35rem;display:flex}.roulette-count-field select,.roulette-segment-field input{color:var(--color-text);font:inherit;transition:border-color var(--motion-duration-fast) var(--motion-ease-default), background var(--motion-duration-fast) var(--motion-ease-default), box-shadow var(--motion-duration-fast) var(--motion-ease-default);background:#0000000a;border:1px solid #0000001a;border-radius:999px;outline:none}.roulette-count-field select{appearance:none;cursor:pointer;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 1rem),calc(100% - .72rem);background-repeat:no-repeat;background-size:.28rem .28rem,.28rem .28rem;min-width:5rem;padding:.5rem 2rem .5rem .8rem}.roulette-count-field select:focus,.roulette-segment-field input:focus{background:#ffffffc7;border-color:#00000038;box-shadow:0 0 0 3px #0000000f}.roulette-stage{aspect-ratio:1;width:min(82vw,28rem);position:relative}.roulette-pointer{z-index:2;border-top:.95rem solid #000000b8;border-left:.55rem solid #0000;border-right:.55rem solid #0000;width:0;height:0;position:absolute;top:-.15rem;left:50%;transform:translate(-50%)}.roulette-wheel{border:1px solid #0000001f;border-radius:50%;transition:transform 4.2s cubic-bezier(.12,.72,.08,1);position:absolute;inset:0;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffffa6,0 1rem 3rem #00000014}.roulette-wheel:after{content:"";background:#000000ad;border-radius:50%;width:.7rem;height:.7rem;position:absolute;inset:50%;transform:translate(-50%,-50%)}.roulette-segment-field{z-index:1;width:min(24%,6.5rem);transition:transform 4.2s cubic-bezier(.12,.72,.08,1);position:absolute}.roulette-wheel-5 .roulette-segment-field,.roulette-wheel-6 .roulette-segment-field{width:min(21%,5.75rem)}.roulette-wheel-7 .roulette-segment-field,.roulette-wheel-8 .roulette-segment-field{width:min(18%,5rem)}.roulette-segment-field input{width:100%;font-size:var(--text-fluid-caption);text-align:center;padding:.5rem .6rem}.roulette-wheel-7 .roulette-segment-field input,.roulette-wheel-8 .roulette-segment-field input{padding-inline:.35rem;font-size:clamp(10px,.75vw,13px)}.roulette-segment-field input::placeholder{color:var(--color-text-light)}.roulette-actions{flex-wrap:wrap;justify-content:center;gap:.75rem;display:flex}.roulette-action-button{color:var(--color-text);font:inherit;cursor:pointer;transition:transform var(--motion-duration-fast) var(--motion-ease-default), border-color var(--motion-duration-fast) var(--motion-ease-default), background var(--motion-duration-fast) var(--motion-ease-default);background:#0000000a;border:1px solid #0000001a;border-radius:999px;padding:.65rem 1rem}.roulette-action-button:hover:not(:disabled){background:#00000014;border-color:#0000002e;transform:translateY(-1px)}.roulette-action-button:disabled{cursor:not-allowed;opacity:.35}.roulette-modal{z-index:calc(var(--z-header) + 10);background:#ffffffb8;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.roulette-modal-panel{text-align:center;background:var(--color-bg);border:1px solid #0000001a;border-radius:1.25rem;flex-direction:column;align-items:center;gap:1rem;width:min(100%,24rem);padding:1.5rem;display:flex;box-shadow:0 1.5rem 4rem #0000001f}.roulette-modal-panel p{font-size:var(--text-fluid-caption)}.roulette-modal-panel strong{font-size:var(--text-fluid-work-title);line-height:1.05}.yesno-tool{flex-direction:column;align-items:center;gap:1.5rem;width:min(100%,34rem);display:flex}.yesno-panel{flex-direction:column;align-items:center;gap:.85rem;width:100%;display:flex}.yesno-field{width:100%}.yesno-field input{width:100%;color:var(--color-text);font:inherit;text-align:center;transition:border-color var(--motion-duration-fast) var(--motion-ease-default), background var(--motion-duration-fast) var(--motion-ease-default), box-shadow var(--motion-duration-fast) var(--motion-ease-default);background:#0000000a;border:1px solid #0000001a;border-radius:999px;outline:none;padding:.85rem 1.1rem}.yesno-field input:focus{background:#ffffffc7;border-color:#00000038;box-shadow:0 0 0 3px #0000000f}.yesno-field input::placeholder{color:var(--color-text-light)}.yesno-note{color:var(--color-text-light);font-size:var(--text-fluid-caption);text-align:center;line-height:1.35}.yesno-button{margin-top:.4rem}.yesno-modal{overflow:hidden}.yesno-modal-panel{z-index:2;border-radius:1.75rem;gap:1.35rem;width:min(100%,26rem);padding:2.15rem 1.75rem 1.75rem;position:relative}.yesno-modal-bubble{color:#1c1c1e;max-width:min(100%,19rem);font-size:var(--text-fluid-body);text-align:left;overflow-wrap:anywhere;background:#e9e9eb;border-radius:1.25rem 1.25rem 1.25rem .45rem;align-self:flex-start;margin-left:.35rem;padding:.82rem 1rem;line-height:1.35;position:relative;box-shadow:inset 0 0 0 1px #00000006}.yesno-modal-bubble:before{content:"";background:#e9e9eb;border-bottom-right-radius:.9rem;width:.8rem;height:1rem;position:absolute;bottom:0;left:-.26rem}.yesno-modal-bubble:after{background:var(--color-bg);content:"";border-bottom-right-radius:.85rem;width:.72rem;height:1rem;position:absolute;bottom:0;left:-.72rem}.yesno-modal-kicker{color:var(--color-text-light);letter-spacing:.08em;text-transform:uppercase;margin-top:.25rem}.yesno-modal-panel strong{font-size:clamp(3rem,10vw,8rem);line-height:.9}.yesno-modal-panel .roulette-action-button{margin-top:.15rem}.marble-race-tool{flex-direction:column;align-items:center;gap:1.5rem;width:min(100%,72rem);display:flex}.marble-race-tool .dev-tool-heading{width:100%;max-width:none;padding-top:1rem}.marble-race-tool .dev-tool-title,.marble-race-tool .dev-tool-desc{width:100%;max-width:none}.marble-race-layout{grid-template-columns:1fr;align-items:start;gap:1.15rem;width:min(100%,48rem);display:grid}.marble-race-layout.is-expanded{align-items:start}.marble-race-board{max-height:42.5rem;transition:max-height .9s var(--motion-ease-default), border-radius .9s var(--motion-ease-default);background:#f7f7f6;border:1px solid #0000001a;border-radius:1.25rem;overflow:hidden;box-shadow:0 1rem 3rem #00000014}.marble-race-layout.is-expanded .marble-race-board{border-radius:1.25rem;max-height:620rem}.marble-race-canvas{width:100%;height:auto;display:block}.marble-race-controls{background:#ffffffa8;border:1px solid #00000014;border-radius:1rem;flex-direction:column;gap:1.1rem;padding:1rem;display:flex}.marble-race-count{justify-content:space-between;align-items:center;gap:1rem;display:flex}.marble-race-count span{color:var(--color-text-light);font-size:var(--text-fluid-caption)}.marble-race-count select{color:var(--color-text);font:inherit;background:#ffffffd9;border:1px solid #0000001f;border-radius:999px;padding:.55rem 2rem .55rem .85rem}.marble-race-palette{flex-wrap:wrap;gap:.45rem;display:flex}.marble-race-palette span,.marble-race-winner-dot{aspect-ratio:1;border:1px solid #ffffffb8;border-radius:999px;width:1.15rem;display:block;box-shadow:0 .25rem .8rem #0000001f}.marble-race-name-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem;display:grid}.marble-race-name-field{align-items:center;gap:.5rem;min-width:0;display:flex}.marble-race-name-field span{aspect-ratio:1;border:1px solid #ffffffb8;border-radius:999px;flex:none;width:.85rem;box-shadow:0 .2rem .65rem #0000001f}.marble-race-name-field input{width:100%;min-width:0;color:var(--color-text);font:inherit;font-size:var(--text-fluid-caption);background:#ffffffb3;border:1px solid #00000014;border-radius:999px;outline:none;padding:.6rem .8rem}.marble-race-name-field input:focus{background:#fffffff2;border-color:#0003}.marble-race-actions{flex-wrap:wrap;gap:.55rem;display:flex}.marble-race-reset{color:var(--color-text);background:#0000000f}.marble-race-modal{overflow:hidden}.marble-race-modal-panel{z-index:2;gap:1.2rem;position:relative}.marble-race-winner-dot{width:2.5rem}.marble-race-modal-panel strong{font-size:clamp(2.6rem,8vw,5.5rem);line-height:.95}.celebration-particles{z-index:3;pointer-events:none;width:1px;height:1px;position:absolute;top:50%;left:50%}.celebration-particles span{background:hsl(0 0% calc(18% + (var(--particle-shape) * 22%)));opacity:0;width:clamp(.3rem,1vw,.78rem);height:clamp(.3rem,1vw,.78rem);animation:1.65s cubic-bezier(.12,.92,.18,1) forwards celebrationParticle,.28s linear infinite celebrationSparkle;animation-delay:var(--particle-delay);transform:rotate(var(--particle-angle)) translateX(0) scale(.2);border-radius:50%;position:absolute;top:0;left:0;box-shadow:0 0 .9rem #ffffffe6,0 0 1.8rem #00000040}.celebration-particles span:nth-child(3n+1){border-radius:999px;width:clamp(.22rem,.65vw,.42rem);height:clamp(1rem,2.6vw,2.1rem)}.celebration-particles span:nth-child(3n+2){background:0 0;border:2px solid #fffffff2;box-shadow:0 0 1rem #fffffff2,0 0 2rem #0000002e}@keyframes celebrationParticle{0%{opacity:0;transform:rotate(var(--particle-angle)) translateX(0) scale(.2)}10%{opacity:1;transform:rotate(var(--particle-angle)) translateX(3rem) scale(1.45)}58%{opacity:.95}to{opacity:0;transform:rotate(var(--particle-angle)) translateX(var(--particle-distance)) scale(.12)}}@keyframes celebrationSparkle{0%,to{filter:brightness()}50%{filter:brightness(2.8)}}.design-project-section{grid-template-areas:"preview";place-items:center;width:100%;min-height:calc(95dvh - 11rem);padding-block:2rem;display:grid;position:relative}.design-preview{z-index:0;aspect-ratio:3/3.5;background:var(--color-muted);grid-area:preview;width:min(72vw,42rem);max-width:100%;position:relative;overflow:hidden}.design-preview img{filter:brightness(.65)}.design-project-list{z-index:1;grid-area:preview;grid-template-columns:1fr;gap:clamp(2rem,7vw,7rem) 1.5rem;width:100%;padding:1rem 1.5rem;display:grid;position:relative}.design-project-item{color:var(--color-text-light);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:3rem minmax(0,1fr);align-items:start;gap:1rem;padding:0;display:grid}.design-project-item:focus-visible{outline:1px solid var(--color-text);outline-offset:.35rem}.design-project-no,.design-project-year{font-size:var(--text-fluid-caption);opacity:.62;line-height:1.2}.design-project-meta{flex-direction:column;gap:.35rem;min-width:0;display:flex}.design-project-title{font-size:var(--text-fluid-work-title);letter-spacing:var(--tracking-tight);font-weight:600;line-height:1.05}.design-detail-page{flex-direction:column;justify-content:space-between;gap:clamp(2rem,6dvh,5rem);min-height:95dvh;padding-top:4.5rem;padding-bottom:1.5rem;display:flex;position:relative}.design-detail-gallery{flex:none}.design-detail-strip{overscroll-behavior-x:contain;scroll-snap-type:x proximity;cursor:grab;touch-action:auto;-webkit-user-select:none;user-select:none;gap:.5rem;width:calc(100% + 2rem);margin-inline:-1rem;display:flex;overflow-x:auto}.design-detail-strip.is-dragging{cursor:grabbing;scroll-snap-type:none}.design-detail-strip::-webkit-scrollbar{display:none}.design-detail-strip-image{aspect-ratio:3/3.5;scroll-snap-align:start;background:var(--color-muted);flex:0 0 82vw;position:relative;overflow:hidden}.design-detail-footer{flex-direction:column;gap:1.25rem;display:flex}.design-detail-footer-row{justify-content:space-between;align-items:flex-end;gap:1.5rem;display:flex}.design-detail-current{flex:0 auto;grid-template-columns:3rem minmax(0,1fr);align-items:start;gap:1rem;min-width:0;display:grid}.design-detail-year{flex:none}.design-detail-info{flex-direction:column;gap:.75rem;display:flex;position:relative}.design-detail-info-button{width:fit-content;color:var(--color-text);font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.design-detail-info-body{width:min(82vw,44rem);max-width:none;position:absolute;bottom:calc(100% + .75rem);left:0}.design-detail-overview{font-size:var(--text-fluid-body);text-align:end;letter-spacing:var(--tracking-tight)}.design-detail-back,.design-detail-next{color:var(--color-text);flex-wrap:wrap;align-items:baseline;gap:.45rem;text-decoration:none;display:flex}.design-detail-next-project{color:var(--color-text-light);gap:.45rem;display:inline-flex}@media (max-width:639px){.dev-tool-page{justify-content:flex-start;padding-top:7rem}.dev-tool-page:has(.yesno-tool){justify-content:center}.dev-tool-back{top:4.5rem}.roulette-toolbar{align-items:flex-start}.roulette-stage{width:min(86vw,24rem)}.roulette-segment-field{width:min(26%,5.75rem)}.roulette-wheel-5 .roulette-segment-field,.roulette-wheel-6 .roulette-segment-field{width:min(22%,5rem)}.roulette-wheel-7 .roulette-segment-field,.roulette-wheel-8 .roulette-segment-field{width:min(18%,4.25rem)}.marble-race-controls{gap:.85rem}.marble-race-actions .roulette-action-button{flex:7rem}.marble-race-name-list{grid-template-columns:1fr}.design-detail-footer-row{align-items:center}.design-detail-footer-primary{flex-direction:column;align-items:flex-start;gap:.75rem}.design-detail-info{flex-direction:row;align-items:center;min-width:0}.design-detail-info-button{flex:none;order:0}.design-detail-info-body{flex:auto;order:1;width:auto;position:static}.design-detail-overview{text-align:left}}@media (min-width:640px){.design-detail-page{padding-top:5.5rem}.design-detail-strip-image{flex-basis:48vw}.design-detail-info{align-items:flex-end}.design-detail-info-body{width:min(70vw,44rem);left:auto;right:0}.design-project-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:768px) and (max-width:1023px){.design-project-section{padding-block:0}}@media (max-width:1023px){.design-page-content{min-height:auto;padding-block:4.5rem}.dev-page-content{padding-block:0}.design-project-section{min-height:calc(100dvh - 13rem);padding-block:0}.dev-project-section{min-height:calc(100dvh - 13rem);padding-top:clamp(5rem,20dvh,12rem);padding-bottom:2rem}.marble-race-layout{max-width:30rem}}@media (max-width:479px){.design-page-content{padding-block:3.25rem}.dev-page-content{padding-block:0}.design-project-section{min-height:calc(100dvh - 10rem)}.dev-project-section{min-height:calc(100dvh - 10rem);padding-top:clamp(4rem,18dvh,8rem);padding-bottom:2rem}.design-preview{width:100%;max-width:30rem}.design-project-item{color:#fff}.design-project-no,.design-project-year{opacity:1}}@media (min-width:1024px){.design-detail-page{padding-top:6rem;padding-bottom:2rem}.design-detail-strip-image{flex-basis:27vw}.design-project-section{min-height:calc(95dvh - 8rem)}.design-preview{width:min(36vw,44rem)}.design-project-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(3rem,9vh,8rem) clamp(2rem,7vw,8rem);padding-inline:4rem}.design-project-item{color:var(--color-text)}.design-project-item:nth-child(3n+2){color:var(--color-text-light)}.visual-project-item,.visual-project-item:nth-child(3n+2){color:var(--color-text)}}.menu-button{z-index:var(--z-header);cursor:pointer;font-size:var(--text-fluid-nav-action)}.menu-link{font-size:var(--text-fluid-menu-link);letter-spacing:var(--tracking-tight);transition:opacity var(--motion-duration-fast) var(--motion-ease-default), transform var(--motion-duration-fast) var(--motion-ease-default);font-weight:600;line-height:1.2}.menu-link:before{content:"↼";transition:opacity var(--motion-duration-fast) var(--motion-ease-default), transform var(--motion-duration-fast) var(--motion-ease-default);opacity:0;position:absolute;left:-2.5rem;transform:translate(-10px)}.menu-link:hover:before{opacity:1;transform:translate(-8rem)}@media (hover:hover){.menu-link:hover{opacity:.5;transform:translate(.5rem)}}.nav{z-index:var(--z-nav);background:var(--color-text);color:var(--color-bg);transition:clip-path .7s var(--motion-ease-menu), visibility .8s var(--motion-ease-menu);position:fixed;inset:0}.nav-open{clip-path:circle(150% at 100% 0);transition:clip-path var(--motion-duration-menu-open) var(--motion-ease-menu)}.nav-close{clip-path:circle(0% at 100% 0);pointer-events:none}.nav-closing{clip-path:inset(0);animation:wipeOut var(--motion-duration-menu-close) var(--motion-ease-menu) forwards}@keyframes wipeOut{0%{clip-path:inset(0)}to{clip-path:inset(0 100% 0 0)}}:root{--color-bg:#fff;--color-text:#111;--color-muted:#ddd;--color-text-light:#b8b8b8;--color-point:red;--font-sans:"Pretendard", sans-serif;--text-fluid-caption:clamp(12px, .9vw, 16px);--text-fluid-intro:clamp(12px, 1vw, 2rem);--text-fluid-eyebrow:clamp(1rem, 6vw, 6rem);--text-fluid-hero-link:clamp(1.8rem, 8vw, 8rem);--text-fluid-menu-link:clamp(1.8rem, 5vw, 5rem);--text-fluid-nav-action:clamp(1rem, 1.5vw, 1.5rem);--text-fluid-about-lead:clamp(2rem, 4vw, 4rem);--text-fluid-signature:clamp(1rem, 2vw, 4rem);--text-fluid-contact:clamp(1rem, 2vw, 2rem);--text-fluid-body:clamp(12px, 1vw, 1.3rem);--text-fluid-work-title:clamp(1.1rem, 1.5vw, 1.75rem);--tracking-tight:-.05rem;--motion-duration-fast:.3s;--motion-duration-menu-open:.6s;--motion-duration-menu-close:.5s;--motion-ease-default:ease-out;--motion-ease-menu:cubic-bezier(.76, 0, .24, 1);--z-nav:40;--z-header:50}body{background:var(--color-bg);color:var(--color-text);font-family:Helvetica Neue,Helvetica,Arial,sans-serif}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
