/* ============================================================
   KOKO Studio · 设计稿锁版层（2026-10-09）
   把首页 + 登录页做到与设计稿(index.html)一致。
   ★ 只被 /opt/koko-stage/index.html 引用；生产 index.html 不引用，
     所以本层【不影响线上】。摘掉：删 stage/index.html 里那两行引用。
   ============================================================ */

/* ---------- ① 导航：去「开始创作 →」、去国庆入口 ---------- */
#welcomeView .welcome-nav-actions .welcome-cta{display:none !important}
#welcomeView .welcome-nav-actions .koko-nationalday-entry,
#welcomeView .welcome-nav-actions .koko-midautumn-link,
#welcomeView .welcome-nav-actions .koko-nationalday-date{display:none !important}

/* 导航里的「登录」→ 设计稿那个描边胶囊 */
#welcomeView #welcomeLogin{
  border-radius:999px !important;
  border:1px solid rgba(244,246,243,.26) !important;
  background:rgba(255,255,255,.045) !important;
  color:#f4f6f3 !important;
  padding:11px 26px !important;
  font-size:14px !important;font-weight:500 !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10),0 1px 3px rgba(0,0,0,.35) !important;
}
#welcomeView #welcomeLogin:hover{border-color:rgba(201,255,93,.5) !important;color:#c9ff5d !important}

/* ---------- ② 首页背景环形光 ---------- */
#welcomeView{position:relative}
#welcomeView .koko-bg-ring{
  position:absolute;left:50%;top:36%;
  width:min(74vw,920px);aspect-ratio:1;
  transform:translate(-50%,-50%);
  background:url("/assets/bonzai-ring-alpha.png") center/contain no-repeat;
  opacity:.92;filter:drop-shadow(0 0 70px rgba(201,255,93,.10));
  pointer-events:none;z-index:1;
  animation:kokoRingSpin 120s linear infinite;
}
@keyframes kokoRingSpin{
  from{transform:translate(-50%,-50%) rotate(0deg)}
  to  {transform:translate(-50%,-50%) rotate(360deg)}
}
#welcomeView .welcome-main{z-index:2}
#welcomeView .welcome-nav{z-index:4}
#welcomeView .welcome-main{
  bottom:clamp(84px,11.5vh,132px) !important;
  padding-bottom:clamp(28px,6vh,74px) !important;
}
#welcomeView .koko-beats{bottom:clamp(28px,6vh,74px) !important}

/* ============================================================
   ---------- ③ 登录：改成「浮在落地页上的毛玻璃卡」（对齐设计稿） ----------
   设计稿的结构是 .sheet(浮层) > .sheet-mask(暗罩) + .card(玻璃卡)，
   落地页始终在后面 —— 所以玻璃后面是大标题，才透得出来。
   线上是整页换掉 + 不透明底 → 玻璃背后全黑，看着跟实心一样。
   ============================================================ */

/* 落地页被我们按到底层当背景 */
#welcomeView.koko-backdrop{
  position:fixed !important;inset:0 !important;
  z-index:0 !important;pointer-events:none !important;
}
/* 登录层变透明浮层（不再盖住落地页） */
#loginView.koko-over-landing{
  position:fixed !important;inset:0 !important;
  z-index:5 !important;background:transparent !important;
}
/* 暗罩：介于落地页与卡之间（设计稿的 .sheet-mask） */
#loginView.koko-over-landing::before{
  content:"";position:absolute;inset:0;z-index:1;
  background:radial-gradient(ellipse 90% 70% at 50% 45%, rgba(8,9,9,.30) 0%, rgba(8,9,9,.72) 100%);
  backdrop-filter:blur(3px);
}
/* 登录页自带的整屏底（视频/遮罩）藏掉，别挡住落地页 */
#loginView.koko-over-landing .login-aside{background:transparent !important}
#loginView.koko-over-landing .login-aside video,
#loginView.koko-over-landing .login-aside .welcome-video-shade{opacity:0 !important}

/* 设计稿的登录卡里【没有】左侧那段文案 */
#loginView.koko-over-landing #authAsideEyebrow,
#loginView.koko-over-landing #authAsideTitle,
#loginView.koko-over-landing #authAsideCopy,
#loginView.koko-over-landing .login-aside-copy,
#loginView.koko-over-landing .auth-aside-copy,
#loginView.koko-over-landing .koko-beats{display:none !important}

/* 卡上浮、压过暗罩 */
#loginView.koko-over-landing .login-panel{z-index:3 !important}

/* 主按钮 → 设计稿那种低调态（设计稿是 .submit，灰底、不是绿色大按钮） */
#loginView .koko-submit-soft{
  background:rgba(244,246,243,.10) !important;
  color:#f4f6f3 !important;
  border:1px solid rgba(244,246,243,.22) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10) !important;
  font-weight:600 !important;
  filter:none !important;
}
#loginView .koko-submit-soft:hover{
  background:rgba(244,246,243,.16) !important;
  border-color:rgba(201,255,93,.45) !important;
}
/* 卡角：设计稿右上角是 ✕ 与「商务合作」 */
#loginView .koko-card-close,
#loginView .koko-card-corp{
  position:absolute;top:18px;z-index:6;
  background:transparent;border:0;color:rgba(244,246,243,.62);
  font-size:13px;cursor:pointer;padding:6px 8px;border-radius:8px;
}
#loginView .koko-card-close{right:18px;font-size:16px;line-height:1}
#loginView .koko-card-corp{right:52px}
#loginView .koko-card-close:hover,
#loginView .koko-card-corp:hover{color:#c9ff5d;background:rgba(255,255,255,.06)}

