/*
 * EcoChain design tokens — global entry point.
 * Copied verbatim from resources/claude-design/ecoChain-design-system/
 * (see that folder's README for brand rationale/caveats). Do not hand-edit
 * a token value here — change it at the source and re-copy, so the two
 * never drift silently.
 */
@import url('./tokens/fonts.css');
@import url('./tokens/colors.css');
@import url('./tokens/typography.css');
@import url('./tokens/spacing.css');
@import url('./tokens/effects.css');
@import url('./tokens/base.css');

/*
 * The Bricks parent theme sets `html { font-size: 62.5% }` in its own
 * frontend.min.css (loaded on every page via wp_head(), including our
 * auth/app templates, even though we never use Bricks elements there)
 * — that makes 1rem = 10px instead of the browser default 16px, which
 * is what every --text-* token in typography.css assumes ("1rem =
 * 16px base", see that file's comments). Without this override, all
 * type on /auth/* and /app/* renders ~37.5% smaller than the design
 * intends. This file loads after Bricks' stylesheet (verified via the
 * enqueue order in functions.php), so this simple override wins.
 */
html {
  font-size: 100%;
}

/*
 * Both auth.css and app.css have components (e.g. .eco-alert,
 * .eco-password-strength) that set an unconditional `display` and are
 * toggled via the native `hidden` HTML attribute in JS (`el.hidden =
 * true`). Without this rule, the browser's default
 * `[hidden] { display: none }` gets overridden by our own
 * `display: flex` — an author stylesheet's normal-priority rule
 * always beats the UA stylesheet's, regardless of selector
 * specificity — so the element stays visible even while `hidden`.
 * Real bug found live: the "No account found" banner on Login showed
 * immediately on page load, before any submit, on both tabs. This is
 * the standard fix (same pattern normalize.css uses) and covers every
 * current and future `[hidden]`-toggled element across both stylesheets
 * in one place.
 */
[hidden] {
  display: none !important;
}
