:root{
  --oc-bg:#0a0a0a;
  --oc-elev:#111;
  --oc-soft:#151515;
  --oc-ink:#f5f5f5;
  --oc-body:rgba(255,255,255,.72);
  --oc-mute:rgba(255,255,255,.56);
  --oc-faint:rgba(255,255,255,.36);
  --oc-line:rgba(255,255,255,.09);
  --oc-line-strong:rgba(255,255,255,.14);
  --oc-accent:#b9ffcb;
  --oc-accent-dim:rgba(185,255,203,.12);
  --oc-max:1160px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--oc-bg)}
body.oc-page{
  margin:0;
  background:var(--oc-bg);
  color:var(--oc-ink);
  font-family:Inter,"Noto Sans TC","PingFang TC",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.oc-page main{overflow:hidden}
.oc-wrap{width:min(var(--oc-max),calc(100% - 48px));margin:0 auto}
.oc-eyebrow{
  margin:0 0 18px;
  color:var(--oc-accent);
  font-size:11px;
  line-height:1.3;
  font-weight:600;
  letter-spacing:.13em;
}
.oc-hero{
  position:relative;
  min-height:720px;
  display:flex;
  align-items:center;
  border-bottom:1px solid var(--oc-line);
  background:
    radial-gradient(circle at 77% 45%,rgba(185,255,203,.055),transparent 26%),
    linear-gradient(180deg,#0a0a0a 0%,#0b0d0c 100%);
}
.oc-hero-grid{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  gap:72px;
  align-items:center;
  padding:128px 0 96px;
}
.oc-hero-copy h1{
  margin:0;
  max-width:780px;
  font-size:clamp(40px,4.5vw,56px);
  line-height:1.06;
  letter-spacing:-.04em;
  font-weight:560;
}
.oc-hero-line{
  margin:18px 0 0;
  color:var(--oc-accent);
  font-size:clamp(20px,2vw,28px);
  line-height:1.25;
  letter-spacing:-.025em;
  font-weight:520;
}
.oc-lead{
  max-width:760px;
  margin:28px 0 0;
  color:var(--oc-body);
  font-size:16px;
  line-height:1.82;
}
.oc-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:32px}
.oc-btn{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 17px;
  border:1px solid var(--oc-line-strong);
  border-radius:8px;
  background:rgba(255,255,255,.02);
  color:var(--oc-ink);
  text-decoration:none;
  font-size:13px;
  font-weight:540;
  transition:.2s ease;
}
.oc-btn:hover{border-color:rgba(255,255,255,.28);background:rgba(255,255,255,.05)}
.oc-btn-primary{background:var(--oc-accent);border-color:var(--oc-accent);color:#07120b}
.oc-btn-primary:hover{background:#d0ffdc;border-color:#d0ffdc}
.oc-hero-note{
  max-width:720px;
  margin:22px 0 0;
  padding-left:14px;
  border-left:1px solid rgba(185,255,203,.35);
  color:var(--oc-mute);
  font-size:12px;
  line-height:1.7;
}
.oc-hero-visual{display:flex;justify-content:center;align-items:center;min-height:430px}
.oc-orbit{position:relative;width:390px;height:390px}
.oc-ring{
  position:absolute;
  inset:40px;
  border:1px solid var(--oc-line);
  border-radius:50%;
}
.oc-ring-b{inset:92px;border-color:rgba(185,255,203,.15)}
.oc-core{
  position:absolute;
  inset:50%;
  width:112px;
  height:112px;
  transform:translate(-50%,-50%);
  border:1px solid rgba(185,255,203,.26);
  border-radius:50%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  background:#0d120f;
  box-shadow:0 0 80px rgba(185,255,203,.06);
}
.oc-core strong{font-size:22px;letter-spacing:.12em}
.oc-core small{margin-top:6px;color:var(--oc-mute);font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.oc-node{
  position:absolute;
  width:84px;
  min-height:48px;
  padding:9px 10px;
  border:1px solid var(--oc-line-strong);
  border-radius:8px;
  background:#0d0f0e;
  display:flex;
  align-items:center;
  gap:8px;
  box-shadow:0 10px 30px rgba(0,0,0,.22);
}
.oc-node b{color:var(--oc-accent);font-size:10px;font-weight:600}
.oc-node span{font-size:11px;color:var(--oc-body)}
.n1{left:12px;top:76px}.n2{right:4px;top:78px}.n3{right:-4px;top:210px}
.n4{right:67px;bottom:7px}.n5{left:62px;bottom:3px}.n6{left:-7px;top:216px}
.oc-section{padding:104px 0;border-bottom:1px solid var(--oc-line)}
.oc-section-alt{background:#0d0e0d}
.oc-section-head{max-width:790px;margin-bottom:44px}
.oc-section-head h2,.oc-closing h2{
  margin:0;
  font-size:clamp(28px,3.2vw,40px);
  line-height:1.1;
  letter-spacing:-.03em;
  font-weight:560;
}
.oc-section-head h2 span,.oc-closing h2 span{color:rgba(255,255,255,.5)}
.oc-section-head>p:last-child{
  margin:20px 0 0;
  color:var(--oc-body);
  font-size:15px;
  line-height:1.75;
}
.oc-timeline{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--oc-line);
  border-left:1px solid var(--oc-line);
}
.oc-stage{
  min-height:260px;
  padding:28px;
  border-right:1px solid var(--oc-line);
  border-bottom:1px solid var(--oc-line);
  background:#0c0c0c;
}
.oc-stage-active,.oc-stage-growth{background:linear-gradient(180deg,rgba(185,255,203,.045),rgba(185,255,203,.012))}
.oc-stage-no{display:block;color:var(--oc-accent);font-size:10px;font-weight:600;letter-spacing:.1em}
.oc-stage h3,.oc-agent-grid h3,.oc-gate-grid h3,.oc-boundary-grid h3{
  margin:40px 0 12px;
  font-size:23px;
  line-height:1.2;
  letter-spacing:-.025em;
  font-weight:550;
}
.oc-stage p,.oc-agent-grid p,.oc-gate-grid p,.oc-boundary-grid p{
  margin:0;color:var(--oc-body);font-size:14px;line-height:1.72;
}
.oc-stage small{
  display:block;
  margin-top:24px;
  padding-top:16px;
  border-top:1px solid var(--oc-line);
  color:var(--oc-mute);
  font-size:11px;
  line-height:1.6;
}
.oc-state-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.oc-state-grid article{
  min-height:225px;
  padding:24px;
  border:1px solid var(--oc-line);
  border-radius:10px;
  background:#101110;
}
.oc-state-grid article>span{color:var(--oc-accent);font-size:11px;font-weight:600}
.oc-state-grid article>div{margin-top:48px}
.oc-state-grid strong{display:block;font-size:18px;font-weight:550}
.oc-state-grid small{display:block;margin-top:6px;color:var(--oc-mute);font-size:10px;letter-spacing:.08em;text-transform:uppercase}
.oc-state-grid p{margin:18px 0 0;color:var(--oc-body);font-size:13px;line-height:1.65}
.oc-agent-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.oc-agent-grid article{
  min-height:255px;
  padding:26px;
  border:1px solid var(--oc-line);
  border-radius:10px;
  background:#0e0f0e;
}
.oc-agent-grid article>span,.oc-gate-grid article>span,.oc-boundary-grid article>span{
  color:var(--oc-accent);font-size:10px;font-weight:600;letter-spacing:.09em;
}
.oc-agent-grid h3{margin-top:32px}
.oc-agent-grid small{
  display:block;
  margin-top:22px;
  color:var(--oc-mute);
  font-size:11px;
}
.oc-truth-flow{
  margin-top:24px;
  display:grid;
  grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;
  gap:12px;
  align-items:center;
}
.oc-truth-flow>div{
  min-height:96px;
  padding:18px;
  border:1px solid var(--oc-line);
  border-radius:8px;
  background:#0c0d0c;
}
.oc-truth-flow span{display:block;color:var(--oc-mute);font-size:9px;letter-spacing:.09em}
.oc-truth-flow strong{display:block;margin-top:18px;font-size:14px;font-weight:540}
.oc-truth-flow i{color:var(--oc-faint);font-style:normal;font-size:16px}
.oc-truth-flow .oc-truth{border-color:rgba(185,255,203,.24);background:rgba(185,255,203,.045)}
.oc-gate-grid,.oc-boundary-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.oc-gate-grid article,.oc-boundary-grid article{
  min-height:235px;
  padding:28px;
  border:1px solid var(--oc-line);
  border-radius:10px;
  background:#101110;
}
.oc-gate-grid h3,.oc-boundary-grid h3{margin-top:42px}
.oc-gate-result{
  margin-top:20px;
  padding:32px;
  border:1px solid rgba(185,255,203,.25);
  border-radius:10px;
  background:linear-gradient(90deg,rgba(185,255,203,.055),rgba(185,255,203,.015));
}
.oc-gate-result span{display:block;color:var(--oc-accent);font-size:10px;letter-spacing:.1em}
.oc-gate-result strong{display:block;margin-top:14px;font-size:26px;font-weight:560;letter-spacing:-.02em}
.oc-gate-result p{max-width:840px;margin:14px 0 0;color:var(--oc-body);font-size:13px;line-height:1.7}
.oc-growth{
  border:1px solid var(--oc-line);
  border-radius:12px;
  overflow:hidden;
  background:#0c0d0c;
}
.oc-growth-start,.oc-growth-end{padding:30px;text-align:center}
.oc-growth-start span,.oc-growth-end span{display:block;color:var(--oc-accent);font-size:10px;letter-spacing:.1em}
.oc-growth-start strong,.oc-growth-end strong{display:block;margin-top:12px;font-size:22px;font-weight:550}
.oc-growth-start small{display:block;margin-top:7px;color:var(--oc-mute);font-size:10px}
.oc-growth-branches{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-top:1px solid var(--oc-line);
  border-bottom:1px solid var(--oc-line);
}
.oc-growth-branches article{padding:28px;min-height:180px;border-right:1px solid var(--oc-line)}
.oc-growth-branches article:last-child{border-right:0}
.oc-growth-branches span{color:var(--oc-accent);font-size:9px;letter-spacing:.1em}
.oc-growth-branches strong{display:block;margin-top:36px;font-size:15px;line-height:1.5;font-weight:530}
.oc-growth-branches small{display:block;margin-top:10px;color:var(--oc-mute);font-size:10px}
.oc-callout{
  margin:20px 0 0;
  padding:18px 20px;
  border-left:1px solid var(--oc-accent);
  background:rgba(185,255,203,.035);
  color:var(--oc-body);
  font-size:13px;
  line-height:1.75;
}
.oc-closing{
  padding:120px 0;
  background:
    radial-gradient(circle at 20% 50%,rgba(185,255,203,.055),transparent 25%),
    #090a09;
}
.oc-closing p:not(.oc-eyebrow){
  max-width:760px;
  margin:22px 0 0;
  color:var(--oc-body);
  font-size:15px;
  line-height:1.78;
}
.oc-footer{padding:26px 0;border-top:1px solid var(--oc-line);background:#080808}
.oc-footer .oc-wrap{display:flex;justify-content:space-between;gap:20px;color:var(--oc-mute);font-size:11px}
.oc-footer a{color:var(--oc-body);text-decoration:none}
@media (max-width:980px){
  .oc-hero{min-height:auto}
  .oc-hero-grid{grid-template-columns:1fr;gap:30px;padding:120px 0 70px}
  .oc-hero-visual{min-height:360px}
  .oc-orbit{width:330px;height:330px}
  .oc-timeline,.oc-agent-grid{grid-template-columns:repeat(2,1fr)}
  .oc-state-grid{grid-template-columns:repeat(2,1fr)}
  .oc-truth-flow{grid-template-columns:1fr;gap:8px}
  .oc-truth-flow i{transform:rotate(90deg);text-align:center}
}
@media (max-width:700px){
  .oc-wrap{width:min(100% - 30px,var(--oc-max))}
  .oc-hero-grid{padding:104px 0 58px}
  .oc-hero-copy h1{font-size:clamp(32px,8.2vw,40px);line-height:1.08;letter-spacing:-.035em}
  .oc-hero-line{font-size:20px}
  .oc-lead{font-size:15px;line-height:1.72}
  .oc-hero-visual{min-height:300px;transform:scale(.88);margin:-20px 0}
  .oc-section{padding:76px 0}
  .oc-section-head{margin-bottom:30px}
  .oc-timeline,.oc-agent-grid,.oc-state-grid,.oc-gate-grid,.oc-boundary-grid{grid-template-columns:1fr}
  .oc-stage{min-height:220px}
  .oc-state-grid article{min-height:190px}
  .oc-growth-branches{grid-template-columns:1fr}
  .oc-growth-branches article{border-right:0;border-bottom:1px solid var(--oc-line)}
  .oc-growth-branches article:last-child{border-bottom:0}
  .oc-actions{flex-direction:column}
  .oc-btn{width:100%}
  .oc-closing{padding:90px 0}
  .oc-footer .oc-wrap{flex-direction:column}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .oc-btn{transition:none}
}
/* MOTION ICONS v1 2026-09-22 */
.oc-motion-icon{
  width:28px;height:28px;flex:0 0 28px;display:inline-flex;
  align-items:center;justify-content:center;color:var(--oc-accent);
  opacity:.92;filter:drop-shadow(0 0 10px rgba(185,255,203,.05));
}
.oc-motion-icon svg{
  width:100%;height:100%;overflow:visible;fill:none;stroke:currentColor;
  stroke-width:1.45;stroke-linecap:round;stroke-linejoin:round;
}
.oc-state-title{display:flex;align-items:center;gap:13px;margin-top:48px}
.oc-state-title>div{margin:0!important}
.oc-state-grid article>div.oc-state-title{margin-top:48px}
.oc-agent-title{display:flex;align-items:center;gap:12px}
.oc-agent-title .oc-agent-icon{width:25px;height:25px;flex-basis:25px}
.oc-heading-with-icon{display:flex;align-items:flex-start;gap:16px}
.oc-heading-with-icon>.oc-motion-icon{width:34px;height:34px;flex-basis:34px;margin-top:2px}
.oc-heading-with-icon h2{margin:0}

@keyframes ocPulseRing{0%,100%{transform:scale(.88);opacity:.28}50%{transform:scale(1.08);opacity:.86}}
@keyframes ocPulseCore{0%,100%{opacity:.74}50%{opacity:1}}
@keyframes ocScanLine{0%{transform:translateY(0);opacity:.18}50%{opacity:1}100%{transform:translateY(8px);opacity:.18}}
@keyframes ocCheckDraw{0%,20%{stroke-dashoffset:14;opacity:.2}55%,100%{stroke-dashoffset:0;opacity:1}}
@keyframes ocSoftGlow{0%,100%{filter:drop-shadow(0 0 0 rgba(185,255,203,0))}50%{filter:drop-shadow(0 0 7px rgba(185,255,203,.28))}}
@keyframes ocGrowDraw{0%,15%{stroke-dashoffset:20;opacity:.35}60%,100%{stroke-dashoffset:0;opacity:1}}
@keyframes ocOrbitDot{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@keyframes ocLensMark{0%,100%{opacity:.25;transform:scaleY(.45)}50%{opacity:1;transform:scaleY(1)}}
@keyframes ocNetwork{0%,100%{opacity:.55}50%{opacity:1}}
@keyframes ocBalance{0%,100%{transform:rotate(-1.6deg)}50%{transform:rotate(1.6deg)}}
@keyframes ocBubble1{0%,100%{transform:translateY(2px);opacity:.35}50%{transform:translateY(-2px);opacity:1}}
@keyframes ocBubble2{0%,100%{transform:translateY(0);opacity:.7}50%{transform:translateY(-3px);opacity:.25}}
@keyframes ocHistoryMark{0%,100%{transform:translateX(-1px);opacity:.45}50%{transform:translateX(2px);opacity:1}}

.oc-motion-pulse{animation:ocPulseCore 3.2s ease-in-out infinite}
.oc-motion-pulse .oc-ring-pulse{transform-origin:12px 12px;animation:ocPulseRing 3.2s ease-in-out infinite}
.oc-motion-scan .oc-scan-line{animation:ocScanLine 2.6s ease-in-out infinite}
.oc-motion-glow{animation:ocSoftGlow 3.8s ease-in-out infinite}
.oc-motion-glow .oc-check{stroke-dasharray:14;stroke-dashoffset:14;animation:ocCheckDraw 3.8s ease-in-out infinite}
.oc-motion-grow .oc-stem,.oc-motion-grow .oc-branch{stroke-dasharray:20;stroke-dashoffset:20;animation:ocGrowDraw 4.4s ease-in-out infinite}
.oc-motion-grow .oc-branch:nth-of-type(2){animation-delay:.22s}
.oc-motion-grow .oc-branch:nth-of-type(3){animation-delay:.42s}
.oc-motion-grow .oc-branch:nth-of-type(4){animation-delay:.62s}
.oc-motion-orbit .oc-orbit-dot{transform-origin:12px 12px;animation:ocOrbitDot 8s linear infinite}
.oc-motion-lens .oc-lens-mark{transform-origin:10.5px 10.5px;animation:ocLensMark 2.7s ease-in-out infinite}
.oc-motion-network circle{animation:ocNetwork 3.6s ease-in-out infinite}
.oc-motion-network circle:nth-of-type(2){animation-delay:.4s}.oc-motion-network circle:nth-of-type(3){animation-delay:.8s}.oc-motion-network circle:nth-of-type(4){animation-delay:1.2s}
.oc-motion-balance svg{transform-origin:12px 7px;animation:ocBalance 4.6s ease-in-out infinite}
.oc-motion-bubble .b1{animation:ocBubble1 2.5s ease-in-out infinite}.oc-motion-bubble .b2{animation:ocBubble2 2.5s ease-in-out infinite .55s}
.oc-motion-history .oc-history-mark{animation:ocHistoryMark 3.1s ease-in-out infinite}
.oc-agent-grid article:hover .oc-motion-icon{opacity:1;filter:drop-shadow(0 0 9px rgba(185,255,203,.22))}
@media (max-width:700px){
  .oc-state-title{margin-top:38px}
  .oc-heading-with-icon{gap:12px}
  .oc-heading-with-icon>.oc-motion-icon{width:30px;height:30px;flex-basis:30px}
}
@media (prefers-reduced-motion:reduce){
  .oc-motion-icon,.oc-motion-icon *{animation:none!important;transition:none!important}
}
