:root{--white: #ffffff;--ink: #111111;--green: #c6f23a;--green-light: #f1fbd0;--purple: #7b3fe4;--purple-light: #eee6fd;--muted: #444444;--grid: #ececec;--shadow: 6px 6px 0 var(--ink);--shadow-sm: 4px 4px 0 var(--ink);--radius: 14px;--border: 3px solid var(--ink);--font-jp: "Noto Sans JP", sans-serif;--font-display: "Archivo Black", sans-serif;--font-mono: "JetBrains Mono", ui-monospace, monospace;--main-w: 680px}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:16px}body{margin:0;font-family:var(--font-jp);color:var(--ink);background-color:var(--white);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:24px 24px;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:var(--ink)}a:hover{color:var(--purple)}:focus-visible{outline:3px solid var(--purple);outline-offset:3px}h1,h2,h3,h4,p{margin:0}.layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,var(--main-w)) minmax(0,1fr);min-height:100vh}.rail{position:sticky;top:0;align-self:start;height:100vh;padding:40px 32px;display:flex;flex-direction:column;gap:14px}.rail--left{justify-self:end;width:min(100%,320px)}.rail--right{justify-self:start;width:min(100%,320px)}.rail__name{font-family:var(--font-display);font-size:30px;line-height:1;letter-spacing:-.5px}.rule{height:3px;background:var(--ink)}.mono{font-family:var(--font-mono)}.rail__sub{font-family:var(--font-mono);font-size:13px;font-weight:700;letter-spacing:1px}.rail__copy{font-family:var(--font-mono);font-size:12px;color:var(--muted);line-height:1.7}.index__title{font-family:var(--font-mono);font-size:22px;font-weight:700;letter-spacing:2px;padding-bottom:10px;border-bottom:var(--border)}.index a{display:block;font-family:var(--font-mono);font-size:13px;font-weight:700;text-decoration:none;padding:6px 8px;transition:background .2s}.index a:hover{background:var(--purple-light);color:var(--ink)}.index a.is-active{background:var(--green)}.index__foot{font-family:var(--font-mono);font-size:11px;color:var(--muted);border-top:2px solid var(--ink);padding-top:10px;margin-top:6px}.main{background:var(--white);border-left:var(--border);border-right:var(--border);padding:24px 24px 40px;display:flex;flex-direction:column;gap:32px;min-width:0}@media(max-width:1100px){.layout{grid-template-columns:minmax(0,1fr);justify-items:center}.rail{display:none}.main{width:100%;max-width:var(--main-w)}}@media(max-width:720px){.main{border-left:0;border-right:0;padding:20px 16px 32px}}.section{display:flex;flex-direction:column;gap:14px;border-top:var(--border);padding-top:16px}.kicker{font-family:var(--font-mono);font-size:13px;font-weight:700;letter-spacing:1px}.fig{font-family:var(--font-mono);font-size:11px;color:var(--muted);line-height:1.7}.card{background:var(--white);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.tag{font-family:var(--font-mono);font-size:11px;font-weight:700;background:var(--purple-light);border-radius:999px;padding:2px 8px;white-space:nowrap}.tags{display:flex;flex-wrap:wrap;gap:6px}.btn{align-self:flex-start;display:inline-block;font-size:14px;font-weight:900;text-decoration:none;color:var(--ink);background:var(--green);border:var(--border);border-radius:999px;box-shadow:var(--shadow-sm);padding:8px 16px;transition:transform .12s,box-shadow .12s}.btn:hover{color:var(--ink);transform:translate(-2px,-2px);box-shadow:6px 6px 0 var(--ink)}.btn:active{transform:translate(4px,4px);box-shadow:0 0 0 var(--ink)}.cols2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.cols2>:first-child{padding-right:20px;border-right:2px solid var(--ink)}.body{font-size:14px;line-height:1.85}.bar{border-left:8px solid var(--green);padding-left:12px}@media(max-width:560px){.cols2{grid-template-columns:minmax(0,1fr);gap:12px}.cols2>:first-child{padding-right:0;border-right:0;padding-bottom:12px;border-bottom:2px solid var(--ink)}}.tone-green{background:var(--green)}.tone-green-light{background:var(--green-light)}.tone-purple-light{background:var(--purple-light)}.reveal{opacity:0;transform:translateY(18px);transition:opacity .6s ease,transform .6s ease}.reveal.is-visible{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}*{animation:none!important}}.carousel[data-astro-cid-wfe7xcno]{display:flex;flex-direction:column;gap:10px}.carousel__bar[data-astro-cid-wfe7xcno]{display:flex;align-items:center;justify-content:space-between;gap:10px}.carousel__hint[data-astro-cid-wfe7xcno]{font-family:var(--font-mono);font-size:12px;font-weight:700;background:var(--ink);color:var(--green);border-radius:999px;padding:4px 12px;animation:nudge 2.4s ease-in-out infinite}@keyframes nudge{0%,to{transform:translate(0)}50%{transform:translate(6px)}}.carousel__ctrl[data-astro-cid-wfe7xcno]{display:flex;align-items:center;gap:8px}.carousel__count[data-astro-cid-wfe7xcno]{font-size:12px;font-weight:700}.carousel__btn[data-astro-cid-wfe7xcno]{width:40px;height:40px;border:var(--border);border-radius:50%;background:var(--white);box-shadow:3px 3px 0 var(--ink);font-weight:900;font-size:16px;cursor:pointer;color:var(--ink);transition:transform .12s,box-shadow .12s}.carousel__btn--next[data-astro-cid-wfe7xcno]{background:var(--green)}.carousel__btn[data-astro-cid-wfe7xcno]:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 var(--ink)}.carousel__btn[data-astro-cid-wfe7xcno]:active{transform:translate(3px,3px);box-shadow:0 0 0 var(--ink)}.carousel__btn[data-astro-cid-wfe7xcno]:disabled{opacity:.35;cursor:default;transform:none;box-shadow:3px 3px 0 var(--ink)}.carousel__track[data-astro-cid-wfe7xcno]{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 12px 16px 2px;scrollbar-width:thin;overscroll-behavior-x:contain}.carousel__track[data-astro-cid-wfe7xcno]>*{flex:0 0 280px;scroll-snap-align:start}.carousel__dots[data-astro-cid-wfe7xcno]{display:flex;justify-content:center;gap:6px}.carousel__dots[data-astro-cid-wfe7xcno] span[data-astro-cid-wfe7xcno]{width:8px;height:8px;border-radius:50%;border:2px solid var(--ink);background:var(--white);transition:background .2s,transform .2s}.carousel__dots[data-astro-cid-wfe7xcno] span[data-astro-cid-wfe7xcno].is-on{background:var(--purple);transform:scale(1.2)}@media(max-width:560px){.carousel__track[data-astro-cid-wfe7xcno]>*{flex-basis:78%}}.hero[data-astro-cid-j7pv25f6]{display:flex;flex-direction:column;gap:12px}.hero__issue[data-astro-cid-j7pv25f6]{font-size:12px;font-weight:700;letter-spacing:1px;padding-bottom:10px;border-bottom:var(--border)}.hero__title[data-astro-cid-j7pv25f6]{font-family:var(--font-display);font-weight:400;font-size:clamp(46px,12vw,82px);line-height:.92;letter-spacing:-1.5px;animation:rise .8s ease both}.hero__talk[data-astro-cid-j7pv25f6]{display:grid;grid-template-columns:minmax(0,1fr) 150px;align-items:center;gap:18px}.hero__char[data-astro-cid-j7pv25f6]{width:150px;height:auto;animation:rise .8s .15s ease both}@keyframes rise{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}.bubble[data-astro-cid-j7pv25f6]{position:relative;background:var(--white);border:var(--border);border-radius:18px;box-shadow:var(--shadow);padding:16px 20px;display:flex;flex-direction:column;gap:6px;min-height:96px;justify-content:center}.bubble[data-astro-cid-j7pv25f6]:after{content:"";position:absolute;right:-15px;top:50%;width:22px;height:22px;background:var(--white);border-top:var(--border);border-right:var(--border);transform:translateY(-50%) rotate(45deg)}.bubble__no[data-astro-cid-j7pv25f6]{font-size:11px;font-weight:700;color:var(--purple)}.bubble__text[data-astro-cid-j7pv25f6]{font-size:clamp(15px,4.2vw,20px);font-weight:700;line-height:1.4;min-height:1.4em;white-space:pre-wrap}.caret[data-astro-cid-j7pv25f6]{display:inline-block;width:.55em;height:1.05em;margin-left:2px;vertical-align:-.15em;background:var(--purple);animation:blink .9s step-end infinite}@keyframes blink{50%{opacity:0}}@media(max-width:420px){.hero__talk[data-astro-cid-j7pv25f6]{grid-template-columns:minmax(0,1fr) 104px;gap:14px}.hero__char[data-astro-cid-j7pv25f6]{width:104px}}.about[data-astro-cid-j7pv25f6]{display:flex;flex-direction:column;gap:14px}.about__h[data-astro-cid-j7pv25f6]{font-size:clamp(21px,5vw,26px);font-weight:900;line-height:1.45}.about__lead[data-astro-cid-j7pv25f6]{font-size:17px;font-weight:700;line-height:1.7}.stats[data-astro-cid-j7pv25f6]{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.stat[data-astro-cid-j7pv25f6]{min-width:0;padding:14px 4px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.stat__v[data-astro-cid-j7pv25f6]{font-family:var(--font-display);font-size:clamp(20px,5vw,28px);line-height:1;padding:4px 8px;white-space:nowrap;max-width:100%}.stat__u[data-astro-cid-j7pv25f6]{font-size:.5em;margin-left:3px}.stat__l[data-astro-cid-j7pv25f6]{font-size:clamp(11px,3.2vw,13px);font-weight:700}.pill[data-astro-cid-j7pv25f6]{font-family:var(--font-mono);font-size:13px;font-weight:700;background:var(--purple-light);border:2px solid var(--ink);border-radius:999px;padding:4px 12px}.likes[data-astro-cid-j7pv25f6]{font-size:13px;color:var(--muted)}.strength[data-astro-cid-j7pv25f6]{padding:16px;display:grid;grid-template-columns:auto minmax(0,1fr) 64px;align-items:center;gap:16px;transition:transform .15s,box-shadow .15s}.strength[data-astro-cid-j7pv25f6]:hover{transform:translate(-2px,-2px);box-shadow:8px 8px 0 var(--ink)}.strength__no[data-astro-cid-j7pv25f6]{font-family:var(--font-display);font-size:32px;line-height:1;padding:8px 10px}.strength__body[data-astro-cid-j7pv25f6]{display:flex;flex-direction:column;gap:6px;border-left:2px solid var(--ink);padding-left:16px}.strength__body[data-astro-cid-j7pv25f6] h3[data-astro-cid-j7pv25f6]{font-size:19px;font-weight:900;line-height:1.4}.strength__body[data-astro-cid-j7pv25f6] p[data-astro-cid-j7pv25f6]{font-size:14px;line-height:1.8}@media(max-width:480px){.strength[data-astro-cid-j7pv25f6]{grid-template-columns:auto minmax(0,1fr)}.strength[data-astro-cid-j7pv25f6] img[data-astro-cid-j7pv25f6]{display:none}}.case__head[data-astro-cid-j7pv25f6]{display:grid;grid-template-columns:minmax(0,1fr) 64px;align-items:center;gap:12px}.case__head[data-astro-cid-j7pv25f6] h2[data-astro-cid-j7pv25f6]{font-size:clamp(20px,5vw,24px);font-weight:900;line-height:1.35}.case[data-astro-cid-j7pv25f6]{display:flex;flex-direction:column}.case__row[data-astro-cid-j7pv25f6]{display:grid;grid-template-columns:112px minmax(0,1fr);align-items:center;column-gap:14px;padding:12px 14px;border-bottom:2px solid var(--ink)}.case__row[data-astro-cid-j7pv25f6]:last-child{border-bottom:0}.case__label[data-astro-cid-j7pv25f6]{font-family:var(--font-display);font-size:13px;padding:4px 6px;text-align:center}.case__text[data-astro-cid-j7pv25f6]{font-size:15px;font-weight:700;line-height:1.6}.case__sol[data-astro-cid-j7pv25f6]{display:flex;flex-direction:column;gap:8px}.flow[data-astro-cid-j7pv25f6]{list-style:none;margin:0;padding:0;display:flex;flex-wrap:nowrap;align-items:stretch;gap:4px}.flow__step[data-astro-cid-j7pv25f6]{flex:1 1 0;min-width:0;display:flex;align-items:center;justify-content:center;text-align:center;font-size:13px;font-weight:700;line-height:1.35;border:2px solid var(--ink);border-radius:10px;padding:6px;word-break:keep-all;overflow-wrap:anywhere}.flow__arrow[data-astro-cid-j7pv25f6]{flex:0 0 auto;align-self:center;color:var(--purple);font-weight:900}@media(max-width:480px){.flow[data-astro-cid-j7pv25f6]{flex-direction:column;align-items:stretch}.flow__step[data-astro-cid-j7pv25f6]{flex:0 0 auto}.flow__arrow[data-astro-cid-j7pv25f6]{transform:rotate(90deg)}}.terminal[data-astro-cid-j7pv25f6]{font-size:13px;background:var(--ink);color:var(--green);border-radius:8px;padding:8px 12px;overflow:hidden}.terminal__typed[data-astro-cid-j7pv25f6]{display:inline-block;white-space:nowrap;overflow:hidden;border-right:2px solid var(--green);width:calc(var(--n) * 1ch);animation:type 2.2s steps(var(--n)) .3s both,caret .8s step-end infinite}@keyframes type{0%{width:0}}@keyframes caret{50%{border-color:transparent}}.case__res[data-astro-cid-j7pv25f6]{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.case__text[data-astro-cid-j7pv25f6] mark{font-family:var(--font-display);font-size:1.4em;background:var(--green);color:var(--ink);padding:0 6px;margin:0 3px;white-space:nowrap}.case__big[data-astro-cid-j7pv25f6]{font-family:var(--font-display);font-size:30px;line-height:1;background:var(--green);padding:4px 10px;white-space:nowrap}@media(max-width:480px){.case__row[data-astro-cid-j7pv25f6]{grid-template-columns:minmax(0,1fr);row-gap:8px}.case__label[data-astro-cid-j7pv25f6]{justify-self:start}.case__head[data-astro-cid-j7pv25f6]{grid-template-columns:minmax(0,1fr) 48px}.case__head[data-astro-cid-j7pv25f6] img[data-astro-cid-j7pv25f6]{width:48px}}.band[data-astro-cid-j7pv25f6]{font-size:17px;font-weight:900;padding:6px 12px}.shot[data-astro-cid-j7pv25f6]{overflow:hidden;display:flex;flex-direction:column}.shot__chrome[data-astro-cid-j7pv25f6]{display:flex;align-items:center;gap:6px;padding:8px 10px;background:var(--purple-light);border-bottom:2px solid var(--ink)}.dot[data-astro-cid-j7pv25f6]{width:10px;height:10px;border-radius:50%;border:2px solid var(--ink);background:var(--white);flex:0 0 auto}.dot--p[data-astro-cid-j7pv25f6]{background:var(--purple)}.shot__url[data-astro-cid-j7pv25f6]{flex:1 1 auto;min-width:0;font-size:10px;background:var(--white);border:2px solid var(--ink);border-radius:999px;padding:1px 8px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.shot[data-astro-cid-j7pv25f6] img[data-astro-cid-j7pv25f6]{width:100%;height:160px;object-fit:cover;object-position:top;border-bottom:2px solid var(--ink)}.shot__ph[data-astro-cid-j7pv25f6]{height:160px;background:var(--green-light);border-bottom:2px solid var(--ink);display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--muted)}.shot__body[data-astro-cid-j7pv25f6]{padding:12px 14px 16px;display:flex;flex-direction:column;gap:10px;flex:1 1 auto}.shot__body[data-astro-cid-j7pv25f6] h4[data-astro-cid-j7pv25f6]{font-size:15px;font-weight:900}.shot__desc[data-astro-cid-j7pv25f6]{font-size:13px;line-height:1.7}.shot[data-astro-cid-j7pv25f6] .btn[data-astro-cid-j7pv25f6]{margin-top:auto}.note[data-astro-cid-j7pv25f6]{font-size:13px;font-weight:700}.skills[data-astro-cid-j7pv25f6]{margin:0;border-top:1px solid var(--ink)}.skills__row[data-astro-cid-j7pv25f6]{display:grid;grid-template-columns:104px minmax(0,1fr);column-gap:12px;align-items:start;padding:10px 0;border-bottom:1px solid var(--ink)}.skills[data-astro-cid-j7pv25f6] dt[data-astro-cid-j7pv25f6]{font-size:13px;font-weight:900;padding:5px 8px;text-align:center}.skills[data-astro-cid-j7pv25f6] dd[data-astro-cid-j7pv25f6]{margin:0;display:flex;flex-wrap:wrap;gap:6px}.chip[data-astro-cid-j7pv25f6]{font-size:13px;font-weight:700;background:var(--green-light);border:2px solid var(--ink);border-radius:8px;padding:3px 10px;white-space:nowrap}.cert[data-astro-cid-j7pv25f6]{overflow:hidden;display:flex;flex-direction:column;flex-basis:230px!important}.cert__img[data-astro-cid-j7pv25f6]{height:190px;background:#f4f4f2;border-bottom:2px solid var(--ink);display:flex;align-items:center;justify-content:center;padding:10px}.cert__img[data-astro-cid-j7pv25f6] img[data-astro-cid-j7pv25f6]{max-width:100%;max-height:100%;object-fit:contain;transition:transform .2s}.cert__img[data-astro-cid-j7pv25f6]:hover img[data-astro-cid-j7pv25f6]{transform:scale(1.04)}.cert__body[data-astro-cid-j7pv25f6]{padding:12px 14px;display:flex;flex-direction:column;gap:4px}.cert__body[data-astro-cid-j7pv25f6] h4[data-astro-cid-j7pv25f6]{font-size:14px;font-weight:900;line-height:1.4}.cert__org[data-astro-cid-j7pv25f6]{font-size:12px;color:var(--muted)}.cert__date[data-astro-cid-j7pv25f6]{font-size:12px;font-weight:700}.how[data-astro-cid-j7pv25f6]{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.how[data-astro-cid-j7pv25f6] li[data-astro-cid-j7pv25f6]{border:var(--border);border-radius:10px;box-shadow:var(--shadow-sm);padding:10px 4px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.how[data-astro-cid-j7pv25f6] li[data-astro-cid-j7pv25f6] span[data-astro-cid-j7pv25f6]{font-size:11px;font-weight:700;color:var(--purple)}.how[data-astro-cid-j7pv25f6] li[data-astro-cid-j7pv25f6] strong[data-astro-cid-j7pv25f6]{font-size:15px;font-weight:900;white-space:nowrap}.reveal.is-visible .how[data-astro-cid-j7pv25f6] li[data-astro-cid-j7pv25f6]{animation:pop .4s var(--d) ease both}@keyframes pop{0%{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}@media(max-width:480px){.how[data-astro-cid-j7pv25f6]{grid-template-columns:repeat(3,minmax(0,1fr))}}.stack[data-astro-cid-j7pv25f6]{display:flex;flex-direction:column;gap:8px}.stack[data-astro-cid-j7pv25f6] h3[data-astro-cid-j7pv25f6]{font-size:16px;font-weight:900}.future[data-astro-cid-j7pv25f6]{font-size:17px;font-weight:900;line-height:1.6}.career[data-astro-cid-j7pv25f6]{list-style:none;margin:0;padding:0;border-top:1px solid var(--ink)}.career[data-astro-cid-j7pv25f6] li[data-astro-cid-j7pv25f6]{display:grid;grid-template-columns:64px minmax(0,1fr);column-gap:14px;padding:10px 0;border-bottom:1px solid var(--ink)}.career__y[data-astro-cid-j7pv25f6]{font-size:14px;font-weight:700;padding:2px 6px;align-self:start;text-align:center}.career[data-astro-cid-j7pv25f6] strong[data-astro-cid-j7pv25f6]{font-size:15px;font-weight:900}.career[data-astro-cid-j7pv25f6] p[data-astro-cid-j7pv25f6]{font-size:13px;line-height:1.7;color:#333}.foot[data-astro-cid-j7pv25f6]{display:flex;flex-direction:column;gap:10px;border-top:var(--border);padding-top:16px}.foot__thanks[data-astro-cid-j7pv25f6]{display:grid;grid-template-columns:80px minmax(0,1fr);align-items:center;gap:16px}.foot__thanks[data-astro-cid-j7pv25f6] img[data-astro-cid-j7pv25f6]{width:80px;height:auto}.foot__thanks[data-astro-cid-j7pv25f6] p[data-astro-cid-j7pv25f6]{font-size:15px;font-weight:700;line-height:1.8}.foot__note[data-astro-cid-j7pv25f6]{font-size:12px;color:var(--muted)}.foot__meta[data-astro-cid-j7pv25f6]{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;font-size:11px;font-weight:700}
