/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-style:solid;--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:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--container-md:28rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-7xl:4.5rem;--text-7xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-background:var(--background);--color-foreground:var(--foreground);--color-border:var(--border)}}@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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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:where(:not(iframe)){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}*{border-color:var(--color-border)}body{background-color:var(--color-background);color:var(--color-foreground)}}@layer components;@layer utilities{.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.flex{display:flex}.inline-flex{display:inline-flex}.min-h-screen{min-height:100vh}.max-w-md{max-width:var(--container-md)}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-input{border-color:var(--input)}.bg-background{background-color:var(--background)}.bg-primary{background-color:var(--primary)}.px-4{padding-inline:calc(var(--spacing) * 4)}.py-2{padding-block:calc(var(--spacing) * 2)}.text-center{text-align:center}.text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.text-foreground{color:var(--foreground)}.text-muted-foreground{color:var(--muted-foreground)}.text-primary-foreground{color:var(--primary-foreground)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--primary) 90%, transparent)}}}}:root{--radius:.625rem;--background:oklch(100% 0 0);--foreground:oklch(12.9% .042 264.695);--card:oklch(100% 0 0);--card-foreground:oklch(12.9% .042 264.695);--popover:oklch(100% 0 0);--popover-foreground:oklch(12.9% .042 264.695);--primary:oklch(20.8% .042 265.755);--primary-foreground:oklch(98.4% .003 247.858);--secondary:oklch(96.8% .007 247.896);--secondary-foreground:oklch(20.8% .042 265.755);--muted:oklch(96.8% .007 247.896);--muted-foreground:oklch(55.4% .046 257.417);--accent:oklch(96.8% .007 247.896);--accent-foreground:oklch(20.8% .042 265.755);--destructive:oklch(57.7% .245 27.325);--destructive-foreground:oklch(98.4% .003 247.858);--border:oklch(92.9% .013 255.508);--input:oklch(92.9% .013 255.508);--ring:oklch(70.4% .04 256.788);--chart-1:oklch(64.6% .222 41.116);--chart-2:oklch(60% .118 184.704);--chart-3:oklch(39.8% .07 227.392);--chart-4:oklch(82.8% .189 84.429);--chart-5:oklch(76.9% .188 70.08);--sidebar:oklch(98.4% .003 247.858);--sidebar-foreground:oklch(12.9% .042 264.695);--sidebar-primary:oklch(20.8% .042 265.755);--sidebar-primary-foreground:oklch(98.4% .003 247.858);--sidebar-accent:oklch(96.8% .007 247.896);--sidebar-accent-foreground:oklch(20.8% .042 265.755);--sidebar-border:oklch(92.9% .013 255.508);--sidebar-ring:oklch(70.4% .04 256.788)}.dark{--background:oklch(12.9% .042 264.695);--foreground:oklch(98.4% .003 247.858);--card:oklch(20.8% .042 265.755);--card-foreground:oklch(98.4% .003 247.858);--popover:oklch(20.8% .042 265.755);--popover-foreground:oklch(98.4% .003 247.858);--primary:oklch(92.9% .013 255.508);--primary-foreground:oklch(20.8% .042 265.755);--secondary:oklch(27.9% .041 260.031);--secondary-foreground:oklch(98.4% .003 247.858);--muted:oklch(27.9% .041 260.031);--muted-foreground:oklch(70.4% .04 256.788);--accent:oklch(27.9% .041 260.031);--accent-foreground:oklch(98.4% .003 247.858);--destructive:oklch(70.4% .191 22.216);--destructive-foreground:oklch(98.4% .003 247.858);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.1% .027 264.364);--chart-1:oklch(48.8% .243 264.376);--chart-2:oklch(69.6% .17 162.48);--chart-3:oklch(76.9% .188 70.08);--chart-4:oklch(62.7% .265 303.9);--chart-5:oklch(64.5% .246 16.439);--sidebar:oklch(20.8% .042 265.755);--sidebar-foreground:oklch(98.4% .003 247.858);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.4% .003 247.858);--sidebar-accent:oklch(27.9% .041 260.031);--sidebar-accent-foreground:oklch(98.4% .003 247.858);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(55.1% .027 264.364)}:root{--meadow:oklch(42% .08 140);--ink:oklch(24% .04 145);--ink-soft:oklch(40% .03 145);--sun:oklch(88% .13 85);--glass:oklch(99% .01 100/.38);--glass-edge:oklch(100% 0 0/.55);--tile:oklch(100% 0 0/.5);--leaf-1:oklch(62% .13 135);--leaf-2:oklch(72% .14 100);--leaf-3:oklch(55% .11 150);--shadow-card:0 30px 80px -30px oklch(30% .08 140/.55);--spring:cubic-bezier(.34, 1.3, .64, 1)}body{color:var(--ink);font-family:Outfit,system-ui,sans-serif}.scene{background:var(--meadow);place-items:center;min-height:100svh;padding:1.5rem;display:grid;position:relative;overflow:hidden}.scene:before{content:"";z-index:0;background:url(/assets/bg-sm-DuQqzC82.webp) 50% 40%/cover no-repeat;position:absolute;inset:0}@media (width>=900px){.scene:before{background-image:url(/assets/bg-DSCJhTp_.webp)}}.sun-glow{z-index:0;background:radial-gradient(circle,oklch(95% .12 90/.55),#0000 65%);width:40vmax;height:40vmax;animation:9s ease-in-out infinite breathe;position:absolute;top:2%;left:52%}@keyframes breathe{50%{opacity:.65;transform:scale(1.06)}}.leaves{z-index:1;pointer-events:none;position:absolute;inset:0}.leaf{opacity:.85;will-change:transform;border-radius:0 80%;animation:linear infinite fall;position:absolute;top:-8%}.leaf-0{background:var(--leaf-1)}.leaf-1{background:var(--leaf-2)}.leaf-2{background:var(--leaf-3)}@keyframes fall{0%{transform:translate(0)rotate(0)}25%{transform:translate(6vw,28vh)rotate(90deg)}50%{transform:translate(-3vw,56vh)rotate(200deg)}75%{transform:translate(7vw,84vh)rotate(290deg)}to{transform:translate(2vw,116vh)rotate(380deg)}}.card{z-index:2;background:var(--glass);border:1px solid var(--glass-edge);-webkit-backdrop-filter:blur(22px)saturate(160%);backdrop-filter:blur(22px)saturate(160%);width:min(100%,30rem);box-shadow:var(--shadow-card);animation:arrive .9s var(--spring) both;border-radius:2rem;padding:2rem 1.75rem 1.5rem;position:relative}@keyframes arrive{0%{opacity:0;filter:blur(6px);transform:translateY(18px)scale(.97)}}.profile{flex-direction:column;align-items:flex-start;padding-left:1.25rem;display:flex}.avatar{object-fit:cover;border:3px solid oklch(100% 0 0/.8);border-radius:1.75rem;width:7rem;height:7rem;box-shadow:0 12px 30px -12px oklch(30% .08 140/.6)}.name{letter-spacing:-.03em;align-items:baseline;gap:.5rem;margin-top:.75rem;font-family:Fraunces,serif;font-size:2.25rem;font-weight:600;line-height:1;display:flex}.kanji{color:oklch(55% .17 25);letter-spacing:0;font-family:Zen Old Mincho,serif;font-size:1.5rem}.projects{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:1.75rem;display:grid}.tile{background:var(--tile);border:1px solid var(--glass-edge);text-align:center;cursor:pointer;transition:transform .45s var(--spring), background .3s ease;border-radius:1.25rem;outline:none;flex-direction:column;align-items:center;gap:.5rem;padding:.9rem .5rem;display:flex;position:relative}.tile:hover,.tile:focus-visible{background:oklch(100% 0 0/.72);transform:translateY(-4px)}.tile:active{transition-duration:.1s;transform:scale(.97)}.logo{object-fit:contain;background:oklch(100% 0 0);border-radius:.9rem;width:3.5rem;height:3.5rem}.pname{font-size:.82rem;font-weight:500;line-height:1.2}.soon{letter-spacing:.08em;text-transform:uppercase;color:oklch(50% .17 25);margin-top:.2rem;font-size:.62rem;font-style:normal;display:block}.reveal{opacity:0;transition:grid-template-rows .4s var(--spring), opacity .3s ease;grid-template-rows:0fr;font-size:.72rem;line-height:1.3;display:grid}.reveal>*{overflow:hidden}.reveal{grid-template-rows:0fr 0fr}.tile:hover .reveal,.tile:focus-visible .reveal,.tile:focus-within .reveal{opacity:1;grid-template-rows:1fr 1fr}.role{color:var(--ink);font-weight:500}.about{color:var(--ink-soft)}.contact{border-top:1px solid oklch(100% 0 0/.5);justify-content:space-between;align-items:center;gap:.75rem;margin-top:1.5rem;padding-top:1rem;font-size:.85rem;display:flex}.label{text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);font-size:.68rem}.email{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:500;overflow:hidden}.email:hover{text-underline-offset:3px;text-decoration:underline}@media (width<=420px){.card{padding:1.5rem 1.1rem 1.25rem}.projects{gap:.5rem}.contact{flex-direction:column;align-items:flex-start}}@media (prefers-reduced-motion:reduce){.leaf,.sun-glow{animation:none;display:none}.card{animation:none}.tile{transition:background .2s}.tile:hover{transform:none}}@media (prefers-reduced-transparency:reduce){.card{-webkit-backdrop-filter:none;backdrop-filter:none;background:oklch(98% .01 100/.95)}}.logo-dark{background:var(--ink)}.projects{align-items:stretch}.projects>li{display:flex}.tile{justify-content:flex-start;width:100%;min-height:8.5rem}.pname{flex-direction:column;justify-content:center;min-height:2rem;display:flex}.scene{grid-template-rows:auto auto;align-content:center;gap:1rem}.flag{opacity:.55;background:linear-gradient(90deg,oklch(45% .13 150) 0 40%,oklch(55% .21 27) 40% 100%);border-radius:.3rem;width:1.6rem;height:1.1rem;position:absolute;top:1.5rem;right:1.5rem;box-shadow:0 0 0 1px oklch(100% 0 0/.6)}.flag:after{content:"";background:oklch(85% .16 90);border-radius:50%;width:.45rem;height:.45rem;position:absolute;top:50%;left:40%;transform:translate(-50%,-50%)}.promo{z-index:2;background:var(--glass);border:1px solid var(--glass-edge);-webkit-backdrop-filter:blur(18px)saturate(160%);backdrop-filter:blur(18px)saturate(160%);width:min(100%,30rem);box-shadow:var(--shadow-card);transition:transform .45s var(--spring);animation:arrive .9s .15s var(--spring) both;border-radius:1.4rem;align-items:center;gap:.85rem;padding:.85rem 1rem;font-size:.78rem;line-height:1.35;display:flex;position:relative}.promo:hover,.promo:focus-visible{transform:translateY(-3px)}.promo:active{transition-duration:.1s;transform:scale(.98)}.promo-badge{text-align:center;background:var(--sun);width:3.6rem;color:var(--ink);border-radius:.9rem;flex:none;padding:.45rem .3rem;font-size:.7rem;font-weight:700;line-height:1.1}.promo-text{min-width:0;color:var(--ink-soft);flex-direction:column;gap:.15rem;display:flex}.promo-text strong{color:var(--ink);font-weight:600}.promo-text code{color:var(--ink);background:oklch(100% 0 0/.65);border-radius:.35rem;padding:0 .3rem;font-family:ui-monospace,monospace;font-weight:700}.promo-cta{background:var(--ink);color:oklch(98% .01 100);white-space:nowrap;border-radius:999px;flex:none;margin-left:auto;padding:.5rem .8rem;font-weight:600}@media (prefers-reduced-motion:reduce){.promo{transition:none;animation:none}}@media (width<=480px){.scene{gap:.75rem;padding:1rem .75rem}.flag{width:1.35rem;height:.95rem;top:1rem;right:1rem}.projects{grid-template-columns:1fr;gap:.5rem}.tile{text-align:left;flex-flow:wrap;align-items:center;gap:.25rem .75rem;min-height:0;padding:.65rem .8rem}.tile .logo{flex:none;width:2.75rem;height:2.75rem}.pname{flex-direction:row;flex:1;justify-content:flex-start;align-items:center;gap:.5rem;min-height:0;font-size:.9rem}.soon{margin-top:0}.reveal{opacity:1;flex-basis:100%;grid-template-rows:1fr 1fr;padding-left:3.5rem}.promo{flex-wrap:wrap;gap:.6rem .75rem;padding:.85rem}.promo-text{flex:1}.promo-cta{text-align:center;flex-basis:100%;margin:0;padding:.7rem;display:block}}.profile{position:relative}.socials{gap:.4rem;margin-top:.7rem;display:flex}.socials a{background:var(--tile);border:1px solid var(--glass-edge);width:2.1rem;height:2.1rem;color:var(--ink-soft);transition:transform .4s var(--spring), color .2s ease, background .2s ease;border-radius:.75rem;place-items:center;display:grid}.socials a:hover,.socials a:focus-visible{color:var(--ink);background:oklch(100% 0 0/.75);transform:translateY(-2px)}.socials a:active{transition-duration:.1s;transform:scale(.94)}.socials{align-self:center;gap:.5rem;margin:0 0 0 .35rem}.socials a{width:auto;height:auto;color:var(--ink-soft);opacity:.75;background:0 0;border:0;border-radius:0;padding:.15rem}.socials a:hover,.socials a:focus-visible{opacity:1;color:var(--ink);background:0 0}.socials svg{width:1.1rem;height:1.1rem}.leaves-front{z-index:3}.leaves-front .leaf{opacity:.7}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@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}
