.tool {
  --bg: oklch(0.135 0.006 285);
  --surface: oklch(0.185 0.004 270);
  --raised: oklch(0.22 0.005 270);
  --raised-2: oklch(0.26 0.005 270);
  --hairline: oklch(0.3 0.005 270);
  --ink: oklch(0.96 0 0);
  --ink-2: oklch(0.78 0.005 270);
  --ink-3: oklch(0.64 0.006 270);
  --orange: oklch(0.66 0.19 40);
  --orange-hover: oklch(0.7 0.19 40);
  --orange-active: oklch(0.62 0.19 40);
  --orange-ink: oklch(0.15 0.004 270);
  --blue: oklch(0.58 0.2 262);
  --blue-soft: oklch(0.58 0.2 262 / 0.18);
  --focus: var(--blue);

  /* Zach Adkins wordmark gradient. Used only inside data: ring strokes, bar fills, skill bars. */
  --brand-purple: #a62aa8;
  --brand-pink: #e61580;
  --brand-orange: #f98a2b;
  --brand-yellow: #ffe600;
  --tone-teal: #1fd1bd;

  /* Backstage look (Zach 10/19, DESIGN.md): road case, aluminium, gaffer tape, paper setlist, stage amber. */
  --case: #0d0d10;
  --panel: #18181c;
  --panel-hi: #1f1f24;
  --alu: #a9adb3;
  --tape: #26262a;
  --amber: #ffb020;
  --paper: #f2eee5;
  --paper-ink: #151518;
  --paper-muted: #45454c;
  --alu-grad: linear-gradient(160deg, #eef0f2 0%, #a9adb3 30%, #d4d7db 52%, #7b8086 78%, #b9bdc2 100%);
  --tone-green: #4ade80;

  --radius: 12px;
  --radius-sm: 8px;
  --rail-w: 256px;
  --topbar-h: 56px;
  --tabbar-h: 64px;
  /* The Tuner button rises this far above the phone tab bar. */
  --tab-raise: 14px;
  /* Top edge of the phone tab bar (with its safe area): sticky bars sit flush on it and pad their content up by
     --dock-pad so nothing hides behind the raised Tuner; floating toasts and pills add --tab-raise. */
  --dock-bottom: calc(var(--tabbar-h) + env(safe-area-inset-bottom, 0px));
  --dock-pad: calc(var(--tab-raise) + 12px);
  --content-max: 960px;

  --ease-out: cubic-bezier(0.25, 1, 0.5, 1);
  --t-fast: 150ms;
  --t-base: 200ms;

  --z-dropdown: 10;
  --z-sticky: 20;
  --z-panel: 30;
  --z-modal-backdrop: 40;
  --z-modal: 50;
  --z-toast: 60;
  --z-tooltip: 70;
}
.road-case {
  position: relative; border-radius: 12px; border: 2px solid transparent;
  background: linear-gradient(180deg, var(--panel-hi), var(--panel)) padding-box, var(--alu-grad) border-box;
  box-shadow: 0 18px 36px rgb(0 0 0 / 0.55), 0 2px 0 rgb(0 0 0 / 0.6), inset 0 1px 0 rgb(255 255 255 / 0.07);
}
.road-case::after {
  content: ""; position: absolute; inset: -4px; pointer-events: none;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22'%3E%3Cdefs%3E%3ClinearGradient id='a' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23f3f5f7'/%3E%3Cstop offset='.45' stop-color='%23a9adb3'/%3E%3Cstop offset='1' stop-color='%2362676d'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M0 22V8a8 8 0 0 1 8-8h14v6H10a4 4 0 0 0-4 4v12z' fill='url(%23a)'/%3E%3Ccircle cx='5' cy='5' r='1.7' fill='%23303236'/%3E%3C/svg%3E") left top / 22px no-repeat,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22'%3E%3Cdefs%3E%3ClinearGradient id='a' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23f3f5f7'/%3E%3Cstop offset='.45' stop-color='%23a9adb3'/%3E%3Cstop offset='1' stop-color='%2362676d'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg transform='translate(22 0) scale(-1 1)'%3E%3Cpath d='M0 22V8a8 8 0 0 1 8-8h14v6H10a4 4 0 0 0-4 4v12z' fill='url(%23a)'/%3E%3Ccircle cx='5' cy='5' r='1.7' fill='%23303236'/%3E%3C/g%3E%3C/svg%3E") right top / 22px no-repeat,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22'%3E%3Cdefs%3E%3ClinearGradient id='a' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23f3f5f7'/%3E%3Cstop offset='.45' stop-color='%23a9adb3'/%3E%3Cstop offset='1' stop-color='%2362676d'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg transform='translate(0 22) scale(1 -1)'%3E%3Cpath d='M0 22V8a8 8 0 0 1 8-8h14v6H10a4 4 0 0 0-4 4v12z' fill='url(%23a)'/%3E%3Ccircle cx='5' cy='5' r='1.7' fill='%23303236'/%3E%3C/g%3E%3C/svg%3E") left bottom / 22px no-repeat,
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22'%3E%3Cdefs%3E%3ClinearGradient id='a' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%23f3f5f7'/%3E%3Cstop offset='.45' stop-color='%23a9adb3'/%3E%3Cstop offset='1' stop-color='%2362676d'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg transform='translate(22 22) scale(-1 -1)'%3E%3Cpath d='M0 22V8a8 8 0 0 1 8-8h14v6H10a4 4 0 0 0-4 4v12z' fill='url(%23a)'/%3E%3Ccircle cx='5' cy='5' r='1.7' fill='%23303236'/%3E%3C/g%3E%3C/svg%3E") right bottom / 22px no-repeat;
}
.stage-cta {
  position: relative; overflow: hidden; display: flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 52px; border-radius: 10px; padding: 0 20px;
  font-family: var(--font-stencil); font-weight: 800; font-size: 21px; line-height: 1; letter-spacing: 0.1em; text-transform: uppercase; color: #fff;
  background: linear-gradient(180deg, #f2702f 0%, #e65b20 55%, #cf4b14 100%);
  box-shadow: 0 0 0 1px rgb(120 36 0 / 0.55), inset 0 1px 0 rgb(255 255 255 / 0.35), inset 0 -2px 0 rgb(0 0 0 / 0.18), 0 10px 22px rgb(230 91 32 / 0.4), 0 0 34px rgb(230 91 32 / 0.22);
  text-shadow: 0 1px 1px rgb(90 25 0 / 0.5);
  transition: transform var(--t-fast) var(--ease-out), filter var(--t-fast) var(--ease-out);
}
.stage-cta:hover { filter: brightness(1.06); }
.stage-cta:active { transform: scale(0.98); }
.stage-cta::after { content: ""; position: absolute; top: 0; bottom: 0; width: 60px; left: -80px; background: linear-gradient(100deg, transparent, rgb(255 255 255 / 0.3), transparent); transform: skewX(-18deg); animation: cta-sheen 5s ease-in-out infinite; pointer-events: none; }
@keyframes cta-sheen { 0%, 62% { left: -80px; } 100% { left: 110%; } }
/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */
@layer properties;
:root, :host {
  --spacing: 0.25rem;
  --font-weight-bold: 700;
  --radius-sm: var(--radius-sm);
}
.absolute {
  position: absolute;
}
.relative {
  position: relative;
}
.inset-0 {
  inset: 0px;
}
.inset-y-0 {
  inset-block: 0px;
}
.top-0 {
  top: 0px;
}
.left-0 {
  left: 0px;
}
.mx-auto {
  margin-inline: auto;
}
.block {
  display: block;
}
.flex {
  display: flex;
}
.h-\[210px\] {
  height: 210px;
}
.h-auto {
  height: auto;
}
.h-full {
  height: 100%;
}
.min-h-12 {
  min-height: calc(var(--spacing) * 12);
}
.w-\[3px\] {
  width: 3px;
}
.w-\[210px\] {
  width: 210px;
}
.w-full {
  width: 100%;
}
.max-w-\[400px\] {
  max-width: 400px;
}
.max-w-\[420px\] {
  max-width: 420px;
}
.max-w-\[520px\] {
  max-width: 520px;
}
.-translate-y-1\/2 {
  --tw-translate-y: calc(calc(1 / 2 * 100%) * -1);
  translate: var(--tw-translate-x) var(--tw-translate-y);
}
.cursor-pointer {
  cursor: pointer;
}
.flex-col {
  flex-direction: column;
}
.items-center {
  align-items: center;
}
.justify-center {
  justify-content: center;
}
.overflow-hidden {
  overflow: hidden;
}
.rounded-\[10px\] {
  border-radius: 10px;
}
.rounded-full {
  border-radius: calc(infinity * 1px);
}
.border-\[1\.5px\] {
  border-style: var(--tw-border-style);
  border-width: 1.5px;
}
.border-alu\/35 {
  border-color: var(--alu);
  @supports (color: color-mix(in lab, red, red)) {
    border-color: color-mix(in oklab, var(--alu) 35%, transparent);
  }
}
.bg-\[\#0a0a0c\] {
  background-color: #0a0a0c;
}
.text-\[13px\] {
  font-size: 13px;
}
.text-\[18px\] {
  font-size: 18px;
}
.text-\[76px\] {
  font-size: 76px;
}
.font-bold {
  --tw-font-weight: var(--font-weight-bold);
  font-weight: var(--font-weight-bold);
}
.text-ink {
  color: var(--ink);
}
.opacity-0 {
  opacity: 0%;
}
.outline-none {
  --tw-outline-style: none;
  outline-style: none;
}
.select-none {
  -webkit-user-select: none;
  user-select: none;
}
@media (hover: hover) {
  .group-hover\:opacity-100:is(:where(.group):hover *) {
    opacity: 100%;
  }
}
.group-focus-visible\:opacity-100:is(:where(.group):focus-visible *) {
  opacity: 100%;
}
@media (hover: hover) {
  .hover\:fill-\[var\(--raised\)\]:hover {
    fill: var(--raised);
  }
  .hover\:fill-\[var\(--raised-2\)\]:hover {
    fill: var(--raised-2);
  }
}
.focus-visible\:stroke-\[var\(--ink\)\]:focus-visible {
  stroke: var(--ink);
}
.focus-visible\:stroke-\[3px\]:focus-visible {
  stroke-width: 3px;
}
.disabled\:cursor-not-allowed:disabled {
  cursor: not-allowed;
}
@media (width >= 40rem) {
  .sm\:h-\[240px\] {
    height: 240px;
  }
  .sm\:w-\[240px\] {
    width: 240px;
  }
}
@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@layer properties {
  @supports ((-webkit-hyphens: none) and (not (margin-trim: inline))) or ((-moz-orient: inline) and (not (color:rgb(from red r g b)))) {
    *, ::before, ::after, ::backdrop {
      --tw-translate-x: 0;
      --tw-translate-y: 0;
      --tw-translate-z: 0;
      --tw-border-style: solid;
      --tw-font-weight: initial;
    }
  }
}