/* ---------- ④ 修正项（2026-10-09 第二轮）---------- */
/* 主按钮的绿色来自 background-image，不只是 background-color */
#loginView .koko-submit-soft{
  background-image:none !important;
  background-color:rgba(244,246,243,.10) !important;
}
/* 暗罩减轻：设计稿的 .sheet-mask 很淡，太重就把落地页压没了 */
#loginView.koko-over-landing::before{
  background:radial-gradient(ellipse 95% 78% at 50% 45%, rgba(8,9,9,.16) 0%, rgba(8,9,9,.52) 100%) !important;
  backdrop-filter:blur(1.5px) !important;
}

/* ---------- ⑤ 主按钮压成低调态（必须整条 background 覆盖，绿色在 background-image 上）---------- */
html body #loginView #loginForm button.login-submit.koko-submit-soft{
  background:none !important;
  background-color:rgba(244,246,243,.10) !important;
  color:#f4f6f3 !important;
  border:1px solid rgba(244,246,243,.22) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10) !important;
  filter:none !important;
}
html body #loginView #loginForm button.login-submit.koko-submit-soft:hover{
  background-color:rgba(244,246,243,.16) !important;
  border-color:rgba(201,255,93,.45) !important;
}

/* ---------- ⑥ 落地页当背景：aria-hidden 会被站点 CSS 判成 display:none，这里强压回来 ---------- */
html body #welcomeView.koko-backdrop{
  display:block !important;
  position:fixed !important; inset:0 !important;
  z-index:0 !important; pointer-events:none !important;
  visibility:visible !important; opacity:1 !important;
}

/* ---------- ⑦ 收尾：暗罩再减淡 + 藏掉「←返回首页」---------- */
html body #loginView.koko-over-landing::before{
  background:radial-gradient(ellipse 100% 84% at 50% 46%, rgba(8,9,9,.06) 0%, rgba(8,9,9,.34) 100%) !important;
  backdrop-filter:none !important;
}
html body #loginView #loginBack,
html body #loginView .back-link{display:none !important}
/* 卡再透一点，跟设计稿一致（设计稿是 .42） */
html body #loginView .login-panel{background:rgba(13,15,14,.34) !important}

/* ============================================================
   ---------- ⑧ 逐项对齐设计稿（2026-10-09，全部来自实测差值表）----------
   量法：Playwright 取两边同义元素的 getComputedStyle 逐项做差。
   卡内容宽：设计稿 438（=520-40*2-2px边框），线上被 .login-form-wrap 限成 360
   ============================================================ */
/* 卡内边距 与 内容宽 */
html body #loginView .login-panel{padding:36px 40px 26px !important}
html body #loginView .login-form-wrap{max-width:none !important;width:100% !important}

/* 标题：36px / 字距 .36px / 无外边距 */
html body #loginView .login-form-wrap h1{
  font-size:36px !important;font-weight:700 !important;
  letter-spacing:.36px !important;margin:0 !important;
  text-align:center !important;line-height:1.3 !important;
}

/* 分段 tab：14.5px / 600 / 11px 内边距 / 41px 高 / 各占一半 */
html body #loginView .auth-switch{gap:0 !important}
html body #loginView .auth-switch button{
  flex:1 1 50% !important;width:auto !important;
  font-size:14.5px !important;font-weight:600 !important;
  padding:11px !important;height:41px !important;margin:0 !important;
}
html body #loginView #showRegister:not(.active){font-weight:600 !important}

/* 字段标签 / 输入框 */
html body #loginView #loginForm label{font-weight:400 !important}
html body #loginView #loginForm .koko-box input{
  font-size:14.5px !important;font-weight:400 !important;
  padding:14px 16px 14px 42px !important;
}
html body #loginView #loginForm .forgot{font-size:13px !important}

/* 勾选框块 */
html body #loginView #loginForm .koko-lg-agree{padding:16px !important}
html body #loginView #loginForm .koko-lg-agree h4{
  font-size:13.5px !important;margin:0 0 12px !important;
}
html body #loginView #loginForm .koko-lg-agree label{
  font-size:12.5px !important;font-weight:400 !important;
  margin:0 0 10px !important;gap:10px !important;
}

/* 主按钮：15.5px / 16px 内边距 / 52px 高 / 上边距 18px */
html body #loginView #loginForm button.login-submit.koko-submit-soft{
  font-size:15.5px !important;font-weight:600 !important;
  padding:16px !important;height:52px !important;margin:18px 0 0 !important;
}

/* 提示 / 或 / 先逛逛 / 还没有账号 */
html body #loginView #loginForm .koko-lg-foot{
  font-size:12px !important;line-height:1.7 !important;margin:12px 0 0 !important;
}
html body #loginView #loginForm .koko-lg-or{margin:20px 0 0 !important}
html body #loginView #loginForm .koko-lg-wander{
  font-size:15.5px !important;font-weight:600 !important;
  padding:15px 40px !important;height:52px !important;
  border-radius:999px !important;margin:16px 0 0 !important;
}
html body #loginView #loginForm .koko-lg-signup{margin:16px 0 0 !important}
/* 商务合作 / ✕ 位置对齐设计稿（右上角，与标题同排）*/
html body #loginView .koko-card-corp{top:36px !important}
html body #loginView .koko-card-close{top:36px !important}

/* ============================================================
   ---------- ⑨ 第二轮逐项（2026-10-09）----------
   ============================================================ */
