:root {
  --paper: #f3f5f5; --panel: rgba(255,255,255,.76); --ink: #202b2a;
  --muted: #7a8884; --line: rgba(74,103,89,.11); --green: #315b4d;
  --red: #a56654; --soft: #e9efeb; --glass: rgba(255,255,255,.66);
  --shadow: 0 14px 48px rgba(39,65,53,.055), 0 1px 3px rgba(39,65,53,.025);
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif;
  color: var(--ink); background: var(--paper); -webkit-font-smoothing: antialiased;
}
body { color:var(--ink); background:radial-gradient(ellipse at 10% 0%,#dfece5 0,transparent 38%),radial-gradient(ellipse at 98% 24%,#e5ebf4 0,transparent 35%),#f3f5f5; background-attachment:fixed; }
h1,h2,h3,h4,.metric strong { font-family:inherit; letter-spacing:-.035em; }
button,input,textarea,select { font-family:inherit; }
button,a,input,select,textarea { -webkit-tap-highlight-color:transparent; }
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:3px solid #78a991; outline-offset:4px; }
.seal { width:48px; height:48px; border-radius:17px; background:#faf8ee url('/shared-static/mascot.png') center/cover no-repeat; color:transparent; font-size:0; transform:none; box-shadow:0 3px 10px #3455450c; flex-shrink:0; }
.brand { letter-spacing:-.025em; font-weight:650; gap:11px; }
.brand small { letter-spacing:.12em; font-size:9px; font-weight:500; color:var(--muted); }
dialog::backdrop { background:rgba(37,54,47,.24); backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px); }
button { transition:background .18s ease,transform .18s ease,box-shadow .18s ease; }
button:active:not(:disabled) { transform:scale(.98); }
input,select,textarea { accent-color:var(--green); }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } }
