/*! Phase 398G — UI token + share layer. Shared chrome variables plus localized route-share controls. */
:root {
  --tgz-ui-bg: #fbf4e8;
  --tgz-ui-surface: #fffaf1;
  --tgz-ui-surface-alt: #f4eadc;
  --tgz-ui-card: #ffffff;
  --tgz-ui-text: #172235;
  --tgz-ui-muted: #647083;
  --tgz-ui-subtle: #8b735d;
  --tgz-ui-line: #e4d4bf;
  --tgz-ui-line-strong: #c6a77f;
  --tgz-ui-primary: #10233a;
  --tgz-ui-primary-hover: #183653;
  --tgz-ui-primary-text: #ffffff;
  --tgz-ui-secondary: #fff2dd;
  --tgz-ui-secondary-text: #1b2a3f;
  --tgz-ui-accent: #c56f28;
  --tgz-ui-accent-hover: #a95c1e;
  --tgz-ui-accent-text: #ffffff;
  --tgz-ui-teal: #0f8f8a;
  --tgz-ui-mint: #bfe7d4;
  --tgz-ui-sand: #e6c793;
  --tgz-ui-danger: #b84636;
  --tgz-ui-success: #2f7d5f;
  --tgz-ui-focus: #0f8f8a;
  --tgz-ui-shadow-soft: 0 12px 34px rgba(23, 34, 53, .10);
  --tgz-ui-shadow-strong: 0 24px 70px rgba(23, 34, 53, .18);
  --tgz-ui-radius-xs: 8px;
  --tgz-ui-radius-sm: 12px;
  --tgz-ui-radius-md: 18px;
  --tgz-ui-radius-lg: 24px;
  --tgz-ui-radius-xl: 30px;
  --tgz-ui-radius-pill: 999px;
  --tgz-ui-space-xxs: 4px;
  --tgz-ui-space-xs: 6px;
  --tgz-ui-space-sm: 10px;
  --tgz-ui-space-md: 14px;
  --tgz-ui-space-lg: 20px;
  --tgz-ui-space-xl: 28px;
  --tgz-ui-space-section: clamp(28px, 5vw, 56px);
  --tgz-ui-motion-fast: 120ms;
  --tgz-ui-motion-normal: 180ms;
  --tgz-ui-motion-slow: 260ms;
  --tgz-ui-motion-ease: cubic-bezier(.2,.8,.2,1);
}
:root[data-theme="dark"],
html[data-theme="dark"],
html[data-theme-mode="dark"] {
  --tgz-ui-bg: #071015;
  --tgz-ui-surface: #0d1a22;
  --tgz-ui-surface-alt: #132530;
  --tgz-ui-card: #101f29;
  --tgz-ui-text: #f7efe3;
  --tgz-ui-muted: #b7c2c4;
  --tgz-ui-subtle: #c7aa7a;
  --tgz-ui-line: #29404b;
  --tgz-ui-line-strong: #4b6a73;
  --tgz-ui-primary: #71d7c2;
  --tgz-ui-primary-hover: #95e7d3;
  --tgz-ui-primary-text: #071015;
  --tgz-ui-secondary: #182a35;
  --tgz-ui-secondary-text: #f7efe3;
  --tgz-ui-accent: #d58b43;
  --tgz-ui-accent-hover: #e4a664;
  --tgz-ui-accent-text: #0a1116;
  --tgz-ui-teal: #59c9bd;
  --tgz-ui-mint: #bfe7d4;
  --tgz-ui-sand: #d8bd88;
  --tgz-ui-danger: #ff8f7d;
  --tgz-ui-success: #8be0b6;
  --tgz-ui-focus: #71d7c2;
  --tgz-ui-shadow-soft: 0 12px 34px rgba(0, 0, 0, .28);
  --tgz-ui-shadow-strong: 0 24px 70px rgba(0, 0, 0, .44);
}

