/* Shared main-site visual contract. Product screenshots keep their original pixels. */
:root {
  color-scheme: light;
  --site-bg: #f5f7fc;
  --site-surface: #fff;
  --site-ink: #101b35;
  --site-muted: #5f6d86;
  --site-blue: #315efb;
  --site-line: #dce3f0;
  --site-soft: #edf2ff;
  --site-radius: 20px;
  --site-font: "Segoe UI", "PingFang SC", "Microsoft YaHei", system-ui, sans-serif;
  --site-shadow: 0 8px 28px -16px #20357924;
}
body.site-unified {
  margin: 0;
  color: var(--site-ink);
  background: var(--site-bg);
  font-family: var(--site-font);
  font-size: 16px;
  line-height: 1.7;
  -webkit-font-smoothing: antialiased;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}
.site-unified *, .site-unified *::before, .site-unified *::after { box-sizing: border-box; }
.site-unified h1, .site-unified h2, .site-unified h3 { overflow-wrap:anywhere; }
.site-unified :where(main, section, article, aside, form, fieldset) { min-width:0; }
.site-unified :where(img, video, canvas) { max-width:100%; }
.site-unified :where(p, li, dd) { overflow-wrap:anywhere; }
.site-unified > main.container, .site-unified > main.wrap, .site-unified main > .wrap { width:min(1180px,calc(100% - 56px)); max-width:none; margin-inline:auto; }
.site-unified > main.container, .site-unified > main.wrap { padding-inline:0; }
.site-unified [hidden] { display: none !important; }
.site-unified :focus-visible { outline: 3px solid var(--site-blue); outline-offset: 4px; }
.site-unified ::selection { background: #cbdcff; color: var(--site-ink); }
.site-unified .unified-header {
  position: relative;
  display: block;
  width: 100%;
  max-width: none;
  height: auto;
  min-height: 0;
  padding: 0;
  margin: 0;
  background: var(--site-surface);
  border: 0;
  border-bottom: 1px solid var(--site-line);
  border-radius: 0;
  box-shadow: none;
}
.unified-header .unified-nav {
  width: min(1180px, calc(100% - 56px));
  min-height: 86px;
  margin: 0 auto;
  padding: 12px 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 24px;
}
.site-unified .unified-brand {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  max-width: 100%;
  gap: 10px;
  color: var(--site-ink);
  text-decoration: none;
  font: 750 19px/1.4 var(--site-font);
  letter-spacing: -.025em;
}
.unified-brand span { min-width:0; overflow-wrap:anywhere; }
.unified-brand img { display: block; width: 32px; height: 32px; border-radius: 50%; object-fit: cover; background: #fff; }
.unified-brand img { flex-shrink:0; }
.site-unified .unified-links { display: flex; flex-wrap: wrap; align-items: center; gap: 4px; margin-left: auto; }
.site-unified .unified-links a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  padding: 9px 13px;
  border: 0;
  border-radius: 10px;
  color: var(--site-muted);
  background: transparent;
  font: 550 14px/1.6 var(--site-font);
  text-decoration: none;
  white-space: nowrap;
  transition: color .2s, background .2s;
}
.site-unified .unified-links a:hover, .site-unified .unified-links a[aria-current="page"] { color: var(--site-blue); background: var(--site-soft); }
.site-unified .unified-actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: 8px; min-width: 0; max-width:100%; }
.unified-actions > * { min-width:0; max-width:100%; }
.site-unified .unified-primary, .site-unified .unified-secondary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  max-width: 100%;
  padding: 9px 16px;
  border: 1px solid var(--site-line);
  border-radius: 12px;
  background: var(--site-surface);
  color: var(--site-blue);
  text-decoration: none;
  text-align: center;
  overflow-wrap: anywhere;
  font: 650 14px/1.6 var(--site-font);
  cursor: pointer;
  transition: background .2s, border-color .2s, transform .2s;
}
.site-unified .unified-primary { background: var(--site-blue); border-color: var(--site-blue); color: #fff; }
.site-unified .unified-secondary:hover { background: var(--site-soft); border-color: #afc1fc; transform: translateY(-2px); }
.site-unified .unified-primary:hover { background: #254edb; transform: translateY(-2px); }
.site-unified .bug-report-link { min-height:44px; padding:9px 16px; border:1px solid var(--site-line); border-radius:12px; background:var(--site-surface); color:var(--site-blue) !important; font:650 14px/1.6 var(--site-font); }
.site-unified .bug-report-link:hover { background:var(--site-soft); border-color:#afc1fc; }
body.site-unified > .bug-report-bottom { width:min(1180px,calc(100% - 56px)); max-width:none; margin-inline:auto; }
.site-unified .unified-footer {
  width: min(1180px, calc(100% - 56px));
  max-width: none;
  margin: 48px auto 0;
  padding: 28px 0;
  color: var(--site-muted);
  background: transparent;
  border: 0;
  border-top: 1px solid var(--site-line);
  font: 400 12px/1.9 var(--site-font);
  overflow-wrap: anywhere;
}
.site-unified .unified-footer a { color: inherit; text-underline-offset: 4px; }
.site-unified .unified-surface { background: var(--site-surface); border: 1px solid var(--site-line); border-radius: var(--site-radius); box-shadow: var(--site-shadow); }
@media (max-width: 1024px) {
  .unified-header .unified-nav { width: calc(100% - 40px); display:grid; grid-template-columns:minmax(0,1fr) auto; gap: 8px 12px; padding: 12px 0 8px; }
  .site-unified .unified-actions { margin-left: auto; }
  .site-unified .unified-links { grid-column:1 / -1; grid-row:2; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin:0; gap:4px; padding-top:6px; border-top:1px solid var(--site-line); }
  .site-unified .unified-links a { justify-content:center; padding-inline:6px; white-space:normal; text-align:center; overflow-wrap:anywhere; font-size:.875rem; }
  .site-unified .unified-footer { width: calc(100% - 40px); }
  body.site-unified > .bug-report-bottom, .site-unified > main.container, .site-unified > main.wrap, .site-unified main > .wrap { width:calc(100% - 40px); }
  .site-unified .unified-brand { min-height:44px; }
  .site-unified .unified-actions { max-width:min(100%,22rem); }
  .site-unified :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) { font-size:1rem; max-width:100%; min-width:0; }
  .site-unified :where(button, select) { min-height:44px; }
}
@media (max-width: 420px) {
  .unified-header .unified-nav { width: calc(100% - 32px); }
  .unified-header .unified-nav { grid-template-columns:minmax(0,1fr) minmax(0,auto); column-gap:8px; }
  .site-unified .unified-brand { font-size: 1rem; gap: 8px; }
  .unified-brand img { width: 28px; height: 28px; }
  .site-unified .unified-links a { font-size: .875rem; padding-inline: 6px; }
  .site-unified .unified-primary, .site-unified .unified-secondary { padding-inline: 10px; font-size: .875rem; }
  .site-unified .unified-footer { width: calc(100% - 32px); }
  body.site-unified > .bug-report-bottom, .site-unified > main.container, .site-unified > main.wrap, .site-unified main > .wrap { width:calc(100% - 32px); }
}
@media (pointer:coarse) {
  .site-unified :where(button, .unified-primary, .unified-secondary, .bug-report-link) { min-height:44px; }
}
@media (hover:none) {
  .site-unified .unified-primary:hover, .site-unified .unified-secondary:hover { transform:none; }
}
@media (prefers-reduced-motion: reduce) {
  .site-unified *, .site-unified *::before, .site-unified *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
  .site-unified .unified-primary:hover, .site-unified .unified-secondary:hover { transform: none; }
}
@media (forced-colors: active) {
  .site-unified .unified-header, .site-unified .unified-surface { border-color: CanvasText; }
  .site-unified .unified-links a[aria-current="page"] { outline: 1px solid LinkText; outline-offset: -2px; }
}
