:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;color:#20312b;background:#f7f3e9;--green:#286f5b;--dark:#174e40;--muted:#6e7b75;--line:#d7e1da;--paper:#fffdf8;--amber:#e0a23a}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 95% 3%,#dceadf 0 13%,transparent 32%),radial-gradient(circle at 5% 95%,#f3dfc4 0 10%,transparent 28%),#f7f3e9}.topbar{height:84px;display:flex;align-items:center;gap:14px;padding:0 clamp(20px,6vw,80px);border-bottom:1px solid rgba(40,111,91,.12);background:rgba(255,253,248,.76);backdrop-filter:blur(14px)}
/* 站级「主页」入口（判据正本 docs/product-specs/2026-09-06-站级主页入口规范.md）：
   形状、图标、文案全站一字不差，颜色跟这一页自己的绿——一枚外来配色的芯片在页头上比小图标更扎眼。
   「主页」两个字任何视口都不许藏：手机上只剩一枚 18px 图标时，可点面积和可辨识度会同时塌。
   底色 #e9f1ec / hover #dbe9e1 按规范 §1.5 表写死，不复用 .promise 那枚 #e5efe7：
   同一枚芯片九处的深浅由那张表统一管，跟着页内别的组件走就会各处飘一点。
   hover 只换底色（§1.4），不动 border-color 与 color——反应不一致比配色不同更像 bug。 */
.home-entry{display:inline-flex;align-items:center;justify-content:center;gap:5px;flex:none;min-height:44px;padding:6px 9px;border:1px solid var(--line);border-radius:10px;background:#e9f1ec;color:var(--dark);font-size:14px;font-weight:650;white-space:nowrap;text-decoration:none}.home-entry svg{flex:none}.home-entry:hover{background:#dbe9e1}.home-entry:focus-visible{outline:3px solid var(--green);outline-offset:3px}
/* 窄到排不下时让位的是品牌图：它是署名，左右两枚才是功能件。
   §1.6 的双品牌让位表没列这页——这页只有一枚品牌图，不是两个品牌名字，
   所以给它 flex 收缩＋max-width 而不是断点隐藏，320px 也能挤下，且不必再猜一个断点。 */
.brand{flex:0 1 auto;min-width:0}.brand img{width:138px;max-width:100%;height:auto;display:block}
.back-link{flex:none;margin-left:auto;color:var(--dark);text-decoration:none;font-weight:800;padding:11px 15px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.72)}main{width:min(1180px,calc(100% - 36px));margin:0 auto;padding:clamp(40px,7vw,88px) 0;display:grid;grid-template-columns:minmax(0,.85fr) minmax(440px,1fr);gap:clamp(34px,7vw,88px);align-items:start}.intro{position:sticky;top:120px;padding-top:18px}.eyebrow{color:var(--green);font-size:13px;font-weight:900;letter-spacing:.13em}.intro h1{margin:18px 0 22px;font-size:clamp(40px,5.7vw,70px);line-height:1.13;letter-spacing:-.04em}.intro h1 span{color:var(--green)}.intro>p:not(.eyebrow){color:var(--muted);font-size:17px;line-height:1.8}.promise{display:flex;flex-wrap:wrap;gap:9px;margin-top:26px}.promise span{padding:8px 11px;border-radius:999px;background:#e5efe7;color:var(--dark);font-size:12px;font-weight:800}.form-card{padding:clamp(24px,4vw,44px);border:1px solid var(--line);border-radius:32px;background:rgba(255,253,248,.96);box-shadow:0 24px 70px rgba(36,74,59,.12)}form{display:grid;gap:24px}fieldset{border:0;padding:0;margin:0}legend,label>span{display:block;margin-bottom:10px;font-weight:850}.ratings{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}.rating{min-height:74px;border:1px solid var(--line);border-radius:16px;background:#fff;color:#78847e;display:grid;place-items:center;gap:2px;font-size:24px}.rating small{font-size:10px}.rating:hover,.rating.active{border-color:var(--amber);background:#fff7e8;color:#9a6819;transform:translateY(-2px)}label{display:block}select,input,textarea{width:100%;border:1px solid #cbd8d0;border-radius:15px;background:#fff;padding:13px 14px;color:#20312b;font:inherit;outline:none}select,input{min-height:50px}textarea{resize:vertical;line-height:1.7}select:focus,input:focus,textarea:focus{border-color:var(--green);box-shadow:0 0 0 4px rgba(40,111,91,.11)}label em{font-style:normal;color:#8b9690;font-size:12px;font-weight:500}label small{display:block;text-align:right;color:#8b9690;margin-top:6px}.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.form-error{min-height:22px;margin:0;color:#a94743;font-weight:750}.submit{min-height:56px;border:0;border-radius:17px;background:var(--green);color:#fff;font-size:17px;font-weight:900;box-shadow:0 12px 25px rgba(40,111,91,.22)}.submit:hover{background:var(--dark)}.submit:disabled{opacity:.58;cursor:wait}.submit span{margin-left:7px}.privacy{margin:0;color:#7c8882;font-size:12px;line-height:1.75}.success{text-align:center;padding:42px 10px}.success>div{width:72px;height:72px;margin:auto;display:grid;place-items:center;border-radius:50%;background:#dcece2;color:var(--green);font-size:34px;font-weight:900}.success h2{font-size:30px;margin:22px 0 10px}.success p{color:var(--muted)}.success b{display:block;margin:18px 0;color:var(--green)}.success a{display:inline-flex;min-height:48px;align-items:center;padding:0 20px;border-radius:15px;background:var(--green);color:#fff;text-decoration:none;font-weight:850}@media(max-width:850px){.topbar{height:72px;gap:10px;padding:0 18px}.brand img{width:118px}main{grid-template-columns:1fr;width:min(680px,calc(100% - 28px));padding:32px 0 56px}.intro{position:static;padding:0}.intro h1{font-size:clamp(36px,10vw,54px)}.form-card{border-radius:24px}}@media(max-width:480px){.back-link{padding:9px 11px;font-size:13px}.ratings{gap:6px}.rating{min-height:66px;border-radius:13px;font-size:21px}.rating small{font-size:9px}.form-card{padding:20px}.promise{gap:6px}.promise span{font-size:11px}}


/* ══ 站级页头 v2（规范 §1.2/§1.4）══
   主页 · 双 Logo · 应用名 · 右侧动作，一行四件，任何视口都不折行。
   只有 .top-app 是 flex:1 1 auto 的伸缩件，压力全由它吸收——先省略号，绝不换行。
   `.brand` 随 v2 退役（它把 Logo 与名字捆在一起，两边尺寸各写各的）。 */
.topbar { flex-wrap: nowrap; gap: 8px; }
.top-brand { display: flex; align-items: center; gap: 5px; flex: none; }
.top-brand img { width: 18px; height: 18px; display: block; object-fit: contain; }
.top-app { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
  font-size: 14px; font-weight: 700; color: var(--ink, #1d2a24); }
