/* Koshi Forge v4.1. Motion-led dark technical direction adapted from the supplied reference. */
:root,
html[data-theme="dark"]{
  --forge-void:#050508;
  --forge-panel:#090a0f;
  --forge-panel-raised:#0d0f15;
  --forge-line:rgba(255,255,255,.12);
  --forge-line-soft:rgba(255,255,255,.065);
  --forge-cyan:#00d4ff;
  --forge-cyan-bright:#70e9ff;
  --forge-text:#f4f7f8;
  --forge-dim:#818793;
  --forge-header:rgba(5,5,8,.9);
  --bg:var(--forge-void);--surface:var(--forge-panel);--surface-2:var(--forge-panel-raised);
  --ink:var(--forge-text);--muted:var(--forge-dim);--line:var(--forge-line);--line-soft:var(--forge-line-soft);
  --orange:var(--forge-cyan);--orange-2:#009ab8;--cyan:var(--forge-cyan);--blue:var(--forge-cyan);
}
html[data-theme="light"]{
  --forge-void:#eef2f3;
  --forge-panel:#f8fafb;
  --forge-panel-raised:#ffffff;
  --forge-line:rgba(5,17,22,.18);
  --forge-line-soft:rgba(5,17,22,.09);
  --forge-cyan:#007c97;
  --forge-cyan-bright:#005d73;
  --forge-text:#091115;
  --forge-dim:#5f686d;
  --forge-header:rgba(246,249,250,.9);
  --bg:var(--forge-void);--surface:var(--forge-panel);--surface-2:var(--forge-panel-raised);
  --ink:var(--forge-text);--muted:var(--forge-dim);--line:var(--forge-line);--line-soft:var(--forge-line-soft);
  --orange:var(--forge-cyan);--orange-2:#006176;--cyan:var(--forge-cyan);--blue:var(--forge-cyan);
}

html{scroll-behavior:smooth}
body.forge-body{min-width:320px;overflow-x:hidden;background:var(--forge-void)}
body.forge-body>header,body.forge-body>main,body.forge-body>footer{position:relative;z-index:2}
body.forge-body>dialog,.toast{z-index:1100}

