@charset "UTF-8";
/* ============================================================
   amzgo.cn 视觉系统 · 2026-11
   方向：轻、暖、清楚、耐看。
   色彩全部取自 input/palette.json（SPS Illustration palette），
   只做透明度、同色渐变与对比度校正，不引入新色相。
   装饰仅限代码图形（光晕、圆点、箭头），全部 aria-hidden 或纯 CSS。
   ============================================================ */

:root{
  /* 中性纸面（暖灰系） */
  --paper:#f5f3ef;
  --soft:#e8e4dc;
  --sand:#ddd7cc;
  --line:#cec6ba;
  --line-soft:rgba(206,198,186,.5);
  /* 文字（深蓝系） */
  --ink:#161d26;
  --navy:#1a2b46;
  --body:#253a5a;
  --muted:#3f5474;
  --faint:#64758e;      /* 仅装饰/禁用用途，不用于正文 */
  --cool-line:#d1d8e0;
  /* 交互蓝 */
  --blue:#004491;
  --blue-bright:#005cb7;
  --blue-sky:#0578ff;
  --sky:#dfeeff;
  --sky-strong:#bbdcff;
  /* 点睛橙（--orange-deep 为 #d84d01 同色相加深，仅用于小字号错误/提示文字的对比度校正） */
  --orange:#d84d01;
  --orange-deep:#b23e00;
  /* 状态与暖调 */
  --green:#167031;
  --amber:#febc0d;
  --amber-soft:#fff3b0;
  --brown:#5e3719;
  /* 形状与阴影 */
  --radius-card:14px;
  --radius-control:10px;
  --radius-small:8px;
  --shadow-card:0 1px 2px rgba(22,29,38,.04),0 10px 30px -18px rgba(26,43,70,.18);
  --shadow-lift:0 2px 4px rgba(22,29,38,.05),0 18px 44px -20px rgba(26,43,70,.28);
  --wrap:1120px;
  font-family:"Segoe UI","PingFang SC","Microsoft YaHei","Source Han Sans SC",system-ui,sans-serif;
  color-scheme:light;
  font-synthesis:none;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:20px}
body{
  margin:0;
  background:
    radial-gradient(90rem 42rem at 88% -8%,rgba(223,238,255,.5),transparent 60%),
    radial-gradient(60rem 32rem at -6% 108%,rgba(255,243,176,.28),transparent 55%),
    var(--paper);
  color:var(--body);
  font-size:15.5px;
  line-height:1.85;
}
::selection{background:rgba(254,188,13,.4)}
a{color:var(--blue);text-underline-offset:4px;text-decoration-thickness:1px}
a:hover{text-decoration-color:var(--blue-bright)}
button,input,select,textarea{font:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button,a{touch-action:manipulation}
button{cursor:pointer}
button:disabled{cursor:default;opacity:.55}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--blue-sky);outline-offset:2px;border-radius:4px}
[hidden]{display:none!important}
img{max-width:100%}
.wrap{max-width:var(--wrap);margin:auto;padding:0 32px}

.skip{position:absolute;top:-90px;left:20px;z-index:20;background:var(--paper);padding:12px 16px;border-radius:0 0 8px 8px;box-shadow:var(--shadow-card)}
.skip:focus{top:0}

/* ---------- 页头 / 页脚 ---------- */
.site-head{min-height:78px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line-soft);gap:20px}
.site-head nav{display:flex;gap:30px}
.site-head a{text-decoration:none;font-size:14px;color:var(--muted);transition:color .15s}
.site-head a:hover{color:var(--navy)}
.site-head a[aria-current=page]{color:var(--ink);font-weight:600;position:relative}
.site-head nav a[aria-current=page]::after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:2px;border-radius:2px;background:var(--orange)}
.account-link{border:1px solid rgba(63,84,116,.35);padding:8px 18px;border-radius:999px;background:rgba(255,255,255,.4);transition:border-color .15s,background .15s}
.account-link[aria-current=page]{border-color:var(--blue);background:var(--sky);color:var(--blue)}
.account-link:hover{border-color:var(--blue-bright);background:var(--sky);color:var(--blue)}
.site-foot{display:flex;align-items:center;justify-content:space-between;gap:18px;border-top:1px solid var(--line-soft);margin-top:96px;padding:30px 32px 40px;color:var(--muted);font-size:12px}
.site-foot a{color:inherit;text-decoration:none}
.site-foot a:hover{color:var(--navy);text-decoration:underline}