/* 标题：设计稿字重 800、行高 normal */
html body #loginView .login-form-wrap h1{
  font-weight:800 !important;line-height:normal !important;
}

/* 分段 tab：抬特异性到 html+2id，压过 koko-login.css */
html body #loginView .login-form-wrap .auth-switch > button{
  font-size:14.5px !important;font-weight:600 !important;
  padding:11px !important;height:41px !important;margin:0 !important;
}
html body #loginView .login-form-wrap .auth-switch > button:not(.active){
  font-weight:400 !important;
}

/* ★ 勾选框：设计稿是【勾选框与文字同一行】，线上是上下堆叠 → 撑高 88px */
html body #loginView #loginForm .koko-lg-agree label{
  display:flex !important;flex-direction:row !important;
  align-items:flex-start !important;gap:10px !important;
}
html body #loginView #loginForm .koko-lg-agree label > input[type=checkbox]{
  flex:0 0 auto !important;width:15px !important;height:15px !important;
  margin:3px 0 0 !important;
}
html body #loginView #loginForm .koko-lg-agree h4{line-height:1.3 !important}

/* 输入框：去掉额外外边距与行高 */
html body #loginView #loginForm .koko-box input{
  line-height:normal !important;margin:0 !important;
}
html body #loginView #loginForm .koko-box{margin:0 !important}

/* 忘记密码：设计稿无内边距 */
html body #loginView #loginForm .forgot{padding:0 !important;font-size:13px !important}

/* 提交按钮：设计稿字重 700 */
html body #loginView #loginForm button.login-submit.koko-submit-soft{
  font-weight:700 !important;
}
/* 或 / 还没有账号 的行高收紧 */
html body #loginView #loginForm .koko-lg-or,
html body #loginView #loginForm .koko-lg-signup{line-height:1.2 !important}

/* ============================================================
   ---------- ⑩ 第三轮（2026-10-09）：分段 tab 直接用 ID 压 ----------
   前一轮用 .auth-switch > button 没吃进去，改用 id 列表（特异性最高）
   ============================================================ */
html body #loginView .login-form-wrap #showLogin,
html body #loginView .login-form-wrap #showRegister{
  font-size:14.5px !important;
  font-weight:600 !important;
  padding:11px !important;
  height:41px !important;
  margin:0 !important;
  letter-spacing:normal !important;
}
html body #loginView .login-form-wrap #showLogin.active,
html body #loginView .login-form-wrap #showRegister.active{
  font-weight:600 !important;
}
html body #loginView .login-form-wrap #showLogin:not(.active),
html body #loginView .login-form-wrap #showRegister:not(.active){
  font-weight:400 !important;
}
/* 标题行高收到设计稿的 47px */
html body #loginView .login-form-wrap h1{line-height:1.3 !important}
/* 卡整体再收一点，逼近设计稿的 838 高 */
html body #loginView .login-panel{padding-bottom:20px !important}

/* ---------- ⑪ 收尾：卡里没有「KOKO ACCOUNT」那个小标签 ---------- */
html body #loginView .login-form-wrap .form-eyebrow{display:none !important}
html body #loginView .koko-card-corp,
html body #loginView .koko-card-close{top:30px !important}

/* ---------- ⑫ 垂直距离收尾（2026-10-09）----------
   实测：卡比设计稿高 37px。逐项看下来，多余高度来自
   输入框的 margin-top:8px ×2、label 行高、以及几处外边距。 */
html body #loginView #loginForm .koko-box input{margin:0 !important}
html body #loginView #loginForm label{margin:0 !important;line-height:1.35 !important}
html body #loginView #loginForm .koko-box{display:block !important;margin:0 !important}
html body #loginView #loginForm > label{margin:0 0 10px !important}
html body #loginView #loginForm .koko-lg-links{margin:4px 0 0 !important;line-height:1.35 !important}
html body #loginView #loginForm .koko-lg-agree label{margin:0 0 8px !important;line-height:1.6 !important}
html body #loginView #loginForm .koko-lg-agree h4{margin:0 0 10px !important}
html body #loginView #loginForm .koko-lg-agree{padding:14px 16px !important}
html body #loginView #loginForm .koko-lg-foot{margin:10px 0 0 !important}
html body #loginView #loginForm .koko-lg-or{margin:16px 0 0 !important}
html body #loginView #loginForm .koko-lg-wander{margin:14px 0 0 !important}
html body #loginView #loginForm .koko-lg-signup{margin:14px 0 0 !important}

/* ============================================================
   ---------- ⑬ logo 重复 + 逐段间隔（2026-10-09）----------
   ============================================================ */
/* ★ logo 重复：落地页在底层透出一个(x=72)，登录层 .login-aside 里还有一个(x=96)
   → 只留落地页那个（设计稿里看到的就是它） */
html body #loginView .login-aside .brand-logo,
html body #loginView .login-aside .login-brand,
html body #loginView .login-aside .brand{display:none !important}

/* ★ 逐段间隔：按实测「下一块 y −(上一块 y+高)」对齐设计稿
   实测差（线上比设计稿多出）：agree→submit +13 / submit→hint +15 /
   hint→or +18 / or→wander +15 / wander→signup +6
   这些多出来的量来自元素自带的行高，所以外边距要相应减掉 */
html body #loginView #loginForm button.login-submit.koko-submit-soft{margin-top:5px !important}
html body #loginView #loginForm .koko-lg-foot{margin-top:0 !important}
html body #loginView #loginForm .koko-lg-or{margin-top:2px !important}
html body #loginView #loginForm .koko-lg-wander{margin-top:1px !important}
html body #loginView #loginForm .koko-lg-signup{margin-top:10px !important}