/* Fast, non-blocking loader. */
.forge-loader{position:fixed;inset:0;z-index:1200;display:grid;place-content:center;gap:16px;background:#050508;color:#f4f7f8;transition:opacity .26s ease,visibility .26s ease;pointer-events:none}
.forge-loader[hidden]{display:none}.forge-loader.is-finished{opacity:0;visibility:hidden}
.forge-loader-mark{display:flex;align-items:center;gap:12px;font:700 13px/1 var(--font-mono);letter-spacing:.12em}.forge-loader-mark i{width:8px;height:8px;background:#00d4ff;box-shadow:0 0 18px rgba(0,212,255,.8)}
.forge-loader-track{width:260px;height:1px;overflow:hidden;background:rgba(255,255,255,.14)}.forge-loader-track span{display:block;width:100%;height:100%;background:#00d4ff;transform:scaleX(0);transform-origin:left}.forge-loader.is-running .forge-loader-track span{animation:forge41-loader .4s cubic-bezier(.24,.74,.25,1) forwards}
.forge-loader small{color:#656b73;font:700 8px/1 var(--font-mono);letter-spacing:.2em}
@keyframes forge41-loader{to{transform:scaleX(1)}}

/* The canvas is decorative, capped in JS and suspended in hidden tabs. */
.forge-ambient{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;background:var(--forge-void)}
.forge-ambient canvas{position:absolute;inset:0;width:100%;height:100%;opacity:.78}
.forge-ambient-grid{position:absolute;inset:0;background-image:linear-gradient(var(--forge-line-soft) 1px,transparent 1px),linear-gradient(90deg,var(--forge-line-soft) 1px,transparent 1px);background-size:72px 72px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.32),transparent 82%);opacity:.16}
.forge-ambient-vignette{position:absolute;inset:0;background:radial-gradient(circle at 68% 44%,transparent 0,rgba(5,5,8,.2) 37%,rgba(5,5,8,.9) 88%)}
html[data-theme="light"] .forge-ambient canvas{opacity:.14}
html[data-theme="light"] .forge-ambient-vignette{background:radial-gradient(circle at 68% 44%,transparent 0,rgba(238,242,243,.3) 40%,rgba(238,242,243,.94) 90%)}

/* Fixed shell. */
.dev-header{height:76px;padding:0 clamp(24px,3.2vw,62px);border-bottom:1px solid var(--forge-line-soft);background:var(--forge-header);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.dev-brand{min-width:154px}.dev-brand b{font:700 12px/1 var(--font-mono);letter-spacing:.08em}.dev-brand small{display:none}.dev-logo{width:7px;height:7px;background:var(--forge-cyan);box-shadow:0 0 16px color-mix(in srgb,var(--forge-cyan) 80%,transparent)}
.dev-nav{gap:40px}.dev-nav a{padding:29px 0 27px;color:var(--forge-dim);font:700 9px/1 var(--font-mono);letter-spacing:.16em}.dev-nav a:hover,.dev-nav a.active{color:var(--forge-text)}
.dev-header-actions{gap:9px}.dev-header-actions .button{min-height:38px;padding:10px 15px}.theme-button{width:36px;height:36px}.account-button{min-height:38px}
.dev-header .button.primary{background:transparent;color:var(--forge-cyan);border-color:var(--forge-cyan)}.dev-header .button.primary:hover{background:var(--forge-cyan);color:#031014}
.dev-footer{background:var(--forge-void);border-color:var(--forge-line-soft)}

/* First viewport. */
.forge41-home{position:relative;background:transparent}.forge41-hero{position:relative;min-height:calc(100svh - 76px);display:flex;align-items:center;border-bottom:1px solid var(--forge-line-soft);isolation:isolate}
.forge41-hero::before{content:"";position:absolute;top:0;bottom:0;left:max(24px,calc((100vw - var(--max))/2));width:1px;background:var(--forge-line-soft)}
.forge41-hero-inner{position:relative;display:grid;align-content:center;min-height:calc(100svh - 76px);padding-top:clamp(68px,8vh,108px);padding-bottom:clamp(68px,8vh,102px)}
.forge41-kicker{display:flex;align-items:center;gap:13px;color:var(--forge-dim);font:700 9px/1 var(--font-mono);letter-spacing:.2em}.forge41-kicker i{width:34px;height:1px;background:var(--forge-cyan)}.forge41-kicker span,.forge41-kicker b{font:inherit}.forge41-kicker b::before{content:"/";margin-right:13px;color:var(--forge-line)}
.forge41-title-wrap{position:relative;margin-top:clamp(24px,4.5vh,48px);padding-bottom:clamp(28px,4vh,46px);border-bottom:1px solid var(--forge-line)}
.forge41-title-wrap h1{max-width:100%;margin:0;color:var(--forge-text);font:500 clamp(62px,11.7vw,178px)/.79 var(--font-mono);letter-spacing:-.105em;white-space:nowrap;text-transform:uppercase;text-shadow:0 0 55px rgba(0,212,255,.045)}
.forge41-edition{position:absolute;right:0;bottom:16px;color:var(--forge-dim);font:700 8px/1 var(--font-mono);letter-spacing:.15em}
.forge41-hero-lower{display:grid;grid-template-columns:minmax(0,1fr) minmax(330px,420px);gap:clamp(58px,8vw,138px);align-items:start;padding-top:clamp(28px,4.6vh,52px)}
.forge41-intro p{max-width:700px;margin:0;color:#b9bdc4;font-size:clamp(17px,1.55vw,23px);line-height:1.48;letter-spacing:-.022em}
html[data-theme="light"] .forge41-intro p{color:#414b50}
.forge41-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}.forge41-actions .button{min-height:50px;padding:14px 21px}
.forge41-runtime{display:grid;grid-template-columns:1fr 1fr;margin:0;border-top:1px solid var(--forge-line)}.forge41-runtime>div{display:grid;gap:7px;padding:13px 12px 13px 0;border-bottom:1px solid var(--forge-line)}.forge41-runtime>div:nth-child(odd){border-right:1px solid var(--forge-line)}.forge41-runtime>div:nth-child(even){padding-left:18px}.forge41-runtime dt{color:var(--forge-dim);font:700 7px/1 var(--font-mono);letter-spacing:.16em}.forge41-runtime dd{overflow:hidden;margin:0;color:var(--forge-cyan-bright);font:700 10px/1.2 var(--font-mono);letter-spacing:.055em;text-overflow:ellipsis;white-space:nowrap}.forge41-runtime dd.ok::before{content:"";display:inline-block;width:5px;height:5px;margin-right:7px;background:#58f0a7;box-shadow:0 0 10px rgba(88,240,167,.7)}
.forge41-scroll-cue{position:absolute;right:0;bottom:23px;display:flex;align-items:center;gap:11px;color:var(--forge-dim);font:700 7px/1 var(--font-mono);letter-spacing:.16em}.forge41-scroll-cue i{width:27px;height:1px;background:var(--forge-cyan);transform-origin:right;animation:forge41-pulse 1.6s ease-in-out infinite}
@keyframes forge41-pulse{50%{transform:scaleX(.45);opacity:.45}}

/* Existing functional sections receive the same visual grammar. */
.forge41-home .forge40-start{position:relative;padding-top:clamp(100px,11vw,156px);padding-bottom:clamp(100px,11vw,156px)}
.forge41-home .forge40-section-intro{grid-template-columns:190px minmax(0,1fr);margin-bottom:66px}.forge41-home .forge40-section-intro>span,.forge41-home .forge40-sandbox-copy>span,.forge41-home .forge40-final-cta>div:first-child>span{color:var(--forge-cyan);font-family:var(--font-mono)}
.forge41-home .forge40-section-intro h2,.forge41-home .forge40-sandbox-copy h2{font-family:var(--font-mono);font-weight:500;letter-spacing:-.06em}
.forge41-home .forge40-start-layout>a{position:relative;grid-template-columns:190px minmax(0,1fr) 150px;min-height:164px;background:rgba(5,5,8,.36);transition:background-color .22s ease,padding-left .22s ease}
html[data-theme="light"] .forge41-home .forge40-start-layout>a{background:rgba(255,255,255,.34)}
.forge41-home .forge40-start-layout>a:hover{background:color-mix(in srgb,var(--forge-cyan) 7%,transparent)}
.forge41-home .forge40-start-layout h3{font-family:var(--font-mono);font-weight:500;letter-spacing:-.045em}
.forge41-home .forge40-route-section{position:relative;background:color-mix(in srgb,var(--forge-panel) 93%,transparent)}
.forge41-home .forge40-route article{background:transparent;transition:background-color .22s ease}.forge41-home .forge40-route article:hover{background:color-mix(in srgb,var(--forge-cyan) 4%,transparent)}
.forge41-home .forge40-route-copy h3,.forge41-home .forge40-route-result{font-family:var(--font-mono)}
.forge41-home .forge40-route-result small,.forge41-home .forge40-route-result b{background:rgba(5,5,8,.45)}
html[data-theme="light"] .forge41-home .forge40-route-result small,html[data-theme="light"] .forge41-home .forge40-route-result b{background:rgba(255,255,255,.5)}
.forge41-home .forge40-sandbox-section{position:relative;background:color-mix(in srgb,var(--forge-void) 91%,transparent)}
.forge41-home .forge40-build-panel{background:rgba(8,10,14,.82);box-shadow:0 30px 90px rgba(0,0,0,.23)}
html[data-theme="light"] .forge41-home .forge40-build-panel{background:rgba(255,255,255,.84);box-shadow:0 30px 90px rgba(20,50,60,.1)}
.forge41-home .forge40-build-command{background:#020407}.forge41-home .forge40-build-command code{color:var(--forge-cyan-bright)}
html[data-theme="light"] .forge41-home .forge40-build-command{background:#10191d}
.forge41-home .forge40-final-cta{position:relative}.forge41-home .forge40-final-cta h2{font-family:var(--font-mono);font-weight:500}

/* Motion only changes opacity and transform. */
.forge41-kicker.forge-motion,.forge41-title-wrap.forge-motion,.forge41-intro.forge-motion,.forge41-runtime.forge-motion{opacity:0;transform:translate3d(0,22px,0);transition:opacity .64s cubic-bezier(.2,.72,.2,1),transform .64s cubic-bezier(.2,.72,.2,1)}
.forge41-kicker.forge-motion.is-visible,.forge41-title-wrap.forge-motion.is-visible,.forge41-intro.forge-motion.is-visible,.forge41-runtime.forge-motion.is-visible{opacity:1;transform:none}
.forge41-title-wrap.forge-motion{transition-delay:70ms}.forge41-intro.forge-motion{transition-delay:140ms}.forge41-runtime.forge-motion{transition-delay:190ms}

@media(max-width:1100px){
  .forge41-title-wrap h1{font-size:clamp(64px,13vw,128px)}
  .forge41-hero-lower{grid-template-columns:1fr minmax(300px,360px);gap:50px}
  .forge41-home .forge40-section-intro{grid-template-columns:150px 1fr}
}
@media(max-width:760px){
  .forge-ambient-grid{background-size:44px 44px}.dev-header{height:68px}.dev-brand{min-width:0}.dev-brand b{font-size:11px}
  .forge41-hero{min-height:calc(100svh - 68px)}.forge41-hero::before{left:17px}.forge41-hero-inner{min-height:calc(100svh - 68px);padding-top:62px;padding-bottom:74px}
  .forge41-kicker{gap:9px;letter-spacing:.14em}.forge41-kicker i{width:22px}.forge41-kicker b{display:none}
  .forge41-title-wrap{margin-top:28px;padding-bottom:27px}.forge41-title-wrap h1{font-size:clamp(50px,16.4vw,92px);letter-spacing:-.11em}.forge41-edition{bottom:10px;font-size:6px}
  .forge41-hero-lower{grid-template-columns:1fr;gap:34px;padding-top:28px}.forge41-intro p{font-size:16px}.forge41-actions{display:grid;margin-top:24px}.forge41-actions .button{width:100%}
  .forge41-runtime{grid-template-columns:1fr 1fr}.forge41-runtime>div:nth-child(even){padding-left:12px}.forge41-runtime dd{font-size:8px}
  .forge41-scroll-cue{display:none}
  .forge41-home .forge40-section-intro{display:block}.forge41-home .forge40-start-layout>a{grid-template-columns:1fr}.forge41-home .forge40-start-layout>a>b{grid-column:auto}
}
@media(max-width:430px){
  .forge41-title-wrap h1{font-size:clamp(45px,15.8vw,68px)}
  .forge41-runtime{grid-template-columns:1fr}.forge41-runtime>div:nth-child(odd){border-right:0}.forge41-runtime>div:nth-child(even){padding-left:0}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}.forge-loader{display:none}.forge-ambient canvas{display:none}.forge41-scroll-cue i{animation:none}
  .forge41-kicker.forge-motion,.forge41-title-wrap.forge-motion,.forge41-intro.forge-motion,.forge41-runtime.forge-motion{opacity:1;transform:none;transition:none}
}
