/* Shared material and color system. No web fonts or image backgrounds. */
:root{
 color-scheme:light;
 --bg:#f2f5f4;--text:#11221c;--muted:#42554d;--surface:rgba(255,255,255,.73);--surface-strong:#fff;--surface-soft:rgba(243,248,246,.88);
 --line:rgba(34,74,63,.13);--accent:#167653;--accent-soft:rgba(18,130,88,.10);--shadow:0 20px 60px rgba(28,65,53,.09),inset 0 1px 0 rgba(255,255,255,.94);--shadow-soft:0 7px 22px rgba(23,56,44,.06);
 --danger:#b5344d;--danger-soft:rgba(185,44,73,.09);--warning:#996515;--warning-soft:rgba(180,125,34,.10);--blue:#276ba7;--blue-soft:rgba(45,104,164,.09);--glass-blur:22px;
 --cyan:var(--accent);--green:var(--accent);--purple:#6a59a0;--pink:#a84061;--red:var(--danger);--orange:var(--warning);--panel:var(--surface);--panel2:var(--surface-soft);
 --focus-ring:0 0 0 4px rgba(26,140,99,.17);--glass-edge:rgba(255,255,255,.88);--scrim:rgba(25,48,42,.28);
 font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;
}
:root[data-theme="dark"]{
 color-scheme:dark;
 --bg:#0d1716;--text:#f5faf7;--muted:#c4d3cc;--surface:rgba(27,44,39,.76);--surface-strong:#1b2b26;--surface-soft:rgba(35,53,46,.73);
 --line:rgba(182,211,197,.15);--accent:#80dfb0;--accent-soft:rgba(107,221,159,.12);--shadow:0 20px 60px rgba(0,0,0,.22),inset 0 1px 0 rgba(218,243,228,.11);--shadow-soft:0 8px 24px rgba(0,0,0,.14);
 --danger:#ff9caf;--danger-soft:rgba(244,111,144,.12);--warning:#edc785;--warning-soft:rgba(229,177,88,.11);--blue:#94caff;--blue-soft:rgba(103,168,238,.12);
 --purple:#c7b6f3;--pink:#f1abc3;--glass-edge:rgba(231,255,241,.15);--scrim:rgba(3,13,9,.56);
}
html{background:var(--bg);-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Microsoft YaHei",sans-serif;font-weight:500;-webkit-font-smoothing:auto}
button,input,select,textarea{font-family:inherit}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button,a{touch-action:manipulation}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:3px;box-shadow:var(--focus-ring)}
input,textarea{caret-color:var(--accent)}
::selection{background:var(--accent-soft);color:var(--text)}
.brand{display:inline-flex;align-items:center;gap:10px;color:var(--text);text-decoration:none;white-space:nowrap;flex:none}
.brand img{width:42px;height:42px;display:block;object-fit:contain;flex:none}
.brand-copy{display:flex;flex-direction:column;gap:2px}
.brand-copy strong,.brand-name{font-size:20px;font-weight:750;letter-spacing:-.6px;line-height:1.25;color:var(--text)}
.brand-copy small,.brand-tagline{font-size:10px;line-height:1.3;letter-spacing:1.8px;text-transform:uppercase;color:var(--muted)}
.theme-toggle{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:7px;flex:none;min-height:38px;margin:0;width:auto;padding:8px 13px;border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--text);font-size:12px;font-weight:550;line-height:1.2;cursor:pointer;box-shadow:inset 0 1px 0 var(--glass-edge);white-space:nowrap;transition:background .18s,border-color .18s}
.theme-toggle:hover{background:var(--surface-strong);border-color:var(--accent)}
.theme-toggle:before{content:"";width:15px;height:15px;display:block;border:1.5px solid currentColor;border-radius:50%;background:linear-gradient(90deg,currentColor 50%,transparent 50%);opacity:.8}
.theme-menu{position:fixed;z-index:10000;width:172px;padding:6px;border:1px solid var(--glass-edge);border-radius:18px;background:var(--surface);color:var(--text);box-shadow:var(--shadow);backdrop-filter:blur(var(--glass-blur)) saturate(150%);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(150%)}
.theme-menu[hidden]{display:none}
.theme-menu button{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:40px;margin:0;padding:10px 12px;border:0;border-radius:12px;background:transparent;color:var(--text);text-align:left;font-size:13px;font-weight:550;cursor:pointer;box-shadow:none}
.theme-menu button:hover,.theme-menu button:focus-visible{background:var(--accent-soft)}
.theme-menu button[aria-checked="true"]{background:var(--accent-soft);color:var(--accent)}
.theme-menu button[aria-checked="true"]:after{content:"✓";font-size:14px}
.theme-announcement{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
@media(max-width:600px){.brand img{width:36px;height:36px}.brand-copy strong,.brand-name{font-size:18px}.brand-copy small,.brand-tagline{font-size:8px;letter-spacing:1.3px}.theme-toggle{min-height:36px;padding:8px 10px;font-size:11px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media(prefers-reduced-transparency:reduce){:root{--surface:#fff;--glass-blur:0px}:root[data-theme="dark"]{--surface:#1b2b26;--glass-blur:0px}}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){:root{--surface:#fff}:root[data-theme="dark"]{--surface:#1b2b26}}