/* ============================================================
   ---------- ⑭ 剩下四段间隔 + logo 尺寸（2026-10-09）----------
   实测（设计稿 vs 线上）：标题→tab 51/28、tab→首字段 20/6、
   密码→忘记密码 16/27、忘记密码→勾选框 4/12
   ============================================================ */
html body #loginView .login-form-wrap .auth-switch{margin-top:23px !important}
html body #loginView #loginForm > label:nth-of-type(1){margin-top:14px !important}
html body #loginView #loginForm .koko-lg-links{margin-top:-11px !important}
html body #loginView #loginForm .koko-lg-agree{margin-top:-8px !important}

/* logo：设计稿 114×30（@54,29），线上 142×38（@72,20）—— 是偏大 */
html body #welcomeView .welcome-nav .brand-logo,
html body #welcomeView .welcome-brand img{
  width:114px !important;height:30px !important;object-fit:contain !important;
}
html body #welcomeView .welcome-nav{padding-left:54px !important}

/* ============================================================
   ---------- ⑮ 间隔收口（2026-10-09）----------
   实测规律：这几块的「间隔」正好等于它的 margin-top（块自带行高不外溢），
   所以直接按设计稿的目标间隔写外边距。
   设计稿目标：标题→tab 51 · 密码→忘记密码 16 · 先逛逛→还没有账号 16
   ============================================================ */
html body #loginView .login-form-wrap .auth-switch{margin-top:51px !important}
html body #loginView #loginForm .koko-lg-links{margin-top:-7px !important}
html body #loginView #loginForm .koko-lg-signup{margin-top:3px !important}

/* ============================================================
   ---------- ⑯ 卡高补齐（2026-10-09）----------
   实测：两卡都垂直居中，但线上 817 高、设计稿 838 —— 矮 21px ⇒ 整体下移 11px
   （像素热力图上表现为每行文字都"重影"）。
   缺口分布：分段 tab 区块 53/42（+11）· 提示→或 20/15（+5）· 卡底内边距 26/20（+6）
   ============================================================ */
html body #loginView .login-form-wrap .auth-switch{
  padding:5.5px 0 !important;min-height:53px !important;box-sizing:border-box !important;
}
html body #loginView #loginForm .koko-lg-or{margin-top:7px !important}
html body #loginView .login-panel{padding-bottom:26px !important}

/* ============================================================
   ---------- ⑱ display:contents 打通嵌套（2026-10-09）----------
   设计稿的卡片是「扁平」的：.card 的直接子元素 = 标题/tab/字段/勾选/提交/…/脚注。
   线上是「嵌套」的：.login-panel > .login-form-wrap > #loginForm > 那些块。
   ⇒ 用 display:contents 让中间两层【从布局里消失】，
     它们的子元素就直接参与 .login-panel 的布局 —— **DOM 一行不动**，
     所以 SPA 的取值、事件绑定、表单提交全不受影响。
   ============================================================ */
html body #loginView .login-form-wrap{display:contents !important}
html body #loginView #loginForm{display:contents !important}
html body #loginView #registerForm{display:contents !important}
html body #loginView #loginForm.hidden,
html body #loginView #registerForm.hidden,
html body #loginView #referralNotice.hidden,
html body #loginView .form-eyebrow,
html body #loginView .form-muted,
html body #loginView .login-note{display:none !important}

/* 卡片本体 = flex 列，逐块外边距照设计稿 */
html body #loginView .login-panel{
  display:flex !important; flex-direction:column !important;
}
/* .card h2 */
html body #loginView #loginView h1,
html body #loginView .login-form-wrap h1{
  order:0 !important; margin:0 !important; text-align:center !important;
  font-size:36px !important; font-weight:800 !important; letter-spacing:.01em !important;
  line-height:normal !important;
}
/* .card .corp —— 标题下、右对齐 */
html body #loginView .koko-card-corp{
  order:1 !important; position:static !important; margin:12px 2px 0 auto !important;
  padding:2px 0 !important; font-size:13px !important; line-height:normal !important;
  background:transparent !important; border:0 !important; width:auto !important; height:auto !important;
  color:rgba(244,246,243,.62) !important;
}
/* .seg */
html body #loginView .auth-switch{
  order:2 !important; display:grid !important; grid-template-columns:1fr 1fr !important; gap:6px !important;
  margin:18px 0 0 !important; padding:5px !important;
  background:rgba(255,255,255,.05) !important; border:1px solid rgba(244,246,243,.14) !important;
  border-radius:14px !important;
}
/* .pane —— 原 #loginForm 的 margin-top:20px，现在落在第一个字段上 */
html body #loginView #loginForm > label:nth-of-type(1){order:3 !important; margin-top:20px !important}
html body #loginView #loginForm > label:nth-of-type(2){order:4 !important; margin-top:16px !important}
html body #loginView .koko-box{display:flex !important; align-items:center !important}
html body #loginView #loginForm > label{gap:8px !important; margin-bottom:0 !important;
  font-size:13px !important; color:rgba(244,246,243,.78) !important; font-weight:400 !important}
