@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/ibm-plex-mono-regular.ttf)format("truetype")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:700;font-display:swap;src:url(../fonts/ibm-plex-mono-bold.ttf)format("truetype")}@font-face{font-family:"Press Start 2P";font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/press-start-2p.ttf)format("truetype")}@font-face{font-family:Noto Sans JP;font-style:normal;font-weight:400 700;font-display:swap;src:url(../fonts/noto-sans-jp-subset.woff2)format("woff2")}:root{--palette-ivory:#ece6df;--palette-taupe:#cebdb0;--palette-rose:#ac9098;--palette-lavender:#6a6997;--palette-violet:#585783;--palette-indigo:#2c2851;--ink:var(--palette-indigo);--ink-soft:var(--palette-violet);--paper:var(--palette-ivory);--paper-dark:var(--palette-taupe);--blue:var(--palette-violet);--blue-bright:var(--palette-rose);--blue-dark:var(--palette-indigo);--blue-light:var(--palette-taupe);--amber:var(--palette-rose);--cyan:var(--palette-lavender);--panel:var(--palette-violet);--frame:var(--palette-lavender);--green:var(--palette-rose);--white:var(--palette-ivory);--wood:var(--palette-violet);--wood-light:var(--palette-lavender);--wood-dark:var(--palette-indigo);--wood-groove:var(--palette-indigo);--wood-active:var(--palette-indigo);--wood-secondary:var(--palette-indigo);--wood-secondary-light:var(--palette-violet);--potion-blue:var(--palette-taupe);--potion-amber:var(--palette-rose);--potion-cyan:var(--palette-ivory);--potion-green:var(--palette-violet);--magic-blue:var(--palette-violet);--magic-cyan:var(--palette-rose);--magic-gold:var(--palette-taupe);--pixel-font:"Press Start 2P", monospace;--body-font:"IBM Plex Mono", monospace;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1);--press-duration:.12s;--hover-duration:.224s;--pixel-ease:steps(4, end);--state-duration:.2s;--content-width:1184px;--page-gutter:max(28px, calc((100vw - var(--content-width)) / 2))}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{color:var(--ink);background:var(--paper);font:400 16px/1.6 var(--body-font);margin:0}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}button,.pixel-button{-webkit-user-select:none;user-select:none}h1,h2,h3,p{margin-top:0}::selection{background:var(--blue);color:var(--white)}:focus-visible{outline:3px solid var(--blue);outline-offset:6px}.spellbook :focus-visible,footer :focus-visible{outline-color:var(--amber)}.site-shell{min-height:100svh;position:relative;overflow:clip}.noise{pointer-events:none;opacity:.035;z-index:20;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E");position:fixed;inset:0}.skip-link{z-index:30;background:var(--ink);color:var(--white);padding:16px;font-size:12px;position:absolute;top:12px;left:20px;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.rune-mark{background:var(--blue);width:34px;height:34px;color:var(--white);border:3px solid var(--ink);box-shadow:3px 3px 0 var(--amber);place-items:center;display:grid;transform:rotate(45deg)}.rune-mark span{font:13px var(--pixel-font);transform:rotate(-45deg)}.pixel-button,.mini-cta{color:var(--white);border:4px solid var(--wood-dark);background:linear-gradient(90deg, transparent 48%, var(--wood-groove) 49% 51%, transparent 52%), linear-gradient(var(--wood-light) 0 13%, var(--wood) 14% 84%, var(--wood-dark) 85%);box-shadow:inset 0 0 0 3px color-mix(in srgb, var(--magic-gold) 30%, transparent), 5px 5px 0 var(--ink);text-shadow:2px 2px 0 var(--wood-dark)}.pixel-button{min-height:54px;font:9px/1.5 var(--pixel-font);transition:transform var(--hover-duration) var(--pixel-ease);justify-content:center;align-items:center;gap:16px;padding:14px 20px;display:inline-flex}.pixel-button.secondary{background:linear-gradient(90deg, transparent 48%, var(--wood-groove) 49% 51%, transparent 52%), linear-gradient(var(--wood-secondary-light) 0 13%, var(--wood-secondary) 14% 84%, var(--wood-dark) 85%)}.pixel-button.large{min-height:58px;padding-inline:28px}.pixel-button:active,.mini-cta:active{transition-duration:var(--press-duration);transition-timing-function:steps(2,end);transform:translate(4px,4px)}.section{padding:96px var(--page-gutter)}.section-heading{justify-content:space-between;align-items:end;gap:32px;margin-bottom:52px;display:flex}.section-heading>div{max-width:680px}.section-heading>p{max-width:320px;color:var(--ink-soft);margin-bottom:0;font-size:13px;line-height:1.8}.section-kicker{color:var(--blue);font:9px/1.7 var(--pixel-font);margin-bottom:18px}h2{font:clamp(24px, 3.1vw, 40px)/1.5 var(--pixel-font);letter-spacing:-.04em;margin-bottom:0}@media (hover:hover) and (pointer:fine){.pixel-button:hover{transform:translate(4px,4px)}}@media (width<=700px){:root{--page-gutter:20px}.section{padding-block:72px}.section-heading{flex-direction:column;align-items:start;gap:18px;margin-bottom:40px}.section-heading>p{max-width:100%;font-size:12px}h2{font-size:clamp(20px,5.8vw,32px)}}.topbar{border-bottom:2px solid color-mix(in srgb, var(--ink) 15%, transparent);justify-content:space-between;align-items:center;gap:20px;max-width:1240px;height:88px;margin:0 auto;padding:0 28px;display:flex}.brand{font:14px var(--pixel-font);letter-spacing:-.03em;align-items:center;gap:14px;display:flex}.brand-dot{color:var(--blue)}nav{align-items:center;gap:34px;display:flex}nav a,.mini-cta{font:9px/1.4 var(--pixel-font)}nav a{padding:16px 0;position:relative}nav a:after{content:"";background:var(--blue);transform-origin:0;height:3px;transition:transform var(--hover-duration) var(--pixel-ease);position:absolute;bottom:5px;left:0;right:0;transform:scaleX(0)}.mini-cta{transition:transform var(--hover-duration) var(--pixel-ease);border-width:3px;align-items:center;gap:10px;padding:13px 15px;display:flex}.status-dot{background:var(--cyan);width:7px;height:7px;box-shadow:0 0 0 2px var(--ink)}footer{min-height:100px;padding:28px var(--page-gutter);color:var(--paper-dark);background:var(--ink);font:7px/1.8 var(--pixel-font);justify-content:space-between;align-items:center;gap:24px;display:flex}footer a{padding-block:12px}@media (hover:hover) and (pointer:fine){nav a:hover:after{transform:scaleX(1)}.mini-cta:hover{transform:translate(4px,4px)}footer a:hover{color:var(--amber)}}@media (width<=960px){nav{gap:20px}nav a{font-size:8px}}@media (width<=760px){nav,footer>span:nth-child(2){display:none}}@media (width<=480px){.topbar{gap:12px;height:76px;padding-inline:20px}.brand{gap:10px;font-size:11px}.brand .rune-mark{width:28px;height:28px}.mini-cta{gap:8px;padding:12px 10px;font-size:7px}footer{flex-direction:column;align-items:start;gap:8px}}.hero{grid-template-columns:1.12fr .88fr;align-items:center;gap:64px;max-width:1240px;min-height:720px;margin:0 auto;padding:80px 28px 96px;display:grid}.eyebrow{color:var(--blue);font:9px/1.8 var(--pixel-font);align-items:center;gap:12px;display:flex}.eyebrow-line{background:var(--blue);flex-shrink:0;width:26px;height:3px}h1{font:clamp(37px, 4.7vw, 64px)/1.28 var(--pixel-font);letter-spacing:-.055em;margin:28px 0 26px}h1 span{color:var(--blue);text-shadow:5px 5px 0 var(--amber)}.hero-description{max-width:550px;color:var(--ink-soft);margin-bottom:30px;font-size:16px;line-height:1.9}.hero-description strong{color:var(--ink)}.hero-actions{flex-wrap:wrap;gap:16px;display:flex}.hero-stats{border-top:2px dashed var(--paper-dark);justify-content:space-between;gap:20px;max-width:520px;margin-top:42px;padding-top:24px;display:flex}.hero-stats div{gap:10px;display:grid}.hero-stats strong{font:17px var(--pixel-font)}.hero-stats span{color:var(--ink-soft);font-size:10px;font-weight:700}.hero-visual{aspect-ratio:1/1.13;border:4px solid var(--ink);background:var(--blue-light);width:100%;min-width:0;max-width:470px;box-shadow:12px 12px 0 var(--amber);justify-self:end;position:relative;container-type:inline-size}.hero-visual:before,.hero-visual:after{content:"";z-index:5;border:4px solid var(--ink);background:var(--paper);width:22px;height:22px;position:absolute}.hero-visual:before{background:var(--green);top:-12px;right:-12px}.hero-visual:after{bottom:-12px;left:-12px}.level-card{z-index:5;max-width:calc(100% - 32px);color:var(--white);background:var(--ink);border:2px solid var(--ink);outline:2px solid var(--ink);box-shadow:inset 0 0 0 2px var(--frame), 4px 4px 0 color-mix(in srgb, var(--ink) 25%, transparent);font:8px/1.4 var(--pixel-font);text-shadow:2px 2px 0 var(--ink);pointer-events:none;gap:7px;padding:10px 12px;display:grid;position:absolute;top:16px;left:16px}.level-card span{color:var(--paper-dark);font-size:6px}.level-card strong{color:var(--paper);font-weight:400}.level-card small{color:var(--paper-dark);font:10px/1.4 var(--body-font)}.character-caption{font:7px/1.5 var(--pixel-font);color:var(--ink);position:absolute;bottom:-42px;right:0}.xp-panel{z-index:4;color:var(--white);background:var(--ink);border:3px solid var(--paper);padding:12px;position:absolute;bottom:18px;left:18px;right:18px}.xp-label{font:7px/1.5 var(--pixel-font);justify-content:space-between;gap:8px;margin-bottom:10px;display:flex}.xp-track{background:var(--panel);height:12px;padding:3px}.xp-track>span{transform-origin:0;background:var(--paper-dark);width:100%;height:100%;transition:transform var(--state-duration) var(--ease-out);display:block}.avatar-bubbles{opacity:.6}@media (width<=960px){.hero{grid-template-columns:1fr;gap:70px;max-width:740px;padding-top:60px}.hero-visual{justify-self:center;width:min(100%,440px)}h1{font-size:clamp(40px,7.5vw,62px)}.desktop-break{display:none}.hero-description{max-width:600px}}@media (width<=600px){.hero{gap:60px;padding:48px 20px 90px}h1{font-size:clamp(29px,8.2vw,46px)}.desktop-break{display:initial}.eyebrow{gap:10px;font-size:7px}.hero-description{font-size:14px}.hero-actions{flex-direction:column;align-items:stretch}.hero-stats strong{font-size:14px}.hero-stats span{font-size:8px}.hero-visual{max-width:370px;min-height:410px}.xp-panel{padding:10px;bottom:12px;left:12px;right:12px}.xp-label{font-size:6px}}.avatar-scene{pointer-events:none;position:absolute;inset:0;overflow:hidden}.avatar-scene:after{content:"";border:4px dashed color-mix(in srgb, var(--ink) 25%, transparent);border-radius:50%;width:260px;height:260px;position:absolute;top:51%;left:50%;transform:translate(-50%,-50%)}.mage{z-index:2;width:256px;height:256px;filter:drop-shadow(6px 6px 0 color-mix(in srgb, var(--ink) 20%, transparent));position:absolute;bottom:86px;left:50%;transform:translate(-50%)}.mage-sprite{width:100%;height:100%;image-rendering:pixelated;display:block;overflow:hidden}.pixel-shadow{background:color-mix(in srgb, var(--ink) 25%, transparent);width:240px;height:12px;position:absolute;bottom:74px;left:50%;transform:translate(-50%)}.orb,.magic-rune{z-index:3;position:absolute}.orb{background:var(--amber);border:3px solid var(--ink);width:14px;height:14px;animation:2.5s steps(5,end) infinite float}.orb-one{top:155px;left:30px}.orb-two{background:var(--cyan);animation-delay:-1s;top:86px;right:35px}.magic-rune{color:var(--blue-dark);font:24px var(--pixel-font);animation:3s steps(5,end) -.5s infinite float;top:240px;left:30px}@keyframes float{50%{transform:translateY(-10px)}}@container (width<=440px){.mage{width:192px;height:192px}.pixel-shadow{width:200px}.level-card{padding:8px 12px;top:12px}}@container (width<=380px){.pixel-shadow{width:165px}.orb-one{left:16px}.magic-rune{left:14px}}.quests{border-top:4px solid var(--ink);background:var(--white)}.quest-layout{grid-template-columns:.75fr 1.25fr;align-items:center;gap:58px;display:grid}.quest-hint{font:8px/1.8 var(--pixel-font);color:var(--ink-soft);justify-content:space-between;margin-bottom:22px;display:flex}.quest-tabs{flex-direction:column;gap:16px;display:flex}.quest-tabs button{text-align:left;width:100%;color:var(--white);border:4px solid var(--wood-dark);background:linear-gradient(90deg, transparent 48%, var(--wood-groove) 49% 51%, transparent 52%), linear-gradient(var(--wood-light) 0 11%, var(--wood) 12% 86%, var(--wood-dark) 87%);box-shadow:5px 5px 0 var(--ink);text-shadow:2px 2px 0 var(--wood-dark);transition:transform var(--hover-duration) var(--pixel-ease);grid-template-columns:32px 1fr 20px;align-items:center;gap:10px;padding:24px 18px;display:grid;position:relative}.quest-tabs button:before,.quest-tabs button:after{content:"";border-top:4px solid var(--ink);border-bottom:4px solid var(--ink);width:4px;position:absolute;top:12px;bottom:12px}.quest-tabs button:before{left:8px}.quest-tabs button:after{right:8px}.quest-tabs button.active{border-color:var(--ink);background:linear-gradient(var(--wood-light) 0 11%, var(--wood-active) 12% 86%, var(--wood-dark) 87%)}.quest-tabs button:active{transition-duration:var(--press-duration);transition-timing-function:steps(2,end);transform:translate(4px,4px)}.quest-tabs button>span:first-child{color:var(--paper);font:9px var(--pixel-font)}.quest-tabs button>span:nth-child(2){gap:7px;display:grid}.quest-tabs strong{font-size:15px}.quest-tabs small{color:var(--paper);font-size:9px;font-weight:700}.tab-arrow{opacity:0;transition:opacity var(--press-duration) var(--ease-out);font-size:20px}.active .tab-arrow{opacity:1}.demo-note{color:var(--ink-soft);margin:26px 0 0;font-size:10px;line-height:1.8}.cauldron-wrap{min-width:0;padding:28px 32px 0}.cauldron{--potion:var(--potion-blue);--potion-text:var(--ink);aspect-ratio:1;background:var(--ink);width:100%;box-shadow:inset 0 0 0 7px var(--blue-dark), inset 0 0 0 14px var(--panel), inset 0 0 0 22px var(--ink), 10px 12px 0 color-mix(in srgb, var(--ink) 14%, transparent);isolation:isolate;border-radius:50%;position:relative;container-type:inline-size}.cauldron.amber{--potion:var(--potion-amber)}.cauldron.cyan{--potion:var(--potion-cyan)}.cauldron.green{--potion:var(--potion-green);--potion-text:var(--paper)}.potion-surface{border:4px solid var(--blue-dark);background:var(--potion);box-shadow:inset 0 0 0 5px color-mix(in srgb, var(--paper) 21%, transparent), inset 10px 12px 0 color-mix(in srgb, var(--ink) 9%, transparent);transition:background-color var(--state-duration) ease;border-radius:50%;position:absolute;inset:7%;overflow:hidden}.cauldron-handle{z-index:-1;border:12px solid var(--ink);width:17%;height:27%;box-shadow:inset 0 0 0 4px var(--panel);border-radius:50%;position:absolute;top:38%}.handle-left{left:-9%}.handle-right{right:-9%}.cauldron-highlight{background:var(--frame);pointer-events:none;width:26%;height:6px;position:absolute;top:3%;left:37%}.cauldron-foot{z-index:-1;background:var(--ink);border-bottom:7px solid var(--blue-dark);width:12%;height:13%;position:absolute;bottom:0}.foot-left{left:19%;transform:rotate(20deg)}.foot-right{right:19%;transform:rotate(-20deg)}.cauldron-caption{text-align:center;font:7px/2 var(--pixel-font);color:var(--ink-soft);margin:34px 0 0}.cauldron-caption span{color:var(--blue);margin-right:6px}.potion-content{color:var(--potion-text);opacity:0;visibility:hidden;transition:opacity var(--state-duration) var(--ease-out), transform var(--state-duration) var(--ease-out), visibility var(--state-duration);border-radius:50%;position:absolute;inset:0;transform:scale(.97)}.potion-content.is-active{opacity:1;visibility:visible;transform:scale(1)}.potion-content:focus-visible{outline:none}.potion-content:focus-visible .quest-link{outline:3px solid var(--potion-text);outline-offset:4px}.potion-content>*{text-align:center;margin:0;position:absolute;left:50%;transform:translate(-50%)}.card-label{width:60%;font:clamp(6px, 1.55cqw, 9px)/1.5 var(--pixel-font);color:inherit;top:12%}.potion-content h3{width:76%;font:clamp(10px, 3cqw, 18px)/1.5 var(--pixel-font);letter-spacing:-.055em;top:21%}.quest-metric{justify-content:center;align-items:center;gap:10px;width:70%;display:flex;top:33%}.quest-metric strong{font:clamp(16px, 5cqw, 28px)/1.3 var(--pixel-font)}.quest-metric span{text-align:left;max-width:95px;font-size:clamp(7px,1.8cqw,10px);font-weight:700;line-height:1.6}.quest-description{width:76%;font-size:clamp(10px,2.6cqw,15px);line-height:1.6;top:46%}.tags{flex-wrap:wrap;justify-content:center;gap:5px;width:76%;display:flex;top:69%}.tags span{border:2px solid var(--ink);color:var(--ink);background:var(--paper);padding:3px 6px;font-size:clamp(7px,1.85cqw,10px);font-weight:700}.quest-link{border-bottom:2px solid var(--ink);width:max-content;max-width:60%;font:clamp(5px, 1.35cqw, 8px)/1.5 var(--pixel-font);padding:6px 4px;top:82%}.quest-link span{font:14px var(--body-font);line-height:1;display:inline-block}@media (hover:hover) and (pointer:fine){.quest-tabs button:hover{transform:translate(-4px,-4px)}.quest-link:hover{color:var(--potion-text)}}@media (width<=1100px) and (width>=961px){.quest-layout{grid-template-columns:.8fr 1.2fr;gap:32px}.quest-tabs button{grid-template-columns:26px 1fr 15px;padding-inline:14px}.quest-tabs strong{font-size:13px}}@media (width<=960px){.quest-layout{grid-template-columns:1fr;gap:40px;max-width:680px;margin-inline:auto}.cauldron-wrap{justify-self:center;width:100%;max-width:610px}}@media (width<=480px){.cauldron-wrap{padding:20px 20px 0}.cauldron{box-shadow:inset 0 0 0 5px var(--blue-dark), inset 0 0 0 10px var(--panel), inset 0 0 0 16px var(--ink), 7px 9px 0 color-mix(in srgb, var(--ink) 14%, transparent)}.cauldron-handle{border-width:8px}.potion-surface{border-width:3px}.card-label{top:10%}.potion-content h3{top:19%}.quest-metric{gap:8px;top:29%}.quest-description{line-height:1.4;top:40%}.tags{gap:4px;width:76%;top:72%}.tags span{border-width:1px;padding:2px}.quest-link{padding-block:0;top:86%}.cauldron-caption{font-size:6px}}.spellbook{color:var(--white);background:var(--ink);border-top:4px solid var(--ink)}.spellbook .section-heading>p{color:var(--paper)}.spellbook .section-kicker{color:var(--amber)}.skill-grid{grid-template-columns:repeat(4,1fr);gap:18px;display:grid}.skill-card{border:3px solid var(--paper-dark);background:var(--panel);min-height:260px;transition:transform var(--hover-duration) steps(3, end);padding:26px 24px;position:relative}.skill-number{color:var(--paper);font:8px var(--pixel-font);position:absolute;top:18px;right:18px}.skill-icon{width:62px;height:62px;color:var(--amber);border:3px solid var(--blue-bright);background:var(--blue-dark);font:11px var(--pixel-font);box-shadow:5px 5px 0 var(--blue);place-items:center;margin-bottom:34px;display:grid}.skill-card h3{font:12px/1.5 var(--pixel-font);margin-bottom:14px}.skill-card p{color:var(--paper);margin-bottom:26px;font-size:11px;line-height:1.8}.mana-bar{background:var(--ink);height:8px;padding:2px}.mana-bar>span{background:var(--blue-bright);transform-origin:0;width:100%;height:100%;display:block}.contact{text-align:center;background:var(--amber);border-top:4px solid var(--ink);border-bottom:4px solid var(--ink);flex-direction:column;justify-content:center;align-items:center;min-height:590px;display:flex}.contact-rune{margin-bottom:38px}.contact-rune .rune-mark{background:var(--paper);width:54px;height:54px;color:var(--ink);box-shadow:6px 6px 0 var(--blue)}.contact-rune .rune-mark span{font-size:18px}.contact .section-kicker{color:var(--blue-dark)}.contact h2{max-width:760px;margin-bottom:26px}.contact-copy{max-width:620px;margin-bottom:30px;font-size:14px;line-height:1.9}.email{overflow-wrap:anywhere;margin-top:26px;font-size:12px}.contact-github{font:7px/1.5 var(--pixel-font);margin-top:22px;padding:12px}@media (hover:hover) and (pointer:fine){.skill-card:hover{border-color:var(--amber);box-shadow:6px 6px 0 var(--blue);transform:translateY(-6px)}.skill-card:hover .skill-icon{border-color:var(--amber);color:var(--white)}.skill-card:hover .mana-bar>span{background:var(--amber)}.email:hover,.contact-github:hover{color:var(--blue-dark);text-underline-offset:4px;text-decoration:underline}}@media (width<=900px){.skill-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=480px){.skill-grid{grid-template-columns:1fr}.skill-card{min-height:240px}.contact{min-height:570px}.contact-copy{font-size:12px}.email{font-size:11px}}.potion-bubbles{pointer-events:none;position:absolute;inset:0;overflow:hidden}.potion-bubble{color:var(--blue-dark);opacity:.12;clip-path:polygon(28% 0,72% 0,72% 12%,88% 12%,88% 28%,100% 28%,100% 72%,88% 72%,88% 88%,72% 88%,72% 100%,28% 100%,28% 88%,12% 88%,12% 72%,0 72%,0 28%,12% 28%,12% 12%,28% 12%);background:currentColor;animation:10s steps(12,end) infinite potion-rise;display:block;position:absolute}.potion-bubble:after{content:"";background:var(--potion,var(--blue-light));clip-path:inherit;position:absolute;inset:13%}.potion-bubble:before{content:"";z-index:1;background:currentColor;width:16%;height:16%;position:absolute;top:23%;left:23%}@keyframes potion-rise{0%{opacity:0;transform:translateY(70%)scale(.92)}15%,70%{opacity:.14}to{opacity:0;transform:translateY(-220%)scale(1.05)}}.hero-copy{animation:hero-arrive .3s var(--ease-out) both}@keyframes hero-arrive{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (hover:hover) and (pointer:fine){.quests,.quests *{cursor:url(../cursors/spatula.svg) 4 4,auto}.quests a,.quests button{cursor:url(../cursors/spatula.svg) 4 4,pointer}.spellbook,.spellbook *{cursor:url(../cursors/rune.svg) 16 2,auto}.contact,.contact *,footer,footer *{cursor:url(../cursors/raven.svg) 2 12,auto}.contact a,footer a{cursor:url(../cursors/raven.svg) 2 12,pointer}}.raven-backdrop{z-index:40;background:color-mix(in srgb, var(--ink) 65%, transparent);opacity:1;transition:opacity .24s steps(4,end);position:fixed;inset:0}.raven-backdrop[data-starting-style],.raven-backdrop[data-ending-style]{opacity:0}.raven-viewport{z-index:41;overscroll-behavior:contain;justify-content:center;align-items:center;padding:32px 20px;display:flex;position:fixed;inset:0;overflow-y:auto}.raven-paper{background:linear-gradient(90deg, var(--paper-dark), var(--paper) 7% 93%, var(--paper-dark));width:min(640px,100%);max-height:calc(100svh - 64px);color:var(--ink);border:3px solid var(--wood-dark);box-shadow:8px 8px 0 color-mix(in srgb, var(--ink) 40%, transparent);opacity:1;outline:none;flex-shrink:0;transition:opacity .24s steps(4,end),transform .24s steps(4,end);position:relative;transform:translateY(0)}.raven-paper[data-starting-style],.raven-paper[data-ending-style]{opacity:0;transform:translateY(8px)}.raven-paper:before,.raven-paper:after{content:"";background:linear-gradient(var(--paper-dark) 0 30%, var(--paper) 30% 65%, var(--amber) 65%);border:3px solid var(--wood-dark);height:14px;box-shadow:3px 3px 0 color-mix(in srgb, var(--ink) 21%, transparent);pointer-events:none;position:absolute;left:-9px;right:-9px}.raven-paper:before{top:-9px}.raven-paper:after{bottom:-9px}.raven-paper-body{scrollbar-color:var(--wood) var(--paper-dark);max-height:calc(100svh - 70px);padding:34px;overflow-y:auto}.raven-close{z-index:2;border:2px solid var(--wood-dark);width:44px;height:44px;color:var(--ink);background:var(--paper-dark);font:24px var(--body-font);transition:transform var(--hover-duration) var(--pixel-ease);padding:0;position:absolute;top:14px;right:12px}.raven-close:active{transform:translate(2px,2px)}.raven-paper-heading{align-items:center;gap:16px;margin-bottom:12px;padding-right:30px;display:flex}.raven-paper-heading img,.raven-success img{image-rendering:pixelated;flex-shrink:0}.raven-paper-heading .section-kicker{margin:0 0 10px;font-size:7px}.raven-paper-heading h2{font:20px/1.6 var(--pixel-font);letter-spacing:-.04em}.raven-description{color:var(--ink-soft);margin-bottom:26px;font-size:12px;line-height:1.8}.raven-form{gap:18px;display:grid}.raven-fields-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.raven-field{gap:9px;min-width:0;display:grid}.raven-field label{font:8px/1.5 var(--pixel-font);color:var(--blue-dark)}.raven-field input,.raven-field textarea{border:2px solid var(--frame);background:color-mix(in srgb, var(--white) 70%, transparent);width:100%;min-width:0;color:var(--ink);font:16px/1.5 var(--body-font);box-shadow:inset 2px 2px 0 color-mix(in srgb, var(--paper-dark) 20%, transparent);border-radius:0;padding:12px}.raven-field textarea{resize:vertical;min-height:132px;max-height:320px}.raven-field input::placeholder,.raven-field textarea::placeholder{color:var(--ink-soft);font-size:13px}.raven-field [aria-invalid=true]{border-color:var(--ink)}.raven-field-error{color:var(--ink);margin:0;font-size:11px;line-height:1.6}.raven-failure{border-left:4px solid var(--ink);background:var(--paper-dark);color:var(--ink);margin:0;padding:12px;font-size:12px;line-height:1.7}.raven-form-footer{justify-content:space-between;align-items:center;gap:18px;padding-top:6px;display:flex}.raven-form-footer>p{color:var(--ink-soft);margin:0;font-size:9px;line-height:1.8}.raven-form-footer .pixel-button{padding-inline:14px;font-size:8px}.pixel-button:disabled{cursor:wait;opacity:.65;transform:none}.raven-sending{color:var(--blue-dark);margin:0;font-size:11px}.raven-honeypot{clip-path:inset(100%);width:1px;height:1px;position:absolute;overflow:hidden}.raven-success{text-align:center;padding:32px 0 24px}.raven-success h3{font:13px/1.8 var(--pixel-font);margin:22px 0 18px}.raven-success p{overflow-wrap:anywhere;margin-bottom:30px;font-size:13px;line-height:1.9}@media (hover:hover) and (pointer:fine){.raven-paper,.raven-paper *{cursor:url(../cursors/raven.svg) 2 12,auto}.raven-paper button{cursor:url(../cursors/raven.svg) 2 12,pointer}.raven-paper input,.raven-paper textarea{cursor:text}.raven-paper button:disabled{cursor:wait}.raven-close:hover{transform:translate(2px,2px)}}@media (width<=520px){.raven-viewport{padding:24px 16px}.raven-paper{max-height:calc(100svh - 48px)}.raven-paper-body{max-height:calc(100svh - 54px);padding:30px 20px}.raven-paper-heading{gap:10px}.raven-paper-heading img{width:32px;height:32px}.raven-paper-heading .section-kicker{font-size:5px}.raven-paper-heading h2{font-size:15px}.raven-close{width:36px;height:36px;top:12px;right:10px}.raven-fields-row{grid-template-columns:1fr;gap:18px}.raven-form-footer{flex-direction:column-reverse;align-items:stretch;gap:18px}.raven-form-footer>p{text-align:center}.raven-success h3{font-size:11px}.raven-success .pixel-button{padding-inline:12px;font-size:7px}}.sr-only{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}#main:focus{outline:none}.realm-shortcut{align-items:center;gap:14px;width:fit-content;margin-top:26px;font-size:12px;display:flex}.realm-shortcut-icon{background:var(--blue-light);width:34px;height:38px;color:var(--blue-dark);border:2px solid var(--blue-dark);flex-shrink:0;place-items:center;font-size:25px;display:grid}.realm-shortcut strong{color:var(--blue);font-weight:700}.realm-shortcut small{color:var(--ink-soft);margin-top:3px;font-size:11px;display:block}.scepter-glow{opacity:0;pointer-events:none}.is-casting .scepter-glow{opacity:1;filter:drop-shadow(0 0 6px var(--cyan)) drop-shadow(0 0 12px var(--blue-bright))}.is-casting .scepter-halo{transform-box:fill-box;transform-origin:50%;animation:.9s steps(5,end) both scepter-charge}.is-casting .scepter-spark{animation:.6s steps(3,end) both scepter-spark}.is-casting .scepter-rays{animation:.9s steps(4,end) both scepter-rays}.is-casting .mage{animation:mage-guide .6s var(--pixel-ease) both}.realm-guidance{z-index:6;text-align:center;color:var(--blue-dark);font:8px/1.8 var(--pixel-font);animation:realm-message .2s var(--ease-out) both;position:absolute;top:24%;left:12px;right:12px}.realm-guidance span{font:11px/1.5 var(--body-font);margin-top:6px;display:block}.realm-veil{z-index:50;pointer-events:auto;background:var(--blue-light);animation:1.2s steps(8,end) both realm-open;position:fixed;inset:0}@keyframes scepter-charge{0%{opacity:0;transform:scale(.95)}40%{opacity:.5}to{opacity:.8;transform:scale(2.4)}}@keyframes scepter-spark{0%,30%{opacity:0}50%{opacity:1}70%{opacity:.5}to{opacity:1}}@keyframes scepter-rays{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(-8px)}}@keyframes mage-guide{to{transform:translate(-50%,-8px)rotate(-3deg)}}@keyframes realm-message{0%{opacity:0}to{opacity:1}}@keyframes realm-open{0%,55%{opacity:0;clip-path:polygon(var(--portal-x) var(--portal-y), var(--portal-x) var(--portal-y), var(--portal-x) var(--portal-y), var(--portal-x) var(--portal-y))}60%{opacity:1;clip-path:polygon(calc(var(--portal-x) - 16px) calc(var(--portal-y) - 16px), calc(var(--portal-x) + 16px) calc(var(--portal-y) - 16px), calc(var(--portal-x) + 16px) calc(var(--portal-y) + 16px), calc(var(--portal-x) - 16px) calc(var(--portal-y) + 16px))}to{opacity:1;clip-path:polygon(-100vmax -100vmax,200vmax -100vmax,200vmax 200vmax,-100vmax 200vmax)}}@keyframes resume-arrive{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.resume,.realm-veil,.is-casting .mage,.is-casting .scepter-halo,.is-casting .scepter-spark,.is-casting .scepter-rays{animation:none}}:lang(ja){line-break:strict}html:lang(ja){--body-font:"Noto Sans JP", "Yu Gothic", Meiryo, sans-serif;--pixel-font:"Noto Sans JP", "Yu Gothic", Meiryo, sans-serif}html:lang(ja) .hero h1{letter-spacing:.02em;font-weight:800}html:lang(ja) .brand,html:lang(ja) .language-abbreviation{font-family:"Press Start 2P",monospace}html:lang(ja) :is(.eyebrow,.level-card,.section-kicker,.pixel-button,.mini-cta,.resume h2,.resume-toolbar,.quest-link){font-weight:700}html:lang(ja) :is(.eyebrow,.section-kicker,.level-card,.pixel-button,.mini-cta){font-size:12px}html:lang(ja) .card-label{font-size:clamp(8px,2cqw,12px)}html:lang(ja) .potion-content h3{font-weight:700}html:lang(ja) .quest-description{font-size:clamp(11px,2.7cqw,16px)}html:lang(ja) .skill-card h3{font-size:18px}html:lang(ja) .resume h2{font-size:17px}html:lang(ja) .raven-field label{font-size:12px;font-weight:700}html:lang(ja) .raven-paper-heading h2{font-weight:700}html:not(:lang(en)) .hero h1{overflow-wrap:anywhere}.hero-copy,.hero-stats>div{min-width:0}.hero-stats span{overflow-wrap:anywhere}@media (width<=600px){html:lang(ja) .hero h1{font-size:42px}html:lang(ja) .resume-role{font-size:14px}}.topbar,.simple-realm .topbar{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:20px;height:88px;min-height:88px;padding-block:0;display:grid}.topbar .brand{justify-self:start}.topbar>.desktop-navigation{justify-content:center;align-items:center;gap:34px;width:auto;margin:0;display:flex}.topbar>.desktop-navigation a{white-space:nowrap;font-size:9px}.topbar-actions{justify-self:end;align-items:center;gap:22px;display:flex}.mobile-menu-trigger{display:none}.language-trigger{min-height:44px;color:var(--ink);background:0 0;border:0;align-items:center;gap:8px;padding:0;display:inline-flex}.language-abbreviation{font:9px/1.5 var(--pixel-font)}.couatl{transition:transform var(--state-duration) var(--pixel-ease);flex-shrink:0}.is-open .couatl{transform:translateY(-3px)rotate(-6deg)}.language-positioner{z-index:35}.language-popup{background:var(--white);width:190px;max-width:calc(100vw - 40px);box-shadow:none;transform-origin:var(--transform-origin);opacity:1;transition:opacity var(--state-duration) var(--ease-out), transform var(--state-duration) var(--ease-out);border:0;outline:none;padding:0 12px 12px 58px;transform:translateY(0)}.language-popup[data-starting-style],.language-popup[data-ending-style]{opacity:0;transform:translateY(-4px)}.language-desktop-trigger{justify-content:flex-end;width:190px;position:relative}.language-desktop-trigger.is-open{background:var(--white)}.language-desktop-trigger .language-abbreviation{min-width:18px;transition:opacity var(--state-duration) var(--ease-out), transform var(--state-duration) var(--ease-out), visibility var(--state-duration)}.language-current-name{text-align:left;color:var(--ink);font:700 15px/1.6 var(--body-font);opacity:0;visibility:hidden;transition:opacity var(--state-duration) var(--ease-out), transform var(--state-duration) var(--ease-out), visibility var(--state-duration);position:absolute;left:58px;right:0;transform:translate(8px)}.language-desktop-trigger.is-open .couatl{transform:translate(-120px)}.language-desktop-trigger.is-open .language-abbreviation{opacity:0;visibility:hidden;transform:translate(4px)}.language-desktop-trigger.is-open .language-current-name{opacity:1;visibility:visible;transform:translate(0)}.language-popup .language-options{margin-top:0}.couatl-tooltip-positioner{z-index:40}.couatl-tooltip{max-width:240px;color:var(--white);background:var(--ink);font:13px/1.7 var(--body-font);opacity:1;transition:opacity var(--press-duration) var(--ease-out);padding:8px 12px}.couatl-tooltip[data-starting-style],.couatl-tooltip[data-ending-style]{opacity:0}.language-description{color:var(--ink-soft);font:13px/1.8 var(--body-font);margin:0}.language-options{margin:12px 0 0;padding:0;list-style:none}.language-options li{margin:0;padding:0}.language-options button{width:100%;min-height:44px;color:var(--ink);text-align:left;font:15px/1.6 var(--body-font), "Noto Sans JP", sans-serif;background:0 0;border:0;border-radius:0;justify-content:space-between;align-items:center;gap:20px;padding:6px 0;display:flex}.language-options button[aria-pressed=true]{color:var(--blue-dark);font-weight:700}.language-options button>span{color:var(--blue)}.navigation-backdrop{z-index:60;background:color-mix(in srgb, var(--ink) 40%, transparent);opacity:1;transition:opacity var(--state-duration) var(--ease-out);position:fixed;inset:0}.navigation-backdrop[data-starting-style],.navigation-backdrop[data-ending-style]{opacity:0}.navigation-viewport{z-index:61;padding:max(28px, env(safe-area-inset-top,0px)) max(20px, env(safe-area-inset-right,0px)) max(28px, env(safe-area-inset-bottom,0px)) 20px;justify-content:flex-end;align-items:center;display:flex;position:fixed;inset:0}.navigation-scroll{background:var(--paper);width:min(400px,100%);max-height:100%;color:var(--ink);transition:transform .24s var(--ease-out);outline:none;position:relative;transform:translate(0)}.navigation-scroll[data-starting-style],.navigation-scroll[data-ending-style]{transform:translate(calc(100% + 40px))}.navigation-scroll:before,.navigation-scroll:after{content:"";z-index:1;background:var(--paper-dark);height:14px;box-shadow:inset 0 3px 0 var(--white), inset 0 -3px 0 var(--wood-light);position:absolute;left:-8px;right:-8px}.navigation-scroll:before{top:-7px}.navigation-scroll:after{bottom:-7px}.navigation-scroll-body{overscroll-behavior:contain;max-height:calc(100dvh - 80px);padding:48px 32px 32px;overflow-y:auto}.navigation-scroll h2{color:var(--blue-dark);font:14px/1.8 var(--pixel-font);letter-spacing:-.03em;margin-bottom:24px;padding-right:28px}.navigation-close{z-index:2;width:44px;height:44px;color:var(--ink);font:28px/1 var(--body-font);background:0 0;border:0;position:absolute;top:14px;right:12px}.navigation-scroll .drawer-navigation{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.drawer-navigation a{min-height:44px;font:700 17px/1.6 var(--body-font);align-items:center;padding:8px 0;display:flex}.drawer-navigation a[aria-current=page]{color:var(--blue)}.language-inline{margin-top:28px}.language-inline-options{margin-top:14px}.language-inline-options:not([hidden]){opacity:1;transition:opacity var(--state-duration) var(--ease-out), transform var(--state-duration) var(--ease-out);transform:translateY(0)}@starting-style{.language-inline-options:not([hidden]){opacity:0;transform:translateY(-4px)}}button:is(.language-trigger,.language-options button,.mobile-menu-trigger,.navigation-close){-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;touch-action:manipulation}html:lang(ja) .topbar>.desktop-navigation a{font-size:12px;font-weight:700}html:lang(ja) .navigation-scroll h2{font-size:20px}@media (hover:hover) and (pointer:fine){.language-options button:hover{color:var(--blue);text-underline-offset:4px;text-decoration:underline}.mobile-menu-trigger:hover,.navigation-close:hover{color:var(--blue)}}@media (width<=1100px) and (width>=961px){.topbar>.desktop-navigation{gap:22px}.topbar .brand{gap:10px;font-size:12px}}@media (width<=960px){.topbar,.simple-realm .topbar{grid-template-columns:1fr auto;height:76px;min-height:76px;padding:0 20px}.topbar>.desktop-navigation,.topbar-actions{display:none}.mobile-menu-trigger{width:44px;height:44px;color:var(--ink);background:0 0;border:0;justify-content:center;justify-self:end;align-items:center;padding:0;display:inline-flex}}@media (width<=480px){.navigation-scroll-body{padding-inline:24px}}@media (prefers-reduced-motion:reduce){.couatl,.is-open .couatl,.language-popup,.language-popup[data-starting-style],.language-popup[data-ending-style],.navigation-scroll,.navigation-scroll[data-starting-style],.navigation-scroll[data-ending-style],.language-inline-options:not([hidden]){transform:none}.couatl,.navigation-scroll{transition:none}.language-desktop-trigger.is-open .couatl,.language-current-name,.language-desktop-trigger.is-open .language-current-name,.language-desktop-trigger.is-open .language-abbreviation{transform:none}}@media print{.topbar,.simple-realm .topbar,.navigation-viewport,.navigation-backdrop,.language-positioner,.couatl-tooltip-positioner{display:none}}.resume{width:min(1100px,100%);animation:resume-arrive var(--state-duration) var(--ease-out) both;margin:0 auto;padding:36px 28px 64px}.resume-toolbar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.realm-label{color:var(--blue-dark);font:9px/1.8 var(--pixel-font)}.resume-save{min-height:44px;color:var(--blue-dark);font:9px/1.8 var(--pixel-font);background:0 0;border:0;padding:10px 0 10px 16px}.resume-print-alternative{display:none}.resume-paper{border:2px solid var(--ink);background:var(--white);box-shadow:10px 10px 0 var(--amber);position:relative;overflow:hidden}.resume-intro{border-bottom:2px solid var(--ink);padding:42px 48px 34px}.resume-role{color:var(--blue);font:700 13px/1.5 var(--body-font);text-transform:uppercase;margin:0 0 14px}.resume-name-lockup h1{color:var(--ink);font:clamp(24px, 3.1vw, 40px)/1.35 var(--pixel-font);letter-spacing:-.045em;margin:0}.resume-fullname{color:var(--ink-soft);margin:14px 0 0;font-size:12px;line-height:1.7}.resume-summary{max-width:90ch;color:var(--ink);margin:26px 0 20px;font-size:14px;line-height:1.8}.resume-highlights{flex-wrap:wrap;gap:7px;margin:0 0 24px;padding:0;list-style:none;display:flex}.resume-highlights li{border:1px solid var(--paper-dark);background:var(--paper);color:var(--blue-dark);font:700 10px/1.5 var(--body-font);padding:5px 8px}.resume-contact{color:var(--ink-soft);font:normal 11px/1.8 var(--body-font);overflow-wrap:anywhere;flex-wrap:wrap;gap:8px 20px;display:flex}.resume-contact a{text-decoration:underline;-webkit-text-decoration-color:var(--blue-light);text-decoration-color:var(--blue-light);text-underline-offset:4px}.resume-columns{grid-template-columns:minmax(0,1.55fr) minmax(0,.9fr);display:grid}.resume-primary,.resume-secondary{flex-direction:column;gap:36px;min-width:0;padding:36px 36px 40px 48px;display:flex}.resume-secondary{border-left:1px solid var(--paper-dark);background:var(--paper);padding:36px 32px 40px}.resume-section-heading{align-items:center;gap:12px;margin-bottom:24px;display:flex}.resume-section-heading>span{width:28px;height:28px;color:var(--white);background:var(--blue);box-shadow:3px 3px 0 var(--amber);font:8px/1 var(--pixel-font);flex:none;place-items:center;display:grid}.resume .resume-section-heading h2{color:var(--ink);font:10px/1.8 var(--pixel-font);letter-spacing:-.035em;margin:0}.resume h3{color:var(--ink);font:700 14px/1.6 var(--body-font);margin:0}.resume-entry+.resume-entry{border-top:1px dashed var(--paper-dark);margin-top:22px;padding-top:22px}.resume-entry-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.resume-entry .resume-company,.resume-entry .resume-school{color:var(--blue-dark);margin:4px 0 0;font-size:12px;font-weight:700}.resume-date{text-align:right;color:var(--ink-soft);flex:none;font-size:10px;line-height:1.7}.resume-bullets{margin:14px 0 0;padding-left:16px;list-style-type:square}.resume-bullets li::marker{color:var(--blue)}.resume-entry p,.resume-bullets li{margin:9px 0 0;font-size:12px;line-height:1.8}.resume-entry .resume-stack{color:var(--ink-soft);margin-top:12px;font-size:10px}.resume-stack strong{color:var(--ink)}.resume-project-heading{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.resume-project-heading>span{text-align:right;max-width:42%;color:var(--blue-dark);font-size:9px;line-height:1.7}.resume-skills{margin:0}.resume-skills>div+div{margin-top:18px}.resume-skills dt{color:var(--blue-dark);font:700 11px/1.7 var(--body-font);margin-bottom:5px}.resume-skills dd,.resume-secondary section>p{margin:0;font-size:12px;line-height:1.8}.resume-secondary h3{font-size:12px}.resume-secondary .resume-entry+.resume-entry{border:0;margin-top:18px;padding-top:0}.resume-entry .resume-note{color:var(--ink-soft);margin-top:4px;font-size:11px}.resume-text-link{color:var(--blue);text-underline-offset:4px;margin-top:22px;font-size:11px;font-weight:700;text-decoration:underline;display:inline-block}.resume-signoff{color:var(--blue-dark);font:10px/1.8 var(--body-font);justify-content:flex-end;align-items:center;padding:20px 40px 20px 48px;display:flex}.resume-signoff a{font-weight:700}.resume-paper:lang(ja) .resume-name-lockup h1{font-family:"Press Start 2P",monospace}.resume-paper:lang(ja) .resume-section-heading h2{font-size:17px;font-weight:700}@media (hover:hover) and (pointer:fine){.resume-save:hover,.resume-contact a:hover,.resume-signoff a:hover{color:var(--blue);text-underline-offset:4px;text-decoration:underline}}@media screen and (width<=760px){.resume{padding:28px 20px 48px}.resume-paper{box-shadow:6px 6px 0 var(--amber)}.resume-intro{padding:32px 28px}.resume-name-lockup h1{font-size:clamp(19px,4.7vw,30px);line-height:1.6}.resume-contact{flex-direction:column;align-items:flex-start;font-size:12px}.resume-columns{grid-template-columns:1fr}.resume-primary,.resume-secondary{padding:32px 28px}.resume-secondary{border-left:0;border-top:2px solid var(--ink)}.resume-entry-heading,.resume-project-heading{flex-direction:column;gap:4px}.resume-date,.resume-project-heading>span{text-align:left;max-width:none;font-size:11px}.resume-signoff{padding:20px 28px}}@media screen and (width<=420px){.resume-intro,.resume-primary,.resume-secondary{padding-inline:22px}.resume-toolbar{gap:12px}.realm-label{font-size:7px}.resume-save{font-size:8px}.resume-name-lockup h1{font-size:19px}.resume .resume-section-heading h2{font-size:9px}}@media print{@page{size:A4;margin:10mm}html,body,.site-shell{color:#000;background:#fff;min-height:0;margin:0;padding:0;overflow:visible}.topbar,.simple-realm .topbar,.site-shell>footer,.noise,.skip-link,.resume-toolbar,.resume-text-link,.resume-signoff{display:none}.resume{width:100%;margin:0;padding:0;animation:none}.resume-print-alternative,.resume-has-print-alternative .resume-screen-paper{display:none}.resume-has-print-alternative .resume-print-alternative{display:block}.resume-paper{box-shadow:none;color:#000;background:#fff;border:0;padding:0;overflow:visible}.resume-intro{border-bottom:1px solid #000;padding:0 0 4.5mm}.resume-role{color:#000;margin-bottom:2.5mm;font-size:9pt}.resume-name-lockup h1{color:#000;font-size:21pt;line-height:1.3}.resume-fullname{color:#222;margin-top:2mm;font-size:8pt}.resume-summary{color:#000;margin:4mm 0 3mm;font-size:9.5pt;line-height:1.5}.resume-highlights{gap:1.5mm;margin:0 0 3mm}.resume-highlights li{color:#000;background:#fff;border-color:#bbb;padding:.7mm 1.3mm;font-size:7.5pt}.resume-contact{color:#000;flex-flow:wrap;gap:1mm 4mm;font-size:7.8pt;line-height:1.6}.resume-contact a{text-decoration:none}.resume-columns{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}.resume-primary,.resume-secondary{gap:5mm;padding:5mm 5mm 0 0}.resume-secondary{background:#fff;border-top:0;border-left:1px solid #bbb;padding:5mm 0 0 5mm}.resume-section-heading{break-after:avoid;gap:2.5mm;margin-bottom:3.5mm}.resume-section-heading>span{color:#000;width:5.5mm;height:5.5mm;box-shadow:none;background:#fff;border:1px solid #000;font-size:5.5pt}.resume .resume-section-heading h2{color:#000;font-size:7.5pt;line-height:1.5}.resume h3{font-size:9.5pt;line-height:1.5}.resume-entry{break-inside:avoid}.resume-entry+.resume-entry{margin-top:4mm;padding-top:4mm}.resume-entry-heading{flex-direction:column;gap:.7mm}.resume-date{color:#222;text-align:left;font-size:8pt}.resume-entry .resume-company,.resume-entry .resume-school{color:#000;margin-top:1mm;font-size:8.5pt}.resume-entry p,.resume-bullets li{margin-top:2mm;font-size:9pt;line-height:1.5}.resume-bullets{margin-top:2.5mm;padding-left:3.5mm}.resume-entry .resume-stack,.resume-entry .resume-note{color:#222;margin-top:2mm;font-size:8pt;line-height:1.5}.resume-project-heading{display:block}.resume-project-heading>span{display:none}.resume-skills dt{color:#000;margin-bottom:1mm;font-size:9pt;line-height:1.5}.resume-skills dd,.resume-secondary section>p{font-size:9pt;line-height:1.55}.resume-skills>div{break-inside:avoid}.resume-skills>div+div{margin-top:3mm}.resume-secondary h3{font-size:9pt}.resume-secondary .resume-entry+.resume-entry{margin-top:3mm}.resume-paper:lang(ja) .resume-section-heading h2{font-size:10pt}.resume-paper:lang(ja) .resume-entry p,.resume-paper:lang(ja) .resume-bullets li,.resume-paper:lang(ja) .resume-skills dd,.resume-paper:lang(ja) .resume-secondary section>p{font-size:9.5pt}}@media screen{html:lang(ja) body{-webkit-font-smoothing:antialiased;font-weight:400}html:lang(ja) .hero-description,html:lang(ja) .contact-copy{font-size:16px;line-height:1.9}html:lang(ja) .hero h1{letter-spacing:0;line-height:1.4}html:lang(ja) .eyebrow,html:lang(ja) .section-kicker{font-size:14px;line-height:1.7}html:lang(ja) .level-card{gap:5px}html:lang(ja) .level-card>span:first-child{font-size:12px}html:lang(ja) .level-card strong,html:lang(ja) .level-card small{font-size:14px;line-height:1.5}html:lang(ja) .hero-stats strong{font-size:22px}html:lang(ja) .hero-stats span{font-size:12px;line-height:1.6}html:lang(ja) .xp-label{font-size:12px;line-height:1.5}html:lang(ja) .character-caption{font-size:11px}html:lang(ja) .section-heading>p,html:lang(ja) .demo-note{font-size:15px;line-height:1.9}html:lang(ja) .quest-hint{font-size:14px}html:lang(ja) .quest-tabs strong{font-size:17px}html:lang(ja) .quest-tabs small{font-size:13px;line-height:1.6}html:lang(ja) .quest-description{font-size:16px;line-height:1.6}html:lang(ja) .quest-metric span{max-width:110px;font-size:12px;line-height:1.5}html:lang(ja) .quest-link{font-size:12px;font-weight:700}html:lang(ja) .card-label{font-size:12px}html:lang(ja) .cauldron-caption{font-size:13px}html:lang(ja) .tags span{font-size:11px}html:lang(ja) .skill-card p{font-size:14px}html:lang(ja) .pixel-button{font-size:15px;line-height:1.5}html:lang(ja) .email,html:lang(ja) .contact-github{font-size:14px}html:lang(ja) footer{font-size:12px}html:lang(ja) .realm-shortcut,html:lang(ja) .realm-shortcut small{font-size:14px;line-height:1.8}html:lang(ja) .realm-label,html:lang(ja) .resume-save{font-size:14px;line-height:1.6}html:lang(ja) .resume-summary,html:lang(ja) .resume-entry p,html:lang(ja) .resume-bullets li,html:lang(ja) .resume-skills dd,html:lang(ja) .resume-secondary section>p{font-size:16px;line-height:1.85}html:lang(ja) .resume-role,html:lang(ja) .resume h3,html:lang(ja) .resume-skills dt{font-size:17px;line-height:1.7}html:lang(ja) .resume .resume-section-heading h2{font-size:20px;line-height:1.6}html:lang(ja) .resume-contact,html:lang(ja) .resume-fullname,html:lang(ja) .resume-date,html:lang(ja) .resume-text-link,html:lang(ja) .resume-signoff,html:lang(ja) .resume-entry .resume-stack,html:lang(ja) .resume-entry .resume-note{font-size:14px;line-height:1.8}html:lang(ja) .resume-project-heading>span{max-width:none;font-size:13px}html:lang(ja) .resume-project-heading{flex-direction:column;gap:4px}html:lang(ja) .resume-highlights li{font-size:12px}html:lang(ja) .language-description,html:lang(ja) .language-options button,html:lang(ja) .couatl-tooltip{font-size:15px}html:lang(ja) .raven-paper-heading .section-kicker{font-size:12px}html:lang(ja) .raven-paper-heading h2{font-size:22px}html:lang(ja) .raven-description,html:lang(ja) .raven-success p{font-size:16px}html:lang(ja) .raven-field label,html:lang(ja) .raven-field input::placeholder,html:lang(ja) .raven-field textarea::placeholder{font-size:14px;line-height:1.6}html:lang(ja) .raven-field-error,html:lang(ja) .raven-failure,html:lang(ja) .raven-form-footer>p,html:lang(ja) .raven-sending{font-size:13px;line-height:1.7}html:lang(ja) .raven-form-footer .pixel-button{font-size:14px}html:lang(ja) .raven-success h3{font-size:18px}}@media screen and (width<=600px){html:lang(ja) .cauldron-wrap{padding:20px 0 0}html:lang(ja) .cauldron-handle{width:14%}html:lang(ja) .handle-left{left:-6%}html:lang(ja) .handle-right{right:-6%}html:lang(ja) .card-label{top:9%}html:lang(ja) .potion-content h3{font-size:16px;line-height:1.5;top:19%}html:lang(ja) .quest-metric{gap:8px;top:31%}html:lang(ja) .quest-metric strong{font-size:20px}html:lang(ja) .quest-description{width:80%;font-size:14px;line-height:1.5;top:43%}html:lang(ja) .tags{gap:4px;width:84%;top:73%}html:lang(ja) .tags span{border-width:1px;padding:2px;font-size:10px}html:lang(ja) .quest-link{max-width:64%;line-height:1.5;top:83%}}