/* ---------- 眉题（橙色小圆点是全站唯一常规橙色点睛） ---------- */
.eyebrow{display:flex;align-items:center;gap:9px;font-size:12.5px;font-weight:600;color:var(--muted);margin:0 0 16px}
.eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--orange);flex:none}

/* ---------- 首页 ---------- */
.intro{padding:72px 0 48px}
.intro h1,.auth-copy h1{font-size:clamp(30px,4vw,44px);line-height:1.32;letter-spacing:.2px;margin:0 0 18px;font-weight:600;color:var(--navy)}
.lead{font-size:16.5px;line-height:1.9;color:var(--muted);max-width:640px}

.portal-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:stretch}
.portal{border-radius:var(--radius-card);min-height:330px;padding:34px;display:flex;flex-direction:column;position:relative;text-decoration:none;color:var(--ink);border:1px solid var(--line-soft);box-shadow:var(--shadow-card);overflow:hidden;transition:box-shadow .2s,transform .2s}
.portal.learning{background:radial-gradient(120% 90% at 88% -5%,rgba(254,188,13,.16),transparent 55%),linear-gradient(180deg,rgba(255,255,255,.62),rgba(232,228,220,.5));border-color:rgba(210,145,101,.4)}
.portal.tools{background:radial-gradient(120% 90% at 88% -5%,rgba(67,155,255,.18),transparent 55%),linear-gradient(180deg,rgba(255,255,255,.62),rgba(223,238,255,.55));border-color:rgba(67,155,255,.35)}
a.portal:hover{box-shadow:var(--shadow-lift);transform:translateY(-2px)}
.portal-top{display:flex;align-items:center;justify-content:space-between;gap:14px}
.portal h2{font-size:27px;line-height:1.3;margin:0;color:var(--navy)}
.portal p:not(.eyebrow){font-size:14.5px;line-height:1.8;max-width:330px;color:var(--muted);margin:14px 0 0}
.portal-bottom{margin-top:auto;padding-top:24px;display:flex;justify-content:space-between;align-items:center;font-size:14px}
.coming{font-size:12px;font-weight:600;color:var(--brown);background:var(--amber-soft);border:1px solid rgba(254,188,13,.55);padding:5px 13px;border-radius:999px;white-space:nowrap}
.prep-dots{display:inline-flex;gap:7px}
.prep-dots i{width:7px;height:7px;border-radius:50%;background:var(--cool-line)}
.prep-dots i:nth-child(2){background:var(--amber);animation:prep 2.4s ease-in-out infinite}
.prep-dots i:nth-child(3){opacity:.55}
@keyframes prep{0%,100%{opacity:.4}50%{opacity:1}}
.portal-go{width:42px;height:42px;border-radius:50%;background:var(--blue);color:var(--paper);display:inline-flex;align-items:center;justify-content:center;font-size:17px;flex:none;transition:transform .18s}
a.portal:hover .portal-go{transform:translateX(4px)}
.portal-cta{font-weight:600;color:var(--blue)}
/* 兼容：旧版首页模板中的装饰编号按新设计隐藏（新 index.html 已移除该元素） */
.module-number{display:none}

/* ---------- 通用文字层次 ---------- */
.subtle,.form-hint{font-size:12.5px;color:var(--muted);line-height:1.8}
.page-intro{padding:56px 0 28px}
.page-intro h1{font-size:clamp(26px,3.2vw,36px);line-height:1.4;margin:0 0 12px;font-weight:600;color:var(--navy)}
.page-intro .lead{margin-bottom:26px;font-size:15.5px}
.section-nav{display:flex;flex-wrap:wrap;gap:10px 14px;font-size:13.5px}
.section-nav a{text-decoration:none;color:var(--blue);background:rgba(223,238,255,.6);border:1px solid rgba(67,155,255,.3);padding:6px 14px;border-radius:999px;transition:background .15s,border-color .15s}
.section-nav a:hover{background:var(--sky);border-color:var(--blue-bright)}

/* ---------- 内容分区 ---------- */
.content-section{border-top:1px solid var(--line-soft);padding:44px 0}
.content-section h2,.panel h2{font-size:22px;line-height:1.5;margin:0 0 18px;font-weight:600;color:var(--navy)}
.section-title{display:flex;justify-content:space-between;gap:18px;align-items:baseline}