html body #loginView #loginForm > label .koko-box{margin-top:8px !important}
html body #loginView #loginForm .koko-box input{
  padding:14px 16px 14px 42px !important; border-radius:12px !important; font-size:14.5px !important;
  background:rgba(255,255,255,.05) !important; border:1px solid rgba(244,246,243,.14) !important;
}
/* .row */
html body #loginView .koko-lg-links{order:5 !important; margin:16px 0 0 !important; font-size:13px !important}
/* .agree */
html body #loginView .koko-lg-agree{
  order:6 !important; margin:4px 0 0 !important; padding:16px !important; border-radius:14px !important;
  background:rgba(255,255,255,.05) !important; border:1px solid rgba(244,246,243,.14) !important;
}
html body #loginView .koko-lg-agree h4{margin:0 0 12px !important; font-size:13.5px !important; font-weight:600 !important}
html body #loginView .koko-lg-agree label{
  display:flex !important; gap:10px !important; align-items:flex-start !important;
  font-size:12.5px !important; font-weight:400 !important; line-height:1.65 !important;
  color:rgba(244,246,243,.66) !important; margin:0 0 10px !important;
}
html body #loginView .koko-lg-agree label:last-child{margin-bottom:0 !important}
/* .submit */
html body #loginView #loginForm button.login-submit{
  order:7 !important; width:100% !important; margin:18px 0 0 !important; padding:16px !important;
  border-radius:12px !important; font-size:15.5px !important; font-weight:700 !important;
  height:auto !important;
}
/* .hint */
html body #loginView .koko-lg-foot{
  order:8 !important; margin:12px 0 0 !important; text-align:center !important;
  font-size:12px !important; line-height:1.7 !important; color:rgba(244,246,243,.42) !important;
}
/* .or —— 两侧横线 */
html body #loginView .koko-lg-or{
  order:9 !important; display:flex !important; align-items:center !important; gap:14px !important;
  margin:20px 0 0 !important; font-size:12.5px !important; color:rgba(244,246,243,.36) !important;
}
html body #loginView .koko-lg-or::before,
html body #loginView .koko-lg-or::after{
  content:"" !important; flex:1 !important; height:1px !important; background:rgba(244,246,243,.14) !important;
}
/* .pill.ghost */
html body #loginView #loginForm .koko-lg-wander{
  order:10 !important; width:100% !important; margin:16px 0 0 !important;
  border-radius:999px !important; padding:15px 40px !important;
  font-size:15.5px !important; font-weight:600 !important; height:auto !important;
}
/* .foot */
html body #loginView .koko-lg-signup{
  order:11 !important; margin:16px 0 0 !important; text-align:center !important; font-size:13px !important;
}
/* #loginBack 与 ✕ —— 都绝对定位，不参与流 */
html body #loginView #loginBack{order:99 !important}

/* ===== 注册表单 order（2026-10-09 补：register 子元素原本无 order） ===== */
html body #loginView #registerForm > label:nth-of-type(1){order:3 !important; margin-top:20px !important}
html body #loginView #registerForm > label:nth-of-type(2){order:4 !important; margin-top:16px !important}
html body #loginView #registerForm > .code-field{order:5 !important; margin-top:16px !important}
html body #loginView #registerForm > label:nth-of-type(3){order:6 !important; margin-top:16px !important}
html body #loginView #registerForm > button.login-submit{order:7 !important; width:100% !important; margin:18px 0 0 !important}
html body #loginView #registerForm > .koko-lg-agree{order:8 !important; margin:12px 0 0 !important}
html body #loginView #registerForm > .koko-lg-foot{order:9 !important; margin:12px 0 0 !important; text-align:center !important}
html body #loginView #registerForm > .koko-lg-signup{order:10 !important; margin:16px 0 0 !important; text-align:center !important; font-size:13px !important}
/* register 里没有的登录专属块，藏掉免得占位 */
html body #loginView #registerForm > .koko-lg-or,
html body #loginView #registerForm > .koko-lg-wander{display:none !important}

/* ============================================================
   ---------- ⑨ 修「按钮穿模」（2026-10-10）----------
   症状：登录卡背后的落地页那行 106px 亮绿大标题**直接穿透卡片和按钮**。
   真因：.login-panel 上的 backdrop-filter 是【死的】——
        实测在它上面注入 blur(60px) 前后，像素完全一致（穿透量 25.32 vs 25.31）。
        原因是 backdrop root 被 .login-panel 自己的 transform:matrix(1,0,0,1,-260,-403)
        （居中用的位移）切断了，玻璃"糊不了"背后的东西。
   量法：藏掉 #welcomeView 前后同一块卡内像素的差 = 穿透量；改前 25.3。
   修法：把模糊层挪到 #loginView.koko-over-landing::after（z=2，卡是 z=3）。
        它是 #loginView 的伪元素、不在 .login-panel 的 backdrop root 里 → 真的生效。
        ::after 此前无人占用（已核：#loginView::after / .login-screen::after 全库无定义）。
   ============================================================ */
html body #loginView.koko-over-landing::after{
  content:"" !important;position:absolute !important;inset:0 !important;
  z-index:2 !important;pointer-events:none !important;
  backdrop-filter:blur(36px) brightness(.68) saturate(1.05) !important;
}
/* 按钮吃参考站 yf.token6688.com 的实测值（原先是平铺 10% 白，太"空"才显穿模）：
   登录/注册 = linear-gradient(180deg,rgba(255,255,255,.20),rgba(255,255,255,.11)) + 1px 白 .30 描边 */
html body #loginView.koko-over-landing #loginForm button.login-submit.koko-submit-soft{
  background:none !important;
  background-image:linear-gradient(180deg,rgba(255,255,255,.20),rgba(255,255,255,.11)) !important;
  border:1px solid rgba(255,255,255,.30) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16) !important;
  color:#fff !important;
}
html body #loginView.koko-over-landing #loginForm .koko-lg-wander{
  background:linear-gradient(180deg,rgba(255,255,255,.16),rgba(255,255,255,.07)) !important;
  border:1px solid rgba(255,255,255,.26) !important;
}

