*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgb(59 130 246/0.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4;font-family:var(--font-zen-kaku),system-ui,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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{text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{border-width:0}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.hidden{display:none}.border{border-width:1px}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}@font-face{font-family:Zen Kaku Gothic New;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/zen-kaku-400-latin.woff2) format("woff2");unicode-range:u+0000-024f,u+2000-206f,u+2190-21ff}@font-face{font-family:Zen Kaku Gothic New;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/zen-kaku-400-jp.woff2) format("woff2");unicode-range:u+30??,u+3005,u+4e00-9fff,u+f900-faff,u+ff00-ffef,u+25cb}@font-face{font-family:Zen Kaku Gothic New;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/zen-kaku-500-latin.woff2) format("woff2");unicode-range:u+0000-024f,u+2000-206f,u+2190-21ff}@font-face{font-family:Zen Kaku Gothic New;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/zen-kaku-500-jp.woff2) format("woff2");unicode-range:u+30??,u+3005,u+4e00-9fff,u+f900-faff,u+ff00-ffef,u+25cb}@font-face{font-family:Zen Old Mincho;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/zen-mincho-400-latin.woff2) format("woff2");unicode-range:u+0000-024f,u+2000-206f,u+2190-21ff}@font-face{font-family:Zen Old Mincho;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/zen-mincho-400-jp.woff2) format("woff2");unicode-range:u+30??,u+3005,u+4e00-9fff,u+f900-faff,u+ff00-ffef,u+25cb}@font-face{font-family:Zen Old Mincho;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/zen-mincho-500-latin.woff2) format("woff2");unicode-range:u+0000-024f,u+2000-206f,u+2190-21ff}@font-face{font-family:Zen Old Mincho;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/zen-mincho-500-jp.woff2) format("woff2");unicode-range:u+30??,u+3005,u+4e00-9fff,u+f900-faff,u+ff00-ffef,u+25cb}:root{--paper:#ffffff;--paper-2:#f5f5f4;--ink:#1c1b18;--ink-soft:#56524a;--ink-faint:#6e6960;--line:#e4e0d6;--line-soft:#eeebe3;--accent:#7a8a5a;--accent-deep:#65754a;--seal:#b3402e;--sans:"Zen Kaku Gothic New",system-ui,sans-serif;--mincho:"Zen Old Mincho","Hiragino Mincho ProN","Yu Mincho",serif;--mono:ui-monospace,"SF Mono",Menlo,monospace;--ease:cubic-bezier(.22,.61,.36,1);--ease-snap:cubic-bezier(.87,.05,.02,.97);--t-enter:1500ms;--t-lang-out:600ms;--t-lang-in:1400ms;--t-close:400ms;--gap:clamp(.4rem,1.1vw,.8rem);--pad:clamp(.6rem,1.6vw,1.1rem);--tile-pad:clamp(.7rem,1.6vw,1.15rem);--radius:4px}*{box-sizing:border-box;margin:0;padding:0}html.no-trans *,html.no-trans :after,html.no-trans :before{transition:none!important}html{-webkit-text-size-adjust:100%}body{font-family:var(--sans);background:var(--paper);color:var(--ink);line-height:1.5;letter-spacing:.01em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}body:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.4'/%3E%3C/svg%3E");opacity:.025;mix-blend-mode:multiply}::selection{background:var(--accent);color:var(--paper)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}a{color:inherit;text-decoration:none}button{font-family:inherit}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.c-email:active,.ctl-btn:active,.prow:active,.wcard:active{transform:translateY(0) scale(.985)}.frame{position:relative;z-index:1;width:100%;padding:var(--pad);min-height:100dvh}.grid{width:100%;display:grid;gap:var(--gap);grid-template-columns:1fr 1fr;grid-auto-rows:minmax(6.5rem,auto);grid-template-rows:minmax(9rem,auto) minmax(8rem,auto) minmax(7rem,auto) minmax(7rem,auto) minmax(9.5rem,auto) minmax(7.5rem,auto);grid-template-areas:"id      about" "exp     exp" "works   works" "works   works" "writing writing" "contact contact"}.tile{position:relative;min-width:0;min-height:0;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);padding:var(--tile-pad);display:flex;flex-direction:column;transition:border-color .4s var(--ease)}.tile:hover{border-color:color-mix(in srgb,var(--accent) 50%,var(--line))}.t-id{grid-area:id}.t-about{grid-area:about}.t-works{grid-area:works}.t-writing{grid-area:writing}.t-exp{grid-area:exp}.t-contact{grid-area:contact}.t-id{--d:0ms}.t-about{--d:90ms}.t-works{--d:180ms}.t-exp{--d:270ms}.t-writing{--d:360ms}.t-contact{--d:450ms}@keyframes rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.frame:not(.entered) .tile{animation:rise .6s var(--ease) both;animation-delay:var(--d)}html.lang-boot .frame:not(.entered) .id-name .ch,html.lang-boot .frame:not(.entered) .id-top .mark,html.lang-boot .frame:not(.entered) .t-exp .row,html.lang-boot .frame:not(.entered) .tile,html.lang-boot .frame:not(.entered) .wcard{animation-play-state:paused}.frame:not(.entered) .wcard{animation:rise .5s var(--ease) both;animation-delay:calc(var(--d) + .16s + var(--ci, 0) * 60ms)}.wcard:first-child{--ci:0}.wcard:nth-child(2){--ci:1}.wcard:nth-child(3){--ci:2}.wcard:nth-child(4){--ci:3}.wcard:nth-child(5){--ci:4}.wcard:nth-child(6){--ci:5}.frame:not(.entered) .t-exp .row{animation:rise .5s var(--ease) both;animation-delay:calc(var(--d) + .16s + var(--ri, 0) * 80ms)}.t-exp .row:first-child{--ri:0}.t-exp .row:nth-child(2){--ri:1}.t-exp .row:nth-child(3){--ri:2}.t-exp .row:nth-child(4){--ri:3}.word{white-space:nowrap}.ch,.word{display:inline-block}.ch{transform-origin:50% 100%}.frame:not(.entered) .id-name .ch{animation:rise .5s var(--ease) both;animation-delay:calc(.12s + var(--li, 0) * 35ms)}@keyframes ch-fall{to{opacity:0;transform:perspective(26rem) rotateX(-92deg)}}@keyframes ch-rise{0%{opacity:0;transform:perspective(26rem) rotateX(-92deg)}to{opacity:1;transform:none}}.lang-out .lx .ch{animation:ch-fall .32s cubic-bezier(.55,.06,.68,.19) both;animation-delay:calc(var(--si, 0) * 15ms + min(var(--li, 0) * 8ms, .16s))}.lang-in .lx .ch{animation:ch-rise .45s var(--ease-snap) both;animation-delay:calc(var(--si, 0) * 45ms + min(var(--li, 0) * 12ms, .3s))}.t-works.detail-open .work-detail{animation:wipe-in .45s var(--ease-snap) both}@keyframes wipe-in{0%{clip-path:inset(0 100% 0 0)}to{clip-path:inset(0 0 0 0)}}@keyframes wipe-out{0%{clip-path:inset(0 0 0 0);opacity:1}to{clip-path:inset(0 100% 0 0);opacity:.4}}.t-works.detail-open.closing .work-detail{animation:wipe-out var(--t-close) var(--ease-snap) both}.detail-open .wd-inner{animation:rise .45s var(--ease) .12s both}.detail-open.closing .wd-inner{animation:none}.t-works:not(.detail-open) .work-list{animation:rise .35s var(--ease) both}.th{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.55rem;flex:none}.th .kj{font-family:var(--mincho);font-size:.82rem;letter-spacing:.08em;line-height:1}.th .kj,.th .lb{color:var(--ink-faint)}.th .lb{font-size:.75rem;font-weight:500;letter-spacing:.24em;text-transform:uppercase}.th .ix{color:var(--accent-deep)}.th .cnt,.th .ix{margin-left:auto;font-family:var(--mincho);font-size:.75rem}.th .cnt{color:var(--ink-faint)}.t-id{justify-content:center}.id-deco{position:absolute;right:-.3rem;top:50%;transform:translateY(-50%);writing-mode:vertical-rl;font-family:var(--mincho);font-size:clamp(3.4rem,11vw,6.5rem);color:var(--paper-2);line-height:1;letter-spacing:.1em;-webkit-user-select:none;user-select:none;pointer-events:none}.id-top{display:flex;align-items:center;gap:.55rem;margin-bottom:.5rem}.id-ctl{margin-left:auto;display:flex;gap:.35rem;flex:none}.ctl-btn{font-family:var(--sans);font-size:.75rem;letter-spacing:.08em;color:var(--ink-soft);background:var(--paper);border:1px solid var(--line);border-radius:100px;padding:.2rem .55rem;cursor:pointer;white-space:nowrap;transition:border-color .3s var(--ease),color .3s}.ctl-btn:hover{border-color:var(--accent);color:var(--accent-deep)}.id-top .mark{width:1.65rem;height:1.65rem;flex:none;border:none;border-radius:50%;display:grid;place-items:center;font-family:var(--mincho);font-size:.85rem;background:var(--seal);color:#fdfaf4;transform:rotate(-4deg)}@keyframes stamp{0%{opacity:0;transform:scale(1.7) rotate(-14deg)}60%{opacity:1;transform:scale(.9) rotate(-2deg)}to{opacity:1;transform:scale(1) rotate(-4deg)}}.frame:not(.entered) .id-top .mark{animation:stamp .5s var(--ease-snap) both;animation-delay:.5s}.id-top .jp{font-size:.75rem;color:var(--ink-faint);letter-spacing:.12em;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.id-name,.id-top .jp{font-family:var(--mincho)}.id-name{font-weight:400;font-size:clamp(1.9rem,6.2vw,3rem);line-height:1;letter-spacing:-.01em}.id-row{display:flex;flex-wrap:wrap;gap:.5rem .9rem;margin-top:.6rem}.avail,.id-row{align-items:center}.avail{display:inline-flex;gap:.5rem;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft)}.t-contact .avail{margin-bottom:.55rem}.dot{width:6px;height:6px;background:var(--accent);position:relative;flex:none}.dot,.dot:after{border-radius:50%}.dot:after{content:"";position:absolute;inset:-3px;border:1px solid var(--accent);animation:pulse 2.6s var(--ease) infinite}@keyframes pulse{0%{transform:scale(.6);opacity:.9}to{transform:scale(1.7);opacity:0}}.id-row .m{font-size:.75rem;color:var(--ink-soft)}.id-row .m b{color:var(--ink);font-weight:500}.about-txt{font-family:var(--mincho);font-size:clamp(.9rem,2.4vw,1.08rem);line-height:1.45;color:var(--ink)}.about-txt b{color:var(--accent-deep);font-weight:500}.chips{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:auto;padding-top:.6rem}.chip{font-size:.75rem;letter-spacing:.03em;color:var(--ink-soft);border:1px solid var(--line);border-radius:100px;padding:.18rem .5rem;white-space:nowrap}.rows{display:flex;flex-direction:column;flex:1;min-height:0}.row{display:grid;align-items:baseline;gap:.5rem;padding:.34rem 0;border-bottom:1px solid var(--line-soft)}.row:last-child{border-bottom:none}.t-works .work-list{display:grid;flex:1;min-height:0;gap:var(--gap);grid-template-columns:1fr 1fr;grid-auto-rows:minmax(7.5rem,1fr);overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent;padding:3px 3px 0;margin:-3px -3px 0}.work-list::-webkit-scrollbar{width:5px}.work-list::-webkit-scrollbar-track{background:transparent}.work-list::-webkit-scrollbar-thumb{background:var(--line);border-radius:100px}.work-list::-webkit-scrollbar-thumb:hover{background:var(--accent)}.wcard{display:flex;flex-direction:column;gap:.15rem;text-align:left;cursor:pointer;font-family:var(--sans);color:var(--ink);min-width:0;min-height:0;overflow:hidden;background:var(--paper-2);border:1px solid var(--line);border-radius:3px;padding:.65rem .8rem;transition:border-color .35s var(--ease),transform .35s var(--ease),background .3s,box-shadow .35s var(--ease)}.wcard:hover{border-color:var(--accent);transform:translateY(-2px);background:var(--paper);box-shadow:0 4px 14px -6px color-mix(in srgb,var(--accent) 45%,transparent)}.wcard .wtop{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.wcard .wn{font-family:var(--mincho);font-size:.75rem;color:var(--accent-deep);position:relative}.wcard .wn .d{display:inline-block;transition:opacity .3s var(--ease),transform .3s var(--ease)}.wcard .wn:after{content:attr(data-kanji);position:absolute;inset:0;display:grid;place-items:center;opacity:0;transform:translateY(5px);transition:opacity .3s var(--ease),transform .3s var(--ease)}.wcard:hover .wn .d{opacity:0;transform:translateY(-5px)}.wcard:hover .wn:after{opacity:1;transform:none}.wcard .wy{font-size:.75rem;color:var(--ink-faint)}.wcard .wy,.wcard b{font-family:var(--mincho)}.wcard b{font-weight:400;font-size:clamp(1.05rem,2.4vw,1.45rem);line-height:1.05;margin-top:.25rem}.wcard small{line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wcard .wstat,.wcard small{font-size:.75rem;color:var(--ink-soft)}.wcard .wstat{margin-top:.3rem;letter-spacing:.03em}.wcard .wstat .f{font-family:var(--mincho)}.wcard .go,.wcard .wstat .f{font-size:.75rem;color:var(--accent-deep)}.wcard .go{margin-top:auto;padding-top:.4rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;display:inline-flex;align-items:center;gap:.35rem;transition:gap .3s,color .3s}.wcard:hover .go{gap:.6rem}.work-detail{display:none;flex-direction:column;flex:1;min-height:0;overflow:auto;width:100%}.letter,.work-detail{scrollbar-width:thin;scrollbar-color:var(--line) transparent}.letter::-webkit-scrollbar,.work-detail::-webkit-scrollbar{width:5px}.letter::-webkit-scrollbar-track,.work-detail::-webkit-scrollbar-track{background:transparent}.letter::-webkit-scrollbar-thumb,.work-detail::-webkit-scrollbar-thumb{background:var(--line);border-radius:100px}.letter::-webkit-scrollbar-thumb:hover,.work-detail::-webkit-scrollbar-thumb:hover{background:var(--accent)}.t-works.detail-open .th,.t-works.detail-open .work-list{display:none}.t-works.detail-open .work-detail{display:flex}.wd-back{position:sticky;top:0;z-index:2;display:inline-flex;align-items:center;gap:.4rem;font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);background:var(--paper);border:none;cursor:pointer;padding:.1rem 0 .5rem;flex:none;align-self:flex-start}.wd-back:hover{color:var(--accent-deep)}.wd-back .ar{font-family:var(--mincho)}.wd-inner{display:flex;flex-direction:column}.wd-meta{display:flex;align-items:center;gap:.6rem;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-faint);margin-bottom:.3rem;flex-wrap:wrap}.wd-meta .kj{font-family:var(--mincho);font-size:.82rem;letter-spacing:.06em;color:var(--accent-deep);text-transform:none}.wd-meta .sep{width:3px;height:3px;border-radius:50%;background:var(--ink-faint)}.wd-title{font-family:var(--mincho);font-weight:400;font-size:clamp(1.7rem,5vw,2.4rem);line-height:1;margin-bottom:.15rem}.wd-sub{font-size:.84rem;margin-bottom:.7rem}.wd-lede,.wd-sub{color:var(--ink-soft)}.wd-lede{font-family:var(--mincho);font-size:.95rem;line-height:1.55;margin-bottom:.9rem;text-wrap:pretty}.wd-ja-lede{font-size:.85rem;line-height:1.85;color:var(--ink);border-left:2px solid var(--accent);padding-left:.8rem;margin-bottom:.9rem}.wd-body{font-size:.88rem;color:var(--ink);line-height:1.6;margin-bottom:.7rem;text-wrap:pretty}.wd-body>:first-child{margin-top:0}.wd-body p{margin:0 0 .7rem}.wd-body h1,.wd-body h2{font-size:.98rem;letter-spacing:.005em;margin:1.1rem 0 .4rem}.wd-body h1,.wd-body h2,.wd-body h3{font-family:var(--sans);font-weight:500;color:var(--ink)}.wd-body h3{font-size:.88rem;margin:.9rem 0 .35rem}.wd-body ol,.wd-body ul{margin:.1rem 0 .7rem 1.1rem}.wd-body li{margin-bottom:.3rem;color:var(--ink)}.wd-body a{color:var(--accent-deep);border-bottom:1px solid var(--accent)}.wd-body b,.wd-body strong{font-weight:500}.wd-body blockquote{font-family:var(--mincho);font-size:1rem;line-height:1.45;border-left:1px solid var(--accent);padding-left:.9rem;margin:.8rem 0;color:var(--ink)}.wd-body code{font-family:var(--mono);font-size:.82em;background:var(--paper-2);padding:.1em .35em;border-radius:3px;border:1px solid var(--line-soft)}.wd-body pre{background:var(--ink);color:var(--paper);padding:.8rem .9rem;border-radius:4px;overflow-x:auto;margin:0 0 .7rem}.wd-body pre code{background:none;border:none;padding:0;color:inherit;font-size:.76rem}.wd-body hr{border:none;border-top:1px solid var(--line);margin:1rem 0}.wd-body img{max-width:100%;height:auto;border:1px solid var(--line);border-radius:3px;margin:.6rem 0 .9rem;display:block}.wd-stats{display:flex;gap:1.2rem;margin-bottom:.8rem;flex-wrap:wrap}.wd-stats div{display:flex;flex-direction:column;gap:.1rem}.wd-stats .f{font-family:var(--mincho);font-size:1.15rem;color:var(--accent-deep);line-height:1}.wd-stats .l{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faint)}.wd-tags{gap:.3rem;margin-bottom:.8rem}.wd-links,.wd-tags{display:flex;flex-wrap:wrap}.wd-links{gap:1.2rem}.wd-link{display:inline-flex;align-items:center;gap:.45rem;font-size:.75rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-deep);border-bottom:1px solid var(--accent);padding-bottom:2px;align-self:flex-start;margin-top:.4rem}.t-exp .rows .row{grid-template-columns:5.4rem 1fr;gap:.55rem;padding:.5rem 0;flex:1;align-content:center}.t-exp .ry{font-family:var(--mincho);font-size:.78rem;color:var(--accent-deep);letter-spacing:.02em;white-space:nowrap;padding-top:.1rem}.t-exp .rrole{font-size:clamp(.92rem,2.3vw,1.08rem);font-weight:500;line-height:1.2}.rtag{display:block;margin-top:.24rem;font-family:var(--sans);font-size:.75rem;font-weight:500;letter-spacing:.06em;color:var(--accent-deep);white-space:nowrap}.t-exp .rco{font-size:.75rem;color:var(--ink-soft);margin-top:.05rem}.t-exp .rd{font-size:.75rem;color:var(--ink-faint);margin-top:.18rem;line-height:1.45}.t-writing .rows{display:flex;flex-direction:column;gap:0;overflow-y:auto;min-height:0;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.prow{display:grid;grid-template-columns:auto 1fr auto;align-items:baseline;gap:.5rem;width:100%;background:none;border:none;border-bottom:1px solid var(--line-soft);text-align:left;cursor:pointer;font-family:var(--sans);color:var(--ink);padding:.55rem .1rem;flex:none;transition:padding-left .35s var(--ease)}.prow:last-child{border-bottom:none}.prow:hover{padding-left:.5rem;background:var(--paper-2)}.prow .pd{font-family:var(--mincho);font-size:.75rem;color:var(--ink-faint);white-space:nowrap}.prow .ptw{display:flex;flex-direction:column;gap:.15rem;min-width:0}.prow .pt{font-size:clamp(.78rem,2vw,.92rem);line-height:1.25;transition:color .3s}.prow .pex,.prow .pt{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.prow .pex{font-size:.75rem;color:var(--ink-faint);line-height:1.5}.prow .par{font-size:.75rem;transition:transform .35s var(--ease),color .3s}.prow .par,.prow:hover .pt{color:var(--accent-deep)}.prow:hover .par{transform:translate(2px,-2px);color:var(--accent)}.letter-overlay{position:fixed;inset:0;z-index:60;display:flex;align-items:center;justify-content:center;padding:clamp(1rem,4vw,3rem);background:color-mix(in srgb,var(--ink) 38%,transparent);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:overlay-in .3s var(--ease) both}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.letter{position:relative;width:100%;max-width:42rem;max-height:100%;overflow:auto;overscroll-behavior:contain;background:var(--paper);border:1px solid var(--line);border-radius:4px;padding:clamp(1.1rem,3vw,1.9rem) clamp(1.2rem,4vw,2.4rem) clamp(1.4rem,4vw,2.2rem);animation:letter-in .45s var(--ease-snap) both}@keyframes letter-in{0%{opacity:0;transform:translateY(16px);clip-path:inset(0 0 14% 0)}to{opacity:1;transform:none;clip-path:inset(0 0 0 0)}}.letter-overlay.closing{animation:overlay-out .35s var(--ease) both}@keyframes overlay-out{to{opacity:0}}.letter-overlay.closing .letter{animation:letter-out .3s var(--ease) both}@keyframes letter-out{to{opacity:0;transform:translateY(10px)}}.letter .wd-inner{animation:rise .45s var(--ease) .15s both}.letter .wd-title{font-size:clamp(1.9rem,6vw,2.5rem);margin-bottom:.3rem}.letter .wd-lede{font-size:1.02rem}.letter .wd-body{font-size:.95rem;line-height:1.7}.t-contact.meishi{position:relative;padding-left:2.5rem}.meishi-rail{position:absolute;left:.7rem;top:1.1rem;bottom:1.1rem;display:flex;flex-direction:column;align-items:center;gap:.5rem}.meishi-rail .r-kj{writing-mode:vertical-rl;font-family:var(--mincho);font-size:.82rem;letter-spacing:.28em;color:var(--ink-faint)}.meishi-rail .r-line{flex:1;width:1px;background:var(--line)}.meishi-rail .r-en{writing-mode:vertical-rl;font-family:var(--sans);font-size:.75rem;letter-spacing:.22em;text-transform:uppercase;color:var(--ink-faint)}.meishi-seal{position:absolute;top:1rem;right:1.1rem;z-index:2;width:1.9rem;height:1.9rem;display:grid;place-items:center;border:1px solid var(--seal);border-radius:3px;color:var(--seal);font-family:var(--mincho);font-size:.95rem;background:color-mix(in srgb,var(--seal) 5%,var(--paper));transform:rotate(-4deg)}.meishi-body{display:flex;flex-direction:column;height:100%}.meishi .avail{margin-bottom:.7rem;padding-right:2.2rem}.c-email{display:block;text-align:left;background:var(--paper-2);cursor:pointer;font-family:inherit;color:var(--ink);margin-bottom:.85rem;border:1px solid var(--line);border-radius:4px;padding:.5rem .65rem;transition:border-color .3s var(--ease),background .3s}.c-email:hover{border-color:var(--accent);background:var(--paper)}.c-email .addr{display:block;font-family:var(--mincho);font-size:clamp(.95rem,2.4vw,1.18rem);line-height:1.45;padding-bottom:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .3s}.c-email .c-cap,.c-email:hover .addr{color:var(--accent-deep)}.c-email .c-cap{display:flex;align-items:center;gap:.3rem;margin-top:.3rem;font-family:var(--sans);font-size:.75rem;letter-spacing:.16em;text-transform:uppercase}.c-email .c-cap:before{content:"⧉";font-size:.9em;letter-spacing:0}.c-channels{display:flex;align-items:center;gap:.7rem;font-size:.75rem}.c-channels a{color:var(--accent-deep);transition:color .3s;text-underline-offset:3px;text-decoration-color:color-mix(in srgb,var(--accent) 45%,transparent)}.c-channels a:hover{color:var(--accent-deep);text-decoration:underline}.c-channels .cdiv{width:1px;height:.8rem;background:var(--line);flex:none}.clock{margin-top:auto;padding-top:.7rem;display:flex;align-items:center;gap:.55rem;font-family:var(--mincho);font-size:.75rem;color:var(--ink-faint);letter-spacing:.06em}.clock .cdot{width:3px;height:3px;border-radius:50%;background:var(--ink-faint)}html[lang=ja] .about-txt{line-height:1.75}html[lang=ja] .t-exp .rd{line-height:1.6}html[lang=ja] .wcard small{line-height:1.45}html[lang=ja] .wd-sub{line-height:1.6}.toast{position:fixed;left:50%;bottom:1.4rem;transform:translate(-50%,1rem);z-index:80;background:var(--ink);color:var(--paper);font-size:.75rem;letter-spacing:.08em;padding:.5rem .9rem;border-radius:3px;opacity:0;pointer-events:none;transition:opacity .35s var(--ease),transform .35s var(--ease)}.toast.show{opacity:1;transform:translate(-50%)}@media (max-width:1023px){.t-works.detail-open{height:70dvh}.t-works{scroll-margin-top:.9rem}.chip,.th .lb{font-size:.75rem}.chip{padding:.26rem .62rem}.id-row .m{font-size:.8rem}.id-top .jp{font-size:.78rem}.wcard small{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.wcard .wstat,.wcard small{font-size:.75rem}.wcard .wstat .f{font-size:.8rem}.wcard .wn,.wcard .wy{font-size:.78rem}.wcard .go,.wd-meta{font-size:.75rem}.t-exp .ry{font-size:.84rem}.t-exp .rco{font-size:.8rem}.t-exp .rd{font-size:.75rem}.prow{padding:.55rem .1rem}.prow .par,.prow .pd{font-size:.75rem}.t-writing .rows{max-height:16rem}.rtag{font-size:.75rem}.clock{font-size:.76rem}.avail{font-size:.75rem}.c-channels{font-size:.82rem;gap:.85rem}.c-email .c-cap,.wd-back{font-size:.75rem}.wd-body{font-size:.94rem}.wd-lede{font-size:1rem}.ctl-btn,.wd-link,.wd-stats .l{font-size:.75rem}.ctl-btn{padding:.52rem .85rem}.c-email{padding:.6rem .8rem}.c-email .addr{font-size:1.25rem}.c-channels a{padding:.35rem 0}.wd-back{padding:.45rem 0 .6rem}}@media (max-width:479px){.grid{grid-template-rows:none;grid-template-areas:"id      id" "about   about" "exp     exp" "works   works" "works   works" "writing writing" "contact contact"}}@media (min-width:1024px){:root{--gap:clamp(.5rem,.85vw,.95rem)}.frame{height:100dvh;overflow:hidden}.grid{height:100%;grid-template-columns:.92fr 1.05fr 1.05fr 1.08fr;grid-template-rows:minmax(0,1fr) minmax(0,1fr) clamp(10rem,26vh,13rem);grid-template-areas:"id      works   works   exp" "about   works   works   exp" "contact writing writing exp"}.id-name{font-size:clamp(2rem,3.2vw,3rem)}.id-row{flex-direction:column;align-items:flex-start;gap:.5rem}.avail,.id-row .m{white-space:nowrap}}@media (min-width:1024px) and (max-height:850px),(min-width:1024px) and (max-width:1365px){.tile{padding:.9rem 1rem}.about-txt{font-size:.86rem;line-height:1.38}.t-about .th{margin-bottom:.4rem}.t-about .chips{gap:.26rem}.chip{font-size:.75rem;padding:.12rem .42rem}.id-name{font-size:clamp(1.7rem,2.8vw,2.4rem)}.wcard b{font-size:clamp(.98rem,1.6vw,1.18rem)}.wcard small{font-size:.75rem}.wcard .wstat{margin-top:.15rem}.avail{font-size:.75rem;letter-spacing:.12em}.c-email .addr{font-size:.92rem}.t-contact .avail{white-space:normal;line-height:1.6;margin-bottom:.5rem}.clock{font-size:.75rem}}@media (min-width:1500px){:root{--pad:clamp(1.2rem,2vw,2.2rem)}.grid{grid-template-columns:.95fr 1.1fr 1.1fr 1.15fr}}@media (prefers-reduced-motion:reduce){*{animation:none!important}.grid,.modal,.modal-card,.work-detail{transition:none!important}}