/* ---------- 文件列表 ---------- */
.file-row{display:flex;justify-content:space-between;align-items:center;gap:30px;padding:28px 0;border-bottom:1px solid var(--line-soft)}
.file-row:last-child{border:0}
.file-main{min-width:0}
.file-row h3{font-size:20px;margin:6px 0 9px;color:var(--navy)}
.file-row p{font-size:14.5px;max-width:660px;margin:7px 0}
.file-check{font-size:12px;max-width:660px;margin-top:13px}
.file-check summary{color:var(--blue);cursor:pointer}
code,.mono{font-family:Consolas,Menlo,"Courier New",monospace;font-size:12.5px;overflow-wrap:anywhere}
.hash{font-family:Consolas,Menlo,"Courier New",monospace;font-size:12px;padding:7px 12px;background:rgba(232,228,220,.55);border-radius:6px;color:var(--muted);word-break:break-all;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}

/* ---------- 按钮 ---------- */
.button,button{min-height:46px;padding:11px 22px;border:1px solid transparent;border-radius:var(--radius-control);display:inline-flex;align-items:center;justify-content:center;gap:8px;background:linear-gradient(180deg,var(--blue-bright),var(--blue));color:var(--paper);text-decoration:none;font-size:14px;font-weight:600;white-space:nowrap;box-shadow:0 1px 2px rgba(0,68,145,.28),inset 0 1px 0 rgba(255,255,255,.14);transition:filter .15s,background .15s,border-color .15s,transform .06s}
.button:hover,button:hover{filter:brightness(1.08)}
.button:active,button:active{transform:translateY(1px)}
.button.secondary,button.secondary{background:rgba(255,255,255,.5);color:var(--blue);border-color:rgba(63,84,116,.35);box-shadow:none}
.button.secondary:hover,button.secondary:hover{border-color:var(--blue-bright);background:var(--sky)}
.button.full{width:100%;margin-top:16px}
.actions,.release-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}

