/* SONGYUAN HANWANG — "The Gauge" design system */
:root{
  --deep:#081114;
  --panel:#0d1a1f;
  --panel2:#11222a;
  --line:#1e3a44;
  --foam:#e8f0f1;
  --mut:#8fa8b0;
  --buoy:#f07f3c;     /* buoy orange */
  --water:#4fb8c9;    /* gauge cyan */
  --signal:#e6b93f;   /* signal gold */
  --reed:#7fae7a;     /* reed green */
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--deep);color:var(--foam);font-family:'Noto Sans SC',system-ui,sans-serif;font-size:16px;line-height:1.6}
.mono{font-family:'Source Code Pro',monospace}
.mut{color:var(--mut)}

/* bilingual — English default */
html:not(.zh) .zh{display:none}
html.zh .zh{display:inline}
html.zh .en{display:none}

/* fixed water-level gauge rail (left edge) */
.gauge{position:fixed;left:0;top:0;bottom:0;width:74px;z-index:40;
  background:var(--deep);border-right:1px solid var(--line);display:flex;flex-direction:column;align-items:center}
.gauge .gtop{padding:18px 0 10px;font-family:'Source Code Pro',monospace;font-size:.6rem;letter-spacing:.24em;color:var(--mut);writing-mode:vertical-rl}
.gauge .gbody{flex:1;position:relative;width:100%;margin:6px 0}
.gauge .gfill{position:absolute;left:0;right:0;bottom:0;height:56%;
  background:linear-gradient(180deg,var(--water) 0%,#2e6d78 100%)}
.gauge .gfill::before{content:"";position:absolute;top:-7px;left:0;right:0;height:14px;
  background:radial-gradient(circle at 9px -2px,transparent 8px,var(--water) 8.5px);
  background-size:18px 14px;background-repeat:repeat-x}
.gauge .gtick{position:absolute;left:8px;right:8px;height:1px;background:var(--line)}
.gauge .gtick i{position:absolute;right:0;top:-3px;width:10px;height:7px;background:var(--line)}
.gauge .gmark{position:absolute;left:0;right:0;display:flex;align-items:center;gap:6px;padding-left:12px}
.gauge .gmark b{font-family:'Source Code Pro',monospace;font-size:.6rem;letter-spacing:.14em}
.gauge .gmark i{width:8px;height:8px;transform:rotate(45deg);display:block}
.gauge .gmark.a b{color:var(--water)}.gauge .gmark.a i{background:var(--water)}
.gauge .gmark.b b{color:var(--signal)}.gauge .gmark.b i{background:var(--signal)}
.gauge .gmark.c b{color:var(--buoy)}.gauge .gmark.c i{background:var(--buoy)}
.gauge .gmark.d b{color:var(--reed)}.gauge .gmark.d i{background:var(--reed)}
.gauge .gbase{padding:14px 0;font-family:'Source Code Pro',monospace;font-size:.58rem;letter-spacing:.2em;color:var(--mut);writing-mode:vertical-rl}
@media(max-width:1150px){.gauge{display:none}}
.gwrap{margin-left:74px}
@media(max-width:1150px){.gwrap{margin-left:0}}
.wrap{max-width:1060px;margin:0 auto;padding:0 24px}

/* top ledger bar */
.topbar{display:flex;align-items:center;gap:14px;padding:15px 90px 15px 100px;border-bottom:1px solid var(--line);position:relative}
.topbar::after{content:"";position:absolute;left:0;right:0;bottom:-5px;height:9px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='9'%3E%3Crect x='0' y='0' width='1.4' height='9' fill='%231e3a44'/%3E%3Crect x='28' y='3' width='1.4' height='6' fill='%231e3a44'/%3E%3C/svg%3E");
  background-repeat:repeat-x;opacity:.7}
.topbar svg{flex:none}
.topbar .tname{font-family:'EB Garamond','Noto Sans SC',serif;font-size:1.02rem;letter-spacing:.03em}
.topbar .tname .zh{display:none}
html.zh .topbar .tname .zh{display:inline}
html.zh .topbar .tname .en{display:none}
.topbar .tnav{margin-left:auto;display:flex;gap:4px;flex-wrap:wrap;align-items:center}
.topbar .tnav a{color:var(--mut);text-decoration:none;font-family:'Source Code Pro',monospace;font-size:.68rem;letter-spacing:.1em;padding:7px 11px;border-bottom:2px solid transparent}
.topbar .tnav a:hover{color:var(--foam);border-bottom-color:var(--water)}
.topbar .tnav a.cta{color:var(--buoy);border-bottom-color:var(--buoy)}
.langbtn{background:none;border:1px solid var(--line);color:var(--mut);font-family:'Source Code Pro',monospace;font-size:.68rem;letter-spacing:.1em;padding:7px 12px;cursor:pointer}
.langbtn:hover{color:var(--foam);border-color:var(--mut)}
@media(max-width:1150px){.topbar{padding:15px 20px}}

/* hero — gauge river scene */
.hero{display:grid;grid-template-columns:1fr 1.15fr;gap:42px;align-items:center;padding:60px 0 52px}
.hero .river svg{width:100%;height:auto;display:block}
.kick{font-family:'Source Code Pro',monospace;font-size:.68rem;letter-spacing:.3em;color:var(--mut);margin-bottom:14px}
h1{font-family:'EB Garamond','Noto Sans SC',serif;font-weight:600;font-size:clamp(2rem,4.4vw,2.9rem);line-height:1.16}
h2{font-family:'EB Garamond','Noto Sans SC',serif;font-weight:600;font-size:1.9rem;line-height:1.2}
h3{font-family:'EB Garamond','Noto Sans SC',serif;font-weight:600}
.lede{color:var(--mut);font-size:1.02rem;margin-top:18px}
.stats{display:flex;gap:0;margin-top:28px;border:1px solid var(--line)}
.stats div{flex:1;padding:13px 14px;border-right:1px solid var(--line)}
.stats div:last-child{border-right:0}
.stats b{display:block;font-family:'EB Garamond',serif;font-weight:600;font-size:1.5rem;color:var(--water)}
.stats div:nth-child(2) b{color:var(--signal)}
.stats div:nth-child(3) b{color:var(--buoy)}
.stats div:nth-child(4) b{color:var(--reed)}
.stats span{font-family:'Source Code Pro',monospace;font-size:.6rem;letter-spacing:.16em;color:var(--mut)}
.bts{display:flex;gap:14px;margin-top:28px;flex-wrap:wrap}
.btn{display:inline-block;font-family:'Source Code Pro',monospace;font-size:.74rem;letter-spacing:.12em;text-decoration:none;padding:13px 22px;border:1px solid var(--line);color:var(--foam)}
.btn.solid{background:var(--water);border-color:var(--water);color:var(--deep);font-weight:700}
.btn:hover{filter:brightness(1.15)}

/* sections */
.sec{padding:54px 0;border-top:1px solid var(--line)}
.sec-head{max-width:740px;margin-bottom:32px}
.sec-head h2{margin-bottom:12px}
.sec-head p{color:var(--mut)}

/* channel cards */
.cgrid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.cc{background:var(--panel);border:1px solid var(--line);border-left:4px solid;padding:20px}
.cc .cl{font-family:'Source Code Pro',monospace;font-size:.6rem;letter-spacing:.26em;color:var(--mut)}
.cc h3{font-size:1.18rem;margin:8px 0 4px}
.cc .cn{font-family:'Source Code Pro',monospace;font-size:.66rem;color:var(--mut)}
.cc p{color:var(--mut);font-size:.85rem;margin-top:10px}
.cc.ca{border-left-color:var(--water)}.cc.ca h3{color:var(--water)}
.cc.cb{border-left-color:var(--signal)}.cc.cb h3{color:var(--signal)}
.cc.cc2{border-left-color:var(--buoy)}.cc.cc2 h3{color:var(--buoy)}
.cc.cd{border-left-color:var(--reed)}.cc.cd h3{color:var(--reed)}

/* gauge rows */
.chan{scroll-margin-top:20px}
.chan-head{display:flex;align-items:baseline;gap:16px;padding:16px 0 12px;border-bottom:3px solid var(--line)}
.chan-head .cl{font-family:'Source Code Pro',monospace;font-size:.66rem;letter-spacing:.3em}
.chan-head h3{font-size:1.4rem}
.chan-head .cnt{margin-left:auto;font-family:'Source Code Pro',monospace;font-size:.68rem;color:var(--mut)}
.chan.a .chan-head{border-color:var(--water)}.chan.a .cl,.chan.a h3{color:var(--water)}
.chan.b .chan-head{border-color:var(--signal)}.chan.b .cl,.chan.b h3{color:var(--signal)}
.chan.c .chan-head{border-color:var(--buoy)}.chan.c .cl,.chan.c h3{color:var(--buoy)}
.chan.d .chan-head{border-color:var(--reed)}.chan.d .cl,.chan.d h3{color:var(--reed)}
.grow{display:flex;align-items:center;gap:18px;padding:13px 4px;border-bottom:1px dashed var(--line)}
.grow:hover{background:var(--panel)}
.gnum{font-family:'Source Code Pro',monospace;font-size:.78rem;min-width:62px;display:flex;align-items:center;gap:8px}
.gnum i{width:9px;height:9px;transform:rotate(45deg);flex:none;display:inline-block}
.chan.a .gnum{color:var(--water)}.chan.a .gnum i{background:var(--water)}
.chan.b .gnum{color:var(--signal)}.chan.b .gnum i{background:var(--signal)}
.chan.c .gnum{color:var(--buoy)}.chan.c .gnum i{background:var(--buoy)}
.chan.d .gnum{color:var(--reed)}.chan.d .gnum i{background:var(--reed)}
.gname{flex:1}
.gname .en{display:block;font-size:.94rem}
.gname .zh{display:none;font-size:.9rem}
html.zh .gname .en{display:none}
html.zh .gname .zh{display:block}
.gname small{color:var(--mut);font-size:.74rem;display:block}
.gtag{font-family:'Source Code Pro',monospace;font-size:.6rem;letter-spacing:.14em;padding:4px 10px;border:1px solid var(--line);color:var(--mut);white-space:nowrap}
.grow.flag .gname .en,.grow.flag .gname .zh{color:var(--water);font-weight:600}
.grow.flag .gtag{border-color:var(--water);color:var(--water)}

/* split / cards / faq */
.split{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center}
.ccard{background:var(--panel);border:1px solid var(--line);border-left:4px solid var(--water);padding:18px 20px;margin-bottom:14px}
.clab{font-family:'Source Code Pro',monospace;font-size:.62rem;letter-spacing:.22em;color:var(--mut);margin-bottom:6px}
.cval{font-size:1rem}
.faq details{background:var(--panel);border:1px solid var(--line);margin-bottom:12px}
.faq summary{cursor:pointer;padding:16px 20px;font-family:'EB Garamond','Noto Sans SC',serif;font-size:1.05rem;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"≈";font-family:'Source Code Pro',monospace;color:var(--water);margin-right:12px}
.faq details[open] summary::before{content:"≋"}
.faq .fa{padding:0 20px 18px 52px;color:var(--mut);font-size:.92rem}
.faq .fa .zh{display:none}
html.zh .faq .fa .zh{display:inline}
html.zh .faq .fa .en{display:none}

/* contact */
.cgrid2{display:grid;grid-template-columns:5fr 7fr;gap:40px;align-items:start}
.req{background:var(--panel);border:1px solid var(--line);padding:26px}
.fhead{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:20px}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.frow.one{grid-template-columns:1fr}
label{display:block;font-family:'Source Code Pro',monospace;font-size:.62rem;letter-spacing:.2em;color:var(--mut);margin-bottom:7px}
input,select,textarea{width:100%;background:var(--deep);border:1px solid var(--line);color:var(--foam);font-family:'Noto Sans SC',sans-serif;font-size:.92rem;padding:11px 13px;outline:none}
input:focus,select:focus,textarea:focus{border-color:var(--water)}
textarea{min-height:130px;resize:vertical}
.fnote{font-size:.78rem;color:var(--mut);margin-top:14px}
.rules3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.rule3{background:var(--panel);border:1px solid var(--line);border-top:3px solid var(--line);padding:18px}
.rule3 h3{font-size:1.05rem;margin-bottom:8px}
.rule3 p{color:var(--mut);font-size:.86rem}

/* legal */
.legal h2{font-size:2rem;margin-bottom:6px}
.legal .eff{font-family:'Source Code Pro',monospace;font-size:.68rem;letter-spacing:.22em;color:var(--mut);margin-bottom:26px}
.legal h3{font-size:1.2rem;margin:30px 0 10px;color:var(--water)}
.legal p,.legal li{color:var(--mut);font-size:.93rem;margin-bottom:10px}
.legal strong{color:var(--foam)}
.legal ul{padding-left:22px}
.legal .box{background:var(--panel);border:1px solid var(--line);padding:18px 22px;margin:16px 0}

footer{border-top:1px solid var(--line);padding:44px 0 30px;margin-top:20px}
.fgrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:34px}
footer h4{font-family:'Source Code Pro',monospace;font-size:.66rem;letter-spacing:.26em;color:var(--mut);margin-bottom:14px}
footer a{display:block;color:var(--mut);text-decoration:none;font-size:.88rem;padding:3px 0}
footer a:hover{color:var(--foam)}
.fbot{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-top:34px;padding-top:18px;border-top:1px solid var(--line);font-size:.78rem;color:var(--mut)}

@media(max-width:900px){
  .hero{grid-template-columns:1fr;padding-top:36px}
  .cgrid4{grid-template-columns:1fr 1fr}
  .split,.cgrid2{grid-template-columns:1fr}
  .frow{grid-template-columns:1fr}
  .fgrid{grid-template-columns:1fr}
  .rules3{grid-template-columns:1fr}
  .gname small{display:none}
  .gtag{display:none}
}
