.cosmic-interior{--work-rule:#b0bdca2b;--work-muted:#a9b2bd;--jv-bg:#0a121b;--jv-panel:#121d2a;--jv-panel-2:#1a2838;--jv-line:#2c3c4e;--jv-bar:#263546;--jv-bar-2:#38495d;--jv-blue:#8fb6d6;--jv-rose:#d99a86;--jv-ink:#d9dee4;--jv-paper:#e9e2d6}.work-intro{margin-bottom:56px!important}.work-label{color:var(--accent);letter-spacing:.04em;margin:0 0 22px;font-family:Georgia,Times New Roman,serif;font-size:18px;font-weight:400}.work-label-note{color:#8d97a3;letter-spacing:.02em;margin-left:.6em;font-size:14px}.work-glance{border:1px solid var(--work-rule);background:linear-gradient(#0c1520c0,#070d15a0);border-radius:8px;margin:0 0 84px;padding:26px 28px 22px}.glance-chart{--glance-name:168px;position:relative}.glance-axis{height:20px;margin-left:var(--glance-name);color:#7f8995;font-variant-numeric:tabular-nums;font-size:12px;position:relative}.glance-axis span{position:absolute;top:0;transform:translate(-50%)}.glance-axis span:first-child{transform:none}.glance-rows{margin:0;padding:0;list-style:none;position:relative}.glance-rows:before{content:"";inset:0 0 0 var(--glance-name);background-image:linear-gradient(90deg,#b0bdca14 1px,#0000 1px);background-size:calc(200% / var(--glance-years,11)) 100%;pointer-events:none;position:absolute}.glance-row{grid-template-columns:var(--glance-name) minmax(0, 1fr);color:#bfc6ce;border-radius:3px;align-items:center;min-height:26px;font-size:14px;text-decoration:none;display:grid}.glance-name{text-overflow:ellipsis;white-space:nowrap;padding-right:14px;overflow:hidden}.glance-track{height:10px;position:relative}.glance-bar{background:linear-gradient(90deg, #d8bb91b0, var(--accent));border-radius:5px;min-width:6px;height:100%;transition:filter .16s,box-shadow .16s;position:absolute;top:0}.glance-bar.is-part-time,.glance-swatch.is-part-time{background:repeating-linear-gradient(-45deg, var(--accent) 0 3px, #d8bb9140 3px 6px)}.glance-bar.is-current{box-shadow:0 0 12px #d8bb9166}.glance-row:hover,.glance-row:focus-visible{color:var(--accent)}.glance-row:hover .glance-bar,.glance-row:focus-visible .glance-bar{filter:brightness(1.18);box-shadow:0 0 0 1px #f1dcbb80}.cosmic-interior .glance-row:focus-visible{outline-offset:3px}.glance-legend{color:#8d97a3;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:18px 0 0;font-size:12px;display:flex}.glance-swatch{background:var(--accent);border-radius:4px;width:22px;height:8px;display:inline-block}.job-list{margin:0;padding:0;list-style:none;position:relative}.job-list:before{content:"";background:linear-gradient(180deg, var(--accent), #d8bb9155 18%, #b0bdca2b 70%, transparent);width:1px;position:absolute;top:10px;bottom:40px;left:6px}.job{padding:0 0 72px 46px;scroll-margin-top:90px;position:relative}.job:before{content:"";box-sizing:border-box;border:1px solid var(--accent);background:radial-gradient(circle, var(--accent) 0 3px, #05090f 3.5px);border-radius:50%;width:13px;height:13px;position:absolute;top:6px;left:0;box-shadow:0 0 0 4px #05090f}.job.is-prologue:before{background:#05090f;border-style:dashed}.job-card{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:48px;display:grid}.job-main{min-width:0;max-width:640px}.job-when{color:var(--work-muted);letter-spacing:.02em;font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:4px 0;margin:0 0 10px;font-size:13px;line-height:1.6;display:flex}.job-when>span+span:before{content:"·";color:#6b7480;margin:0 .6em}.job-when>span:first-child{color:#d9c6a9}.job-company{color:var(--interior-gold);letter-spacing:-.015em;overflow-wrap:anywhere;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(28px,2.7vw,36px);font-weight:400;line-height:1.15}.job-role{color:#e6e1d9;margin:6px 0 0;font-size:17px;line-height:1.5}.job-product{color:#b5bdc6;margin:12px 0 0;font-family:Georgia,Times New Roman,serif;font-size:17px;font-style:italic;line-height:1.6}.job-notes{color:#c3c9d0;margin-top:16px;font-size:16px;line-height:1.7}.job-notes ul{margin:0;padding:0;list-style:none}.job-notes li{margin:0 0 .55em;padding-left:20px;position:relative}.job-notes li:before{content:"";background:var(--accent);width:8px;height:1px;position:absolute;top:.78em;left:2px}.job-notes p{margin:0 0 .8em}.job-notes a{color:var(--accent);text-underline-offset:3px}.job-stack{flex-wrap:wrap;gap:6px;margin:16px 0 0;padding:0;list-style:none;display:flex}.job-stack li{color:#aeb7c1;background:#0d1621;border:1px solid #b0bdca30;border-radius:999px;padding:3px 9px;font-size:12px;line-height:1.5}.job-link{color:var(--accent);text-underline-offset:4px;margin-top:16px;font-size:14px;text-decoration:underline 1px #d8bb9160;display:inline-block}.job-link:hover{color:#f0dcbc;text-decoration-color:currentColor}.job-shot{margin:0}.job-card>.jv-window,.job-shot{position:sticky;top:96px}.job-shot img{border:1px solid #b0bdca30;border-radius:8px;width:100%;height:auto;display:block}.job-shot figcaption{color:#8d97a3;margin-top:8px;font-size:12px;line-height:1.5}.jv-window{background:var(--jv-bg);border:1px solid #b0bdca2e;border-radius:10px;transition:border-color .22s,box-shadow .22s,transform .22s;position:relative;overflow:hidden;box-shadow:0 18px 40px -22px #000c,0 0 0 1px #00000040}.jv-bar{background:#0e1823;border-bottom:1px solid #b0bdca1f;align-items:center;gap:10px;height:26px;padding:0 10px;display:flex}.jv-dots{gap:5px;display:inline-flex}.jv-dots i{background:#2f3e50;border-radius:50%;width:7px;height:7px}.jv-title{color:#7f8b98;letter-spacing:.04em;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:10.5px}.jv-art{aspect-ratio:16/10;width:100%;height:auto;display:block}.job:hover .jv-window,.job:focus-within .jv-window{border-color:#d8bb9166;box-shadow:0 22px 48px -22px #000d,0 0 0 1px #d8bb9122,0 0 36px -10px #d8bb9140}.jv-art .bg{fill:var(--jv-bg)}.jv-art .pn{fill:var(--jv-panel)}.jv-art .pn2{fill:var(--jv-panel-2)}.jv-art .ln{fill:var(--jv-panel);stroke:var(--jv-line);stroke-width:1px}.jv-art .bar{fill:var(--jv-bar)}.jv-art .bar2{fill:var(--jv-bar-2)}.jv-art .g{fill:var(--accent)}.jv-art .b{fill:var(--jv-blue)}.jv-art .r{fill:var(--jv-rose)}.jv-art .ink{fill:var(--jv-ink)}.jv-art .gs,.jv-art .bs,.jv-art .rs{fill:none;stroke-linecap:round;stroke-linejoin:round}.jv-art .gs{stroke:var(--accent)}.jv-art .bs{stroke:var(--jv-blue)}.jv-art .rs{stroke:var(--jv-rose)}.jv-art .pn2.gs,.jv-art .pn2.ln{fill:var(--jv-panel-2)}.jv-art .guide{fill:none;stroke:#b0bdca1c;stroke-width:1px}.jv-art .track{stroke:var(--jv-bar-2);stroke-width:3px;stroke-linecap:round}.jv-art .rule{stroke:#b0bdca26;stroke-width:1px}.jv-art text{fill:#9aa7b5;font-family:ui-monospace,SF Mono,Menlo,monospace}.jv-art .serif{fill:var(--jv-ink);font-family:Georgia,Times New Roman,serif}.jv-art .serif-jp{fill:var(--jv-ink);font-family:Hiragino Mincho ProN,Yu Mincho,Georgia,serif}.jv-art .small{fill:#c9d0d7}.jv-art .strong{font-weight:600}.jv-art .heavy{font-weight:800}.jv-art .dim{fill:#6f7c8a}.jv-art text.gold,.jv-art .attr{fill:var(--accent)}.jv-art .tag{fill:var(--jv-blue)}.jv-art .caret{opacity:.8}.jv-art .road{fill:none;stroke:#131f2c;stroke-width:8px;stroke-linecap:round}.jv-art .road-thin{fill:none;stroke:#111b26;stroke-width:4px;stroke-linecap:round}.jv-art .route-base{fill:none;stroke:#d8bb9130;stroke-width:2.5px;stroke-linecap:round}.jv-art .route{fill:none;stroke:var(--accent);stroke-width:2.5px;stroke-linecap:round;stroke-dasharray:2 7}.jv-art .card{stroke:#b0bdca30;stroke-width:1px}.jv-art .sig{fill:#3b4a5b;transition:fill .3s}.jv-art .sig-off{transition:opacity .3s}.jv-art .flow{fill:none;stroke:var(--jv-blue);stroke-width:1.6px;stroke-dasharray:4 5;stroke-linecap:round}.jv-art .flow-dim{fill:none;stroke:#8fb6d680;stroke-width:1.4px;stroke-dasharray:3 5;stroke-linecap:round}.jv-art .ring-track{fill:none;stroke:#16222f;stroke-width:11px}.jv-art .ring{fill:none;stroke-width:11px;stroke-linecap:round;transition:stroke-dashoffset .7s cubic-bezier(.3,.7,.2,1)}.jv-art .ring-g{stroke:var(--accent)}.jv-art .ring-b{stroke:var(--jv-blue)}.jv-art .ring-r{stroke:var(--jv-rose)}.jv-art .jv-ring1{stroke-dasharray:389.6;stroke-dashoffset:120px}.jv-art .jv-ring2{stroke-dasharray:289;stroke-dashoffset:130px}.jv-art .jv-ring3{stroke-dasharray:188.5;stroke-dashoffset:60px}.jv-art .ring-dot{fill:none;stroke:var(--jv-bar-2);stroke-width:1.4px}.jv-art .floor{fill:#0f1a26;stroke:#2a3a4c;stroke-width:1px}.jv-art .cube-top-g{fill:#ead3ad}.jv-art .cube-left-g{fill:#b89a6e}.jv-art .cube-right-g{fill:#8a714f}.jv-art .cube-top-b{fill:#b3d0e8}.jv-art .cube-left-b{fill:#7393b0}.jv-art .cube-right-b{fill:#4f6a84}.jv-art .shadow{fill:#00000060}.jv-art .hl{fill:#fff5}.jv-art .ink-soft{fill:#fffc}.jv-art .ink-line{fill:none;stroke:#fffc;stroke-width:2px}.jv-art .lang-en{fill:var(--jv-bg);transition:fill .3s}.jv-art .lang-ja{fill:#9aa7b5;transition:fill .3s}.jv-art .card-edge{fill:none;stroke:#ffffff4d;stroke-width:1px}.jv-art .sparkle path{fill:var(--accent);opacity:.75}.jv-art g.jv-gcard{transform-box:view-box;transform-origin:160px 196px}.jv-art g.jv-gcard.gl{transform:rotate(-14deg)}.jv-art g.jv-gcard.gr{transform:rotate(14deg)}.jv-art .wire path{fill:none;stroke:#2c3c4e;stroke-width:1.4px}.jv-art .packet path{fill:none;stroke:var(--accent);stroke-width:2.4px;stroke-linecap:round;stroke-dasharray:3 30}.jv-art .paper{fill:var(--jv-panel);stroke:#b0bdca30;stroke-width:1px}.jv-art .stamp{fill:var(--accent);letter-spacing:.18em;font-weight:700}.jv-art .paper-dim{fill:#233243}.jv-art .check{fill:none;stroke:var(--accent);stroke-width:5px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:60;stroke-dashoffset:0}.jv-art .shift{opacity:.88}.jv-art rect.paper{fill:var(--jv-paper);stroke:none}.jv-art .wash{fill:#d99a8655}.jv-art .inkline{fill:none;stroke:#26303c;stroke-width:3.2px;stroke-linecap:round}.jv-art .jv-stroke{stroke-dasharray:190;stroke-dashoffset:0}.jv-art .brush-ring{fill:none;stroke:#26303c80;stroke-width:1px}.jv-art .nib{fill:var(--accent)}.jv-art .path-base{fill:none;stroke:#b0bdca40;stroke-width:1.5px;stroke-dasharray:2 6;stroke-linecap:round}@media (prefers-reduced-motion:no-preference){.jv-art :is(.jv-queue,.jv-knob,.jv-slide-fill,.jv-specimen,.jv-hand,.jv-float,.jv-card,.jv-lang,.jv-bubble,.jv-gcard,.jv-stamp,.jv-sync,.jv-tab,.jv-toggle,.jv-mail,.jv-shift,.jv-now,.jv-brush,.jv-line){transform-box:fill-box;transition:transform .52s cubic-bezier(.3,.7,.2,1)}.job:hover .jv-window,.job:focus-within .jv-window{transform:translateY(-3px)}.job:is(:hover,:focus-within) .jv-route{animation:1.6s linear infinite jv-dash}.job:is(:hover,:focus-within) .jv-flow{animation:.9s linear infinite jv-dash}.job:is(:hover,:focus-within) .jv-packet path{animation:1.4s linear infinite jv-packet}.job:is(:hover,:focus-within) .jv-packet path:nth-child(2){animation-delay:-.4s}.job:is(:hover,:focus-within) .jv-packet path:nth-child(3){animation-delay:-.8s}.job:is(:hover,:focus-within) .jv-packet path:nth-child(4){animation-delay:-1.1s}.job:is(:hover,:focus-within) .sig{fill:var(--accent)}.job:is(:hover,:focus-within) .sig-off{opacity:0}.job:is(:hover,:focus-within) .jv-queue{transform:translate(5px)}.jv-art .jv-queue.q1{transition-delay:60ms}.jv-art .jv-queue.q2{transition-delay:.12s}.jv-art .jv-queue.q3{transition-delay:.18s}.jv-art .jv-slide-fill{transform-origin:0}.jv-art .jv-specimen{transform-origin:0 100%}.job:is(:hover,:focus-within) .jv-knob{transform:translate(28px)}.job:is(:hover,:focus-within) .jv-slide-fill{transform:scaleX(1.5)}.job:is(:hover,:focus-within) .jv-specimen{transform:scale(1.08)}.job:is(:hover,:focus-within) .jv-ring1{stroke-dashoffset:20px}.job:is(:hover,:focus-within) .jv-ring2{stroke-dashoffset:60px}.job:is(:hover,:focus-within) .jv-ring3{stroke-dashoffset:18px}.job:is(:hover,:focus-within) .jv-hand{transform:translate(-4px,-6px)}.job:is(:hover,:focus-within) .jv-float.f1{transform:translateY(-3px)}.job:is(:hover,:focus-within) .jv-float.f2{transform:translateY(-9px)}.job:is(:hover,:focus-within) .jv-float.f3{transform:translateY(-6px)}.job:is(:hover,:focus-within) .jv-card{transform:translateY(-5px)}.jv-art .jv-card.c1{transition-delay:70ms}.jv-art .jv-card.c2{transition-delay:.14s}.job:is(:hover,:focus-within) .jv-lang{transform:translate(46px)}.job:is(:hover,:focus-within) .lang-en{fill:#9aa7b5}.job:is(:hover,:focus-within) .lang-ja{fill:var(--jv-bg)}.job:is(:hover,:focus-within) .jv-bubble{transform:translateY(-3px)}.jv-art .jv-bubble.bb1{transition-delay:90ms}.jv-art .jv-bubble.bb2{transition-delay:.18s}.job:is(:hover,:focus-within) g.jv-gcard.gl{transform:rotate(-24deg)}.job:is(:hover,:focus-within) g.jv-gcard.gr{transform:rotate(24deg)}.job:is(:hover,:focus-within) g.jv-gcard.gm{transform:translateY(-6px)}.jv-art .jv-sync{transform-origin:50%}.job:is(:hover,:focus-within) .jv-sync{transform:rotate(180deg)}.job:is(:hover,:focus-within) .jv-stamp{transform:scale(1.08)}.jv-art .jv-stamp{transform-origin:50%}.job:is(:hover,:focus-within) .jv-tab{transform:translate(92px)}.job:is(:hover,:focus-within) .jv-toggle{transform:translate(22px)}.job:is(:hover,:focus-within) .jv-mail{transform:translate(8px)}.job:is(:hover,:focus-within) .jv-check{animation:.7s ease-out jv-check}.jv-art .jv-shift{transform-origin:0}.job:is(:hover,:focus-within) .jv-now{transform:translate(30px)}.job:is(:hover,:focus-within) .jv-shift.s1{transform:scaleX(1.12)}.job:is(:hover,:focus-within) .jv-shift.s3{transform:scaleX(.9)}.job:is(:hover,:focus-within) .jv-stroke{animation:1.1s ease-out jv-draw}.job:is(:hover,:focus-within) .jv-brush{transform:translate(-6px,4px)}}@keyframes jv-dash{to{stroke-dashoffset:-36px}}@keyframes jv-packet{to{stroke-dashoffset:-33px}}@keyframes jv-check{0%{stroke-dashoffset:60px}to{stroke-dashoffset:0}}@keyframes jv-draw{0%{stroke-dashoffset:190px}to{stroke-dashoffset:0}}@media (width<=960px){.job-card{grid-template-columns:minmax(0,1fr) 260px;gap:32px}}@media (width<=720px){.work-intro{margin-bottom:40px!important}.work-glance{margin-bottom:56px;padding:18px 14px 16px}.glance-chart{--glance-name:96px}.glance-row{min-height:24px;font-size:12.5px}.glance-name{white-space:normal;overflow-wrap:anywhere;padding:3px 8px 3px 0;line-height:1.25}.glance-axis{font-size:10.5px}.glance-axis span:nth-child(2n){display:none}.glance-legend{margin-left:0}.job{padding:0 0 56px 28px}.job:before{width:11px;height:11px}.job-list:before{left:5px}.job-card{grid-template-columns:minmax(0,1fr);gap:20px}.job-card>.jv-window,.job-shot{order:-1;max-width:420px;position:relative;top:auto}.job-company{font-size:28px}.job-role,.job-product{font-size:16px}.job-notes{font-size:15px}}
