/* core.css · 14 页共用内核 · 生成于 2026-10-20 · 由 style.css 按页拆分（全站批次 css2） */
* {box-sizing:border-box
}
:root {--cy:#0e7490; --cy-d:#0b5f76; --cy-dd:#134e5e; --tl:#0d9488;
  
  --bg:#f4f7f9; --card:#ffffff; --line:#e2e9ee; --line-2:#eef3f6; --surface:#f8fafb;
  --ink:#0f2c38; --ink-2:#3a545f; --mut:#4e6a75;
  
  --ok:#0f7b52; --okbg:#e9f6f1; --warn:#a8620a; --warnbg:#fdf5e8; --bad:#b3261e; --badbg:#fdedec;
  
  --sh1:0 1px 2px rgba(15,44,56,.04),0 1px 3px rgba(15,44,56,.06);
  --sh2:0 2px 8px rgba(15,44,56,.05),0 4px 14px rgba(15,44,56,.07);
  --sh3:0 10px 30px rgba(15,44,56,.10),0 18px 48px rgba(15,44,56,.14);
  --r-s:8px; --r-m:10px;
}
body {margin:0;font-family:system-ui,-apple-system,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;background:var(--bg);color:var(--ink);font-size:14px;line-height:1.7;-webkit-font-smoothing:antialiased
}
::selection {background:#cbe6ee;color:var(--cy-dd)
}
a {color:var(--cy)
}
#loginView .disclaimer {width:100%
}
.login-hero .btn.ghost {background:rgba(255,255,255,.08);color:#eaf9fc;border-color:rgba(165,227,239,.45)
}
.login-hero .btn.ghost:hover {background:rgba(255,255,255,.16);border-color:#a5e3ef;color:#fff
}
@keyframes ecgmove{0%{stroke-dashoffset:600}70%{stroke-dashoffset:0}100%{stroke-dashoffset:-600}}
.login-hero h1,.login-hero p,.hero-feats,.login-hero .btn {position:relative;z-index:1
}
.login-actions>.btn {flex:1;margin-right:10px
}
.login-actions>.btn:last-child {margin-right:0
}
.foot-legal span {margin-left:14px
}
label {display:block;font-size:12px;color:var(--ink-2);font-weight:500;margin:16px 0 6px;letter-spacing:.3px
}
input,select,textarea {width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:var(--r-s);font-size:14px;background:#fff;font-family:inherit;color:var(--ink);line-height:1.5;transition:border-color .15s,box-shadow .15s
}
input:focus,select:focus,textarea:focus {outline:none;border-color:var(--cy);box-shadow:0 0 0 3px rgba(14,116,144,.12)
}
input::placeholder,textarea::placeholder {color:#9fb4bd
}
.btn {display:inline-block;padding:9px 18px;border-radius:var(--r-s);border:1px solid var(--cy-d);font-size:14px;font-weight:500;cursor:pointer;background:var(--cy-d);color:#fff;font-family:inherit;letter-spacing:.4px;transition:background .15s,border-color .15s,box-shadow .15s;text-decoration:none
}
.btn:hover {background:var(--cy-dd);border-color:var(--cy-dd);box-shadow:0 4px 14px rgba(14,116,144,.22)
}
.btn:active {transform:translateY(.5px)
}
.btn:focus-visible {outline:2px solid var(--cy);outline-offset:2px
}
.btn.ghost {background:#fff;color:var(--cy-dd);border-color:var(--line)
}
.btn.ghost:hover {border-color:var(--cy);background:var(--surface);color:var(--cy-dd)
}
.btn.ghost:focus-visible {outline-color:var(--cy)
}
.btn.small {padding:5px 12px;font-size:12px;border-radius:7px
}
.btn.danger {background:#b3261e;border-color:#b3261e
}
.btn.danger:hover {background:#8f1d18;border-color:#8f1d18
}
.userbox .btn {padding:5px 12px
}
.tab.active {color:var(--cy-dd);border-bottom-color:var(--cy);font-weight:600;background:transparent
}
.card {background:var(--card);border:1px solid var(--line);border-radius:var(--r-m);padding:18px 20px;margin-bottom:14px;box-shadow:var(--sh1);transition:box-shadow .18s,transform .18s,border-color .18s
}
.card:hover{transform:translateY(-2px);border-color:rgba(14,116,144,.28);box-shadow:0 6px 18px rgba(15,44,56,.1)}
.card h2 {margin:0 0 6px;font-size:15.5px;color:var(--cy-dd);letter-spacing:.3px;border-left:3px solid var(--cy);padding-left:9px;font-weight:600
}
.card .sub {color:var(--mut);font-size:12px;margin-bottom:16px
}
.grid {display:grid;gap:12px
}
.grid.c2 {grid-template-columns:1fr 1fr
}
.grid.c3 {grid-template-columns:repeat(3,1fr)
}
@media (max-width:640px) {
.grid.c2,.grid.c3 {grid-template-columns:1fr
}
.hero-feats .desc {display:none
}
.hero-sample .btn {display:block;width:100%;padding:9px 12px;font-size:12.5px
}
.login-actions>.btn {flex:1 1 0;min-width:0;font-size:13px;padding:11px 4px;white-space:nowrap;margin-right:10px
}
.login-actions>.btn:last-child {margin-right:0
}
.card {padding:14px
}
.q-stem {font-size:15.5px
}
.btn {padding:10px 16px
}
img {max-width:100%;height:auto
}
body {-webkit-text-size-adjust:100%
}
}
.stat-num {font-size:26px;font-weight:700;color:var(--cy-dd);font-variant-numeric:tabular-nums;font-family:"SF Mono",Consolas,monospace;letter-spacing:-.5px;line-height:1.25
}
.q-stem {font-size:15.5px;margin-bottom:14px;white-space:pre-wrap;line-height:1.85;color:#0f2c38
}
.opt.sel {border-color:var(--cy);background:#eef7fa;box-shadow:inset 0 0 0 1px var(--cy)
}
.opt.right {border-color:var(--ok);background:var(--okbg);box-shadow:inset 0 0 0 1px var(--ok)
}
.opt.right::after,.opt.wrongpick::after {margin-left:auto;align-self:center;font-weight:700;font-size:15px;flex:none;padding-left:8px
}
.opt.right::after {content:"✓";color:var(--ok)
}
.opt.sel .letter {color:var(--cy-d)
}
.opt.right .letter {color:var(--ok)
}
.quiz-foot {display:flex;gap:10px;align-items:center;margin-top:18px;flex-wrap:wrap
}
.verdict.ok {color:var(--ok)
}
@keyframes duckIn{from{opacity:0;transform:translateY(6px) scale(.94)}to{opacity:1;transform:none}}
.chip.on {background:linear-gradient(135deg,var(--cy-d),var(--tl));color:#fff;border-color:transparent
}
.chip.dim {opacity:.45
}
.chip.gold.on {background:linear-gradient(135deg,#d97706,#a16207);color:#fff;border-color:transparent
}
.chip.fire.on {background:linear-gradient(135deg,#dc2626,#b91c1c);color:#fff;border-color:transparent
}
.chip .n {font-size:11px;opacity:.7;font-weight:600;font-variant-numeric:tabular-nums
}
.chip.on .n {opacity:.92
}
.chip.on .st {color:#ffd88a
}
.uic-wrap.show {opacity:1
}
.uic-actions .btn {flex:1;margin-right:10px
}
.uic-actions .btn:last-child {margin-right:0
}
.uic-pick .btn {padding:11px 6px;line-height:1.35
}
.uic-pick .btn span {font-size:11.5px;opacity:.85;font-weight:400
}
.rt-paywall-mask.show {display:flex
}
.rt-paywall-card .rt-pw-acts .btn {flex:1;margin:0
}
.toast.show {opacity:1;transform:translateX(-50%) translateY(0)
}
.pm-toast.show {pointer-events:auto
}
.duck-modal-mask.show {opacity:1;visibility:visible;pointer-events:auto
}
.duck-modal-mask.show .duck-modal {transform:scale(1)
}
@keyframes duckSway{0%,100%{transform:rotate(-7deg)}50%{transform:rotate(7deg)}}
.disclaimer {margin:14px 0 4px;text-align:center;font-size:11.5px;line-height:1.85;color:var(--mut)
}
.disclaimer.bar-notice {margin:0 0 14px;padding:10px 14px;background:var(--surface);border:1px solid var(--line);border-radius:10px;text-align:center;line-height:1.85
}
@media (max-width:640px) {
.cardnav .btn {padding:10px 14px!important;font-size:14px
}
.ratebar .btn {flex:1 1 30%;padding:11px 8px!important;font-size:13px
}
}
.bar {height:8px;border-radius:4px;background:#e4edf1;overflow:hidden
}
.bar span {display:block;height:100%;background:linear-gradient(90deg,var(--cy-d),var(--tl))
}
.bar.good span {background:linear-gradient(90deg,#0d9488,#34d399)
}
.bar.mid span {background:linear-gradient(90deg,#d97706,#fbbf24)
}
.bar.bad span {background:linear-gradient(90deg,#b91c1c,#f87171)
}
.media {display:flex;gap:10px;flex-wrap:wrap;margin:10px 0
}
.media img {max-width:100%;max-height:260px;border-radius:10px;border:1px solid var(--line);cursor:zoom-in
}
.media video {max-width:100%;width:340px;border-radius:10px;border:1px solid var(--line);background:#000
}
.cmt .cname.me::after {content:"我";font-size:10px;background:#e0f7fa;color:var(--cy-d);border-radius:4px;padding:0 4px;margin-left:4px
}
#overlay.on {display:flex
}
.muted {color:var(--mut);font-size:12px
}
.right {text-align:right
}
.empty {text-align:center;color:#93aeb9;padding:36px 0;font-size:13px
}
.qs-bar.wrong {background:#e0a458
}
a:focus-visible,button:focus-visible,summary:focus-visible,[onclick]:focus-visible {outline:2px solid var(--cy);outline-offset:2px
}
::-webkit-scrollbar {width:10px;height:10px
}
::-webkit-scrollbar-track {background:transparent
}
::-webkit-scrollbar-thumb {background:#cddbe1;border-radius:6px;border:2px solid var(--bg)
}
::-webkit-scrollbar-thumb:hover {background:#b6cbd4
}
#siteFoot {background:#fff;border-top:1px solid var(--line);padding:20px 20px 24px;text-align:center;color:var(--mut);font-size:12px;line-height:1.95
}
.pm-msg.me {flex-direction:row-reverse
}
.pm-msg.me .pm-bubble {background:var(--cy);color:#fff;border-color:var(--cy)
}
.pm-input-row .btn {align-self:flex-end;padding:10px 18px
}
.inbox-name .muted {font-weight:400;font-size:12px
}
#siteFoot .foot-brand {color:var(--cy-dd);font-weight:600;font-size:13px;margin-bottom:3px;letter-spacing:.3px
}
#siteFoot a {color:var(--mut);text-decoration:none
}
#siteFoot a:hover {color:var(--cy-d);text-decoration:underline
}
.foot-mid span+span::before {content:"　·　"
}
@media (max-width:640px) {
#siteFoot {padding:12px 12px 16px;font-size:11px;line-height:1.55
}
#siteFoot .foot-brand {font-size:12px;margin-bottom:2px
}
.foot-mid {margin-bottom:6px
}
.foot-mid span {display:block
}
.foot-mid span+span::before {content:""
}
.foot-legal a,.foot-legal span {display:block;margin-left:0;margin-bottom:3px
}
.foot-legal a:last-child,.foot-legal span:last-child {margin-bottom:0
}
.foot-legal .foot-sep {display:none
}
#siteFoot .disclaimer {margin-top:6px;font-size:10px;line-height:1.5
}
}
.ai-row.me {justify-content:flex-end
}
.ai-bub.me {background:var(--cy);color:#fff;border-bottom-right-radius:4px
}
.ai-input .btn {padding:10px 18px;white-space:nowrap
}
@keyframes aidot{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
@media (max-width:640px) {
.ai-input .btn {padding:9px 14px
}
}
.avatar-item.on {border-color:#1D9E75;background:#e8f7f0;box-shadow:0 0 0 2px #1D9E75
}
.avatar-upload-row .btn.ghost {color:#0F6E56;border-color:#cfe9dc;background:#f6fbf8
}
.media .mfull {flex:1 1 100%;text-align:center
}
.media .mfull img {width:100%;max-height:none
}
/* === Batch0 移动端修复（2026-10-24）：触控目标放大到 44px + 防 iOS 聚焦自动放大 === */
@media (max-width: 560px) {
  .userbox a, .userbox .btn, .tab {
    min-height: 44px; display: inline-flex; align-items: center;
    padding-left: 12px; padding-right: 12px; box-sizing: border-box;
  }
  /* 防 iOS 聚焦输入框时页面自动放大 */
  input, select, textarea { font-size: 16px; }
  /* 移动端保留 hero 卖点描述（不再整体隐藏），字号放大可读 */
  .hero-feats .desc { display: block; font-size: 13px; line-height: 1.6; margin-top: 4px; }
}