/* ============================================================
   ---------- ⑩ 注册 tab 对齐登录 tab + 模糊力度微调（2026-10-10）----------
   业主令「登录 + 注册两个 tab 都改」。注册那边原来有四处与登录不一致：
   ① 提交键没有 .koko-submit-soft 类 → 还是亮绿实心（登录已改成低调白渐变）
   ② 输入框 padding-left:16px（登录是 42px）→ 占位文字被左侧 svg 图标压住，
      看着像"文字前面多了个怪符号"（其实是被图标盖住）
   ③ 「邮箱验证码」那一行 .code-field 宽 343 / 左边距 48 → 整行没左对齐（其他 label 都在 x=501）
   ④ 「获取验证码」原来是 absolute + top:50% + transform:translateY(-50%)，
      落回文档流后 transform 仍在 → 比输入框高 23px
   ============================================================ */
html body #loginView.koko-over-landing #registerForm input:not([type=checkbox]):not([type=radio]):not([type=file]){
  padding-left:42px !important; font-size:14.5px !important;
  border:1px solid rgba(244,246,243,.14) !important;
}
html body #loginView.koko-over-landing #registerForm button.login-submit{
  background:none !important;
  background-image:linear-gradient(180deg,rgba(255,255,255,.20),rgba(255,255,255,.11)) !important;
  border:1px solid rgba(255,255,255,.30) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16) !important;
  color:#fff !important; height:52px !important; min-height:52px !important;
  font-size:15.5px !important; font-weight:600 !important;
}
/* 验证码那一行：整行占满 + 输入框自适应 + 按钮落回右侧格位 */
html body #loginView #registerForm .code-field{
  width:100% !important; margin-left:0 !important; grid-template-columns:1fr !important;
}
html body #loginView #registerForm .code-field > label{ width:100% !important; }
html body #loginView #registerForm .code-field .koko-box{ display:flex !important; width:100% !important; }
html body #loginView #registerForm .code-field input{ flex:1 1 auto !important; min-width:0 !important; }
html body #loginView #registerForm .code-field .code-button{
  position:static !important; flex:0 0 112px !important; width:112px !important; height:46px !important;
  margin:8px 0 0 !important; align-self:flex-start !important;
  transform:none !important; top:auto !important; right:auto !important;
}
/* 模糊力度：36px/.68 → 44px/.62（业主「再调」；想改轻只动这两个数） */
html body #loginView.koko-over-landing::after{
  backdrop-filter:blur(44px) brightness(.62) saturate(1.05) !important;
}

/* ============================================================
   ---------- ⑪ 版式全面对齐设计稿（2026-10-10）----------
   设计稿 = login_preview/index.html（本地起 http.server 在 127.0.0.1:8811 看，
   与 _cmp/px_design.png 同源）。业主令「注册登录的页面距离设计根本不对」。
   量法：两边同义元素 getBoundingClientRect 相对卡顶逐项对差（设计卡高 838）。
   改前偏差 +40~+60px 且 tab 行结构就不对；改后全部 ≤4px、卡高 838 = 设计值。
   要点：① tab 改成设计的分段控件（.seg: grid 1fr1fr / gap6 / pad5 / r14 / mt18）
        ② 标签→输入框 = 设计的 .field gap 8（多出来的 8px 来自 .koko-box 的 margin-top）
        ③ 标题行高 47px（不设的话比设计高 6px，后面全被顶下去）
        ④ .koko-lg-or 要 width:100%，否则 ::before/::after 那两条横线宽 0（它是收缩宽度元素）
        ⑤ 这文件是多轮补丁叠起来的 —— .auth-switch 有 23px/51px 两条 margin 互相压
   ⚠️ CTA 颜色**没动**：设计里 .submit 是品牌绿(#c9ff5d/深字)，设计稿截图里那个灰是
      :disabled 态（三个勾选框没勾）。要不要换绿等业主一句话。
   ============================================================ */
