@font-face{font-family:Bebas Neue;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2039e8342bda6056-s.51680477.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bebas Neue;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fabcf92ba1ccea36-s.p.19f28380.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bebas Neue Fallback;src:local(Arial);ascent-override:117.32%;descent-override:39.11%;line-gap-override:0.0%;size-adjust:76.72%}.bebas_neue_881521e2-module__OU0Gia__className{font-family:Bebas Neue,Bebas Neue Fallback;font-style:normal;font-weight:400}.bebas_neue_881521e2-module__OU0Gia__variable{--font-display:"Bebas Neue","Bebas Neue Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/04c5164763c40239-s.690580e8.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/26f284dcc38c84c0-s.303a03d6.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/7e7f32a39836f228-s.0b4edfe7.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/fa39153a3fc630ba-s.bff0868b.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6a5386fd6038edbe-s.719084df.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/051742360c26797e-s.p.102b7f24.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/04c5164763c40239-s.690580e8.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/26f284dcc38c84c0-s.303a03d6.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/7e7f32a39836f228-s.0b4edfe7.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/fa39153a3fc630ba-s.bff0868b.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/6a5386fd6038edbe-s.719084df.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/051742360c26797e-s.p.102b7f24.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_b3d858d3-module__SKWtYq__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_b3d858d3-module__SKWtYq__variable{--font-mono:"JetBrains Mono","JetBrains Mono Fallback"}
:root{--paper:#f1ece1;--panel:#fffcf5;--ink:#14100f;--ink2:#4a423e;--accent:#d8232a;--accent2:#1f5fa8;--dot:#14100f4d;--edge:#14100f;--tone:#14100f0f;--sh-12:12px;--sh-10:10px;--sh-9:9px;--sh-8:8px;--sh-7:7px;--sh-6:6px;--sh-4:4px;--sh-3:3px;--font-heading:"Shippori Mincho B1","Hiragino Mincho ProN",serif;--font-body:"Zen Kaku Gothic New",system-ui,sans-serif;--font-num:var(--font-display),"Zen Kaku Gothic New",sans-serif}:root[data-theme=dark]{--paper:#0a0810;--panel:#15111f;--ink:#f3eee5;--ink2:#b4a9c2;--accent:#ff3d8a;--accent2:#2fe3ff;--dot:#f3eee538;--edge:#f3eee5;--tone:#f3eee50d}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#0a0810;--panel:#15111f;--ink:#f3eee5;--ink2:#b4a9c2;--accent:#ff3d8a;--accent2:#2fe3ff;--dot:#f3eee538;--edge:#f3eee5;--tone:#f3eee50d}}*{box-sizing:border-box}html,body{background:var(--paper);color:var(--ink);margin:0;padding:0}body{font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-wrap:pretty;max-width:100%;overflow-x:clip}a{color:var(--accent);text-decoration:none}a:hover{color:var(--ink)}:root[data-theme=dark] a:hover{color:var(--accent2)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) a:hover{color:var(--accent2)}}input,textarea,button,select{color:inherit;font-family:inherit}::selection{background:var(--accent);color:var(--paper)}h1,h2,h3,h4{font-family:var(--font-heading)}main section,#uses{scroll-margin-top:110px}@keyframes gnRise{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}@keyframes gnPop{0%{opacity:0;transform:scale(.7)rotate(-8deg)}60%{opacity:1;transform:scale(1.12)rotate(-8deg)}to{opacity:1;transform:scale(1)rotate(-8deg)}}@keyframes gnMarquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes gnBlink{0%,90%,to{opacity:1}95%{opacity:.25}}.reveal.in{animation:.7s cubic-bezier(.2,.85,.2,1) both gnRise}.halftone{pointer-events:none;z-index:0;background-image:radial-gradient(var(--dot)1px,transparent 1.3px);opacity:.5;background-size:7px 7px;position:fixed;inset:0}.speedlines{pointer-events:none;z-index:60;opacity:0;background:repeating-linear-gradient(90deg,transparent 0 14px,var(--tone)14px 15px);transition:opacity .25s;position:fixed;inset:0;-webkit-mask-image:linear-gradient(90deg,#000 0,#0000 22% 78%,#000 100%);mask-image:linear-gradient(90deg,#000 0,#0000 22% 78%,#000 100%)}.focus-lines{background:repeating-conic-gradient(from 0deg at 30% 50%,var(--tone)0deg 2.2deg,transparent 2.2deg 6deg);pointer-events:none;width:120%;height:180%;position:absolute;top:-40%;left:-10%}.hatch{background:repeating-linear-gradient(45deg,#ffffff12 0 8px,#0000 8px 16px);position:absolute;inset:0}.panel{border:3px solid var(--edge);background:var(--panel)}.panel--ink{background:var(--ink);color:var(--paper)}.panel--img{background:0 0;min-width:0;position:relative;overflow:hidden}.sh-12{box-shadow:var(--sh-12)var(--sh-12)0 var(--sh-color,var(--edge))}.sh-10{box-shadow:var(--sh-10)var(--sh-10)0 var(--sh-color,var(--edge))}.sh-9{box-shadow:var(--sh-9)var(--sh-9)0 var(--sh-color,var(--edge))}.sh-8{box-shadow:var(--sh-8)var(--sh-8)0 var(--sh-color,var(--edge))}.sh-6{box-shadow:var(--sh-6)var(--sh-6)0 var(--sh-color,var(--edge))}.sh-4{box-shadow:var(--sh-4)var(--sh-4)0 var(--sh-color,var(--edge))}.sh-3{box-shadow:var(--sh-3)var(--sh-3)0 var(--sh-color,var(--edge))}.sh-accent{--sh-color:var(--accent)}.press{transition:transform .15s,box-shadow .15s}.press:hover{box-shadow:4px 4px 0 var(--accent);transform:translate(3px,3px)}.press--sm:hover{box-shadow:3px 3px 0 var(--accent)}.eyebrow{letter-spacing:.28em;color:var(--ink2);font-size:11px;font-weight:700}.eyebrow--accent{color:var(--accent)}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:26px;display:flex}.section-title{font-family:var(--font-heading);margin:0;font-size:clamp(30px,3.2vw,44px);font-weight:800;line-height:1}.num{font-family:var(--font-num);letter-spacing:.03em}.vtext{writing-mode:vertical-rl;font-family:var(--font-heading);font-weight:800}.sfx{pointer-events:none;font-family:var(--font-body);color:var(--accent);font-weight:900;position:absolute}.sfx--hero{text-shadow:3px 3px 0 var(--paper),6px 6px 0 var(--edge);font-size:44px;animation:.6s both gnPop;top:18px;right:16px;transform:rotate(-8deg)}.sfx--card{text-shadow:2px 2px 0 var(--paper),4px 4px 0 var(--edge);font-size:26px;top:12px;left:12px;transform:rotate(-5deg)}.sfx--detail{text-shadow:2px 2px 0 var(--paper),5px 5px 0 var(--edge);font-size:38px;top:14px;right:14px;transform:rotate(-7deg)}.sfx--bye{text-shadow:2px 2px 0 var(--paper),4px 4px 0 var(--edge);font-size:30px;top:auto;bottom:14px;right:14px;transform:rotate(6deg)}.blink-dot{background:var(--accent);flex:none;width:9px;height:9px;animation:2.4s infinite gnBlink}.btn{color:var(--ink);border:3px solid var(--edge);letter-spacing:.06em;cursor:pointer;background:0 0;align-items:center;gap:10px;padding:14px 22px;font-size:14px;font-weight:700;transition:transform .12s,box-shadow .12s,background .12s,color .12s;display:inline-flex}.btn:hover{color:var(--ink)}.btn--ghost:hover{background:var(--ink);color:var(--paper)}.btn--primary{background:var(--ink);color:var(--paper);box-shadow:var(--sh-6)var(--sh-6)0 var(--accent)}.btn--primary:hover{color:var(--paper);box-shadow:3px 3px 0 var(--accent);transform:translate(3px,3px)}.btn--primary:active{box-shadow:2px 2px 0 var(--accent);transform:translate(4px,4px)}.btn--back{background:var(--panel);letter-spacing:.08em;box-shadow:var(--sh-4)var(--sh-4)0 var(--edge);padding:11px 18px;font-size:13px}.btn--back:active{box-shadow:none;transform:translate(4px,4px)}.tag{border:2px solid var(--edge);letter-spacing:.05em;padding:4px 9px;font-size:11px;font-weight:700;display:inline-block}.tag--role{letter-spacing:.12em;padding:3px 8px;font-size:10px}.tag-row{flex-wrap:wrap;gap:7px;display:flex}.link-row{border-bottom:2px solid var(--edge);color:var(--ink);justify-content:space-between;align-items:center;gap:12px;padding-bottom:10px;font-size:14px;font-weight:700;display:flex}.link-row:last-child{border-bottom:none;padding-bottom:0}.link-row:hover{color:var(--accent)}.divider{border-top:3px solid var(--edge);margin:70px 0;position:relative}.divider--last{margin:78px 0 60px}.divider__label{background:var(--paper);font-family:var(--font-heading);letter-spacing:.2em;color:var(--ink2);white-space:nowrap;padding:0 18px;font-size:16px;font-weight:700;position:absolute;top:-15px;left:50%;transform:translate(-50%)}.topbar{z-index:50;background:var(--paper);border-bottom:3px solid var(--edge);position:sticky;top:0}.hdr{align-items:center;gap:24px;max-width:1240px;margin:0 auto;padding:14px 24px;display:flex}.logo{color:var(--ink);align-items:center;gap:10px;display:flex}.logo:hover{color:var(--ink)}.logo__tile{background:var(--ink);width:42px;height:42px;color:var(--paper);border:3px solid var(--edge);font-family:var(--font-heading);place-items:center;font-size:20px;font-weight:800;display:grid;transform:rotate(-3deg)}.brand{flex-direction:column;line-height:1;display:flex}.brand__full{font-family:var(--font-heading);letter-spacing:.02em;font-size:17px}.brand__short{font-family:var(--font-heading);letter-spacing:.08em;font-size:16px;display:none}.brand__kana{letter-spacing:.34em;color:var(--ink2);font-size:10px}.nav-desktop{flex-wrap:wrap;align-items:center;gap:4px;margin-left:auto;display:flex}.nav-desktop a{letter-spacing:.06em;text-transform:uppercase;color:var(--ink);padding:8px 11px;font-size:13px;font-weight:700}.nav-desktop a:hover{background:var(--ink);color:var(--paper)}.hdr-actions{align-items:center;gap:8px;display:flex}.hdr-btn{white-space:nowrap;background:var(--panel);border:3px solid var(--edge);cursor:pointer;letter-spacing:.08em;height:38px;box-shadow:var(--sh-3)var(--sh-3)0 var(--edge);align-items:center;gap:6px;padding:0 14px;font-size:12px;font-weight:700;display:flex}.hdr-btn:active{box-shadow:none;transform:translate(3px,3px)}.theme-btn{background:var(--ink);width:38px;height:38px;color:var(--paper);border:3px solid var(--edge);cursor:pointer;box-shadow:var(--sh-3)var(--sh-3)0 var(--accent);place-items:center;font-size:15px;display:grid}.theme-btn:active{box-shadow:none;transform:translate(3px,3px)}.burger{background:var(--panel);border:3px solid var(--edge);cursor:pointer;width:44px;height:44px;box-shadow:var(--sh-3)var(--sh-3)0 var(--edge);place-items:center;display:none}.burger:active{box-shadow:none;transform:translate(3px,3px)}.burger__bars{gap:5px;width:20px;display:grid}.burger__bars span{background:var(--ink);height:3px;display:block}.mnav{border-top:3px solid var(--edge);background:var(--panel);flex-direction:column;display:none}.mnav a{border-bottom:2px solid var(--edge);letter-spacing:.08em;text-transform:uppercase;min-height:52px;color:var(--ink);justify-content:space-between;align-items:center;padding:0 18px;font-size:15px;font-weight:700;display:flex}.mnav a:active{background:var(--ink);color:var(--paper)}.mnav a span{color:var(--accent)}.gn-page{z-index:1;max-width:1240px;margin:0 auto;padding:0 24px 120px;position:relative}.gn-page--narrow{max-width:900px}.gn-page--detail{max-width:1100px}.hero{padding:52px 0 20px}.hero-grid{grid-template-columns:repeat(auto-fit,minmax(min(330px,100%),1fr));align-items:stretch;gap:22px;display:grid}.hero-col{grid-template-rows:1fr auto;gap:22px;min-width:0;display:grid}.hero-head{flex-direction:column;justify-content:center;padding:36px 34px;display:flex;position:relative;overflow:hidden}.hero-head>*{position:relative}.hero-eyebrow{letter-spacing:.3em;color:var(--accent);align-items:center;gap:10px;font-size:11px;font-weight:700;display:flex}.hero-eyebrow:before{content:"";background:var(--accent);width:26px;height:3px}.hero-title{letter-spacing:-.01em;margin:18px 0 0;font-size:clamp(38px,4.6vw,66px);font-weight:800;line-height:1.02}.hero-title em{color:var(--accent);font-style:normal}.hero-blurb{max-width:46ch;color:var(--ink2);margin:22px 0 0;font-size:16px;line-height:1.65}.hero-ctas{flex-wrap:wrap;gap:14px;margin-top:30px;display:flex}.statrow{grid-template-columns:1fr 118px;gap:22px;min-width:0;display:grid}.stat-card{min-width:0;padding:22px 24px}.stat-card__head{border-bottom:3px solid var(--edge);justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:16px;padding-bottom:10px;display:flex}.stat-card__lv{font-family:var(--font-num);color:var(--accent);font-size:20px}.stat-list{gap:11px;display:grid}.statbar{grid-template-columns:118px 1fr 42px;align-items:center;gap:12px;display:grid}.statbar__label{letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:700}.statbar__track{border:3px solid var(--edge);background:var(--paper);height:12px;position:relative}.statbar__fill{background:var(--accent);position:absolute;inset:0}.statbar__value{text-align:right;color:var(--ink2);font-size:11px;font-weight:700}.hero-vtext{border:3px solid var(--edge);background:var(--ink);color:var(--paper);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.hero-vtext .vtext{letter-spacing:.34em;padding:22px 0;font-size:22px;position:relative}.panel-caption{pointer-events:none;background:var(--ink);color:var(--paper);letter-spacing:.22em;padding:10px 16px;font-size:11px;font-weight:700;position:absolute;bottom:0;left:0}.ship-card{gap:14px;min-width:0;padding:22px 24px;display:grid}.ship-card__status{letter-spacing:.26em;color:var(--ink2);align-items:center;gap:9px;font-size:11px;font-weight:700;display:flex}.ship-card__title-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:14px;display:flex}.ship-card__title{font-family:var(--font-heading);font-size:23px;font-weight:800}.ship-card__read{letter-spacing:.1em;color:var(--accent);font-size:12px;font-weight:700}.ship-card__desc{color:var(--ink2);margin:0;font-size:14px;line-height:1.6}.ship-card__tags{border-top:2px solid var(--edge);flex-wrap:wrap;gap:7px;padding-top:14px;display:flex}.about-grid{grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:24px;display:grid}.about-col{flex-direction:column;gap:24px;min-width:0;display:flex}.about-vtext{pointer-events:none;letter-spacing:.2em;color:#fdfaf3;text-shadow:0 0 8px #000000b3;font-size:19px;position:absolute;top:14px;right:14px}.bubble{padding:32px 30px;position:relative}.bubble:after{content:"";border-left:16px solid #0000;border-right:16px solid #0000;border-top:19px solid var(--edge);width:0;height:0;position:absolute;bottom:-19px;left:44px}.bubble__lead{font-family:var(--font-heading);margin:0;font-size:clamp(19px,1.7vw,25px);line-height:1.5}.bubble__body{color:var(--ink2);margin:18px 0 0;font-size:15px;line-height:1.7}.facts-grid{grid-template-columns:repeat(auto-fit,minmax(min(150px,100%),1fr));gap:18px;display:grid}.fact{border:3px solid var(--edge);background:var(--panel);padding:18px 20px}.fact__big{font-family:var(--font-body);color:var(--accent);font-size:26px;font-weight:900}.fact__label{color:var(--ink2);margin-top:6px;font-size:13px;line-height:1.5}.tl-panel{gap:0;display:grid}.tl-row{border-bottom:3px solid var(--edge);grid-template-columns:150px 1fr;gap:28px;padding:28px 30px;display:grid}.tl-row:last-child{border-bottom:none}.tl-row:hover{background:var(--tone)}.tl-rail{flex-direction:column;gap:6px;display:flex}.tl-ch{font-family:var(--font-num);color:var(--accent);letter-spacing:.06em;font-size:22px}.tl-year{letter-spacing:.06em;color:var(--ink2);font-size:13px;font-weight:700}.tl-role{align-self:flex-start;margin-top:4px}.tl-head{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.tl-company{margin:0;font-size:22px;font-weight:800}.tl-title{letter-spacing:.14em;color:var(--accent);font-size:12px;font-weight:700}.tl-body{max-width:82ch;color:var(--ink2);margin:10px 0 0;font-size:14px;line-height:1.7}.tl-body p{margin:0 0 10px}.tl-body p:last-child{margin-bottom:0}.tl-body br{display:none}.tl-body strong{color:var(--ink)}.tl-body--clamped{max-height:96px;overflow:hidden;-webkit-mask-image:linear-gradient(#000 55%,#0000 100%);mask-image:linear-gradient(#000 55%,#0000 100%)}.tl-more{cursor:pointer;letter-spacing:.1em;color:var(--accent);background:0 0;border:none;margin-top:8px;padding:0;font-size:12px;font-weight:700}.tl-more:hover{color:var(--ink)}.tl-tags{margin-top:14px}.work-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:22px;display:grid}.span-7{grid-column:span 7}.span-5{grid-column:span 5}.work-card{border:3px solid var(--edge);background:var(--panel);min-width:0;color:var(--ink);cursor:pointer;flex-direction:column;display:flex;position:relative;overflow:hidden}.work-card:hover{color:var(--ink)}.work-card__img{border-bottom:3px solid var(--edge);position:relative;overflow:hidden}.work-card__body{flex-direction:column;flex:1;gap:10px;padding:22px 24px 24px;display:flex}.work-card__head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.work-card__title{margin:0;font-size:24px;font-weight:800}.work-card__open{letter-spacing:.14em;color:var(--accent);white-space:nowrap;font-size:11px;font-weight:700}.work-card__desc{color:var(--ink2);margin:0;font-size:14px;line-height:1.6}.work-card__tags{margin-top:auto;padding-top:12px}.blog-grid{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:22px;display:grid}.blog-card{cursor:pointer;min-width:0;color:var(--ink);flex-direction:column;gap:12px;padding:22px 22px 24px;display:flex}.blog-card:hover{color:var(--ink)}.blog-card__meta{letter-spacing:.14em;color:var(--ink2);justify-content:space-between;font-size:11px;font-weight:700;display:flex}.blog-card__kind{color:var(--accent)}.blog-card__title{margin:0;font-size:20px;font-weight:700;line-height:1.35}.blog-card__excerpt{color:var(--ink2);margin:0;font-size:13px;line-height:1.6}.blog-card__read{letter-spacing:.1em;color:var(--accent);margin-top:auto;padding-top:10px;font-size:12px;font-weight:700}.course-card{cursor:pointer;flex-direction:column;gap:12px;min-width:0;padding:22px 22px 24px;display:flex}.course-card:hover{color:var(--paper)}.course-card__meta{letter-spacing:.26em;opacity:.85;align-items:center;gap:9px;font-size:11px;font-weight:700;display:flex}.course-card__title{margin:0;font-size:22px;font-weight:800;line-height:1.25}.course-card__desc{opacity:.75;margin:0;font-size:13px;line-height:1.6}.course-card__foot{justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:12px;display:flex}.course-card__tag{opacity:.85;border-color:currentColor}.course-card__read{letter-spacing:.1em;color:var(--accent);font-size:12px;font-weight:700}.course-intro{color:var(--ink2);margin:18px 0 0;font-size:16px;line-height:1.75}.course-toc{margin-top:22px;display:grid}.chapter-row{border-bottom:3px solid var(--edge);color:var(--ink);grid-template-columns:84px 1fr auto;align-items:center;gap:18px;padding:18px 24px;display:grid}.chapter-row:last-child{border-bottom:none}.chapter-row:hover{background:var(--tone);color:var(--ink)}.chapter-row__num{font-family:var(--font-num);letter-spacing:.06em;color:var(--accent);font-size:20px}.chapter-row__body{flex-direction:column;gap:4px;min-width:0;display:flex}.chapter-row__title{font-family:var(--font-heading);font-size:17px;line-height:1.3}.chapter-row__date{letter-spacing:.14em;color:var(--ink2);font-size:11px;font-weight:700}.chapter-row__arrow{color:var(--accent);font-weight:700}.course-section-head{background:var(--ink);color:var(--paper);letter-spacing:.22em;text-transform:uppercase;border-bottom:3px solid var(--edge);align-items:center;gap:12px;padding:12px 24px;font-size:11px;font-weight:700;display:flex}.course-section-head:not(:first-child){border-top:3px solid var(--edge)}.course-section-head__num{font-family:var(--font-num);letter-spacing:.06em;color:var(--accent);font-size:15px}.related-card--next{text-align:right}.now-grid{grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:24px;display:grid}.now-card{padding:34px 32px}.now-card__eyebrow{letter-spacing:.28em;align-items:center;gap:10px;font-size:11px;font-weight:700;display:flex}.now-card__title{margin:16px 0 0;font-size:clamp(26px,2.6vw,38px);font-weight:800;line-height:1.1}.now-list{gap:14px;margin-top:24px;display:grid}.now-row{border-bottom:1px solid #ffffff2e;grid-template-columns:104px 1fr;gap:16px;padding-bottom:14px;display:grid}.now-row__label{letter-spacing:.14em;opacity:.7;font-size:11px;font-weight:700}.now-row__value{font-size:14px;line-height:1.55}.now-updated{opacity:.6;margin-top:18px;font-size:12px}.uses-card{padding:26px}.uses-card__title{margin:10px 0 16px;font-size:22px;font-weight:800}.uses-list{gap:10px;display:grid}.uses-row{grid-template-columns:88px 1fr;gap:14px;font-size:13px;display:grid}.uses-row__label{letter-spacing:.08em;color:var(--accent);font-weight:700}.uses-row__value{color:var(--ink2);line-height:1.5}.contact-grid{grid-template-columns:repeat(auto-fit,minmax(min(320px,100%),1fr));gap:24px;display:grid}.contact-card{padding:38px 34px}.contact-title{margin:14px 0 0;font-size:clamp(28px,3vw,42px);font-weight:800;line-height:1.08}.contact-blurb{color:var(--ink2);margin:14px 0 0;font-size:15px;line-height:1.65}.contact-form{gap:16px;margin-top:26px;display:grid}.field{letter-spacing:.12em;color:var(--ink2);gap:7px;font-size:12px;font-weight:700;display:grid}.field input,.field textarea{background:var(--paper);border:3px solid var(--edge);outline:none;padding:0 14px;font-size:15px}.field input{height:48px}.field textarea{resize:vertical;padding:12px 14px}.field input:focus,.field textarea:focus{box-shadow:4px 4px 0 var(--accent)}.field__error{letter-spacing:.08em;color:var(--accent);font-size:11px}.contact-submit{justify-self:start;padding:15px 26px}.links-card{gap:12px;padding:26px;display:grid}.contact-col{flex-direction:column;gap:24px;min-width:0;display:flex}.contact-illu{flex:1;min-height:260px}.marquee{z-index:1;border-top:3px solid var(--edge);border-bottom:3px solid var(--edge);background:var(--ink);color:var(--paper);padding:14px 0;position:relative;overflow:hidden}.marquee__track{width:max-content;animation:26s linear infinite gnMarquee;display:flex}.marquee__row{font-family:var(--font-num);letter-spacing:.06em;white-space:nowrap;flex:none;gap:44px;padding-right:44px;font-size:22px;display:flex}.marquee__row .dot{color:var(--accent)}.gn-footer{z-index:1;max-width:1240px;color:var(--ink2);flex-wrap:wrap;justify-content:space-between;gap:20px;margin:0 auto;padding:34px 24px 60px;font-size:12px;display:flex;position:relative}.detail-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:26px;padding-top:28px;display:flex}.detail-hero-grid{grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));align-items:stretch;gap:22px;display:grid}.detail-head{flex-direction:column;justify-content:center;min-width:0;padding:34px 32px;display:flex}.detail-title{margin:14px 0 0;font-size:clamp(32px,4vw,54px);font-weight:800;line-height:1.04}.detail-tagline{color:var(--ink2);margin:16px 0 0;font-size:16px;line-height:1.65}.detail-tags{margin-top:22px}.blocks-grid{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:22px;margin-top:22px;display:grid}.block-card{min-width:0;padding:26px 26px 28px}.block-card__body{color:var(--ink2);margin:12px 0 0;font-size:15px;line-height:1.7}.shots-grid{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:22px;margin-top:22px;display:grid}.results-grid{grid-template-columns:repeat(auto-fit,minmax(min(260px,100%),1fr));gap:22px;margin-top:22px;display:grid}.result-card{min-width:0;padding:28px 26px}.result-rows{gap:12px;margin-top:16px;display:grid}.result-row{border-bottom:1px solid #ffffff2e;grid-template-columns:76px 1fr;align-items:baseline;gap:14px;padding-bottom:10px;display:grid}.result-row__big{font-family:var(--font-num);letter-spacing:.03em;color:var(--accent);font-size:26px}.result-row__label{font-size:14px;line-height:1.55}.next-card{flex-direction:column;gap:14px;min-width:0;padding:28px 26px;display:flex}.next-card a{border-bottom:2px solid var(--edge);color:var(--ink);justify-content:space-between;align-items:center;gap:12px;padding-bottom:10px;font-size:15px;font-weight:700;display:flex}.next-card a:hover,.next-card a span{color:var(--accent)}.post-head{padding:36px 34px}.post-meta{letter-spacing:.2em;color:var(--accent);flex-wrap:wrap;gap:14px;font-size:11px;font-weight:700;display:flex}.post-meta .muted{color:var(--ink2)}.post-title{margin:16px 0 0;font-size:clamp(30px,3.8vw,50px);font-weight:800;line-height:1.06}.post-subtitle{font-family:var(--font-heading);color:var(--accent);margin-top:12px;font-size:19px}.post-cover{min-height:280px;margin-top:22px}.related-grid{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:22px;margin-top:44px;display:grid}.related-card{color:var(--ink);flex-direction:column;gap:8px;min-width:0;padding:22px 24px;display:flex}.related-card:hover{color:var(--ink)}.related-card__date{letter-spacing:.18em;color:var(--accent);font-size:11px;font-weight:700}.related-card__title{font-family:var(--font-heading);font-size:19px;line-height:1.3}.related-card__read{letter-spacing:.1em;color:var(--ink2);font-size:12px;font-weight:700}.illu-slot{background-image:radial-gradient(var(--dot)1px,transparent 1.3px);background-size:7px 7px;place-items:center;display:grid;position:absolute;inset:0}.illu-slot__label{border:2px dashed var(--edge);background:var(--panel);letter-spacing:.22em;color:var(--ink2);text-align:center;padding:8px 14px;font-size:10px;font-weight:700}.story-wrapper{margin-top:34px}.story-wrapper h2{font-family:var(--font-heading);border-bottom:3px solid var(--edge);margin:34px 0 0;padding-bottom:10px;font-size:clamp(24px,2.6vw,32px);font-weight:800;line-height:1.2}.story-wrapper h3{font-family:var(--font-heading);color:var(--accent);margin:26px 0 0;font-size:20px;font-weight:700}.story-wrapper h4{font-family:var(--font-heading);margin:22px 0 0;font-size:17px;font-weight:700}.story-wrapper p{color:var(--ink);margin:18px 0 0;font-size:17px;line-height:1.85}.story-wrapper strong{color:var(--ink)}.story-wrapper a{color:var(--accent);font-weight:700}.story-wrapper ul,.story-wrapper ol{gap:10px;margin:18px 0 0;padding-left:0;list-style:none;display:grid}.story-wrapper li{color:var(--ink);padding-left:34px;font-size:16px;line-height:1.75;position:relative}.story-wrapper ul li:before{content:"";background:var(--accent);border:3px solid var(--edge);width:12px;height:12px;position:absolute;top:7px;left:0}.story-wrapper ol{counter-reset:story-ol}.story-wrapper ol li:before{counter-increment:story-ol;content:counter(story-ol,decimal-leading-zero);font-family:var(--font-num);color:var(--accent);font-size:16px;position:absolute;top:2px;left:0}.story-wrapper img{border:3px solid var(--edge);max-width:100%;height:auto;box-shadow:var(--sh-8)var(--sh-8)0 var(--edge);margin:22px 0 12px;display:block}.story-wrapper blockquote{border:3px solid var(--edge);background:var(--panel);box-shadow:var(--sh-6)var(--sh-6)0 var(--edge);margin:26px 0 8px;padding:22px 24px;position:relative}.story-wrapper blockquote:before{content:"NOTE · メモ";letter-spacing:.26em;color:var(--accent);font-size:11px;font-weight:700;display:block}.story-wrapper blockquote:after{content:"";border-left:14px solid #0000;border-right:14px solid #0000;border-top:19px solid var(--edge);width:0;height:0;position:absolute;bottom:-19px;left:38px}.story-wrapper blockquote p{color:var(--ink);max-width:none;margin:10px 0 0;font-size:15px;line-height:1.7}.story-wrapper hr{border:none;border-top:3px solid var(--edge);margin:34px 0 0}.story-wrapper br{display:none}.story-wrapper code:not(pre code){border:2px solid var(--edge);background:var(--panel);font-family:var(--font-mono),monospace;color:var(--accent);padding:1px 6px;font-size:.85em}.story-wrapper table{border-collapse:collapse;border:3px solid var(--edge);margin:22px 0 0;font-size:14px}.story-wrapper th{background:var(--ink);color:var(--paper);text-align:left;letter-spacing:.08em;text-transform:uppercase;padding:10px 14px;font-size:12px}.story-wrapper td{border:2px solid var(--edge);color:var(--ink);padding:10px 14px}.code-panel{border:3px solid var(--edge);box-shadow:var(--sh-7)var(--sh-7)0 var(--accent);background:#14100f;margin:26px 0 14px;overflow:hidden}.code-panel pre{margin:0!important}.code-panel__bar{background:#1f1917;border-bottom:2px solid #f3eee524;justify-content:space-between;align-items:center;gap:12px;padding:8px 14px;display:flex}.code-panel__lang{letter-spacing:.22em;color:#8d8177;font-size:10px;font-weight:700}.code-panel__copy{cursor:pointer;letter-spacing:.18em;color:#f3eee5;background:0 0;border:2px solid #f3eee559;padding:4px 10px;font-size:10px;font-weight:700}.code-panel__copy:hover{border-color:var(--accent);color:var(--accent)}.mdx-callout{border:3px solid var(--edge);background:var(--panel);box-shadow:var(--sh-6)var(--sh-6)0 var(--edge);margin:26px 0 8px;padding:22px 24px;position:relative}.mdx-callout__label{letter-spacing:.26em;color:var(--accent);font-size:11px;font-weight:700}.mt-section{margin-top:96px}@media (max-width:820px){.gn-page{padding-bottom:72px;padding-left:16px;padding-right:16px}.topbar{position:static}.hdr{flex-wrap:nowrap;gap:8px;padding:10px 14px}.hdr button{height:40px}.hdr-btn{padding:0 10px;font-size:11px}.hdr-actions{margin-left:auto}.brand__full,.brand__kana{display:none}.brand__short{display:block}.nav-desktop{display:none}.burger{display:grid}.mnav[data-open="1"]{display:flex}.hero{margin-top:0;padding:14px 0 8px}main section,#uses{scroll-margin-top:12px}main section{margin-top:56px}.work-grid>*{grid-column:span 12}.tl-row{grid-template-columns:1fr;gap:14px;padding:22px 20px}.statrow{grid-template-columns:1fr}.hero-vtext{min-height:76px}.hero-vtext .vtext{writing-mode:horizontal-tb;letter-spacing:.2em;padding:14px 0}.statbar{grid-template-columns:96px 1fr 38px;gap:10px}}@media (max-width:560px){.gn-page{padding-left:14px;padding-right:14px}:root{--sh-12:6px;--sh-10:5px;--sh-9:5px}.sh-12,.sh-10,.sh-9{--sh-color:var(--edge)}}@media (prefers-reduced-motion:reduce){.reveal.in,.sfx--hero,.marquee__track{animation:none}.speedlines{display:none}.press,.btn{transition:none}}
