.btn{box-sizing:border-box;height:var(--control-height);min-height:var(--control-height);font-family:var(--font-body);font-weight:500;font-size:var(--control-font-size);letter-spacing:var(--control-tracking);text-transform:none;padding:0 var(--control-pad-x);border-radius:var(--control-radius);color:var(--ink-2);cursor:pointer;box-shadow:var(--bevel), inset 0 0 0 1px var(--line);background:0 0;border:none;justify-content:center;align-items:center;gap:6px;text-decoration:none;transition:background .15s,color .15s,box-shadow .15s,transform .12s;display:inline-flex}.btn:hover{background:var(--sunken)}.btn:active{background:color-mix(in srgb, var(--sunken) 85%, var(--ink));box-shadow:var(--press)}.btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.btn.primary{background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 78%, white) 0%, var(--accent) 46%, var(--accent-press) 100%);color:var(--ink-on-accent);box-shadow:var(--bevel), 0 2px 0 color-mix(in srgb, var(--accent-press) 72%, black), 0 6px 12px #00000047}.btn.primary:hover{background:linear-gradient(180deg, color-mix(in srgb, var(--accent-hover) 78%, white) 0%, var(--accent-hover) 46%, var(--accent-press) 100%);color:var(--ink-on-accent)}.btn.primary:active{background:var(--accent-press);color:var(--ink-on-accent);box-shadow:var(--press);transform:translateY(1px)}.btn.ghost{box-shadow:var(--bevel), inset 0 0 0 1px var(--line);color:var(--muted);background:0 0}.btn.ghost:hover{color:var(--ink);background:var(--sunken);box-shadow:var(--bevel), inset 0 0 0 1px var(--line-strong)}.btn[aria-pressed=true]{color:var(--accent);background:var(--accent-wash);box-shadow:inset 0 0 0 1.5px var(--accent)}.btn[aria-pressed=true]:hover,.btn[aria-pressed=true]:active{color:var(--a-700);background:var(--accent-wash);box-shadow:inset 0 0 0 1.5px var(--accent)}.btn.inverse{color:#fff;box-shadow:var(--bevel), inset 0 0 0 1px #ffffff80;background:#ffffff29}.btn.inverse:hover{color:#fff;box-shadow:var(--bevel), inset 0 0 0 1px #ffffffb3;background:#ffffff42}.btn.inverse:active{background:#fff3}.btn.compact{height:var(--control-height-compact);min-height:var(--control-height-compact);border-radius:var(--radius-sm);padding:0 10px;font-size:11.5px}.btn.lg{height:48px;min-height:48px;padding:0 28px;font-size:15px;font-weight:600}.btn.primary.filled{background:linear-gradient(180deg, color-mix(in srgb, var(--accent) 78%, white) 0%, var(--accent) 46%, var(--accent-press) 100%);color:var(--ink-on-accent);box-shadow:var(--bevel), 0 2px 0 color-mix(in srgb, var(--accent-press) 72%, black), 0 6px 12px #00000047;font-weight:600}.btn.primary.filled:hover{background:linear-gradient(180deg, color-mix(in srgb, var(--accent-hover) 78%, white) 0%, var(--accent-hover) 46%, var(--accent-press) 100%);color:var(--ink-on-accent)}.btn.primary.filled:active{background:var(--accent-press);color:var(--ink-on-accent);box-shadow:var(--press)}.btn.icon{width:var(--control-height);min-width:var(--control-height);letter-spacing:.04em;gap:0;padding:0;font-size:1.1rem;font-weight:700;line-height:1}.btn.icon.compact{width:var(--control-height-compact);min-width:var(--control-height-compact);height:var(--control-height-compact);min-height:var(--control-height-compact)}.btn.icon[aria-expanded=true]{color:var(--accent);background:var(--accent-wash);box-shadow:inset 0 0 0 1.5px var(--accent)}.btn.block{box-sizing:border-box;width:100%;display:flex}.btn.back{color:var(--muted);box-shadow:var(--bevel), inset 0 0 0 1px var(--line-soft);gap:8px;padding-left:12px;padding-right:14px}.btn.back:hover{color:var(--a-700);background:var(--a-50);box-shadow:var(--bevel), inset 0 0 0 1px var(--a-200)}.btn-back-chevron{border-bottom:2px solid;border-left:2px solid;flex-shrink:0;width:.55em;height:.55em;margin-top:-1px;display:block;transform:rotate(45deg)}a.btn.back,a.btn.back:visited{color:var(--muted)}a.btn.back:hover{color:var(--a-700)}.btn.discord{background:linear-gradient(180deg, color-mix(in srgb, var(--discord) 78%, white) 0%, var(--discord) 50%, var(--discord-hover) 100%);color:var(--ink-on-discord);box-shadow:var(--bevel), 0 2px 0 color-mix(in srgb, var(--discord-hover) 80%, black), 0 6px 12px #00000047;gap:10px}.btn.discord:hover{background:var(--discord-hover);color:var(--ink-on-discord)}.btn.discord:active{box-shadow:var(--press)}.btn.discord svg{flex-shrink:0;width:20px;height:20px}.btn.earned{background:var(--earned);color:var(--on-earned);box-shadow:var(--bevel), 0 2px 0 color-mix(in srgb, var(--holo-violet-ink) 55%, black), 0 6px 12px #00000047}.btn.earned:hover{filter:brightness(1.08);color:var(--on-earned)}.btn.earned:active{filter:none;box-shadow:var(--press);transform:translateY(1px)}html[data-theme=light] .btn.earned,html[data-theme=light] .btn.earned:hover{color:var(--ink-on-accent)}.btn.danger{color:var(--clay-d);box-shadow:var(--bevel), inset 0 0 0 1px var(--clay-l);background:0 0}.btn.danger:hover{background:var(--clay-w);color:var(--clay-d)}.btn.danger:disabled{opacity:.45;cursor:not-allowed}a.btn,a.btn:visited{color:var(--ink-2);text-decoration:none}a.btn:hover{color:var(--ink-2)}a.btn.primary,a.btn.primary:visited,a.btn.primary:hover,a.btn.primary.filled,a.btn.primary.filled:visited,a.btn.primary.filled:hover{color:var(--ink-on-accent)}a.btn.ghost,a.btn.ghost:visited{color:var(--muted)}a.btn.ghost:hover{color:var(--ink)}a.btn.inverse,a.btn.inverse:visited,a.btn.inverse:hover{color:#fff}a.btn.discord,a.btn.discord:visited,a.btn.discord:hover{color:var(--ink-on-discord)}a.btn.earned,a.btn.earned:visited,a.btn.earned:hover{color:var(--on-earned)}html[data-theme=light] a.btn.earned,html[data-theme=light] a.btn.earned:visited,html[data-theme=light] a.btn.earned:hover{color:var(--ink-on-accent)}a.btn.danger,a.btn.danger:visited,a.btn.danger:hover{color:var(--clay-d)}.btn.stable-label,.btn.stable-label:hover,.btn.stable-label:focus,a.btn.stable-label,a.btn.stable-label:hover,a.btn.stable-label:focus,a.btn.stable-label:visited{color:var(--ink-2)}.btn.primary.stable-label,.btn.primary.stable-label:hover,.btn.primary.stable-label:focus,a.btn.primary.stable-label,a.btn.primary.stable-label:hover,a.btn.primary.stable-label:focus,a.btn.primary.stable-label:visited,.btn.primary.filled.stable-label,.btn.primary.filled.stable-label:hover,.btn.primary.filled.stable-label:focus,a.btn.primary.filled.stable-label,a.btn.primary.filled.stable-label:hover,a.btn.primary.filled.stable-label:focus,a.btn.primary.filled.stable-label:visited{color:var(--ink-on-accent)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.session-out{align-self:flex-start}