/* ---- 版式：逐项对齐设计稿 login_preview/index.html（2026-10-10）---- */
html body #loginView.koko-over-landing .login-form-wrap h1{
  font-size:clamp(28px,3vw,36px) !important; font-weight:800 !important;
  letter-spacing:.01em !important; margin:0 !important; text-align:center !important;
  line-height:47px !important;
}
html body #loginView.koko-over-landing .login-form-wrap .koko-card-corp{
  position:static !important; display:block !important; margin:12px 2px 0 auto !important;
  padding:2px 0 !important; font-size:13px !important; color:rgba(244,246,243,.62) !important;
}
html body #loginView.koko-over-landing .login-form-wrap .koko-card-close{
  position:absolute !important; top:16px !important; right:16px !important;
  width:34px !important; height:34px !important; border-radius:50% !important;
  display:grid !important; place-items:center !important; font-size:15px !important; line-height:1 !important;
  color:rgba(244,246,243,.62) !important; border:1px solid rgba(244,246,243,.14) !important;
  background:rgba(255,255,255,.04) !important; padding:0 !important;
}
/* 分段 tab：整行两段（设计 .seg: mt18 pad5 gap6 r14 bg white.05 bd line） */
html body #loginView.koko-over-landing .login-form-wrap .auth-switch{
  display:grid !important; grid-template-columns:1fr 1fr !important; gap:6px !important;
  width:100% !important; max-width:none !important; margin:18px 0 0 !important; padding:5px !important;
  background:rgba(255,255,255,.05) !important; border:1px solid rgba(244,246,243,.14) !important;
  border-radius:14px !important; box-sizing:border-box !important;
}
html body #loginView.koko-over-landing .login-form-wrap .auth-switch button{
  width:100% !important; padding:11px !important; border-radius:10px !important;
  font-size:14.5px !important; font-weight:400 !important; color:rgba(244,246,243,.62) !important;
  background:transparent !important; border:0 !important; box-shadow:none !important; height:auto !important;
}
html body #loginView.koko-over-landing .login-form-wrap .auth-switch button.active{
  background:rgba(255,255,255,.13) !important; color:#f4f6f3 !important; font-weight:600 !important;
}
/* 字段：label→input 就是设计 .field 的 gap 8（多的那 8px 来自 .koko-box 的 margin-top） */
html body #loginView.koko-over-landing .login-form-wrap > label{ gap:8px !important; font-size:13px !important; margin:20px 0 0 !important; }
html body #loginView.koko-over-landing #loginForm > label .koko-box{ margin-top:0 !important; }
html body #loginView.koko-over-landing .login-panel label{ font-size:13px !important; color:rgba(244,246,243,.78) !important; }
/* 协议块（设计 .agree: mt4 pad16 r14 bg white.05 bd line；h3 13.5/600 mb12） */
html body #loginView.koko-over-landing #loginForm .koko-lg-agree{
  margin-top:4px !important; padding:16px !important; border-radius:14px !important;
  background:rgba(255,255,255,.05) !important; border:1px solid rgba(244,246,243,.14) !important;
}
html body #loginView.koko-over-landing #loginForm .koko-lg-agree h4{ font-size:13.5px !important; font-weight:600 !important; color:rgba(244,246,243,.9) !important; margin:0 0 12px !important; }
html body #loginView.koko-over-landing #loginForm .koko-lg-agree label{ font-size:12.5px !important; line-height:1.65 !important; gap:10px !important; margin:0 0 8px !important; }
/* CTA（设计 .submit: mt18 pad16 r12 fs15.5 fw700）—— 颜色维持现状，见台账说明 */
html body #loginView.koko-over-landing #loginForm button.login-submit.koko-submit-soft{
  margin-top:18px !important; padding:16px !important; border-radius:12px !important;
  font-size:15.5px !important; font-weight:700 !important;
}
html body #loginView.koko-over-landing #loginForm .koko-lg-foot{ margin-top:12px !important; font-size:12px !important; color:rgba(244,246,243,.42) !important; }
html body #loginView.koko-over-landing #loginForm .koko-lg-or{
  display:flex !important; align-items:center !important; gap:14px !important;
  margin-top:20px !important; font-size:12.5px !important; color:rgba(244,246,243,.36) !important;
  width:100% !important;
}
html body #loginView.koko-over-landing #loginForm .koko-lg-or::before,
html body #loginView.koko-over-landing #loginForm .koko-lg-or::after{
  content:"" !important; flex:1 !important; height:1px !important; background:rgba(244,246,243,.14) !important;
}
html body #loginView.koko-over-landing #loginForm .koko-lg-wander{
  margin-top:16px !important; border-radius:999px !important; padding:15px 40px !important;
  font-size:15.5px !important; font-weight:600 !important; width:100% !important;
  background:rgba(255,255,255,.03) !important; border:1px solid rgba(244,246,243,.14) !important;
  color:#f4f6f3 !important;
}
html body #loginView.koko-over-landing #loginForm .koko-lg-signup{ margin-top:16px !important; font-size:13px !important; color:rgba(244,246,243,.62) !important; }
html body #loginView.koko-over-landing .login-panel{
  border-radius:22px !important; border:1px solid rgba(244,246,243,.16) !important;
  background:rgba(13,15,14,.42) !important;
}
/* 注册：字段节奏同设计（.field 87 一档）；获取验证码 = 输入框内右侧文字按钮 */
html body #loginView.koko-over-landing #registerForm > label,
html body #loginView.koko-over-landing #registerForm .code-field{ gap:8px !important; margin-top:16px !important; }
html body #loginView.koko-over-landing #registerForm label .koko-box{ margin-top:0 !important; }
html body #loginView.koko-over-landing #registerForm .code-field .koko-box{ margin-top:0 !important; }
html body #loginView.koko-over-landing #registerForm .code-field .koko-box{ position:relative !important; display:block !important; }
html body #loginView.koko-over-landing #registerForm .code-field input{ padding-right:110px !important; }
html body #loginView.koko-over-landing #registerForm .code-field .code-button{
  position:absolute !important; right:10px !important; left:auto !important; top:50% !important;
  width:auto !important; height:auto !important; padding:8px 10px !important; border-radius:8px !important;
  font-size:13px !important; color:#c9ff5d !important; background:transparent !important;
  border:0 !important; transform:translateY(-50%) !important; margin:0 !important; flex:none !important;
}

html body #loginView.koko-over-landing #loginForm .forgot{ margin-top:16px !important; }
html body #loginView.koko-over-landing #loginForm .koko-lg-agree{ margin-top:4px !important; }

html body #loginView.koko-over-landing #registerForm .koko-box input{ margin:0 !important; }


