/* Matching Gamertag Generator (assets/tools/couple-gamertag-generator.js). Tokens only. */
.tool { --gt-b: 226 64 127; }
.tool .gt-inputs { display: flex; flex-direction: column; gap: 14px; padding: 16px; border-radius: 24px; background: var(--surface); box-shadow: 0 2px 12px rgb(var(--ink) / .06); }
.tool .gt-inputs input { background: rgb(var(--ink) / .04); }
.tool .gt-group { display: flex; flex-direction: column; gap: 8px; }
.tool .gt-inputs .tool-chips button { background: rgb(var(--ink) / .05); box-shadow: none; min-height: 44px; padding: 0 14px; }
.tool .gt-inputs .tool-chips button[aria-pressed="true"] { background: rgb(var(--ink)); }
.tool .gt-plat-note { margin-top: -2px; }

.tool .gt-list { display: grid; gap: 10px; }
.tool .gt-list.is-new { animation: card-in .4s var(--ease-out) both; }
.tool .gt-pair { display: flex; flex-direction: column; gap: 8px; margin: 0; padding: 14px 14px 10px 16px; border-radius: 22px; background: var(--surface); box-shadow: var(--shadow); }
.tool .gt-names { display: flex; flex-direction: column; gap: 4px; }
.tool .gt-name { display: flex; align-items: center; gap: 8px; min-width: 0; }
.tool .gt-tag { flex: 1; min-width: 0; font-size: 21px; line-height: 28px; font-weight: 950; letter-spacing: -.01em; overflow-wrap: anywhere; user-select: all; -webkit-user-select: all; }
.tool .gt-a { color: rgb(var(--accent)); }
.tool .gt-b { color: rgb(var(--gt-b)); }
.tool .gt-count { flex: none; font-size: 12px; font-weight: 800; color: rgb(var(--ink) / .45); font-variant-numeric: tabular-nums; }
.tool .gt-copy { flex: none; width: 44px; height: 44px; border-radius: 22px; display: grid; place-items: center; color: rgb(var(--ink) / .55); -webkit-tap-highlight-color: transparent; transition: transform .12s ease, background-color .15s ease; }
.tool .gt-copy .tool-icon { width: 20px; height: 20px; }
.tool .gt-copy:active { transform: scale(.92); background: rgb(var(--ink) / .06); }
.tool .gt-foot { display: flex; align-items: center; gap: 8px; padding-top: 8px; border-top: 1px solid rgb(var(--ink) / .07); }
.tool .gt-duo { flex: 1; min-width: 0; font-size: 14px; line-height: 20px; font-weight: 800; color: rgb(var(--ink) / .8); overflow-wrap: anywhere; }
.tool .gt-duo-k { font-weight: 700; color: rgb(var(--ink) / .45); }
.tool .gt-both { flex: none; min-height: 40px; padding: 0 12px; border-radius: 20px; font-size: 13px; font-weight: 850; color: var(--link); background: rgb(var(--accent) / .1); }
.tool .gt-foot .u23-icon-btn { width: 40px; height: 40px; box-shadow: none; background: transparent; }
.tool .gt-copy:focus-visible, .tool .gt-both:focus-visible { outline: 2px solid rgb(var(--accent)); outline-offset: 2px; }
.tool .gt-empty { padding: 16px; border-radius: 16px; background: var(--surface); font-weight: 700; text-align: center; }
.tool .gt-favs, .tool .gt-incoming { display: flex; flex-direction: column; gap: 10px; }
.tool .gt-incoming { padding: 16px; border-radius: 24px; background: rgb(var(--accent) / .1); }
.tool .gt-list.is-favs .gt-tag { font-size: 18px; }
@media (min-width: 600px) { .tool .gt-list:not(.is-favs) { grid-template-columns: 1fr 1fr; } }
@media (prefers-reduced-motion: reduce) { .tool .gt-list.is-new { animation: none; } }
.tool .gt-inputs .tool-row { grid-template-columns: 1fr 1fr; }
/* Round 2 */
.tool .gt-count.is-near { color: #C2410C; }
.tool .gt-list-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.tool .gt-shuffle { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; padding: 0 14px; border-radius: 20px; font-size: 14px; font-weight: 850; color: var(--link); background: rgb(var(--accent) / .1); -webkit-tap-highlight-color: transparent; }
.tool .gt-shuffle .tool-icon { width: 18px; height: 18px; }
.tool .gt-shuffle:active { transform: scale(.96); }
.tool .gt-shuffle:focus-visible { outline: 2px solid rgb(var(--accent)); outline-offset: 2px; }
.tool .gt-list.is-match .gt-pair { box-shadow: var(--shadow), inset 0 0 0 2px rgb(var(--accent) / .5); }
.tool .gt-tag { font-size: clamp(17px, 5vw, 21px); }
.tool .gt-why { font-size: 12px; line-height: 16px; font-weight: 750; color: rgb(var(--ink) / .5); }
.tool .gt-who { flex: none; width: 60px; font-size: 10px; font-weight: 850; text-transform: uppercase; letter-spacing: .04em; color: rgb(var(--ink) / .5); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tool .gt-plat .tool-chips { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin: 0 -16px; padding: 2px 16px 4px; -webkit-mask-image: linear-gradient(90deg, #000 88%, transparent); mask-image: linear-gradient(90deg, #000 88%, transparent); }
.tool .gt-plat .tool-chips::-webkit-scrollbar { display: none; }
.tool .gt-plat .tool-chips > * { flex: none; }
.tool .gt-foot { flex-wrap: wrap; row-gap: 6px; }
.tool .gt-foot .gt-duo { flex: 1 1 100%; }
.tool .gt-foot .gt-both { margin-right: auto; }
/* Round 4 */
.tool .gt-plat .tool-chips { flex-wrap: wrap; overflow-x: visible; margin: 0; padding: 0; -webkit-mask-image: none; mask-image: none; }
.tool .gt-text-btn { min-height: 36px; padding: 0 10px; border-radius: 18px; font-size: 13px; font-weight: 850; color: rgb(var(--ink) / .6); -webkit-tap-highlight-color: transparent; }
.tool .gt-text-btn:active { transform: scale(.96); }
.tool .gt-text-btn:focus-visible { outline: 2px solid rgb(var(--accent)); outline-offset: 2px; }
@media (hover: hover) { .tool .gt-text-btn:hover { color: var(--link); background: rgb(var(--accent) / .08); } }
.tool .gt-back-btn { min-height: 52px; width: 100%; }
.tool .gt-back-btn:disabled { opacity: .55; }
.tool .gt-more { border-radius: 16px; }
.tool .gt-more summary { cursor: pointer; min-height: 44px; display: flex; align-items: center; font-size: 14px; font-weight: 850; color: var(--link); list-style: none; }
.tool .gt-more summary::-webkit-details-marker { display: none; }
.tool .gt-more summary::before { content: '+'; width: 18px; font-weight: 900; }
.tool .gt-more[open] summary::before { content: '\2212'; }
.tool .gt-foot { gap: 2px; }
.tool .gt-foot .gt-text-btn { padding: 0 8px; }
.tool .gt-foot .gt-both { padding-left: 12px; padding-right: 12px; }
/* Round 5 */
.tool .gt-tag { overflow-wrap: normal; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: clamp(15px, 4.6vw, 21px); }
.tool .gt-plat-sel { width: 100%; min-height: 48px; font-size: 16px; font-weight: 800; border-radius: 14px; padding: 0 14px; color: rgb(var(--ink)); background: var(--surface); box-shadow: inset 0 0 0 1.5px rgb(var(--ink) / .14); }
.tool .gt-plat-sel:focus-visible { outline: 2px solid rgb(var(--accent)); outline-offset: 2px; }
.tool .gt-bar { position: sticky; bottom: calc(12px + env(safe-area-inset-bottom)); z-index: 3; }
.tool .gt-bar[hidden] { display: none; }
.tool .gt-bar .btn { width: 100%; min-height: 52px; box-shadow: 0 10px 30px rgb(var(--accent) / .35); }
.tool .gt-foot { flex-wrap: wrap; }
.tool .gt-foot > :not(.gt-duo) { flex: none; }
.tool .gt-foot .gt-both { padding: 0 10px; font-size: 13px; margin-right: auto; }
.tool .gt-foot .gt-text-btn { padding: 0 6px; }
.tool .gt-foot .u23-icon-btn { width: 40px; height: 40px; }
/* After round 5 (bug fixes, not re-scored) */
.tool .gt-list { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 600px) { .tool .gt-list:not(.is-favs) { grid-template-columns: minmax(0, 1fr); } }
.tool .gt-name { min-width: 0; }
.tool .gt-favs { padding-bottom: 72px; }
/* Round 6: Riot #tag, calmer action row (Copy both and the heart lead, Swap and New are icons), dark card edges */
.tool .gt-rtag { color: rgb(var(--ink) / .5); font-weight: 850; }
.tool .gt-vh { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.tool .gt-foot .gt-swap, .tool .gt-foot .gt-reroll { position: relative; width: 44px; min-width: 44px; min-height: 44px; padding: 0; display: inline-grid; place-items: center; border-radius: 22px; color: rgb(var(--ink) / .55); }
.tool .gt-foot .gt-reroll .tool-icon { width: 18px; height: 18px; }
.tool .gt-swap-ic { width: 18px; height: 18px; background: currentColor; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 4v16M7 20l-3-3M7 20l3-3M17 20V4M17 4l-3 3M17 4l3 3'/%3E%3C/svg%3E") center / contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 4v16M7 20l-3-3M7 20l3-3M17 20V4M17 4l-3 3M17 4l3 3'/%3E%3C/svg%3E") center / contain no-repeat; }
.tool .gt-foot .gt-img { display: inline-flex; align-items: center; gap: 5px; min-height: 44px; padding: 0 10px; color: rgb(var(--ink) / .7); }
.tool .gt-foot .gt-img .tool-icon { width: 16px; height: 16px; }
.tool .gt-foot .gt-both { min-height: 44px; padding: 0 14px; font-size: 14px; }
.tool .gt-foot .u23-icon-btn { width: 44px; height: 44px; }
.tool .gt-foot .u23-icon-btn:not([aria-pressed="true"]) { color: rgb(var(--accent)); }
.tool .gt-foot .u23-icon-btn .tool-icon { width: 24px; height: 24px; }
.tool .gt-plat-note { font-size: 13px; line-height: 18px; }
.tool .gt-group > .u23-label { margin-bottom: 2px; }
@media (prefers-color-scheme: dark) {
  .tool .gt-pair { box-shadow: var(--shadow), inset 0 0 0 1px rgb(var(--ink) / .14); }
  .tool .gt-inputs { box-shadow: inset 0 0 0 1px rgb(var(--ink) / .1); }
}
/* Round 6: heart sits on the duo line, actions on one row below */
.tool .gt-foot .gt-duo { flex: 1 1 calc(100% - 56px); order: 0; }
.tool .gt-foot .u23-icon-btn { order: 1; margin: -6px -6px -6px 0; }
.tool .gt-foot > :not(.gt-duo):not(.u23-icon-btn) { order: 2; }
.tool .gt-rtag { white-space: nowrap; }
.tool .gt-rtag { display: block; }
