/* GSA base element styles + core utility classes (ported from globals.css) */
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);transition:background-color .3s,color .3s}
a{color:inherit;text-decoration:none}
a:hover{color:var(--gold)}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}
:where(a,button,input,select,textarea,summary,[role="button"],[tabindex]):focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:4px}
/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:14px;font-weight:500;padding:12px 20px;border-radius:999px;transition:all .2s;cursor:pointer;white-space:nowrap;letter-spacing:-0.005em}
.btn-primary{background:#e3bd44;color:#ffffff;font-weight:600;box-shadow:0 1px 2px rgba(22,20,12,0.14)}
.btn-primary:hover{background:#d3aa32;color:#ffffff;transform:translateY(-1px);box-shadow:var(--shadow-md)}
.btn-ghost{background:var(--bg);color:var(--ink);border:1px solid var(--line-2)}
.btn-ghost:hover{background:var(--bg-1);border-color:var(--gold-line);color:var(--ink)}
.btn-dark{background:var(--ink);color:#fffdf6;box-shadow:0 1px 2px rgba(22,20,12,0.18)}
.btn-dark:hover{background:#2a271f;transform:translateY(-1px);box-shadow:var(--shadow-md);color:#fffdf6}
.btn-sm{padding:8px 14px;font-size:13px}
.btn-lg{padding:16px 28px;font-size:15px}
/* Cards */
.card{background:var(--bg-1);border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow-sm);transition:border-color .2s,box-shadow .2s,transform .2s}
.card:hover{border-color:var(--gold-line);box-shadow:var(--shadow-md)}
/* Chips */
.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-size:12px;font-weight:500;background:var(--bg-3);color:var(--ink-2);border:1px solid var(--line)}
.chip-gold{background:var(--gold-soft);color:var(--gold);border-color:var(--gold-line)}
.chip-pass{background:color-mix(in srgb,var(--emerald) 15%,transparent);color:var(--emerald);border-color:color-mix(in srgb,var(--emerald) 30%,transparent)}
.chip-fail{background:color-mix(in srgb,var(--crimson) 15%,transparent);color:var(--crimson);border-color:color-mix(in srgb,var(--crimson) 30%,transparent)}
/* Live dot */
.dot{width:6px;height:6px;border-radius:50%;background:var(--emerald);box-shadow:0 0 0 3px color-mix(in srgb,var(--emerald) 20%,transparent);display:inline-block;animation:gsa-pulse 2s infinite}
@keyframes gsa-pulse{0%,100%{opacity:1}50%{opacity:.5}}
/* Inputs */
.gsa-input{font-family:inherit;font-size:14px;background:var(--bg-2);color:var(--ink);border:1px solid var(--line-2);border-radius:10px;padding:12px 14px;outline:none;transition:border-color .15s;width:100%}
.gsa-input:focus{border-color:var(--gold);box-shadow:0 0 0 3px var(--gold-soft)}
/* Section header */
.section-title{font-size:clamp(28px,5vw,42px);line-height:1.08;letter-spacing:-0.025em;font-weight:500;margin:0 0 16px;color:var(--ink)}
.section-kicker{font-size:17px;line-height:1.55;color:var(--ink-3);max-width:620px;margin:0}
/* COA paper look */
.paper{background:var(--bg-1);border:1px solid var(--line);border-radius:12px;font-family:var(--font-mono);font-size:12px}
.hr{height:1px;background:var(--line);border:0;margin:0}
/* Shimmer headline accent */
@keyframes gsa-shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}
.shimmer-text{background:linear-gradient(90deg,var(--ink) 0%,var(--ink) 40%,var(--gold) 50%,var(--ink) 60%,var(--ink) 100%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:gsa-shimmer 8s linear infinite}