/* ============================================================
   ---------- (12) 三条 CSS 修（2026-10-10 下午，业主一口气报的）----------
   ① 「点登录看不见外部背景」→ 卡片恢复自己的 backdrop-filter(28px)。
      真因：.login-panel 的 transform（居中位移）把 backdrop root 切断 → 它的 blur 一直是死的
      → 之前只能整屏糊 44px 代偿 → 外部背景全被糊没了。
      修法：居中改 flex（#loginView.koko-over-landing 做 flex 容器）+
      .login-panel 的 transform 去掉 → 它自己的 blur(28px) 立刻生效；
      遮罩 ::after 退回设计稿的 blur(6px)、::before 用设计稿的 rgba(0,0,0,.55)。
      ⇒ 现在「卡内干净 + 卡外能看见落地页」= 设计稿的行为。
   ② 「获取验证码是歪的」→ 它比输入框中心高 11px（实测 422..456 vs 输入框 427..473）。
      修法：按设计稿写死 top:7px（设计：输入框 431、tail 438 ⇒ 距顶 7px）+ transform:none。
   ③ 闪旧版式的根因在 koko-design-lock.js 里（见该文件 2026-10-10 注释）。
   ============================================================ */
html body #loginView.koko-over-landing{
  display:flex !important; align-items:center !important; justify-content:center !important;
}
html body #loginView.koko-over-landing .login-panel{
  position:relative !important; left:auto !important; top:auto !important; right:auto !important; bottom:auto !important;
  transform:none !important; margin:0 auto !important;
  backdrop-filter:blur(28px) saturate(135%) !important;
  -webkit-backdrop-filter:blur(28px) saturate(135%) !important;
}
html body #loginView.koko-over-landing.koko-over-landing::after{
  backdrop-filter:blur(6px) !important; -webkit-backdrop-filter:blur(6px) !important;
}
html body #loginView.koko-over-landing.koko-over-landing::before{
  background:rgba(0,0,0,.55) !important;
}
html body #loginView.koko-over-landing #registerForm .code-field .code-button{
  top:7px !important; bottom:auto !important; transform:none !important;
}

/* ============================================================
   ---------- (13) 两处修（2026-10-10 下午第二轮，业主报）----------
   ① 右上角「登录」按钮文字偏下 4px —— 实测按钮 [1286,21,82,36]、
      内边距 11px 上下、line-height:normal(≈20px) 撑出内容框(36-22=14)
      ⇒ 行盒比内容框高，文字整体下沉 4px。line-height 收成 1 就回正。
   ② 标题抢字的事在 koko-design-lock.js 里（见该文件 2026-10-10 注释）。
   ============================================================ */
html body #welcomeView .welcome-nav-actions .quiet-link{ line-height:1 !important; }

/* ============================================================
   ---------- (14) 商务合作弹窗（2026-10-10 业主：「商务合作没做」）----------
   上午只做了 mailto，业主说要的是弹窗。数值全部照设计稿 login_preview 的 #corp：
   卡 400 宽 r22 pad 32/28/26、遮罩 rgba(4,5,5,.42)+blur6、标题 26px、
   邮箱行 13.5px 带复制、返回键胶囊。内容按业主口径：邮箱 + 「如果有好的模型对接商…」。
   ============================================================ */
.koko-corp-sheet{position:fixed;inset:0;z-index:80;display:none;place-items:center;overflow-y:auto;padding:24px 16px}
.koko-corp-sheet.on{display:grid}
.koko-corp-mask{position:fixed;inset:0;background:rgba(4,5,5,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.koko-corp-card{position:relative;width:min(400px,100%);padding:32px clamp(20px,3vw,28px) 26px;
  border-radius:22px;border:1px solid rgba(244,246,243,.16);background:rgba(13,15,14,.96);
  box-shadow:0 40px 120px rgba(0,0,0,.62);color:#f4f6f3;animation:kokoCorpPop .26s cubic-bezier(.22,.9,.3,1)}
@keyframes kokoCorpPop{from{transform:translateY(12px) scale(.985);opacity:0}to{transform:none;opacity:1}}
.koko-corp-card h2{margin:0;font-size:26px;font-weight:800;text-align:center;letter-spacing:.01em}
.koko-corp-x{position:absolute;top:16px;right:16px;width:34px;height:34px;border-radius:50%;
  display:grid;place-items:center;font-size:15px;color:rgba(244,246,243,.62);
  border:1px solid rgba(244,246,243,.14);background:rgba(255,255,255,.04);cursor:pointer;padding:0}
.koko-corp-x:hover{color:#fff;border-color:rgba(244,246,243,.32)}
.koko-corp-sub{margin:10px 0 0;text-align:center;font-size:13px;line-height:1.75;color:rgba(244,246,243,.62)}
.koko-corp-row{display:flex;align-items:center;gap:10px;margin-top:20px;padding:13px 14px;border-radius:12px;
  background:rgba(255,255,255,.05);border:1px solid rgba(244,246,243,.14);font-size:13.5px}
.koko-corp-row span{flex:0 0 62px;color:rgba(244,246,243,.62)}
.koko-corp-row b{flex:1;min-width:0;font-weight:600;color:rgba(244,246,243,.92);word-break:break-all}
.koko-corp-copy{flex:0 0 auto;font-size:12px;color:#c9ff5d;padding:6px 10px;border-radius:8px;
  background:none;border:0;cursor:pointer;font-family:inherit}
.koko-corp-copy:hover{background:rgba(201,255,93,.10)}
.koko-corp-back{display:flex;align-items:center;justify-content:center;width:100%;height:52px;margin-top:22px;
  border-radius:999px;border:1px solid rgba(244,246,243,.14);background:rgba(255,255,255,.03);
  color:#f4f6f3;font-size:15.4px;font-weight:600;font-family:inherit;cursor:pointer;transition:.18s}
.koko-corp-back:hover{background:rgba(255,255,255,.07);border-color:rgba(244,246,243,.42)}