/* ---------- 提示条 ---------- */
.notice,.flash{font-size:13.5px;line-height:1.7;padding:13px 18px;background:rgba(223,238,255,.65);border:1px solid rgba(67,155,255,.3);border-left:3px solid var(--blue-bright);border-radius:var(--radius-small)}
.notice.error,.flash.error{background:rgba(255,210,188,.5);border-color:rgba(216,77,1,.35);border-left-color:var(--orange);color:var(--orange-deep)}
.notice.ok,.notice.success{background:rgba(76,217,150,.12);border-color:rgba(29,165,99,.3);border-left-color:#1da563;color:var(--green)}

/* ---------- 步骤（真实序列，保留编号） ---------- */
.steps{list-style:none;counter-reset:step;padding:0;margin:0}
.steps>li{counter-increment:step;position:relative;padding:3px 0 20px 48px}
.steps>li:before{counter-increment:none;content:counter(step);position:absolute;left:0;top:3px;width:30px;height:30px;border-radius:50%;background:var(--sky);color:var(--blue);font-size:13.5px;font-weight:700;display:flex;align-items:center;justify-content:center}
.steps h3{font-size:16px;margin:0 0 5px;color:var(--navy)}
.steps p{font-size:14.5px;max-width:760px;margin:5px 0 10px}
.steps pre{display:inline-block;padding:13px 20px;background:rgba(232,228,220,.55);border-radius:var(--radius-small);margin:6px 0}
pre{overflow-x:auto}
pre code{font-size:13px}

/* ---------- 产品能力 ---------- */
.capabilities{margin:0}
.capabilities>div{display:grid;grid-template-columns:150px 1fr;border-top:1px solid var(--line-soft);padding:18px 0;font-size:14.5px;gap:22px}
.capabilities>div:last-child{border-bottom:1px solid var(--line-soft)}
.capabilities dt{font-weight:600;color:var(--navy)}
.capabilities dd{margin:0;color:var(--muted)}

/* ---------- 折叠面板 ---------- */
.plain-details{border-top:1px solid var(--line-soft);padding:18px 0;font-size:14.5px}
.plain-details summary{font-size:15px;font-weight:600;color:var(--navy);cursor:pointer}
.plain-details summary:hover{color:var(--blue)}
.plain-details p{max-width:820px;color:var(--muted);margin:13px 0 0}

/* ---------- 登录 / 注册 ---------- */
.auth-layout{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start;padding:64px 0 12px}
.auth-copy h1{font-size:clamp(28px,3.4vw,40px);margin-top:10px}
.auth-copy .lead{font-size:15px}
.text-link{font-size:13.5px}
.auth-panel,.panel,.admin-card{border:1px solid var(--line-soft);padding:28px;border-radius:var(--radius-card);background:linear-gradient(180deg,rgba(255,255,255,.6),rgba(245,243,239,.3));box-shadow:var(--shadow-card)}
.auth-tabs{display:flex;gap:24px;border-bottom:1px solid var(--line-soft);margin-bottom:10px}
.auth-tabs button{border:0;border-bottom:2px solid transparent;padding:8px 2px 12px;background:transparent;color:var(--muted);font-size:17px;font-weight:600;box-shadow:none;min-height:0;gap:0}
.auth-tabs button:hover{filter:none;color:var(--navy);background:transparent}
.auth-tabs button[aria-pressed=true]{color:var(--blue);border-bottom-color:var(--blue)}

label{display:block;font-size:13px;font-weight:600;color:var(--navy);margin:16px 0 7px}
input:not([type=checkbox]):not([type=hidden]),select,textarea{width:100%;max-width:100%;min-height:46px;padding:10px 14px;background:rgba(255,255,255,.55);border:1px solid #bcb3a7;color:var(--ink);border-radius:var(--radius-small);font-size:14.5px;transition:border-color .15s,box-shadow .15s}
input:focus,select:focus,textarea:focus{border-color:var(--blue-bright);box-shadow:0 0 0 3px rgba(5,120,255,.15);outline:none}
input[type=file]{font-size:12.5px!important;padding:10px}
input[type=checkbox]{width:17px;height:17px;accent-color:var(--blue);flex-shrink:0;margin-top:3px}
.check{display:flex;align-items:flex-start;gap:9px;font-size:12.5px;color:var(--muted);font-weight:400;line-height:1.8;margin:14px 0 4px}
.code-row{display:flex;gap:10px;align-items:stretch}
.code-row input{min-width:0}
.code-row button{padding:8px 15px;font-size:13px}
.form-status{font-size:13px;min-height:24px;color:var(--green);line-height:1.7;margin:10px 0}
.form-status.error{color:var(--orange-deep)}

/* ---------- 账户页 ---------- */
.account-grid>*,.admin-grid>*,.security-grid>*,.portal-grid>*{min-width:0}
.account-grid,.admin-grid,.security-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}
.panel>p{font-size:14.5px}
.panel form{margin-top:16px}
.community-qr{max-width:220px;width:100%;height:auto;margin-top:16px;border-radius:var(--radius-small);border:1px solid var(--line-soft)}
.logout{margin-top:32px}
.logout .actions{padding-top:18px}

/* ---------- 管理页 ---------- */
.admin-login{max-width:430px;margin:48px auto}
.admin-top{display:flex;justify-content:space-between;align-items:center;gap:20px}
.admin-top form{margin:0}
.admin-section{margin:22px 0;padding:24px;border:1px solid var(--line-soft);border-radius:var(--radius-card);background:rgba(255,255,255,.28)}
.admin-section>summary{display:flex;align-items:center;font-size:18px;font-weight:600;color:var(--navy);cursor:pointer;list-style:none}
.admin-section>summary::-webkit-details-marker{display:none}
.admin-section>summary::after{content:"";width:9px;height:9px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(-45deg);margin-left:auto;transition:transform .15s;flex:none}
.admin-section[open]>summary::after{transform:rotate(45deg)}
.admin-section[open]>summary{margin-bottom:22px}
.admin-card{margin-bottom:20px;padding:22px}
.admin-card:last-child{margin-bottom:0}
.admin-card h2,.subpanel h3{font-size:16px;margin:0 0 12px;color:var(--navy)}
.admin-item,.history-list>div{border-bottom:1px solid var(--line-soft);padding:15px 0;font-size:13.5px}
.history-list small,.admin-item small{display:block;color:var(--muted);font-size:11.5px;margin:5px 0}
.history-list form{margin-top:9px}
.form-button{margin-top:18px}
.small-btn{font-size:12px!important;min-height:38px!important;padding:7px 14px!important}
.review-card{background:rgba(223,238,255,.55);border-color:rgba(67,155,255,.4)}
.review-card p{font-size:13.5px}

/* ---------- 后台工具条与表格（兼容 admin-feedback.js 动态生成结构） ---------- */
.controls{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}
.controls label{font-size:12px;margin:0 0 4px}
.controls input,.controls select{width:auto!important;max-width:230px;min-height:42px}
.controls .status{width:100%;font-size:12.5px}
.status{font-size:12.5px;color:var(--muted)}
.status.ok{color:var(--green)}
.status.error{color:var(--orange-deep)}
.table-wrap{max-width:100%;overflow:auto}
.table-wrap table{min-width:980px;width:100%;border-collapse:collapse;font-size:12.5px}
.table-wrap td,.table-wrap th{text-align:left;vertical-align:top;padding:12px 14px;border-bottom:1px solid var(--line-soft)}
.table-wrap th{background:rgba(232,228,220,.6);color:var(--navy);font-weight:600;position:sticky;top:0}
.table-wrap tbody tr:hover{background:rgba(223,238,255,.3)}
.table-wrap td textarea{font-size:12px;width:100%;min-height:0}
.table-wrap td button{font-size:12px;min-height:36px;padding:6px 14px}
.table-wrap .message{white-space:pre-wrap;min-width:280px;max-width:430px;overflow-wrap:anywhere}
.table-wrap pre{white-space:pre-wrap;max-width:430px;overflow-wrap:anywhere;font-size:11.5px;margin:6px 0 0}
.muted{color:var(--muted)}
.error{color:var(--orange-deep)}
.ok{color:var(--green)}
.empty{padding:26px!important;text-align:center!important;color:var(--muted)}
.subpanel{border:1px solid var(--line-soft);padding:16px;border-radius:var(--radius-small);background:rgba(255,255,255,.35)}
.policy{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;background:rgba(232,228,220,.5);padding:13px;border-radius:6px;margin:0}
.feedback-section .panel{padding:18px;margin-bottom:18px}
.feedback-section .security-grid{grid-template-columns:1fr}
.feedback-section h2{font-size:17px;margin:0 0 8px}
.full-width{width:100%}

/* ---------- 响应式 ---------- */
@media(max-width:760px){
  .wrap{padding:0 22px}
  .site-head{min-height:66px}
  .site-head nav{gap:22px}
  .site-head a{font-size:13px}
  .account-link{padding:7px 14px;font-size:13px}
  .intro{padding-top:48px}
  .lead{font-size:15px}
  .portal-grid{gap:16px}
  .portal{padding:26px;min-height:300px}
  .portal h2{font-size:23px}
  .portal p:not(.eyebrow){font-size:13.5px;max-width:none}
  .site-foot{margin-top:60px;padding:22px 22px 30px;flex-wrap:wrap;gap:12px}
  .auth-layout{grid-template-columns:1fr;gap:30px;padding-top:36px}
  .auth-copy .lead br{display:none}
  .account-grid,.admin-grid{grid-template-columns:1fr}
  .file-row{gap:20px}
  .file-row .button{padding:11px 16px}
  .file-row h3{font-size:18px}
  .section-title{display:block}
  .section-title h2{margin-bottom:6px}
  .capabilities>div{grid-template-columns:110px 1fr;gap:12px;font-size:13.5px}
  .page-intro{padding:38px 0 22px}
  .admin-section{padding:18px}
  .admin-top{align-items:flex-start}
  .admin-top h1{font-size:24px}
  .controls input,.controls select{max-width:100%}
  .security-grid{grid-template-columns:1fr}
  .content-section{padding:34px 0}
}
@media(max-width:500px){
  .portal-grid{grid-template-columns:1fr}
  .portal{min-height:0}
  .file-row{display:block}
  .file-row .button{margin-top:20px;min-height:44px}
  .auth-panel{padding:24px 20px}
  .capabilities>div{grid-template-columns:1fr;gap:6px;border-top:0;padding:12px 0;border-bottom:1px solid var(--line-soft)}
  .section-nav{gap:10px 12px}
  .content-section h2{font-size:20px}
  .steps>li{padding-left:42px}
  .steps p{font-size:13.5px}
  .site-foot>span{display:none}
  .admin-login{padding:24px 20px}
  .admin-section{padding:15px}
  .admin-card{padding:17px}
  .controls{gap:8px}
  .admin-top .button{font-size:12px;padding:8px 14px}
}
@media(max-width:400px){
  .wrap{padding:0 18px}
  .site-foot{padding:22px 18px 30px}
  .intro{padding-top:40px;padding-bottom:34px}
  .intro h1,.auth-copy h1{font-size:27px}
  .portal{padding:22px}
  .auth-panel{padding:20px 16px}
  .code-row{flex-wrap:wrap}
  .code-row button{width:100%}
  .release-actions .button{width:100%}
}

/* ---------- 动效降级 ---------- */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none!important;animation:none!important}
  .prep-dots i:nth-child(2){opacity:.85}
}
