:root {
  --ink: #1f1f1f;
  --line: #e7e7e7;
  --blue: #686868;
  --blue-dark: #545454;
  --blue-soft: #f2f2f2;
  --accent: #bababa;
  --accent-dark: #5b5b5b;
  --accent-soft: #f7f7f7;
  --navy: #212121;
  --danger: #6c6c6c;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
html, body { margin: 0; min-height: 100%; background: #f2f2f2; color: var(--ink); }
body { font-family: "Noto Sans JP", "Hiragino Sans", "Yu Gothic", YuGothic, sans-serif; -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font-family: inherit; }
a { color: inherit; }

.landing-shell { position: relative; min-height: 100vh; overflow-x: clip; background: #f2f2f2; }
.content-band { position: relative; isolation: isolate; }
.content-band::before { content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.models-band { padding: 92px 0 116px; border-radius: 56px 56px 0 0; background: #f9f9f9; }
.models-band::before { background: radial-gradient(circle at 84% 4%,rgba(226,226,226,.46),transparent 26%),linear-gradient(180deg,#fafafa 0%,#f6f6f6 100%); border-radius: inherit; }
.mechanism-band { z-index: 2; margin-top: -48px; padding: 94px 0 102px; border-radius: 56px 56px 0 0; background: #e6e6e6; }
.mechanism-band::before { background: radial-gradient(circle at 14% 8%,rgba(255,255,255,.58),transparent 28%),linear-gradient(150deg,#ededed 0%,#e0e0e0 54%,#d7d7d7 100%); border-radius: inherit; }
.sponsor-types-band { z-index: 3; margin-top: -48px; padding: 108px 0 120px; border-radius: 56px 56px 0 0; background: #f6f6f6; }
.sponsor-types-band::before { background: radial-gradient(circle at 92% 16%,rgba(223,223,223,.48),transparent 25%),linear-gradient(180deg,#f9f9f9 0%,#f2f2f2 100%); border-radius: inherit; }
.top-anchor { position: absolute; top: 0; left: 0; width: 1px; height: 1px; }
.section-anchor { position: relative; top: -88px; display: block; width: 1px; height: 0; visibility: hidden; }
.landing-nav { position: relative; z-index: 30; height: 88px; display: flex; align-items: center; justify-content: space-between; max-width: 1240px; margin: 0 auto; padding: 0 20px; }
.landing-nav.docked { position: fixed; top: 12px; left: 50%; width: min(calc(100% - 24px),1200px); height: 64px; margin: 0; border: 1px solid rgba(217,217,217,.9); border-radius: 16px; background: rgba(252,252,252,.94); box-shadow: 0 16px 42px rgba(47,47,47,.14); backdrop-filter: blur(18px); animation: nav-dock-enter .48s cubic-bezier(.22,1,.36,1) both; }
.brand { display: flex; align-items: center; gap: 10px; color: #282828; font-size: 15px; font-weight: 740; letter-spacing: -.02em; text-decoration: none; }
.brand::after { content: none; }
.brand-mark { display: block; width: 36px; height: 36px; flex: 0 0 auto; filter: drop-shadow(0 5px 8px rgba(104,104,104,.17)); transform-origin: 50% 70%; }
.nav-actions { display: flex; align-items: center; gap: 24px; }
.nav-links { display: flex; align-items: center; gap: 26px; }
.nav-links a { color: #5f5f5f; font-size: 11px; font-weight: 650; text-decoration: none; transition: color .2s; }
.nav-links a:hover { color: #343434; }
.account-button { max-width: 230px; overflow: hidden; padding: 10px 14px; border: 1px solid #e0e0e0; border-radius: 8px; color: #434343; background: #ffffff; box-shadow: 0 2px 5px rgba(51,51,51,.035); font-size: 11px; font-weight: 650; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; transition: border-color .2s, box-shadow .2s; }
.account-button:hover { border-color: #c6c6c6; box-shadow: 0 5px 15px rgba(51,51,51,.07); }

.hero-stage { position: relative; height: calc(100vh + 1000px); }
.landing-hero { --hero-gutter: 40px; --hero-height: max(590px,calc(100svh - 104px)); --hero-radius: 48px; --hero-pad-y: 52px; --hero-pad-x: 44px; --hero-gap: 64px; --hero-copy-opacity: 1; --hero-copy-shift: 0px; --hero-motion-blur: 0px; --hero-card-scale: 1; --install-left: 47.4%; --install-right: 44px; --install-top: 113px; --install-bottom: 113px; --install-card-padding: 31px; --install-title-size: 21px; --install-command-height: 102px; --install-tab-height: 40px; position: sticky; top: 0; isolation: isolate; contain: paint; width: calc(100% - (var(--hero-gutter) * 2)); height: var(--hero-height); min-height: 0; display: grid; grid-template-columns: minmax(0,.88fr) minmax(530px,1.12fr); gap: var(--hero-gap); align-items: center; margin: 0 auto; padding: var(--hero-pad-y) var(--hero-pad-x); overflow: hidden; border: 1px solid rgba(100,100,100,.23); border-radius: var(--hero-radius); background: radial-gradient(ellipse 62% 58% at 8% 0,rgba(253,253,253,.96),transparent 70%),radial-gradient(ellipse 70% 74% at 84% 8%,rgba(130,130,130,.52),transparent 72%),radial-gradient(ellipse 64% 68% at 102% 104%,rgba(73,73,73,.47),transparent 72%),linear-gradient(137deg,#e8e8e8 0%,#cacaca 43%,#a6a6a6 72%,#8a8a8a 100%); box-shadow: inset 0 1px 0 rgba(255,255,255,.78),0 18px 48px rgba(66,66,66,.16); animation: hero-enter .76s cubic-bezier(.22,1,.36,1) .06s both; will-change: width,height,border-radius; }
.landing-hero::before { content: ""; position: absolute; inset: 0; z-index: 0; background: radial-gradient(ellipse 29% 36% at 8% 70%,rgba(123,123,123,.78) 0,rgba(106,106,106,.48) 38%,transparent 70%),radial-gradient(ellipse 24% 25% at 27% 13%,rgba(34,34,34,.46) 0,rgba(48,48,48,.28) 42%,transparent 72%),radial-gradient(ellipse 30% 29% at 48% 82%,rgba(116,116,116,.76) 0,rgba(96,96,96,.4) 39%,transparent 72%),radial-gradient(ellipse 28% 31% at 70% 15%,rgba(138,138,138,.68) 0,rgba(112,112,112,.35) 40%,transparent 73%),radial-gradient(ellipse 30% 38% at 84% 76%,rgba(30,30,30,.52) 0,rgba(47,47,47,.3) 42%,transparent 73%),radial-gradient(ellipse 25% 30% at 103% 38%,rgba(103,103,103,.7) 0,rgba(87,87,87,.34) 43%,transparent 74%); background-position: center; background-size: 100vw 100vh; pointer-events: none; }
.landing-hero::after { content: ""; position: absolute; inset: 0; z-index: 0; opacity: 1; background: radial-gradient(ellipse 19% 25% at 8% 40%,rgba(31,31,31,.34) 0,transparent 70%),radial-gradient(ellipse 21% 23% at 31% 57%,rgba(154,154,154,.42) 0,rgba(135,135,135,.18) 43%,transparent 71%),radial-gradient(ellipse 20% 28% at 52% 25%,rgba(33,33,33,.42) 0,rgba(51,51,51,.22) 42%,transparent 72%),radial-gradient(ellipse 24% 25% at 68% 68%,rgba(147,147,147,.48) 0,rgba(118,118,118,.2) 42%,transparent 72%),radial-gradient(ellipse 21% 27% at 91% 10%,rgba(35,35,35,.44) 0,rgba(55,55,55,.22) 42%,transparent 72%),radial-gradient(ellipse 18% 22% at 91% 48%,rgba(173,173,173,.3) 0,transparent 72%); background-position: center; background-size: 100vw 100vh; pointer-events: none; }
.landing-hero { border-color: rgba(176,176,176,.34); background: linear-gradient(118deg,#5d5d5d 0%,#525252 46%,#484848 72%,#585858 100%); box-shadow: inset 0 1px 0 rgba(255,255,255,.22),0 18px 48px rgba(36,36,36,.22); }
.hero-copy { position: absolute; z-index: 1; top: 181px; left: 64px; width: 500px; opacity: var(--hero-copy-opacity); filter: blur(var(--hero-motion-blur)); transform: translateX(var(--hero-copy-shift)); transform-origin: left center; will-change: opacity,filter,transform; }
.hero-copy > * { animation: hero-copy-enter .66s cubic-bezier(.22,1,.36,1) both; }
.hero-copy > :nth-child(1) { animation-delay: .2s; }
.hero-copy > :nth-child(2) { animation-delay: .27s; }
.hero-copy > :nth-child(3) { animation-delay: .34s; }
.hero-copy > :nth-child(4) { animation-delay: .41s; }
.hero-copy > :nth-child(5) { animation-delay: .48s; }
.hero-copy > :nth-child(6) { animation-delay: .55s; }
.hero-copy > :nth-child(7) { animation-delay: .62s; }
.platform-support { position: absolute; top: -67px; left: 2px; display: flex; align-items: center; gap: 18px; }
.platform-support span { display: grid; place-items: center; width: 34px; height: 34px; }
.platform-support img { width: 31px; height: 31px; opacity: .92; filter: brightness(0) invert(1); }
.platform-support i { width: 31px; height: 2px; background: rgba(255,255,255,.58); transform: skewX(-28deg); }
.eyebrow { display: flex; align-items: center; gap: 8px; margin: 0 0 20px; color: #666666; font: 650 10px/1.4 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .1em; }
.eyebrow > span { width: 24px; height: 1px; background: #9a9a9a; }
.hero-copy h1 { margin: 0 0 22px; color: #ffffff; font-size: 44px; font-weight: 900; line-height: 1.16; letter-spacing: 0; text-shadow: 0 2px 18px rgba(21,21,21,.2); }
.hero-copy h1 > span { color: #ffffff; }
.hero-copy h1 em { color: #efefef; font-style: normal; font-weight: inherit; }
.no-limit-copy { display: flex; align-items: baseline; gap: 9px; margin: 0 0 17px; color: rgba(255,255,255,.76); line-height: 1.45; }
.no-limit-copy strong { color: #ffffff; font-size: 12px; font-weight: 900; }
.no-limit-copy span { font-size: 10px; font-weight: 700; }
.model-support { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; margin-top: 4px; }
.model-support-label { flex-basis: 100%; margin: 0 0 2px 2px; color: #959595; font: 700 8px/1 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .12em; }
.model-brand { min-height: 34px; display: inline-flex; align-items: center; gap: 8px; padding: 6px 11px 6px 8px; border: 1px solid #e5e5e5; border-radius: 9px; color: #404040; background: #ffffff; font-size: 11px; font-weight: 700; transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease; }
.model-brand img { width: 20px; height: 20px; transition: transform .45s cubic-bezier(.22,1,.36,1); }
.model-brand.chatgpt img { color: #1f1f1f; }
.model-brand.claude img { color: #8a8a8a; }
.model-more { min-height: 34px; display: inline-flex; align-items: center; padding: 6px 10px; border: 1px dashed rgba(94,94,94,.3); border-radius: 9px; color: #747474; background: rgba(255,255,255,.38); font: 750 8px/1 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing: .08em; }
.hero-actions { display: flex; align-items: center; gap: 12px; margin: 28px 0 15px; }
.install-button, .demo-button { min-height: 58px; display: inline-flex; align-items: center; justify-content: space-between; gap: 18px; padding: 0 13px 0 20px; border-radius: 12px; font-size: 14px; font-weight: 800; letter-spacing: -.02em; text-decoration: none; transition: transform .2s, box-shadow .2s, background .2s; }
.install-button { min-width: 248px; color: #343434; background: #ffffff; box-shadow: 0 14px 34px rgba(23,23,23,.24),inset 0 0 0 1px rgba(255,255,255,.7); }
.install-button .button-arrow { color: #ffffff; background: #575757; }
.install-button:hover { color: #282828; background: #f7f7f7; box-shadow: 0 17px 38px rgba(23,23,23,.29),inset 0 0 0 1px #ffffff; transform: translateY(-2px); }
.demo-button { min-width: 158px; color: #ffffff; border: 1px solid rgba(255,255,255,.36); background: rgba(36,36,36,.24); box-shadow: inset 0 1px 0 rgba(255,255,255,.1); }
.demo-button:hover { border-color: rgba(255,255,255,.56); background: rgba(36,36,36,.36); }
.button-arrow { position: relative; width: 34px; height: 34px; flex: 0 0 auto; border-radius: 50%; background: rgba(255,255,255,.17); transition: transform .28s cubic-bezier(.22,1,.36,1),background .2s; }
.button-arrow::before { content: ""; position: absolute; top: 16px; left: 10px; width: 13px; height: 2px; border-radius: 2px; background: currentColor; }
.button-arrow::after { content: ""; position: absolute; top: 12px; right: 10px; width: 8px; height: 8px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; transform: rotate(45deg); }
.demo-button .button-arrow { color: #ffffff; background: rgba(255,255,255,.14); transform: rotate(90deg); }
.install-button:hover .button-arrow { background: #494949; transform: translateX(2px); }
.demo-button:hover .button-arrow { background: rgba(255,255,255,.23); transform: rotate(90deg) translateX(2px); }
.install-button:focus-visible, .demo-button:focus-visible { outline: 3px solid rgba(255,255,255,.7); outline-offset: 3px; }
.account-note { margin: 0 0 17px; color: #888888; font-size: 10px; line-height: 1.6; }

.install-card { --tilt-x: 0deg; --tilt-y: 0deg; position: absolute; z-index: 2; left: var(--install-left); right: var(--install-right); top: var(--install-top); bottom: var(--install-bottom); display: flex; flex-direction: column; justify-content: center; scroll-margin-top: 92px; padding: var(--install-card-padding); border: 1px solid rgba(255,255,255,.9); border-radius: 22px; background: #ffffff; box-shadow: 0 20px 46px rgba(55,55,55,.14),0 3px 10px rgba(55,55,55,.05); transform: perspective(1000px) scale(var(--hero-card-scale)) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)); transition: transform .2s cubic-bezier(.22,1,.36,1),box-shadow .28s ease; animation: install-enter .74s cubic-bezier(.22,1,.36,1) .36s both; will-change: transform; }
.install-card:hover { box-shadow: 0 30px 70px rgba(55,55,55,.19),0 4px 14px rgba(55,55,55,.08); }
.install-heading { display: flex; align-items: center; gap: 13px; }
.install-heading small, .run-after small { display: block; margin-bottom: 5px; color: #949494; font: 700 8px/1 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .14em; }
.install-heading h2 { margin: 0; color: #2d2d2d; font-size: var(--install-title-size); letter-spacing: -.03em; }
.step-dot { display: grid; place-items: center; width: 34px; height: 34px; flex: 0 0 auto; border-radius: 50%; color: #686868; background: var(--blue-soft); font: 700 11px/1 ui-monospace, SFMono-Regular, Menlo, monospace; }
.os-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 5px; margin: 27px 0 10px; padding: 4px; border-radius: 10px; background: #f4f4f4; }
.os-tab { min-height: var(--install-tab-height); border: 0; border-radius: 7px; color: #818181; background: transparent; font-size: 11px; font-weight: 700; cursor: pointer; }
.os-tab.active { color: #3e3e3e; background: #ffffff; box-shadow: 0 2px 8px rgba(60,60,60,.1); }
.install-command { min-height: var(--install-command-height); display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 12px; padding: 18px; border: 1px solid #333333; border-radius: 11px; color: #e3e3e3; background: #212121; }
.install-command[hidden] { display: none; }
.install-command.panel-enter { animation: panel-enter .36s cubic-bezier(.22,1,.36,1); }
.install-command .prompt { align-self: start; padding-top: 3px; color: #ababab; font: 700 10px/1.6 ui-monospace, SFMono-Regular, Menlo, monospace; }
.install-command code { overflow-wrap: anywhere; font: 10px/1.75 ui-monospace, SFMono-Regular, Menlo, monospace; }
.copy-button { align-self: start; padding: 7px 9px; border: 1px solid #505050; border-radius: 6px; color: #c3c3c3; background: #2d2d2d; font-size: 8px; cursor: pointer; }
.copy-button:hover { color: #ffffff; background: #373737; }
.run-after { display: flex; align-items: center; gap: 13px; margin: 23px 0 15px; }
.run-after .step-dot { width: 30px; height: 30px; }
.run-after p { margin: 0; color: #4f4f4f; font-size: 12px; font-weight: 650; }
.run-after code { padding: 3px 6px; border-radius: 5px; color: #5a5a5a; background: #f4f4f4; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; }

.model-stream { max-width: 1200px; height: 74px; display: flex; align-items: center; margin: 0 auto; overflow: hidden; scroll-margin-top: 88px; border: 1px solid #e2e2e2; border-radius: 18px; background: rgba(255,255,255,.84); box-shadow: 0 14px 34px rgba(54,54,54,.045); mask-image: linear-gradient(90deg,transparent,#000000 7%,#000000 93%,transparent); }
.model-track { width: 100%; display: flex; align-items: center; justify-content: space-evenly; gap: 24px; padding: 0 34px; color: #616161; }
.model-track span { display: inline-flex; align-items: center; gap: 9px; font-size: 12px; font-weight: 700; white-space: nowrap; }
.model-track img { width: 22px; height: 22px; }
.model-track i { color: #ababab; font-size: 7px; font-style: normal; }

.terminal-demo { overflow: hidden; border: 1px solid #333333; border-radius: 14px; background: var(--navy); box-shadow: 0 30px 70px rgba(44,44,44,.18), 0 3px 12px rgba(44,44,44,.12); }
.terminal-bar { height: 43px; display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 0 15px; border-bottom: 1px solid #373737; color: #949494; background: #282828; font: 9px/1 ui-monospace, SFMono-Regular, Menlo, monospace; }
.terminal-bar > span { display: flex; gap: 6px; }
.terminal-bar > span i { width: 7px; height: 7px; border-radius: 50%; background: #5f5f5f; }
.terminal-bar > span i:first-child { background: var(--accent); }
.terminal-bar b { font-weight: 500; }
.terminal-bar em { justify-self: end; color: #a3a3a3; font-style: normal; }
.terminal-output { min-height: 330px; padding: 27px; color: #dedede; font: 12px/1.8 ui-monospace, SFMono-Regular, Menlo, monospace; }
.terminal-output p { margin: 0 0 7px; white-space: pre-wrap; }
.terminal-output .command { margin-bottom: 21px; color: #f6f6f6; }
.terminal-output .command span { color: #ababab; }
.terminal-output .muted { color: #858585; }
.terminal-output .success { color: #b1b1b1; }
.terminal-live .terminal-output p { opacity: 0; animation: terminal-line .42s ease forwards; }
.terminal-live .terminal-output p:nth-child(1) { animation-delay: .08s; }
.terminal-live .terminal-output p:nth-child(2) { animation-delay: .18s; }
.terminal-live .terminal-output p:nth-child(3) { animation-delay: .34s; }
.terminal-live .terminal-output p:nth-child(4) { animation-delay: .48s; }
.terminal-live .terminal-output p:nth-child(5) { animation-delay: .62s; }
.terminal-live .terminal-output p:nth-child(6) { animation-delay: .76s; }
.terminal-live .terminal-output p:nth-child(7) { animation-delay: .9s; }
.terminal-live .terminal-output p:nth-child(8) { animation-delay: 1.04s; }
.terminal-live .terminal-output p:nth-child(9) { animation-delay: 1.18s; }
.sponsor-line { width: fit-content; margin: 4px 0 16px!important; padding: 6px 9px; border: 1px solid #484848; border-radius: 5px; color: #b6b6b6; background: #2d2d2d; font-size: 9px; }
.cursor { display: inline-block; width: 7px; height: 14px; background: #ababab; animation: blink 1.1s steps(1) infinite; }
@keyframes blink { 50% { opacity: 0; } }

.product-preview { position: relative; isolation: isolate; max-width: 1200px; min-height: 540px; display: grid; grid-template-columns: minmax(320px,.72fr) minmax(560px,1.28fr); gap: clamp(34px,4.5vw,64px); align-items: center; margin: 18px auto 0; padding: 64px 48px 64px 62px; scroll-margin-top: 88px; overflow: hidden; border: 1px solid rgba(69,69,69,.2); border-radius: 34px; background: radial-gradient(ellipse 48% 76% at 3% 8%,rgba(224,224,224,.32),transparent 68%),radial-gradient(ellipse 52% 68% at 100% 100%,rgba(59,59,59,.34),transparent 70%),linear-gradient(135deg,#9f9f9f 0%,#888888 46%,#6f6f6f 100%); box-shadow: 0 28px 68px rgba(60,60,60,.18); }
.product-preview::after { content: "0円"; position: absolute; z-index: 0; right: 24px; top: -46px; color: rgba(255,255,255,.13); font-size: clamp(130px,16vw,220px); font-weight: 950; line-height: 1; letter-spacing: -.09em; pointer-events: none; }
.product-preview > * { position: relative; z-index: 1; }
.preview-copy { align-self: end; padding-bottom: 22px; }
.preview-copy h2 { margin: 0; color: #ffffff; font-size: clamp(36px,3.4vw,49px); font-weight: 900; line-height: 1.25; letter-spacing: -.055em; text-shadow: 0 2px 18px rgba(46,46,46,.16); }
.preview-copy h2 em { color: #353535; font-style: normal; }
.preview-copy > p:last-child { margin: 0; color: #7f7f7f; font-size: 12px; line-height: 1.9; }
.agent-logos { display: flex; align-items: center; gap: 10px; margin-bottom: 28px; }
.agent-logos > i { width: 22px; height: 1px; background: rgba(255,255,255,.55); }
.agent-logo { min-height: 40px; display: inline-flex; align-items: center; gap: 9px; padding: 7px 11px 7px 8px; border: 1px solid rgba(255,255,255,.7); border-radius: 10px; color: #4a4a4a; background: rgba(255,255,255,.94); box-shadow: 0 9px 20px rgba(49,49,49,.1); font-size: 10px; font-weight: 800; white-space: nowrap; }
.agent-logo img { width: 24px; height: 24px; }
.agent-logo.claude-code { color: #5c5c5c; border-color: rgba(255,255,255,.72); background: rgba(250,250,250,.96); }
.agent-logo.codex { border-color: #e1e1e1; }

.business-stage { position: relative; height: calc(100vh + 820px); }
.business-model { --business-blur: 0px; position: sticky; top: 88px; width: min(1200px,calc(100% - 32px)); min-height: calc(100vh - 104px); display: grid; grid-template-columns: 1fr; align-content: center; gap: 24px; margin: 0 auto; padding: 42px 48px; overflow: hidden; border: 1px solid #d9d9d9; border-radius: 32px; color: #282828; background: radial-gradient(circle at 5% 0,rgba(255,255,255,.96),transparent 31%),linear-gradient(135deg,#fafafa 0%,#f3f3f3 48%,#e7e7e7 100%); box-shadow: 0 24px 62px rgba(70,70,70,.11); }
.business-model::after { content: ""; position: absolute; right: 0; bottom: 0; width: 34%; height: 42%; opacity: .36; background: linear-gradient(135deg,transparent 49.7%,rgba(116,116,116,.18) 50%,transparent 50.3%),linear-gradient(90deg,rgba(255,255,255,.2) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.2) 1px,transparent 1px); background-size: 100% 100%,34px 34px,34px 34px; pointer-events: none; }
.business-heading { position: relative; z-index: 1; opacity: var(--heading-progress,0); filter: blur(var(--business-blur)); transform: translateY(calc((1 - var(--heading-progress,0)) * 54px)); will-change: opacity,filter,transform; }
.business-heading h2 { margin: 0; color: #242424; font-size: clamp(38px,3.7vw,52px); font-weight: 900; line-height: 1.16; letter-spacing: -.045em; }
.business-heading h2 em { color: var(--blue); font-style: normal; }
.business-flow { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(3,1fr); align-items: stretch; border-top: 1px solid #aeaeae; border-bottom: 1px solid #cdcdcd; }
.business-flow article { --card-progress: 0; position: relative; min-height: 238px; display: flex; flex-direction: column; padding: 24px 29px 22px; opacity: var(--card-progress); filter: blur(var(--business-blur)); border-right: 1px solid #cdcdcd; transform: translateY(calc((1 - var(--card-progress)) * 44px)); will-change: opacity,filter,transform; }
.business-flow article:last-child { border-right: 0; }
.business-flow article::before { content: ""; position: absolute; top: -2px; left: 0; width: calc(var(--card-progress) * 100%); height: 2px; background: #949494; }
.business-flow .flow-token::before, .business-flow .flow-agent::before { background: #949494; }
.flow-card-title { display: block; }
.flow-card-title > span { display: block; margin-bottom: 24px; color: #878787; font: 800 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing: .12em; }
.flow-card-title strong { display: block; color: #303030; font-size: clamp(18px,1.55vw,22px); font-weight: 900; line-height: 1.35; letter-spacing: -.035em; }
.business-flow article > p { margin: auto 0 0; color: #767676; font-size: 10px; font-weight: 650; line-height: 1.65; }
.flow-detail { min-height: 55px; display: flex; align-items: flex-end; margin: 25px 0 20px; }
.sponsor-formats { gap: 14px; }
.sponsor-formats span { padding-bottom: 5px; border-bottom: 2px solid #a9a9a9; color: #585858; font-size: 11px; font-weight: 800; }
.token-count { align-items: baseline; gap: 9px; }
.token-count b { color: var(--accent-dark); font-size: 31px; font-weight: 950; line-height: 1; letter-spacing: -.055em; }
.token-count span { color: #828282; font: 800 8px/1 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing: .12em; }
.model-list { gap: 9px; color: #383838; font-size: 11px; font-weight: 850; }
.model-list i { color: #a9a9a9; font-style: normal; font-weight: 500; }
.funding-line { --funding-progress: 0; position: relative; z-index: 1; display: grid; grid-template-columns: 1fr minmax(90px,.7fr) 1.15fr auto; align-items: center; gap: 16px; padding: 15px 18px; opacity: var(--funding-progress); border: 1px solid #dbdbdb; border-radius: 16px; color: #797979; background: rgba(255,255,255,.78); box-shadow: 0 10px 28px rgba(66,66,66,.055); transform: translateY(calc((1 - var(--funding-progress)) * 28px)); }
.funding-line div { display: flex; flex-direction: column; gap: 4px; }
.funding-line small { color: #939393; font-size: 8px; font-weight: 650; }
.funding-line strong { color: #343434; font-size: 12px; font-weight: 850; }
.funding-line > i { position: relative; height: 1px; background: #b7b7b7; transform: scaleX(var(--funding-progress)); transform-origin: left center; }
.funding-line > i span { position: absolute; top: 50%; right: -2px; width: 11px; height: 11px; overflow: hidden; color: transparent; border-top: 3px solid #747474; border-right: 3px solid #747474; font-size: 0; font-style: normal; transform: translateY(-50%) rotate(45deg); }
.funding-line > b { justify-self: end; padding: 10px 13px; border-radius: 9px; color: #212121; background: var(--accent); box-shadow: 0 8px 18px rgba(186,186,186,.24); font-size: 10px; white-space: nowrap; }
.ad-options { max-width: 1200px; display: grid; grid-template-columns: minmax(280px,.55fr) minmax(650px,1.45fr); gap: 58px; margin: 0 auto; padding: 68px 58px; border: 1px solid #e3e3e3; border-radius: 30px; background: rgba(255,255,255,.92); box-shadow: 0 22px 60px rgba(59,59,59,.08); }
.ad-options-heading h2 { margin: 0; color: #252525; font-size: clamp(34px,2.8vw,38px); font-weight: 900; line-height: 1.3; letter-spacing: -.045em; }
.ad-options-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 13px; }
.ad-options-grid article { min-height: 230px; display: flex; flex-direction: column; padding: 24px; border: 1px solid #e2e2e2; border-radius: 18px; background: linear-gradient(150deg,#fcfcfc,#f5f5f5); box-shadow: 0 10px 26px rgba(59,59,59,.055); }
.ad-options-grid article > span { color:#808080; font:700 8px/1 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing:.1em; }
.ad-options-grid h3 { margin: 37px 0 11px; color:#313131; font-size:17px; font-weight:850; line-height:1.4; }
.ad-options-grid p { margin:0; color:#7f7f7f; font-size:11px; line-height:1.75; }
.ad-options-grid strong { margin-top:auto; color:var(--accent-dark); font-size:10px; }
.ad-options-grid .coming-soon { background:linear-gradient(150deg,#f7f7f7,#f1f1f1); }
.ad-options-grid .coming-soon strong { color:#959595; }
.site-footer { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:34px; max-width:1200px; margin:0 auto; padding:42px 30px 54px; color:#7c7c7c; }
.footer-brand { gap:10px; color:#343434; text-decoration:none; }
.footer-brand .brand-mark { width:30px; height:30px; }
.site-footer nav { display:flex; justify-content:center; flex-wrap:wrap; gap:10px 22px; }
.site-footer nav a { color:#737373; font-size:11px; font-weight:700; text-decoration:none; }
.site-footer nav a:hover { color:#575757; }
.site-footer p { margin:0; color:#a3a3a3; font-size:9px; white-space:nowrap; }
.js-motion .reveal-item { opacity: 0; filter: blur(8px); transform: translateY(28px) scale(.985); transition: opacity .5s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms),transform .64s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms),filter .56s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms); will-change: opacity,filter,transform; }
.js-motion .reveal-item.is-visible { opacity: 1; filter: blur(0); transform: translateY(0) scale(1); }
.js-motion .product-preview { clip-path: inset(0 100% 0 0 round 34px); transition: clip-path .95s cubic-bezier(.22,1,.36,1); }
.js-motion .product-preview.section-visible { clip-path: inset(0 0 0 0 round 34px); }
.js-motion .product-preview .preview-copy.reveal-item { filter: blur(7px); transform: translateX(-54px); transition: opacity .56s cubic-bezier(.22,1,.36,1) .18s,transform .78s cubic-bezier(.22,1,.36,1) .18s,filter .62s cubic-bezier(.22,1,.36,1) .18s; }
.js-motion .product-preview .terminal-demo.reveal-item { filter: blur(8px); transform: translate3d(82px,54px,0) rotate(2deg) scale(.94); transition: opacity .62s cubic-bezier(.22,1,.36,1) .3s,transform .92s cubic-bezier(.22,1,.36,1) .3s,filter .7s cubic-bezier(.22,1,.36,1) .3s; }
.js-motion .product-preview .reveal-item.is-visible { filter: blur(0); transform: translate3d(0,0,0) rotate(0) scale(1); }

.portal-shell { min-height: 100vh; display: grid; place-items: center; padding: 28px; background: linear-gradient(160deg,#f8f8f8 0,#fcfcfc 48%,#f3f3f3 100%); }
.portal-card { width: min(520px,100%); padding: clamp(30px,5vw,48px); border: 1px solid #e4e4e4; border-radius: 16px; background: rgba(255,255,255,.96); box-shadow: 0 28px 70px rgba(56,56,56,.12); }
.portal-brand { margin-bottom: 58px; }
.portal-card h1 { margin: 10px 0 18px; color: #272727; font-size: clamp(32px,6vw,46px); font-weight: 680; line-height: 1.08; letter-spacing: -.05em; }
.portal-copy { margin: 0 0 26px; color: #7e7e7e; font-size: 13px; line-height: 1.8; }
.portal-copy strong { color: #4e4e4e; }
.code-box { display: flex; align-items: center; justify-content: space-between; margin: 24px 0; padding: 18px 19px; border: 1px solid #e1e1e1; border-radius: 10px; background: #f8f8f8; }
.code-box span { color: #888888; font: 600 9px/1 ui-monospace, SFMono-Regular, Menlo, monospace; }
.code-box strong { color: #5e5e5e; font: 700 20px/1 ui-monospace, SFMono-Regular, Menlo, monospace; letter-spacing: .12em; }
.primary { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 49px; border: 0; border-radius: 9px; color: #ffffff; background: var(--blue); box-shadow: 0 9px 20px rgba(104,104,104,.18); font-weight: 720; text-decoration: none; cursor: pointer; }
.primary:hover { background: var(--blue-dark); }
.primary:disabled { opacity: .65; cursor: wait; }
.secondary { display: block; margin: 18px auto 0; padding: 0; border: 0; color: #858585; background: transparent; font-size: 11px; text-align: center; text-decoration: none; cursor: pointer; }
.security { margin: 15px 0 0; color: #929292; font: 9px/1.5 ui-monospace, SFMono-Regular, Menlo, monospace; text-align: center; }
.error { color: var(--danger); font-size: 11px; line-height: 1.6; }
.success-mark { display: grid; place-items: center; width: 70px; height: 70px; margin: 0 auto 32px; border-radius: 50%; color: #686868; background: #f3f3f3; font-size: 27px; }
.center { text-align: center; }
.profile { margin: 25px 0; padding: 18px; border: 1px solid #e5e5e5; border-radius: 10px; background: #fafafa; }
.profile strong, .profile span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.profile strong { color: #404040; }
.profile span { margin-top: 6px; color: #8c8c8c; font-size: 11px; }
.loading { color: #878787; font: 11px/1.6 ui-monospace, SFMono-Regular, Menlo, monospace; }
.auth-form { display: grid; gap: 16px; }
.google-auth { margin-bottom: 19px; visibility: hidden; opacity: 0; transition: opacity .16s ease; }
.google-auth.google-auth-ready { visibility: visible; opacity: 1; }
.google-auth[hidden] { display: none; }
/* GIS owns its iframe dimensions, including personalized-button padding. */
#google-button { width: 100%; min-height: 44px; display: flex; justify-content: center; overflow: visible; }
.auth-separator { display: flex; align-items: center; gap: 12px; margin: 18px 0 0; color: #a3a3a3; font-size: 9px; }
.auth-separator::before, .auth-separator::after { height: 1px; flex: 1; background: #e7e7e7; content: ""; }
.auth-field { display: grid; gap: 7px; color: #747474; font-size: 11px; font-weight: 650; }
.auth-field input { width: 100%; min-height: 48px; padding: 0 14px; border: 1px solid #e0e0e0; border-radius: 9px; color: #303030; background: #fcfcfc; font-size: 13px; outline: 0; transition: border-color .2s,box-shadow .2s,background .2s; }
.auth-field input:focus { border-color: #949494; background: #ffffff; box-shadow: 0 0 0 3px rgba(104,104,104,.1); }
.auth-field input::placeholder { color: #aaaaaa; }
.auth-error { display: none; margin: 0; padding: 11px 12px; border: 1px solid rgba(108,108,108,.2); border-radius: 8px; color: var(--danger); background: rgba(108,108,108,.05); font-size: 11px; line-height: 1.6; }
.auth-error.visible { display: block; }
.auth-switch { margin: 19px 0 0; color: #8a8a8a; font-size: 11px; text-align: center; }
.auth-switch a { color: #616161; font-weight: 750; text-decoration: none; }
.auth-switch a:hover { text-decoration: underline; }
.auth-caption { margin: -6px 0 4px; color: #9c9c9c; font-size: 9px; line-height: 1.65; }

.portal-shell.dashboard-shell { display: block; padding: 20px; background: #f1f1f1; }
.dashboard-card { width: min(1380px,100%); min-height: calc(100vh - 40px); margin: 0 auto; overflow: hidden; padding: 0; border-radius: 22px; background: #ffffff; box-shadow: 0 18px 52px rgba(54,54,54,.1); }
.dashboard-card > .portal-brand { display: none; }
.dashboard-card #portal-content, .dashboard-layout { min-height: calc(100vh - 40px); }
.dashboard-layout { display: grid; grid-template-columns: 244px minmax(0,1fr); }
.dashboard-sidebar { display: flex; flex-direction: column; padding: 28px 18px 20px; border-right: 1px solid #e8e8e8; background: #f9f9f9; }
.dashboard-brand { margin: 0 10px 46px; }
.dashboard-brand .brand-mark { width: 33px; height: 33px; }
.dashboard-nav { display: grid; gap: 5px; }
.dashboard-nav button { width: 100%; min-height: 47px; display: flex; align-items: center; gap: 12px; padding: 0 13px; border: 0; border-radius: 10px; color: #7b7b7b; background: transparent; font-size: 12px; font-weight: 700; text-align: left; cursor: pointer; transition: color .18s,background .18s,transform .18s; }
.dashboard-nav button:hover { color: #3b3b3b; background: #f3f3f3; }
.dashboard-nav button.is-active { color: #4f4f4f; background: #efefef; }
.dashboard-nav button > span { width: 24px; color: #969696; font: 800 16px/1 ui-monospace,SFMono-Regular,Menlo,monospace; text-align: center; }
.dashboard-nav button.is-active > span { color: #686868; }
.dashboard-user { min-width: 0; display: grid; grid-template-columns: 36px minmax(0,1fr); align-items: center; gap: 10px; margin: auto 6px 9px; padding-top: 24px; border-top: 1px solid #e6e6e6; }
.dashboard-avatar { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; color: #ffffff; background: #6a6a6a; font-size: 12px; font-weight: 850; }
.dashboard-user div { min-width: 0; }
.dashboard-user strong, .dashboard-user small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.dashboard-user strong { color: #404040; font-size: 10px; }
.dashboard-user small { margin-top: 4px; color: #959595; font-size: 8px; }
.dashboard-logout { min-height: 36px; display: flex; align-items: center; gap: 9px; margin: 0 6px; padding: 0 9px; border: 0; border-radius: 8px; color: #8f8f8f; background: transparent; font-size: 9px; font-weight: 700; cursor: pointer; }
.dashboard-logout:hover { color: #6b6b6b; background: #f4f4f4; }
.dashboard-main { min-width: 0; padding: 42px clamp(28px,4vw,58px) 54px; background: #ffffff; }
.dashboard-head { min-height: 70px; display: flex; align-items: flex-start; justify-content: space-between; gap: 30px; margin-bottom: 34px; padding-bottom: 23px; border-bottom: 1px solid #e9e9e9; }
.dashboard-head h1 { margin: 0 0 9px; color: #2a2a2a; font-size: clamp(27px,3vw,36px); font-weight: 850; letter-spacing: -.04em; }
.dashboard-head p { margin: 0; color: #919191; font-size: 10px; }
.account-status { display: flex; align-items: center; gap: 7px; margin-top: 7px; color: #848484; font: 750 8px/1 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing: .08em; }
.account-status i { width: 7px; height: 7px; border-radius: 50%; background: #929292; box-shadow: 0 0 0 4px rgba(146,146,146,.11); }
.dashboard-stats { display: grid; grid-template-columns: 1.25fr .9fr 1fr; border-top: 1px solid #d7d7d7; border-bottom: 1px solid #dfdfdf; }
.dashboard-stats article { position: relative; min-height: 220px; display: flex; flex-direction: column; padding: 27px 28px 24px; border-right: 1px solid #dfdfdf; }
.dashboard-stats article:last-child { border-right: 0; }
.dashboard-stats article > span, .panel-heading span { color: #8a8a8a; font: 800 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing: .11em; }
.dashboard-stats article > strong { margin-top: 36px; color: #323232; font-size: clamp(28px,3.2vw,44px); font-weight: 900; line-height: 1; letter-spacing: -.06em; }
.dashboard-stats article > p { margin: 9px 0 0; color: #828282; font-size: 11px; line-height: 1.55; }
.dashboard-stats article > b { margin-top: auto; color: #838383; font-size: 9px; font-weight: 700; }
.dashboard-stats .token-balance { background: linear-gradient(145deg,#f3f3f3 0%,#fafafa 100%); }
.dashboard-stats .token-balance > strong { color: #575757; font-size: clamp(46px,5.4vw,70px); }
.connection-stat > strong { font-size: clamp(22px,2.5vw,34px) !important; letter-spacing: -.04em !important; }
.connection-stat > b { display: flex; align-items: center; gap: 7px; }
.connection-stat > b i { width: 7px; height: 7px; border-radius: 50%; background: #aeaeae; }
.connection-stat.is-active > b { color: #666666; }
.connection-stat.is-active > b i { background: #8d8d8d; box-shadow: 0 0 0 4px rgba(141,141,141,.12); }
.dashboard-columns { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(300px,.65fr); gap: 18px; margin-top: 18px; }
.dashboard-panel { min-height: 305px; padding: 27px; border: 1px solid #e2e2e2; border-radius: 16px; background: #fcfcfc; }
.panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; padding-bottom: 20px; border-bottom: 1px solid #e7e7e7; }
.panel-heading h2 { margin: 8px 0 0; color: #343434; font-size: 20px; font-weight: 850; letter-spacing: -.04em; }
.panel-heading > b { color: #939393; font-size: 9px; font-weight: 650; }
.usage-list { margin: 0; padding: 0; list-style: none; }
.usage-list li { display: grid; grid-template-columns: minmax(100px,1fr) auto 110px; align-items: center; gap: 18px; min-height: 54px; border-bottom: 1px solid #ececec; color: #727272; font-size: 10px; }
.usage-list li:last-child { border-bottom: 0; }
.usage-model { overflow: hidden; color: #3b3b3b; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.usage-tokens { font-family: ui-monospace,SFMono-Regular,Menlo,monospace; color: #5d5d5d; }
.usage-list time { color: #959595; text-align: right; }
.usage-list .usage-empty { display: block; padding: 38px 0; border: 0; color: #959595; line-height: 1.8; }
.start-panel { display: flex; flex-direction: column; background: linear-gradient(150deg,#fafafa,#f3f3f3); }
.start-panel > p { margin: 23px 0 20px; color: #777777; font-size: 11px; line-height: 1.8; }
.dashboard-command { display: flex; align-items: center; gap: 11px; margin-bottom: 18px; padding: 14px; border: 1px solid #dedede; border-radius: 9px; color: #484848; background: rgba(255,255,255,.8); font: 700 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace; }
.dashboard-command span { color: #969696; }
.start-panel .primary { margin-top: auto; }
.token-detail { display: grid; grid-template-columns: minmax(260px,.72fr) minmax(360px,1.28fr); overflow: hidden; border: 1px solid #e1e1e1; border-radius: 17px; background: #fcfcfc; }
.token-detail-balance { min-height: 330px; display: flex; flex-direction: column; justify-content: center; padding: 40px; background: linear-gradient(145deg,#f0f0f0,#f9f9f9); }
.token-detail-balance > span, .token-detail-action > span { color: #828282; font: 800 9px/1 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing: .1em; }
.token-detail-balance strong { margin-top: 28px; color: #575757; font-size: clamp(58px,7vw,82px); line-height: 1; letter-spacing: -.07em; }
.token-detail-balance p { margin: 10px 0 0; color: #818181; font-size: 11px; }
.token-detail-action { display: flex; flex-direction: column; justify-content: center; padding: 42px clamp(30px,4vw,56px); }
.token-detail-action h2 { margin: 17px 0 15px; color: #313131; font-size: clamp(24px,3vw,34px); line-height: 1.35; letter-spacing: -.045em; }
.token-detail-action > p { margin: 0 0 24px; color: #818181; font-size: 11px; line-height: 1.8; }
.token-note { min-height: 0; margin-top: 18px; }
.token-rules { display: grid; grid-template-columns: repeat(3,1fr); }
.token-rules p { display: grid; gap: 10px; margin: 0; padding: 22px 20px 4px; border-right: 1px solid #e8e8e8; }
.token-rules p:last-child { border-right: 0; }
.token-rules b { color: #424242; font-size: 11px; }
.token-rules span { color: #888888; font-size: 9px; line-height: 1.7; }
.usage-summary { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; margin-bottom: 18px; }
.usage-summary article { min-height: 145px; padding: 24px; border: 1px solid #e4e4e4; border-radius: 14px; background: #fcfcfc; }
.usage-summary span { color: #8e8e8e; font-size: 9px; font-weight: 700; }
.usage-summary strong { display: block; margin-top: 24px; color: #3b3b3b; font-size: 28px; line-height: 1; letter-spacing: -.04em; }
.usage-summary p { margin: 7px 0 0; color: #a1a1a1; font: 8px/1 ui-monospace,SFMono-Regular,Menlo,monospace; }
.connection-detail { overflow: hidden; border: 1px solid #e2e2e2; border-radius: 17px; background: #fcfcfc; }
.connection-detail-status { min-height: 180px; display: flex; align-items: center; gap: 21px; padding: 36px clamp(28px,4vw,48px); border-bottom: 1px solid #e6e6e6; background: #f8f8f8; }
.connection-light { width: 18px; height: 18px; flex: 0 0 auto; border-radius: 50%; background: #b2b2b2; box-shadow: 0 0 0 9px rgba(148,148,148,.11); }
.connection-detail.is-active .connection-light { background: #929292; box-shadow: 0 0 0 9px rgba(146,146,146,.12); }
.connection-detail-status small { color: #898989; font: 800 8px/1 ui-monospace,SFMono-Regular,Menlo,monospace; letter-spacing: .1em; }
.connection-detail-status h2 { margin: 10px 0 8px; color: #353535; font-size: 28px; letter-spacing: -.04em; }
.connection-detail-status p, .connection-detail-body > p { margin: 0; color: #868686; font-size: 10px; line-height: 1.7; }
.connection-detail-body { max-width: 600px; padding: 38px clamp(28px,4vw,48px) 44px; }
.connection-detail-body h3 { margin: 0 0 10px; color: #3b3b3b; font-size: 17px; }
.connection-detail-body .dashboard-command { margin: 24px 0 16px; }
.connection-detail-body .primary { max-width: 280px; }
.dashboard-loading { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.dashboard-loading span { height: 220px; border-radius: 16px; background: linear-gradient(100deg,#f4f4f4 20%,#fafafa 40%,#f4f4f4 60%); background-size: 220% 100%; animation: dashboard-shimmer 1.3s linear infinite; }
.dashboard-error { max-width: 520px; margin: 80px auto; text-align: center; }
.dashboard-error p:not(.eyebrow) { margin: 0 0 24px; color: #828282; font-size: 12px; }

@media (max-width: 1020px) {
  .nav-links { display: none; }
  .hero-stage { height: auto; }
  .landing-hero { position: relative; top: auto; width: auto; height: auto; min-height: 590px; grid-template-columns: 1fr; gap: 42px; max-width: 760px; padding: 58px 48px 48px; border-radius: 38px; }
  .hero-copy { position: relative; top: auto; left: auto; width: auto; opacity: 1; transform: none; }
  .platform-support { position: relative; top: auto; left: auto; margin: 0 0 24px 2px; }
  .install-card { position: relative; inset: auto; display: block; padding: 31px; transform: perspective(1000px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)); }
  .product-preview { grid-template-columns: 1fr; max-width: 704px; padding: 50px; }
  .preview-copy { align-self: auto; padding-bottom: 0; }
  .business-stage { height: auto; }
  .business-model { position: relative; top: auto; grid-template-columns: 1fr; width: min(760px,calc(100% - 32px)); min-height: 0; }
  .funding-line { grid-column: 1; }
  .ad-options { grid-template-columns: 1fr; max-width: 760px; }
  .models-band { padding: 62px 16px 94px; border-radius: 40px 40px 0 0; }
  .mechanism-band { margin-top: -34px; padding: 72px 0 82px; border-radius: 40px 40px 0 0; }
  .sponsor-types-band { margin-top: -34px; padding: 76px 16px 90px; border-radius: 40px 40px 0 0; }
  .dashboard-layout { grid-template-columns: 210px minmax(0,1fr); }
  .dashboard-main { padding-right: 28px; padding-left: 28px; }
  .dashboard-stats { grid-template-columns: 1fr 1fr; }
  .dashboard-stats article:nth-child(2) { border-right: 0; }
  .dashboard-stats article:last-child { grid-column: 1 / -1; border-top: 1px solid #dfdfdf; }
  .dashboard-columns { grid-template-columns: 1fr; }
  .token-detail { grid-template-columns: 1fr; }
  .token-detail-balance { min-height: 230px; }
}
@media (max-width: 650px) {
  .landing-nav { height: 72px; padding: 0 14px; }
  .nav-links { display: none; }
  .nav-actions { gap: 8px; }
  .account-button { max-width: 150px; padding: 9px 11px; }
  .landing-hero { margin: 0 8px; min-height: 0; gap: 30px; padding: 46px 14px 14px; border-radius: 26px; }
  .hero-copy { padding: 0 6px 25px; }
  .hero-copy h1 { font-size: clamp(43px,13vw,54px); }
  .hero-copy h1 br { display: block; }
  .no-limit-copy { align-items: flex-start; flex-direction: column; gap: 2px; }
  .hero-actions { align-items: stretch; flex-direction: column; }
  .install-button, .demo-button { width: 100%; }
  .install-card { padding: 22px 16px; border-radius: 14px; }
  .install-heading { padding: 0 4px; }
  .install-heading h2 { font-size: 19px; }
  .install-command { grid-template-columns: auto minmax(0,1fr); padding: 15px 13px; }
  .copy-button { grid-column: 2; justify-self: start; }
  .terminal-output { min-height: 330px; padding: 21px 17px; font-size: 10px; }
  .terminal-bar { grid-template-columns: 1fr auto; }
  .terminal-bar b { display: none; }
  .models-band { padding: 42px 8px 74px; border-radius: 28px 28px 0 0; }
  .model-stream { height: auto; min-height: 116px; margin: 0; mask-image: none; }
  .model-track { display: grid; grid-template-columns: 1fr 1fr; gap: 20px 8px; padding: 20px 12px; }
  .model-track span { justify-content: center; }
  .model-track i { display: none; }
  .product-preview { margin: 8px 0 0; padding: 38px 20px 20px; border-radius: 22px; }
  .product-preview::after { right: 10px; top: -18px; font-size: 112px; }
  .mechanism-band { margin-top: -26px; padding: 54px 0 64px; border-radius: 28px 28px 0 0; }
  .business-model { width: auto; margin: 0 8px 50px; padding: 38px 20px 20px; border-radius: 22px; }
  .business-flow { grid-template-columns: 1fr; }
  .business-flow article { border-right: 0; border-bottom: 1px solid #cdcdcd; }
  .business-flow article:last-child { border-bottom: 0; }
  .flow-arrow { width: 18px; height: 42px; justify-self: center; transform: translateY(calc((1 - var(--arrow-progress)) * -5px)); }
  .flow-arrow::before { top: 0; left: 8px; width: 3px; height: 36px; transform: scaleY(var(--arrow-progress)); transform-origin: center top; }
  .flow-arrow::after { top: auto; right: 2px; bottom: 1px; transform: rotate(135deg); }
  .business-flow article { min-height: 218px; }
  .funding-line { grid-template-columns: 1fr; gap: 12px; text-align: left; }
  .funding-line > i { width: 1px; height: 30px; justify-self: center; transform: scaleY(var(--funding-progress)); transform-origin: center top; }
  .funding-line > i span { top: auto; right: auto; bottom: -2px; left: 50%; transform: translate(-50%,50%) rotate(135deg); }
  .funding-line > b { justify-self: stretch; text-align: center; }
  .sponsor-types-band { margin-top: -26px; padding: 54px 8px 70px; border-radius: 28px 28px 0 0; }
  .ad-options { margin: 0; padding: 38px 20px 20px; border-radius: 22px; }
  .ad-options-grid { grid-template-columns: 1fr; }
  .ad-options-grid article { min-height: 190px; }
  .site-footer { grid-template-columns:1fr; justify-items:start; gap:24px; padding:36px 24px 44px; }
  .site-footer nav { justify-content:flex-start; gap:14px 20px; }
  .portal-shell { padding: 14px; }
  .portal-card { padding: 28px 22px; }
  .portal-brand { margin-bottom: 43px; }
  .code-box { align-items: flex-start; flex-direction: column; gap: 12px; }
  .portal-shell.dashboard-shell { padding: 0; }
  .dashboard-card { min-height: 100vh; padding: 0; border: 0; border-radius: 0; }
  .dashboard-card #portal-content, .dashboard-layout { min-height: 100vh; }
  .dashboard-layout { display: block; }
  .dashboard-sidebar { position: sticky; top: 0; z-index: 10; display: grid; grid-template-columns: 1fr auto; padding: 15px 14px 0; border-right: 0; border-bottom: 1px solid #e4e4e4; background: rgba(251,251,251,.96); backdrop-filter: blur(14px); }
  .dashboard-brand { margin: 0; }
  .dashboard-brand .brand-mark { width: 31px; height: 31px; }
  .dashboard-user { display: none; }
  .dashboard-logout { grid-column: 2; grid-row: 1; margin: 0; }
  .dashboard-nav { grid-column: 1 / -1; grid-row: 2; display: flex; gap: 3px; margin-top: 12px; overflow-x: auto; scrollbar-width: none; }
  .dashboard-nav::-webkit-scrollbar { display: none; }
  .dashboard-nav button { width: auto; min-width: max-content; min-height: 42px; padding: 0 12px; border-radius: 9px 9px 0 0; }
  .dashboard-nav button > span { display: none; }
  .dashboard-main { padding: 28px 16px 42px; }
  .dashboard-head { align-items: flex-start; margin-bottom: 24px; }
  .dashboard-head h1 { font-size: 32px; }
  .account-status { display: none; }
  .dashboard-stats { grid-template-columns: 1fr; }
  .dashboard-stats article, .dashboard-stats article:nth-child(2) { min-height: 185px; border-right: 0; border-bottom: 1px solid #dfdfdf; }
  .dashboard-stats article:last-child { grid-column: auto; border-top: 0; border-bottom: 0; }
  .dashboard-panel { padding: 22px 17px; }
  .token-detail-balance, .token-detail-action { padding: 30px 22px; }
  .token-detail-balance { min-height: 205px; }
  .token-detail-action h2 br { display: none; }
  .token-rules, .usage-summary { grid-template-columns: 1fr; }
  .token-rules p { border-right: 0; border-bottom: 1px solid #e8e8e8; }
  .token-rules p:last-child { border-bottom: 0; }
  .usage-list li { grid-template-columns: 1fr auto; gap: 7px 12px; padding: 12px 0; }
  .usage-list time { grid-column: 1 / -1; text-align: left; }
  .dashboard-loading { grid-template-columns: 1fr; }
}
@media (hover: hover) {
  .brand:hover .brand-mark { animation: logo-flutter .7s cubic-bezier(.2,.8,.2,1); }
  .model-brand:hover { border-color: #d7d7d7; box-shadow: 0 6px 16px rgba(60,60,60,.08); transform: translateY(-2px); }
  .model-brand.chatgpt:hover img { transform: rotate(32deg) scale(1.05); }
  .model-brand.claude:hover img { transform: rotate(-14deg) scale(1.12); }
}
@keyframes logo-flutter {
  0%,100% { transform: translateY(0) rotate(0); }
  24% { transform: translateY(-3px) rotate(-7deg) scale(1.04); }
  52% { transform: translateY(-2px) rotate(6deg) scale(1.06); }
  76% { transform: translateY(-1px) rotate(-3deg); }
}
@keyframes nav-dock-enter { from { opacity: 0; transform: translate(-50%,-120%); } to { opacity: 1; transform: translate(-50%,0); } }
@keyframes hero-enter { from { opacity: 0; transform: translateY(22px) scale(.985); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes hero-copy-enter { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
@keyframes install-enter { from { opacity: 0; transform: perspective(1000px) translateX(24px) scale(var(--hero-card-scale)) rotateY(-2deg); } to { opacity: 1; transform: perspective(1000px) scale(var(--hero-card-scale)) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)); } }
@keyframes panel-enter { from { opacity: 0; transform: translateY(7px) scale(.99); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes dashboard-shimmer { to { background-position: -120% 0; } }
@keyframes terminal-line { from { opacity: 0; transform: translateY(7px); } to { opacity: 1; transform: translateY(0); } }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .cursor, .brand:hover .brand-mark, .landing-hero, .hero-copy > *, .install-card, .terminal-live .terminal-output p { animation: none; }
  .model-brand, .model-brand img { transition: none; }
  .js-motion .reveal-item { opacity: 1; filter: none; transform: none; transition: none; }
  .js-motion .product-preview { clip-path: none; transition: none; }
  .hero-stage { height: auto; }
  .landing-hero { position: relative; width: min(1200px,100%); height: auto; min-height: 590px; border-radius: 38px; }
  .landing-nav.docked { animation: none; transform: translate(-50%,0); }
}
