:root{
  --ui-accent:#008A4C;
  --ui-accent-pressed:#007341;
  --ui-bg:#060708;
  --ui-surface:#0C0F12;
  --ui-surface-raised:#11151A;
  --ui-border:#232A31;
  --ui-border-strong:#313A43;
  --ui-text:#F4F6F8;
  --ui-muted:#8D969F;
  --ui-danger:#D65B5B;
  --ui-danger-bg:rgba(214,91,91,.10);
  --ui-radius-control:14px;
  --ui-radius-card:18px;
  --ui-radius-sheet:24px;
  --ui-hit:44px;
  --ui-transition:140ms ease;
}

.ui-icon-button{
  width:44px;
  height:44px;
  min-width:44px;
  min-height:44px;
  box-sizing:border-box;
  display:inline-grid;
  place-items:center;
  flex:0 0 44px;
  padding:0;
  border:1px solid var(--ui-border);
  border-radius:14px;
  background:var(--ui-surface);
  color:var(--ui-text);
  text-decoration:none;
  cursor:pointer;
  transition:background var(--ui-transition),border-color var(--ui-transition),transform var(--ui-transition),color var(--ui-transition),opacity var(--ui-transition);
  -webkit-tap-highlight-color:transparent;
}

.ui-icon-button svg{
  width:20px;
  height:20px;
  display:block;
  pointer-events:none;
}

.ui-back-button svg{
  width:19px;
  height:19px;
}

.ui-overflow-button svg{
  width:21px;
  height:21px;
}

.ui-button{
  min-height:44px;
  box-sizing:border-box;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:0 16px;
  border:1px solid var(--ui-border);
  border-radius:var(--ui-radius-control);
  background:var(--ui-surface);
  color:var(--ui-text);
  font:inherit;
  font-weight:750;
  letter-spacing:.01em;
  cursor:pointer;
  transition:background var(--ui-transition),border-color var(--ui-transition),transform var(--ui-transition),color var(--ui-transition),opacity var(--ui-transition);
  -webkit-tap-highlight-color:transparent;
}

.ui-button--primary{
  border-color:var(--ui-accent);
  background:var(--ui-accent);
  color:#FFFFFF;
}

.ui-button--secondary{
  background:var(--ui-surface-raised);
  border-color:var(--ui-border-strong);
}

.ui-button--danger{
  background:var(--ui-danger-bg);
  border-color:rgba(214,91,91,.32);
  color:#F07A7A;
}

.ui-segmented{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(0,1fr);
  gap:3px;
  padding:3px;
  border:1px solid var(--ui-border);
  border-radius:16px;
  background:#090B0E;
}

.ui-segmented button{
  min-height:38px;
  border:0;
  border-radius:12px;
  padding:0 12px;
  background:transparent;
  color:var(--ui-muted);
  font:inherit;
  font-size:12px;
  font-weight:750;
  white-space:nowrap;
  cursor:pointer;
  transition:background var(--ui-transition),color var(--ui-transition),transform var(--ui-transition),opacity var(--ui-transition);
}

.ui-segmented button[aria-pressed="true"]{
  background:var(--ui-surface-raised);
  color:var(--ui-text);
  box-shadow:inset 0 0 0 1px var(--ui-border-strong);
}

.ui-sheet{
  border:1px solid var(--ui-border);
  border-radius:var(--ui-radius-sheet) var(--ui-radius-sheet) 0 0;
  background:var(--ui-bg);
  color:var(--ui-text);
  box-shadow:0 -18px 44px rgba(0,0,0,.34);
}

.ui-icon-button:hover,
.ui-button:hover,
.ui-segmented button:hover{
  border-color:var(--ui-border-strong);
}

.ui-icon-button:active,
.ui-button:active,
.ui-segmented button:active{
  transform:scale(.97);
}

.ui-button--primary:active{
  background:var(--ui-accent-pressed);
  border-color:var(--ui-accent-pressed);
}

.ui-icon-button:focus-visible,
.ui-button:focus-visible,
.ui-segmented button:focus-visible{
  outline:2px solid rgba(0,138,76,.72);
  outline-offset:2px;
}

.ui-icon-button:disabled,
.ui-button:disabled,
.ui-segmented button:disabled,
.ui-icon-button[disabled],
.ui-button[disabled]{
  opacity:.42;
  cursor:default;
  transform:none;
}

@media (prefers-reduced-motion:reduce){
  .ui-icon-button,
  .ui-button,
  .ui-segmented button{
    transition:none;
  }
}


/* Premium neutral control polish */
.ui-icon-button{
  border-color:#2A3239;
  background:linear-gradient(180deg,#11161A,#0B0F12);
  color:#DCE2E6;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03),0 7px 18px rgba(0,0,0,.14);
}
.ui-icon-button:hover{
  border-color:#39434B;
  background:linear-gradient(180deg,#151B1F,#0E1316);
}
.ui-icon-button:active{
  background:#0B0F12;
  box-shadow:inset 0 1px 3px rgba(0,0,0,.3);
}
.ui-icon-button svg{
  stroke-width:1.7;
  shape-rendering:geometricPrecision;
}
.ui-back-button svg{width:18px;height:18px}
.ui-overflow-button svg{width:20px;height:20px}
.ui-button{
  box-shadow:inset 0 1px 0 rgba(255,255,255,.018);
}
.ui-button--secondary{
  background:linear-gradient(180deg,#12171B,#0D1114);
  border-color:#2A333A;
}
.ui-button--secondary:hover{border-color:#39434B}