/*! Phase 398F — density + button-control tokens. No route layout ownership here; route bundles consume these variables natively. */
:root{
  --tgz-ui-density-gap: clamp(8px, 1.35vw, 14px);
  --tgz-ui-density-gap-sm: clamp(6px, 1vw, 10px);
  --tgz-ui-density-card-pad: clamp(10px, 1.8vw, 16px);
  --tgz-ui-density-card-pad-lg: clamp(13px, 2.2vw, 20px);
  --tgz-ui-control-min: 38px;
  --tgz-ui-control-pad-y: 9px;
  --tgz-ui-control-pad-x: 13px;
  --tgz-ui-control-radius: 15px;
  --tgz-ui-control-font: 900 .82rem/1.12 Inter, system-ui, sans-serif;
}
html[data-theme="dark"]{
  --tgz-ui-density-shadow: 0 14px 42px rgba(0,0,0,.32);
}
.tgzUiControlSample{min-height:var(--tgz-ui-control-min);padding:var(--tgz-ui-control-pad-y) var(--tgz-ui-control-pad-x);border-radius:var(--tgz-ui-control-radius);font:var(--tgz-ui-control-font)}
@media(max-width:740px){:root{--tgz-ui-density-card-pad:10px;--tgz-ui-density-card-pad-lg:12px;--tgz-ui-control-min:36px;--tgz-ui-control-pad-y:8px;--tgz-ui-control-pad-x:10px}}


/*! Phase 398G — lightweight localized route-share control. */
.tgzShareMount{display:flex;align-items:center;gap:8px;margin:clamp(8px,1.2vw,12px) 0 0;position:relative;z-index:3}
.tgzShareButton{appearance:none;border:1px solid color-mix(in srgb,var(--tgz-ui-line) 84%,var(--tgz-ui-primary) 16%);background:color-mix(in srgb,var(--tgz-ui-card) 88%,var(--tgz-ui-secondary) 12%);color:var(--tgz-ui-text);border-radius:var(--tgz-ui-radius-pill);min-height:var(--tgz-ui-control-min,38px);padding:8px 12px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font:var(--tgz-ui-control-font,800 .82rem/1.1 Inter,system-ui,sans-serif);letter-spacing:.01em;box-shadow:var(--tgz-ui-shadow-soft);cursor:pointer;max-width:100%;touch-action:manipulation;transition:transform var(--tgz-ui-motion-fast) var(--tgz-ui-motion-ease),border-color var(--tgz-ui-motion-fast),background var(--tgz-ui-motion-fast),color var(--tgz-ui-motion-fast)}
.tgzShareButton svg{width:16px;height:16px;display:block;flex:0 0 16px;stroke:currentColor}
.tgzShareButton:hover,.tgzShareButton:focus-visible{border-color:var(--tgz-ui-teal);background:color-mix(in srgb,var(--tgz-ui-secondary) 72%,var(--tgz-ui-mint) 28%);transform:translateY(-1px);outline:none}
.tgzShareButton:active{transform:translateY(0) scale(.98)}
.tgzShareButton__label{white-space:normal;text-align:center}
.tgzShareToast{position:fixed;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 82px);transform:translateX(-50%) translateY(12px);z-index:140;background:var(--tgz-ui-primary);color:var(--tgz-ui-primary-text);border:1px solid color-mix(in srgb,var(--tgz-ui-primary) 70%,var(--tgz-ui-line) 30%);border-radius:var(--tgz-ui-radius-pill);padding:9px 14px;font:800 .82rem/1.1 Inter,system-ui,sans-serif;box-shadow:var(--tgz-ui-shadow-strong);opacity:0;pointer-events:none;transition:opacity var(--tgz-ui-motion-normal) var(--tgz-ui-motion-ease),transform var(--tgz-ui-motion-normal) var(--tgz-ui-motion-ease)}
.tgzShareToast.is-visible{opacity:1;transform:translateX(-50%) translateY(0)}
html[dir="rtl"] .tgzShareMount{direction:rtl}
@media(max-width:740px){.tgzShareMount{margin-top:8px}.tgzShareButton{min-height:36px;padding:7px 10px;font-size:.78rem}.tgzShareToast{bottom:calc(env(safe-area-inset-bottom,0px) + 76px);max-width:calc(100vw - 28px);text-align:center}}
@media(prefers-reduced-motion:reduce){.tgzShareButton,.tgzShareToast{transition:none!important}.tgzShareButton:hover,.tgzShareButton:focus-visible{transform:none}}

/* Phase 405 header/menu reality lock marker */
