:root{color-scheme:dark;--bg:#09080e;--surface:#14121c;--surface-2:#1d1a28;--text:#fbfaff;--muted:#9c98ac;--line:rgba(255,255,255,.11);--purple:#9b6cff;--purple-2:#6d42d9;--pink:#ff5a9f;--danger:#ff6374;--radius:1.45rem;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
*{box-sizing:border-box}html,body{min-height:100%}body{margin:0;min-width:320px;background:radial-gradient(circle at 82% 4%,rgba(136,83,255,.18),transparent 27rem),radial-gradient(circle at 0 85%,rgba(255,69,151,.08),transparent 24rem),var(--tg-theme-bg-color,var(--bg));color:var(--tg-theme-text-color,var(--text));overscroll-behavior:none}button,a{-webkit-tap-highlight-color:transparent}button{color:inherit;font:inherit}button:focus-visible,a:focus-visible{outline:3px solid var(--purple);outline-offset:3px}.hidden{display:none!important}.app-shell{width:min(100%,34rem);min-height:100svh;margin:0 auto;padding:max(.75rem,env(safe-area-inset-top)) 1rem max(1.1rem,env(safe-area-inset-bottom));display:flex;flex-direction:column}.topbar{height:3.55rem;display:grid;grid-template-columns:2.65rem 1fr 2.65rem;align-items:center;position:relative;z-index:30}.brand{justify-self:center;display:inline-flex;align-items:center;gap:.5rem;color:inherit;text-decoration:none;font-size:.77rem;font-weight:900;letter-spacing:.1em}.brand b{color:var(--purple)}.brand-mark{width:1.65rem;height:1.65rem;display:grid;place-items:center;border-radius:.5rem;background:linear-gradient(145deg,var(--purple),#c481ff);color:#fff;font-size:.9rem;letter-spacing:0;transform:rotate(-5deg);box-shadow:0 .4rem 1.3rem rgba(155,108,255,.32)}.icon-button{width:2.45rem;height:2.45rem;border:1px solid var(--line);border-radius:50%;background:rgba(255,255,255,.035);cursor:pointer;font-size:1.15rem}.icon-button:last-child{justify-self:end}.screen{display:none;flex:1;min-height:0}.screen.active{display:flex;animation:screen-in .28s cubic-bezier(.2,.8,.2,1)}.eyebrow{margin:0 0 .65rem;color:var(--muted);font-size:.75rem;font-weight:850;letter-spacing:.13em;text-transform:uppercase}h1,h2,p{text-wrap:balance}h1{margin:0;font-size:clamp(3rem,14vw,4.65rem);line-height:.91;letter-spacing:-.065em;font-weight:950}h1 em{color:var(--purple);font-style:normal}.screen-home{flex-direction:column;padding-top:clamp(1.5rem,5vh,3.5rem)}.home-intro{margin-bottom:1.75rem}.home-intro h1{font-size:clamp(2.9rem,13vw,4.5rem)}.filter-block{margin-bottom:1rem}.filter-label{display:block;margin:0 0 .55rem .2rem;color:var(--muted);font-size:.78rem;font-weight:700}.series-filter{display:grid;grid-template-columns:repeat(4,1fr);gap:.25rem;padding:.3rem;border:1px solid var(--line);border-radius:1rem;background:rgba(255,255,255,.035)}.series-filter button{min-width:0;min-height:2.65rem;padding:.25rem;border:0;border-radius:.75rem;background:transparent;color:var(--muted);cursor:pointer;font-size:.78rem;font-weight:800}.series-filter button.active{background:var(--purple);color:#fff;box-shadow:0 .5rem 1.4rem rgba(128,78,232,.28)}.mode-grid{display:grid;gap:.62rem}.mode-card{width:100%;min-height:5rem;display:grid;grid-template-columns:3.2rem 1fr auto;align-items:center;gap:.85rem;padding:.78rem .9rem;border:1px solid var(--line);border-radius:1.15rem;background:rgba(20,18,28,.88);text-align:left;cursor:pointer;transition:transform .16s ease,border-color .16s ease,background .16s ease}.mode-card:active{transform:scale(.985)}.mode-card:hover{border-color:rgba(155,108,255,.55)}.mode-card-featured{background:linear-gradient(125deg,rgba(103,62,190,.95),rgba(55,32,105,.95));border-color:rgba(181,143,255,.4)}.mode-icon{width:3.05rem;height:3.05rem;display:grid;place-items:center;border-radius:.9rem;background:rgba(255,255,255,.075);color:#c7a9ff;font-size:1.3rem;font-weight:950}.mode-card-featured .mode-icon{background:rgba(255,255,255,.14);color:#fff}.mode-vs{font-size:.85rem;letter-spacing:-.04em}.mode-copy{min-width:0;display:grid;gap:.23rem}.mode-copy strong{font-size:1rem}.mode-copy small{color:rgba(231,226,243,.58);font-size:.77rem;line-height:1.25}.mode-arrow{color:var(--muted);font-size:1.25rem}.privacy-note{margin:auto 0 0;padding-top:1.25rem;text-align:center;color:var(--muted);font-size:.73rem}
.round-head{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin:.8rem 0 .7rem}.round-head h2{margin:0;font-size:1.8rem;letter-spacing:-.045em}.progress-copy{margin:0;color:var(--text);font-size:1rem;font-weight:900;white-space:nowrap}.progress-copy i{margin:0 .28rem;color:var(--muted);font-style:normal}.progress-track{height:.26rem;border-radius:1rem;overflow:hidden;background:var(--surface-2)}.progress-track span{display:block;width:5%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--purple),#d289ff);transition:width .25s ease}.screen-swipe{flex-direction:column}.deck{flex:1;min-height:26rem;display:grid;place-items:center;padding-top:.8rem;perspective:900px}.character-card{position:relative;width:100%;max-width:27rem;height:clamp(27rem,63svh,41rem);overflow:hidden;border:1px solid var(--line);border-radius:1.7rem;background:var(--surface);box-shadow:0 1.5rem 4rem rgba(0,0,0,.38);cursor:grab;touch-action:none;user-select:none;will-change:transform}.character-card.dragging{cursor:grabbing;transition:none}.character-card.fly{transition:transform .28s ease,opacity .26s ease}.character-card img{width:100%;height:100%;display:block;object-fit:cover;object-position:center top;pointer-events:none}.card-shade{position:absolute;inset:0;background:linear-gradient(to top,rgba(6,5,11,.95) 0,rgba(7,6,12,.28) 35%,transparent 62%);pointer-events:none}.card-meta{position:absolute;z-index:3;left:1.15rem;right:1.15rem;bottom:1.15rem}.card-meta span{display:inline-block;margin-bottom:.3rem;color:#cdb7ff;font-size:.75rem;font-weight:850;letter-spacing:.11em;text-transform:uppercase}.card-meta h2{margin:0;font-size:clamp(2.15rem,10vw,3.2rem);line-height:.98;letter-spacing:-.06em}.reaction-stamp{position:absolute;z-index:6;top:2rem;padding:.5rem .72rem;border:.2rem solid currentColor;border-radius:.6rem;font-size:1.2rem;font-weight:950;letter-spacing:.05em;text-transform:uppercase;opacity:0}.stamp-pass{right:1.1rem;color:var(--danger);transform:rotate(10deg)}.stamp-like{left:1.1rem;color:#b99aff;transform:rotate(-10deg)}.swipe-actions{display:flex;justify-content:center;gap:2.3rem;padding-top:.9rem}.action-button{width:4.25rem;height:4.25rem;display:grid;place-items:center;align-content:center;gap:.14rem;border:1px solid var(--line);border-radius:50%;background:var(--surface);cursor:pointer;transition:transform .15s ease}.action-button:active{transform:scale(.91)}.action-button span{font-size:1.65rem;line-height:1}.action-button small{color:var(--muted);font-size:.55rem;letter-spacing:.07em;text-transform:uppercase}.action-button.pass{color:var(--danger)}.action-button.like{color:#b99aff;box-shadow:0 0 2.2rem rgba(155,108,255,.16)}.gesture-hint{margin:.62rem 0 0;text-align:center;color:var(--muted);font-size:.68rem}
.card-image-status{position:absolute;z-index:2;inset:0;display:grid;place-content:center;justify-items:center;gap:.7rem;padding:1rem;background:radial-gradient(circle at 50% 38%,rgba(155,108,255,.14),rgba(13,11,20,.9) 64%);color:#d8c8f7;text-align:center;pointer-events:none}.card-image-status span{width:1.8rem;height:1.8rem;border:.18rem solid rgba(216,200,247,.22);border-top-color:#b68cff;border-radius:50%;animation:image-loading-spin .8s linear infinite}.card-image-status strong{font-size:.72rem;letter-spacing:.04em}.image-host-loading{background-color:#17131f;background-image:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.055) 45%,transparent 60%);background-size:220% 100%;animation:image-loading-shimmer 1.15s linear infinite}.image-host-error{background-color:#17131f;background-image:none}img[data-safe-image]{transition:opacity .16s ease}img[data-safe-image]:not(.image-ready),img.image-loading,img.image-error{opacity:0}.hidden.card-image-status{display:none}@keyframes image-loading-spin{to{transform:rotate(1turn)}}@keyframes image-loading-shimmer{to{background-position:-220% 0}}
.screen-note{margin:.85rem 0 1rem;color:var(--muted);font-size:.88rem;line-height:1.45}.screen-pairwise,.screen-battle{flex-direction:column}.versus-grid{flex:1;min-height:31rem;display:grid;grid-template-columns:1fr 1fr;gap:.65rem;position:relative;align-items:stretch}.versus-grid::after{content:"VS";position:absolute;z-index:8;left:50%;top:44%;width:2.7rem;height:2.7rem;display:grid;place-items:center;transform:translate(-50%,-50%) rotate(-7deg);border:.25rem solid var(--bg);border-radius:50%;background:var(--purple);color:#fff;font-size:.72rem;font-weight:950}.versus-card{position:relative;min-width:0;padding:0;overflow:hidden;border:1px solid var(--line);border-radius:1.25rem;background:var(--surface);cursor:pointer;text-align:left}.versus-card img{width:100%;height:100%;min-height:31rem;object-fit:cover;object-position:center top;display:block;transition:transform .25s ease}.versus-card:active img{transform:scale(.985)}.versus-meta{position:absolute;z-index:3;left:0;right:0;bottom:0;padding:4rem .75rem .85rem;background:linear-gradient(to top,rgba(5,4,9,.98),transparent)}.versus-meta strong{display:block;font-size:1.05rem;line-height:1.05;letter-spacing:-.03em}.versus-meta small{display:block;margin-top:.25rem;color:#c8b2f8;font-size:.67rem}.vote-counter{text-align:right}.vote-counter strong,.vote-counter small{display:block}.vote-counter strong{font-size:1.45rem}.vote-counter small{color:var(--muted);font-size:.64rem;text-transform:uppercase}.secondary-button,.primary-button,.text-button{width:100%;min-height:3.45rem;border-radius:1rem;cursor:pointer;font-weight:850}.primary-button{border:0;background:linear-gradient(125deg,var(--purple),#b276ff);color:#fff;box-shadow:0 .8rem 2rem rgba(117,70,218,.24)}.secondary-button{margin-top:.75rem;border:1px solid var(--line);background:var(--surface);color:var(--text)}.text-button{border:0;background:transparent;color:var(--muted)}
.screen-result,.screen-stats,.screen-share{flex-direction:column;padding-top:clamp(1.1rem,4vh,2.5rem)}.result-heading>p:last-child{color:var(--muted);font-size:.92rem;line-height:1.5}.portrait-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.55rem;margin:1.25rem 0}.portrait-tile{position:relative;aspect-ratio:.78;overflow:hidden;border-radius:1rem;border:1px solid var(--line);background:var(--surface)}.portrait-tile img{width:100%;height:100%;object-fit:cover;object-position:center top}.portrait-tile span{position:absolute;inset:auto 0 0;padding:1.8rem .5rem .55rem;background:linear-gradient(to top,rgba(6,5,10,.94),transparent);font-size:.72rem;font-weight:850}.top-list,.stats-list{list-style:none;padding:0;margin:1.3rem 0;display:grid;gap:.55rem}.top-item,.stats-item{display:grid;grid-template-columns:2.3rem 4.2rem 1fr;align-items:center;gap:.75rem;padding:.6rem;border:1px solid var(--line);border-radius:1rem;background:var(--surface)}.top-item:first-child{background:linear-gradient(120deg,rgba(111,66,206,.5),rgba(28,23,42,.95));border-color:rgba(177,137,255,.42)}.top-rank{text-align:center;color:#c6aaff;font-size:1.15rem;font-weight:950}.top-thumb,.stats-thumb{width:4.2rem;height:4.8rem;border-radius:.72rem;object-fit:cover;object-position:center top}.top-copy,.stats-copy{min-width:0}.top-copy strong,.stats-copy strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-copy small,.stats-copy small{color:var(--muted);font-size:.72rem}.result-actions{display:grid;gap:.55rem;margin-top:auto;padding-top:.9rem}.type-orb{width:3.3rem;height:3.3rem;display:grid;place-items:center;margin-bottom:1rem;border:1px solid rgba(177,137,255,.35);border-radius:50%;background:rgba(155,108,255,.14);color:#ceb9ff;font-size:1.45rem;box-shadow:0 0 2.5rem rgba(155,108,255,.18)}.type-heading h1{font-size:clamp(2.8rem,13vw,4.3rem)}.tag-chips{display:flex;flex-wrap:wrap;gap:.45rem;margin:1rem 0}.tag-chips span{padding:.48rem .72rem;border:1px solid rgba(177,137,255,.32);border-radius:5rem;background:rgba(155,108,255,.1);color:#d5c3ff;font-size:.78rem;font-weight:800}.section-label{margin:1.1rem 0 .6rem;color:var(--muted);font-size:.75rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}.match-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.match-card{min-width:0}.match-card img{width:100%;aspect-ratio:.78;display:block;object-fit:cover;object-position:center top;border-radius:.9rem;border:1px solid var(--line)}.match-card strong{display:block;margin-top:.42rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.75rem}.stats-item{grid-template-columns:2.2rem 3.5rem 1fr auto}.stats-thumb{width:3.5rem;height:3.8rem}.stat-rate{color:#c6aaff;font-size:.86rem;font-weight:900}.share-heading h1{font-size:clamp(2.7rem,12vw,4rem)}.share-preview{width:min(100%,20rem);margin:1.2rem auto 0;padding:.55rem;border:1px solid var(--line);border-radius:1.15rem;background:var(--surface)}#shareCanvas{display:block;width:100%;height:auto;border-radius:.72rem;background:#0d0b14}.toast{position:fixed;z-index:60;left:50%;bottom:calc(1.1rem + env(safe-area-inset-bottom));transform:translate(-50%,1rem);max-width:calc(100% - 2rem);padding:.72rem .95rem;border:1px solid var(--line);border-radius:5rem;background:rgba(27,23,39,.96);color:#fff;font-size:.8rem;opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease;text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}
.selection-hint{margin:.65rem 0 0;color:#d9caff;font-size:.82rem;font-weight:750;text-align:right}.selection-hint strong{color:#fff}.screen-top-select,.screen-type-setup,.screen-top-sort{flex-direction:column;padding-top:clamp(1rem,3vh,2rem)}.selection-counter{margin:0;color:#d9caff;font-size:.86rem;font-weight:800;white-space:nowrap}.selection-counter strong{color:#fff;font-size:1.1rem}.top-select-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem;padding-bottom:5.2rem}.top-select-card{position:relative;min-width:0;padding:0;overflow:hidden;border:2px solid transparent;border-radius:1rem;background:var(--surface);cursor:pointer;text-align:left;transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}.top-select-card:active{transform:scale(.97)}.top-select-card.selected{border-color:#a875ff;box-shadow:0 0 0 .18rem rgba(155,108,255,.18)}.top-select-card img{width:100%;aspect-ratio:.76;display:block;object-fit:cover;object-position:center top}.top-select-copy{display:block;padding:.5rem}.top-select-copy strong,.top-select-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-select-copy strong{font-size:.72rem}.top-select-copy small{margin-top:.14rem;color:var(--muted);font-size:.62rem}.selection-order{position:absolute;z-index:2;top:.42rem;right:.42rem;width:1.7rem;height:1.7rem;display:grid;place-items:center;border-radius:50%;background:var(--purple);color:#fff;font-size:.72rem;font-weight:950;box-shadow:0 .35rem 1rem rgba(0,0,0,.4)}.sticky-action{position:sticky;z-index:12;bottom:0;margin-top:auto;padding:.8rem 0 max(.15rem,env(safe-area-inset-bottom));background:linear-gradient(transparent,var(--bg) 28%)}.primary-button:disabled{opacity:.38;cursor:not-allowed;box-shadow:none}.screen-type-setup .result-heading h2,.screen-top-sort .result-heading h2{margin:0;font-size:clamp(2rem,9vw,3.15rem);letter-spacing:-.05em}.analysis-options{display:grid;gap:.75rem;margin-top:1.2rem}.analysis-card{display:grid;gap:.35rem;width:100%;padding:1.15rem;border:1px solid var(--line);border-radius:1.15rem;background:var(--surface);cursor:pointer;text-align:left}.analysis-card:hover,.analysis-card:active{border-color:#9b6cff;background:rgba(155,108,255,.1)}.analysis-card span{color:#d6c4ff;font-size:.76rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.analysis-card strong{font-size:1.35rem}.analysis-card small{color:var(--muted);font-size:.78rem;line-height:1.4}.top-sort-list{list-style:none;padding:0;margin:1.1rem 0;display:grid;gap:.55rem}.top-sort-item{display:grid;grid-template-columns:2.2rem 3.7rem minmax(0,1fr) auto;align-items:center;gap:.6rem;padding:.55rem;border:1px solid var(--line);border-radius:1rem;background:var(--surface);transition:transform .15s ease,border-color .15s ease,opacity .15s ease}.top-sort-item.dragging{opacity:.64;border-color:#9b6cff;transform:scale(.985)}.sort-handle{align-self:stretch;display:grid;place-items:center;border:0;background:transparent;color:#a69caf;font-size:1.2rem;cursor:grab;touch-action:none}.sort-handle:active{cursor:grabbing}.sort-thumb{width:3.7rem;height:4.25rem;border-radius:.72rem;object-fit:cover;object-position:center top}.sort-copy{min-width:0}.sort-copy strong,.sort-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sort-copy small{margin-top:.18rem;color:var(--muted);font-size:.7rem}.sort-controls{display:grid;grid-template-columns:1fr 1fr;gap:.25rem}.sort-controls button{width:2rem;height:2rem;border:1px solid var(--line);border-radius:.55rem;background:#211b2d;color:#fff;font-size:.9rem}.sort-controls button:disabled{opacity:.25}.trait-results{list-style:none;padding:0;margin:0;display:grid;gap:.45rem}.trait-result{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.7rem;padding:.7rem .78rem;border:1px solid var(--line);border-radius:.8rem;background:rgba(255,255,255,.025)}.trait-result span{font-size:.84rem;font-weight:750}.trait-result strong{color:#cbb4ff;font-size:.88rem}.bye-note{margin:-.45rem 0 .75rem;padding:.55rem .7rem;border:1px solid rgba(155,108,255,.25);border-radius:.75rem;background:rgba(155,108,255,.08);color:#cdb9ff;font-size:.75rem}.winner-card{position:relative;flex:1;min-height:30rem;margin:1.1rem 0;overflow:hidden;border:1px solid rgba(177,137,255,.35);border-radius:1.35rem;background:var(--surface)}.winner-card img{width:100%;height:100%;min-height:30rem;display:block;object-fit:cover;object-position:center top}.winner-copy{position:absolute;inset:auto 0 0;padding:7rem 1.2rem 1.25rem;background:linear-gradient(to top,rgba(6,5,10,.98),transparent)}.winner-copy span{color:#cbb6ff;font-size:.72rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.winner-copy h2{margin:.25rem 0 0;font-size:clamp(2.6rem,12vw,4rem);line-height:.95;letter-spacing:-.06em}.stats-item .stats-copy small{white-space:normal}.tournament-wins{color:#c6aaff;font-size:.76rem;font-weight:850;text-align:right}
@keyframes screen-in{from{opacity:0;transform:translateY(.45rem)}to{opacity:1;transform:none}}@media(max-height:690px){.character-card{height:25rem}.deck{min-height:25rem}.versus-card img{min-height:27rem}.versus-grid{min-height:27rem}.winner-card,.winner-card img{min-height:27rem}}@media(min-width:52rem){body{padding:2rem 0}.app-shell{min-height:calc(100svh - 4rem);border:1px solid var(--line);border-radius:2rem;background:rgba(9,8,14,.9);box-shadow:0 2rem 7rem rgba(0,0,0,.4)}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Targeted mobile polish: safe-area spacing, compact headings and balanced controls. */
.app-shell{height:100dvh;min-height:0;padding:max(.75rem,env(safe-area-inset-top)) max(1rem,env(safe-area-inset-right)) max(1.1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y}
html,body{height:100%;overflow:hidden}
.screen{touch-action:pan-y}
.topbar{min-height:3.7rem;height:auto;grid-template-columns:2.65rem minmax(0,1fr) 2.65rem;gap:.35rem}
.topbar>.icon-button:first-child{grid-column:1;grid-row:1}
.topbar>.brand{grid-column:2;grid-row:1}
.topbar>.icon-button:last-child{grid-column:3;grid-row:1}
.brand{min-width:0;max-width:100%;justify-content:center;gap:.45rem;font-size:.75rem;letter-spacing:.09em;white-space:nowrap}
.brand-mark{flex:0 0 auto}
.icon-button{display:grid;place-items:center;padding:0}
h1{font-size:clamp(2.55rem,11vw,3.85rem);line-height:.94;letter-spacing:-.06em}
.screen-home{padding-top:clamp(1.25rem,4vh,3rem)}
.home-intro{margin-bottom:1.55rem}
.home-intro h1{font-size:clamp(2.5rem,10.8vw,3.8rem)}
.type-heading h1{font-size:clamp(2.35rem,10vw,3.55rem)}
.share-heading h1{font-size:clamp(2.35rem,10vw,3.5rem)}
.winner-copy h2{font-size:clamp(2.2rem,9.5vw,3.3rem);line-height:.97;letter-spacing:-.055em}
.home-preferences{margin:auto 0 0;padding-top:1.15rem;display:grid;justify-items:center;gap:.5rem}
.sound-toggle{min-height:2.25rem;padding:.35rem .78rem;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.035);color:#c9c3d4;cursor:pointer;font-size:.72rem;font-weight:800}
.sound-toggle[aria-pressed="false"]{color:var(--muted)}
.home-preferences .privacy-note{margin:0;padding-top:0}
.swipe-actions{gap:2rem}
.action-button{width:4.35rem;height:4.35rem;display:flex;align-items:center;justify-content:center;padding:0;gap:0}
.action-button span{display:block;font-size:2.05rem;line-height:1;transform:translateY(-.03em)}
#shareCanvas,.mobile-save-image{display:block;width:100%;height:auto;border-radius:.72rem;background:#0d0b14}
.share-save-hint{margin:.7rem auto 0;max-width:20rem;color:#c9c3d4;font-size:.8rem;line-height:1.4;text-align:center}

@media(max-width:23rem){
  .app-shell{padding-left:max(.75rem,env(safe-area-inset-left));padding-right:max(.75rem,env(safe-area-inset-right))}
  .brand{font-size:.69rem;gap:.35rem;letter-spacing:.075em}
  .brand-mark{width:1.55rem;height:1.55rem}
  h1{font-size:clamp(2.35rem,11vw,3rem)}
  .home-intro h1{font-size:clamp(2.28rem,10.7vw,2.95rem)}
  .type-heading h1,.share-heading h1{font-size:clamp(2.2rem,10vw,2.85rem)}
}

@media(min-width:52rem){.app-shell{height:calc(100dvh - 4rem);min-height:0}}

/* PICK navigation and isolated BEST CHARACTER extension. */
.app-shell{padding-bottom:max(1.1rem,env(safe-area-inset-bottom))}
.app-shell.has-global-nav{height:calc(100dvh - 4.5rem - env(safe-area-inset-bottom))}
.sticky-action{bottom:0}
.pick-switch{display:grid;grid-template-columns:repeat(3,1fr);gap:.25rem;margin:.65rem 0 .2rem;padding:.28rem;border:1px solid var(--line);border-radius:.9rem;background:rgba(255,255,255,.03)}
.pick-switch button{min-width:0;min-height:2.35rem;border:0;border-radius:.65rem;background:transparent;color:var(--muted);font-size:.69rem;font-weight:900;letter-spacing:.06em;cursor:pointer}
.pick-switch button.active{background:rgba(155,108,255,.18);color:#fff;box-shadow:inset 0 0 0 1px rgba(155,108,255,.35)}
.app-nav{position:fixed;z-index:55;left:50%;bottom:0;width:min(100%,34rem);display:grid;grid-template-columns:repeat(4,1fr);transform:translateX(-50%);padding:.5rem max(.55rem,env(safe-area-inset-right)) max(.48rem,env(safe-area-inset-bottom)) max(.55rem,env(safe-area-inset-left));border-top:1px solid var(--line);background:rgba(9,8,14,.94);backdrop-filter:blur(18px);box-shadow:0 -.8rem 2.2rem rgba(0,0,0,.28)}
.app-nav button{min-width:0;min-height:3.45rem;display:grid;place-items:center;align-content:center;gap:.22rem;border:0;border-radius:.8rem;background:transparent;color:#756d82;cursor:pointer}
.app-nav button span{font-size:1rem;line-height:1}.app-nav button strong{font-size:.58rem;letter-spacing:.08em}.app-nav button.active{color:#cdb6ff;background:rgba(155,108,255,.1)}
.toast{bottom:calc(5.4rem + env(safe-area-inset-bottom))}
.app-shell:not(.has-global-nav)~.toast{bottom:calc(1.1rem + env(safe-area-inset-bottom))}
.screen-swipe .deck{flex:0 0 auto;min-height:0;height:auto;position:relative;z-index:1}
.screen-swipe .character-card{height:clamp(18rem,calc(100dvh - 21rem - env(safe-area-inset-top) - env(safe-area-inset-bottom)),36rem)}
.screen-swipe .swipe-actions{position:relative;z-index:2;flex:0 0 auto;padding-top:.9rem}
.screen-swipe .gesture-hint{flex:0 0 auto}
.best-intro>p:last-child{margin:1rem 0 0;color:var(--muted);font-size:.9rem;line-height:1.5}.best-intro h1 em,.best-accent,.best-top-list .top-rank{color:#f2c66d}
.best-mode-card{background:linear-gradient(125deg,rgba(92,58,165,.92),rgba(54,36,90,.95));border-color:rgba(217,181,105,.32)}
.mode-card:disabled{opacity:.48;cursor:not-allowed}.mode-card:disabled:hover{border-color:var(--line)}
.best-rating{margin-top:1rem;padding:1rem;border:1px solid rgba(225,188,107,.24);border-radius:1.15rem;background:linear-gradient(145deg,rgba(225,188,107,.08),rgba(20,18,28,.88))}
.best-rating-head{display:flex;align-items:end;justify-content:space-between;gap:.7rem}.best-rating-head .eyebrow{margin-bottom:.25rem;color:#dbb663}.best-rating-head h2{margin:0;font-size:1.25rem}.best-rating-head>span{color:var(--muted);font-size:.7rem;font-weight:800;white-space:nowrap}
.best-rating-empty{display:grid;gap:.3rem;margin-top:.9rem;padding:.8rem;border-radius:.8rem;background:rgba(255,255,255,.03)}.best-rating-empty strong{font-size:.86rem}.best-rating-empty span{color:var(--muted);font-size:.75rem}
.best-rating-leader{display:grid;grid-template-columns:auto 1fr;gap:.15rem .55rem;margin-top:.9rem;padding:.8rem;border-radius:.85rem;background:rgba(225,188,107,.1)}.best-rating-leader>span{grid-row:1/3;color:#f2c66d;font-size:1.2rem;font-weight:950}.best-rating-leader strong{font-size:1rem}.best-rating-leader b{color:#d9bd80;font-size:.72rem}
.best-rating ol{list-style:none;display:grid;gap:.4rem;margin:.55rem 0 0;padding:0}.best-rating li{display:flex;justify-content:space-between;gap:.7rem;color:#ded8e8;font-size:.76rem}.best-rating li b{color:#d9bd80}
.best-placeholder{display:grid;place-items:center;overflow:hidden;background:radial-gradient(circle at 70% 20%,rgba(231,194,111,.27),transparent 35%),radial-gradient(circle at 20% 78%,rgba(155,108,255,.28),transparent 38%),linear-gradient(145deg,#262032,#100e17);color:#f4d58e;user-select:none}
.best-placeholder>span{font-size:clamp(2rem,10vw,4.8rem);font-weight:950;letter-spacing:-.08em;text-shadow:0 .45rem 1.5rem rgba(0,0,0,.35)}
.character-card>.best-placeholder{position:absolute;inset:0}.best-grid-art{width:100%;aspect-ratio:.76}.best-grid-art>span{font-size:clamp(1.55rem,9vw,3rem)}
.best-sort-art{width:3.7rem;height:4.25rem;border-radius:.72rem}.best-sort-art>span{font-size:1.15rem}
.best-versus-art{width:100%;height:100%;min-height:31rem}.best-versus-art>span{font-size:clamp(2rem,12vw,4rem)}
.best-versus-card .versus-meta{padding-top:5rem}.best-versus-card:active .best-placeholder{transform:scale(.985)}
.best-portrait-tile>.best-placeholder{position:absolute;inset:0;padding:0;background:radial-gradient(circle at 70% 20%,rgba(231,194,111,.27),transparent 35%),radial-gradient(circle at 20% 78%,rgba(155,108,255,.28),transparent 38%),linear-gradient(145deg,#262032,#100e17)}
.best-portrait-tile>.best-placeholder>span{position:static;padding:0;background:none;font-size:clamp(1.5rem,8vw,2.7rem)}
.best-top-art{width:4.2rem;height:4.8rem;border-radius:.72rem}.best-top-art>span{font-size:1.15rem}
.best-top-list .top-item:first-child{background:linear-gradient(120deg,rgba(156,116,39,.34),rgba(28,23,42,.95));border-color:rgba(232,196,117,.4)}
.best-primary{background:linear-gradient(125deg,#9b6cff,#c59543)}
.best-winner-card{border-color:rgba(232,196,117,.42)}.best-winner-placeholder{width:100%;height:100%;min-height:30rem}.best-winner-placeholder>span{font-size:clamp(4rem,24vw,8rem)}.best-winner-card .winner-copy span{color:#f2c66d}
@media(max-width:25rem){.pick-switch button{font-size:.61rem}.app-nav button strong{font-size:.52rem}.best-rating-head{align-items:start;flex-direction:column}.best-rating-head>span{align-self:flex-end}}
@media(min-width:52rem){.app-shell.has-global-nav{height:calc(100dvh - 8.6rem)}.app-nav{bottom:2rem;border:1px solid var(--line);border-radius:0 0 2rem 2rem}.toast{bottom:7.4rem}.app-shell:not(.has-global-nav)~.toast{bottom:3.1rem}}

/* Isolated STRONGEST mode. */
.strongest-intro>p:last-child{margin:1rem 0 0;color:var(--muted);font-size:.9rem;line-height:1.5}.strongest-intro h1 em,.strongest-accent,.strongest-top-list .top-rank{color:#ff9677}.strongest-mode-card{background:linear-gradient(125deg,rgba(154,63,49,.92),rgba(73,31,40,.95));border-color:rgba(255,145,113,.35)}
.strongest-primary{background:linear-gradient(125deg,#e35345,#ff9d6c)}.power-style-card{margin-top:1rem;padding:1rem;border:1px solid rgba(255,141,105,.25);border-radius:1.15rem;background:linear-gradient(145deg,rgba(255,114,79,.09),rgba(20,18,28,.88))}.power-style-card .eyebrow{margin-bottom:.25rem;color:#ff9a78}.power-style-card h2{margin:0;font-size:1.25rem}.power-style-card p{margin:.8rem 0 0;color:var(--muted);font-size:.78rem}.power-style-tags{display:flex;flex-wrap:wrap;gap:.42rem;margin-top:.8rem}.power-style-tags span,.combat-tag{padding:.32rem .5rem;border:1px solid rgba(255,151,117,.32);border-radius:999px;background:rgba(255,112,75,.11);color:#ffc0aa;font-size:.58rem;font-weight:900;letter-spacing:.04em}
.strongest-versus-grid{min-height:clamp(22rem,62dvh,31rem)}.strongest-versus-card img{min-height:clamp(22rem,62dvh,31rem)}.strongest-versus-card .versus-meta{padding:6rem .65rem .75rem}.strongest-versus-card .versus-meta strong{font-size:clamp(.84rem,3.5vw,1.05rem)}.strongest-form{display:-webkit-box!important;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:#ffb49b!important;font-size:.61rem!important;line-height:1.25}.combat-tags{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.45rem}.strongest-versus-card .combat-tag{padding:.22rem .34rem;font-size:.47rem}.strongest-skip{flex:0 0 auto;margin-top:.75rem}.screen-strongest-duel .screen-note{margin-top:.25rem}.strongest-top-list .top-item:first-child{background:linear-gradient(120deg,rgba(159,60,43,.42),rgba(28,23,42,.95));border-color:rgba(255,151,117,.38)}.strongest-top-list .top-copy small{white-space:normal}.strongest-winner-card{border-color:rgba(255,151,117,.4)}.strongest-winner-card .winner-copy span{color:#ffad91}.strongest-winner-card .winner-copy p{margin:.45rem 0 0;color:#e5c2b7;font-size:.78rem;font-weight:750}.winner-stat{margin:-.5rem 0 .8rem;color:#ffc0aa;font-size:.8rem;font-weight:850;text-align:center}
.ranking-filter{margin:1rem 0}.strongest-ranking-list .stats-item{grid-template-columns:2rem 3.35rem minmax(0,1fr) auto}.strongest-ranking-list .stats-thumb{width:3.35rem;height:4.1rem}.strongest-ranking-list .stats-copy strong{white-space:normal;line-height:1.1}.strongest-rating-value{color:#ffad91;font-size:.88rem;font-weight:950;text-align:right}.strongest-rating-value small{display:block;margin-top:.2rem;color:var(--muted);font-size:.58rem;font-weight:700}.strongest-form-line{color:#d2a797!important}.top-select-card .strongest-form-line{min-height:1.5em;white-space:normal;line-height:1.15}.card-tags{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:.55rem}.card-tags span{margin:0;padding:.28rem .42rem;border:1px solid rgba(225,188,107,.28);border-radius:999px;background:rgba(12,10,18,.5);color:#f2d393;font-size:.54rem;font-weight:900;letter-spacing:.04em}.mobile-save-image{-webkit-touch-callout:default;user-select:auto}
@media(max-width:27rem){.strongest-versus-grid{gap:.45rem}.strongest-versus-card .versus-meta{padding-left:.48rem;padding-right:.48rem}.strongest-versus-card .combat-tags{gap:.18rem}.strongest-versus-card .combat-tag{padding:.18rem .26rem;font-size:.42rem}.strongest-ranking-list .stats-item{grid-template-columns:1.65rem 3rem minmax(0,1fr) auto;gap:.5rem}.strongest-ranking-list .stats-thumb{width:3rem;height:3.75rem}.strongest-rating-value{font-size:.78rem}.top-select-grid{gap:.42rem}}
@media(max-height:690px){.strongest-versus-grid,.strongest-versus-card img{min-height:22rem}}

/* STRONGEST effects prototype: isolated, temporary UI layer. */
.strongest-fx-host{position:relative;isolation:isolate;overflow-x:clip}
.strongest-fx-grid,.strongest-versus-grid{transform:translateZ(0)}
.strongest-fx-duel-intro .versus-card,.strongest-fx-choice .versus-card,.strongest-fx-skip .versus-card,.strongest-fx-pair-enter .versus-card,.strongest-fx-tournament-match .versus-card,.strongest-fx-semifinal .versus-card,.strongest-fx-final .versus-card,.strongest-fx-champion .versus-card{will-change:transform,opacity,filter}
.strongest-fx-duel-intro .versus-card:first-child{animation:strongest-card-in-left .82s cubic-bezier(.16,.84,.28,1) both}
.strongest-fx-duel-intro .versus-card:last-child{animation:strongest-card-in-right .82s cubic-bezier(.16,.84,.28,1) both}
.strongest-fx-duel-intro{animation:strongest-shake .18s ease .34s both}
.strongest-fx-choice .strongest-fx-winner{z-index:3;animation:strongest-winner .3s ease-out both}
.strongest-fx-choice .strongest-fx-loser:first-child{animation:strongest-loser-left .3s ease-in both}
.strongest-fx-choice .strongest-fx-loser:last-child{animation:strongest-loser-right .3s ease-in both}
.strongest-fx-skip .versus-card:first-child{animation:strongest-skip-left .24s ease-in both}
.strongest-fx-skip .versus-card:last-child{animation:strongest-skip-right .24s ease-in both}
.strongest-fx-pair-enter .versus-card:first-child{animation:strongest-next-left .26s ease-out both}
.strongest-fx-pair-enter .versus-card:last-child{animation:strongest-next-right .26s ease-out both}
.strongest-fx-tournament-match .versus-card:first-child{animation:strongest-match-left .4s cubic-bezier(.2,.8,.3,1) both}
.strongest-fx-tournament-match .versus-card:last-child{animation:strongest-match-right .4s cubic-bezier(.2,.8,.3,1) both}
.strongest-fx-tournament-match::after{animation:strongest-vs-pop .4s ease-out both}
.strongest-fx-semifinal .versus-card:first-child{animation:strongest-card-in-left .48s cubic-bezier(.16,.84,.28,1) both}
.strongest-fx-semifinal .versus-card:last-child{animation:strongest-card-in-right .48s cubic-bezier(.16,.84,.28,1) both}
.strongest-fx-semifinal::after{animation:strongest-vs-pop .48s ease-out both;box-shadow:0 0 1.25rem rgba(255,107,69,.5)}
.strongest-fx-final{animation:strongest-shake .18s ease .3s both}
.strongest-fx-final .versus-card:first-child{animation:strongest-final-left .86s cubic-bezier(.16,.84,.28,1) both}
.strongest-fx-final .versus-card:last-child{animation:strongest-final-right .86s cubic-bezier(.16,.84,.28,1) both}
.strongest-fx-final::after{animation:strongest-vs-pop .86s ease-out both;background:#d34f2f;box-shadow:0 0 1.6rem rgba(255,107,69,.6)}
.strongest-fx-champion{animation:strongest-shake .18s ease .12s both}
.strongest-fx-champion .strongest-fx-winner:first-child{z-index:4;animation:strongest-champion-left 1.28s cubic-bezier(.18,.76,.24,1) both}
.strongest-fx-champion .strongest-fx-winner:last-child{z-index:4;animation:strongest-champion-right 1.28s cubic-bezier(.18,.76,.24,1) both}
.strongest-fx-champion .strongest-fx-loser:first-child{animation:strongest-loser-left .38s ease-in both}
.strongest-fx-champion .strongest-fx-loser:last-child{animation:strongest-loser-right .38s ease-in both}
.strongest-fx-session-complete::before{content:"";position:absolute;z-index:6;inset:0;pointer-events:none;background:rgba(4,2,7,.28);animation:strongest-session-dim .3s ease both}
.strongest-fx-result-reveal .strongest-winner-card,.strongest-fx-result-reveal .winner-card{animation:strongest-result-up .36s ease-out both}
.strongest-fx-overlay{position:absolute;z-index:24;inset:0;display:grid;place-items:center;min-height:100%;overflow:hidden;pointer-events:none;opacity:0;background:radial-gradient(circle at 50% 45%,rgba(185,55,29,.22),rgba(6,4,10,.78) 56%,rgba(6,4,10,.9));color:#fff;text-align:center}
.strongest-fx-overlay.is-active{animation:strongest-overlay-in var(--strongest-fx-duration,.5s) ease both}
.strongest-fx-overlay__copy{display:grid;place-items:center;gap:.35rem;padding:1.25rem;text-shadow:0 .2rem 1rem rgba(0,0,0,.72)}
.strongest-fx-overlay__copy strong{font-size:clamp(2rem,11vw,4rem);font-weight:950;letter-spacing:-.055em;line-height:.9;text-transform:uppercase}
.strongest-fx-overlay__eyebrow,.strongest-fx-overlay__subtitle{font-size:.76rem;font-weight:950;letter-spacing:.2em;text-transform:uppercase}
.strongest-fx-overlay__eyebrow{color:#ff9c7c}.strongest-fx-overlay__subtitle{color:#ffd0bf}
.strongest-fx-overlay--impact{background:radial-gradient(circle,rgba(255,255,255,.86) 0,rgba(255,116,73,.35) 7%,transparent 30%)}
.strongest-fx-overlay--impact .strongest-fx-overlay__copy strong,.strongest-fx-overlay--match .strongest-fx-overlay__copy strong{font-style:italic;color:#fff;text-shadow:0 0 .75rem rgba(255,106,65,.9)}
.strongest-fx-overlay--impact.is-active{animation:strongest-impact var(--strongest-fx-duration,.82s) ease-out both}
.strongest-fx-overlay--match{background:radial-gradient(circle,rgba(255,255,255,.36),rgba(255,100,55,.14) 9%,transparent 29%)}
.strongest-fx-overlay--match.is-active{animation:strongest-impact var(--strongest-fx-duration,.4s) ease-out both}
.strongest-fx-overlay--round,.strongest-fx-overlay--tournament,.strongest-fx-overlay--final{background:linear-gradient(90deg,rgba(5,3,8,.9),rgba(68,16,13,.78),rgba(5,3,8,.9))}
.strongest-fx-overlay--final{background:radial-gradient(circle at center,rgba(149,39,17,.48),rgba(5,3,8,.94) 68%)}
.strongest-fx-overlay--final .strongest-fx-overlay__copy strong{color:#ffd2bd;text-shadow:0 0 1.4rem rgba(255,91,49,.72)}
.strongest-fx-overlay--champion{background:radial-gradient(circle at 50% 42%,rgba(187,104,25,.38),rgba(45,12,8,.68) 42%,rgba(5,3,8,.88) 76%)}
.strongest-fx-overlay--champion .strongest-fx-overlay__eyebrow{color:#ffd878;font-size:.86rem}.strongest-fx-overlay--champion .strongest-fx-overlay__copy strong{color:#fff2c7;text-shadow:0 0 1rem rgba(255,176,55,.85)}
.strongest-fx-spark{position:absolute;left:var(--spark-x);bottom:28%;width:.22rem;height:.65rem;border-radius:50%;background:#ffd56a;box-shadow:0 0 .45rem #ff8534;opacity:0;transform:translateX(var(--spark-drift)) rotate(25deg);animation:strongest-spark .72s ease-out var(--spark-delay) both}
@keyframes strongest-card-in-left{0%{opacity:0;transform:translate3d(-38%,1rem,0) rotate(-2deg)}48%{opacity:1;transform:translate3d(3%,0,0)}66%{transform:translate3d(1%,0,0)}100%{opacity:1;transform:none}}
@keyframes strongest-card-in-right{0%{opacity:0;transform:translate3d(38%,1rem,0) rotate(2deg)}48%{opacity:1;transform:translate3d(-3%,0,0)}66%{transform:translate3d(-1%,0,0)}100%{opacity:1;transform:none}}
@keyframes strongest-winner{0%{transform:scale(1);filter:none}52%{transform:scale(1.045);filter:brightness(1.1);box-shadow:0 0 1.25rem rgba(255,102,58,.68)}100%{transform:scale(1.025);filter:brightness(1.06);box-shadow:0 0 .8rem rgba(255,102,58,.4)}}
@keyframes strongest-loser-left{to{opacity:.08;transform:translate3d(-24%,.35rem,0) scale(.92);filter:brightness(.45)}}
@keyframes strongest-loser-right{to{opacity:.08;transform:translate3d(24%,.35rem,0) scale(.92);filter:brightness(.45)}}
@keyframes strongest-skip-left{to{opacity:0;transform:translate3d(-20%,.5rem,0) scale(.96)}}
@keyframes strongest-skip-right{to{opacity:0;transform:translate3d(20%,.5rem,0) scale(.96)}}
@keyframes strongest-next-left{from{opacity:0;transform:translate3d(-.8rem,.7rem,0)}to{opacity:1;transform:none}}
@keyframes strongest-next-right{from{opacity:0;transform:translate3d(.8rem,.7rem,0)}to{opacity:1;transform:none}}
@keyframes strongest-match-left{from{opacity:0;transform:translate3d(-18%,.5rem,0)}to{opacity:1;transform:none}}
@keyframes strongest-match-right{from{opacity:0;transform:translate3d(18%,.5rem,0)}to{opacity:1;transform:none}}
@keyframes strongest-final-left{0%{opacity:0;transform:translate3d(-38%,0,0)}52%{opacity:1;transform:translate3d(3%,0,0)}100%{transform:none}}
@keyframes strongest-final-right{0%{opacity:0;transform:translate3d(38%,0,0)}52%{opacity:1;transform:translate3d(-3%,0,0)}100%{transform:none}}
@keyframes strongest-champion-left{35%,100%{opacity:1;transform:translate3d(25%,0,0) scale(1.06);filter:brightness(1.12);box-shadow:0 0 1.6rem rgba(255,179,64,.65)}}
@keyframes strongest-champion-right{35%,100%{opacity:1;transform:translate3d(-25%,0,0) scale(1.06);filter:brightness(1.12);box-shadow:0 0 1.6rem rgba(255,179,64,.65)}}
@keyframes strongest-vs-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(.65) rotate(-14deg)}44%{opacity:1;transform:translate(-50%,-50%) scale(1.18) rotate(-7deg)}100%{transform:translate(-50%,-50%) scale(1) rotate(-7deg)}}
@keyframes strongest-overlay-in{0%,100%{opacity:0}15%,72%{opacity:1}}
@keyframes strongest-impact{0%,100%{opacity:0}15%{opacity:1}30%{opacity:.72}55%{opacity:.18}}
@keyframes strongest-shake{0%,100%{transform:none}25%{transform:translate3d(-3px,1px,0)}50%{transform:translate3d(3px,-1px,0)}75%{transform:translate3d(-2px,0,0)}}
@keyframes strongest-session-dim{from{opacity:0}55%,100%{opacity:1}}
@keyframes strongest-result-up{from{opacity:0;transform:translateY(.7rem) scale(.985)}to{opacity:1;transform:none}}
@keyframes strongest-spark{0%{opacity:0;transform:translate3d(0,.7rem,0) rotate(25deg) scale(.6)}24%{opacity:1}100%{opacity:0;transform:translate3d(var(--spark-drift),-4.4rem,0) rotate(70deg) scale(1)}}
@media(prefers-reduced-motion:reduce){.strongest-fx-duel-intro,.strongest-fx-final,.strongest-fx-champion{animation:none!important}.strongest-fx-overlay{background:rgba(7,5,11,.82)}.strongest-fx-spark{display:none}.strongest-fx-duel-intro .versus-card,.strongest-fx-choice .versus-card,.strongest-fx-skip .versus-card,.strongest-fx-pair-enter .versus-card,.strongest-fx-tournament-match .versus-card,.strongest-fx-semifinal .versus-card,.strongest-fx-final .versus-card,.strongest-fx-champion .versus-card{transform:none!important;filter:none!important;box-shadow:none!important}}

/* BEST + WAIFU visual identities: isolated presentation layer. */
.app-shell{--pick-duration-fast:180ms;--pick-duration-normal:280ms;--pick-duration-result:650ms;--pick-ease:cubic-bezier(.2,.78,.28,1)}
.pick-fx-host{position:relative;isolation:isolate;overflow-x:clip}
.best-pick-screen .progress-track span{background:linear-gradient(90deg,#c7953f,#ffe2a0)}
.best-pick-screen .action-button.like{color:#f2c66d;box-shadow:0 0 2rem rgba(224,181,88,.14)}
.waifu-pick-screen .progress-track span{background:linear-gradient(90deg,#9b6cff,#ff83bc)}
.waifu-pick-screen .action-button.like{color:#ff8fc2;box-shadow:0 0 2rem rgba(255,90,159,.16)}
.pick-fx-accent{position:absolute;z-index:18;left:50%;top:42%;width:3.2rem;height:3.2rem;display:grid;place-items:center;transform:translate(-50%,-50%);pointer-events:none;color:#fff;animation:pick-accent-pulse .32s var(--pick-ease) var(--pick-fx-delay,0ms) both}
.pick-fx-accent svg{width:100%;height:100%;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round;filter:drop-shadow(0 0 .55rem currentColor)}
.pick-fx-accent--best{color:#f7d47b}.pick-fx-accent--waifu{color:#ff98c8}
.pick-fx-dot{position:absolute;z-index:17;left:50%;top:47%;width:.23rem;height:.23rem;border-radius:50%;pointer-events:none;transform:translateX(var(--pick-dot-x));animation:pick-dot-rise .38s ease-out var(--pick-dot-delay,0ms) both}
.pick-fx-dot--best{background:#ffe6a8;box-shadow:0 0 .45rem #e7b94f}.pick-fx-dot--waifu{background:#ffd1e7;box-shadow:0 0 .45rem #ff77b8}
.pick-fx-flight{position:fixed;z-index:80;width:1.8rem;height:1.8rem;pointer-events:none;animation:pick-flight .34s var(--pick-ease) both}
.pick-fx-flight svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7}.pick-fx-flight--best{color:#f7d47b}.pick-fx-flight--waifu{color:#ff98c8}
.best-fx-card-enter{animation:best-card-enter .28s var(--pick-ease) both}
.waifu-fx-card-enter{animation:waifu-card-enter .26s var(--pick-ease) both}
.best-fx-like{animation:best-card-approve .32s var(--pick-ease) both}
.best-fx-like::before{content:"";position:absolute;z-index:12;inset:-35% auto -35% -42%;width:26%;pointer-events:none;background:linear-gradient(90deg,transparent,rgba(255,236,180,.6),transparent);transform:skewX(-17deg);animation:best-light-sweep .3s ease-out both}
.best-fx-skip{animation:best-card-pass .26s ease-in both}
.waifu-fx-like{animation:waifu-card-like .32s var(--pick-ease) both}
.waifu-fx-like::before{content:"";position:absolute;z-index:10;inset:0;pointer-events:none;border:1px solid rgba(255,137,193,.7);border-radius:inherit;box-shadow:inset 0 0 1.5rem rgba(255,86,157,.18),0 0 1.45rem rgba(255,86,157,.28);animation:waifu-glow .32s ease-out both}
.waifu-fx-skip{animation:waifu-card-pass .26s ease-in both}
.best-top-select-grid .top-select-card.selected{border-color:#e2bd68;box-shadow:0 0 0 .18rem rgba(226,189,104,.15)}
.waifu-top-select-grid .top-select-card.selected{border-color:#d278a7;box-shadow:0 0 0 .18rem rgba(255,112,177,.13)}
.best-top-select-grid .selection-order{background:#b98937}.waifu-top-select-grid .selection-order{background:linear-gradient(145deg,#9b6cff,#d8609c)}
.best-fx-slot-pulse{animation:best-slot-pulse .34s var(--pick-ease) both}.waifu-fx-slot-pulse{animation:waifu-slot-pulse .34s var(--pick-ease) both}
.pick-fx-badge-pulse{animation:pick-badge-pulse .34s var(--pick-ease) both}
.best-top-sort-list .top-sort-item:first-child{position:relative;border-color:rgba(231,194,111,.48);background:linear-gradient(110deg,rgba(137,97,28,.28),var(--surface));transform:scale(1.012);box-shadow:0 0 1.1rem rgba(219,171,64,.11)}
.best-top-sort-list .top-sort-item:first-child::after{content:"★";position:absolute;right:.55rem;top:.25rem;pointer-events:none;color:#f2c66d;font-size:1rem;text-shadow:0 0 .65rem rgba(242,198,109,.65)}
.waifu-top-sort-list .top-sort-item:first-child{position:relative;border-color:rgba(255,126,184,.34);background:linear-gradient(110deg,rgba(128,53,105,.2),var(--surface));transform:scale(1.008);box-shadow:0 0 1rem rgba(255,90,159,.09)}
.waifu-top-sort-list .top-sort-item:first-child::after{content:"♡";position:absolute;right:.55rem;top:.25rem;pointer-events:none;color:#ff9bc8;font-size:1.1rem;text-shadow:0 0 .65rem rgba(255,111,179,.55)}
.best-fx-reordered{border-color:#e3bd67!important;box-shadow:0 0 .9rem rgba(225,180,82,.2)}.waifu-fx-reordered{border-color:#d879a8!important;box-shadow:0 0 .9rem rgba(255,103,173,.16)}
.best-top-sort-list .top-sort-item.dragging{transform:scale(1.018);border-color:#e3bd67;box-shadow:0 .65rem 1.4rem rgba(0,0,0,.28),0 0 .9rem rgba(225,180,82,.18)}.waifu-top-sort-list .top-sort-item.dragging{transform:scale(1.018);border-color:#d879a8;box-shadow:0 .65rem 1.4rem rgba(0,0,0,.28),0 0 .9rem rgba(255,103,173,.15)}
.waifu-top-list .top-item:first-child{position:relative;background:linear-gradient(120deg,rgba(126,60,125,.48),rgba(28,23,42,.95));border-color:rgba(255,133,190,.38);transform:scale(1.012);box-shadow:0 0 1.25rem rgba(255,91,161,.11)}
.waifu-top-list .top-item:first-child::after{content:"♡";position:absolute;right:.75rem;top:.45rem;color:#ff9bc8;font-size:1.15rem}
.best-fx-top-reveal .top-item,.waifu-fx-top-reveal .top-item{animation:pick-top-reveal .34s var(--pick-ease) both;animation-delay:calc(var(--pick-reveal-order,0)*55ms)}
.best-fx-top-reveal .top-item:not(:first-child),.waifu-fx-top-reveal .top-item:not(:first-child){filter:brightness(.88)}
.best-fx-top-reveal .top-item:first-child{animation-name:best-top-one;box-shadow:0 0 1.5rem rgba(231,190,95,.24)}
.waifu-fx-top-reveal .top-item:first-child{animation-name:waifu-top-one;box-shadow:0 0 1.5rem rgba(255,103,173,.2)}
.best-fx-collection-reveal .portrait-tile,.waifu-fx-collection-reveal .portrait-tile{animation:pick-collection-in .3s var(--pick-ease) both;animation-delay:calc(var(--pick-reveal-order,0)*35ms)}
.best-fx-versus-enter .versus-card:first-child,.best-fx-final .versus-card:first-child{animation:best-pair-left .38s var(--pick-ease) both}.best-fx-versus-enter .versus-card:last-child,.best-fx-final .versus-card:last-child{animation:best-pair-right .38s var(--pick-ease) both}
.waifu-fx-versus-enter .versus-card:first-child,.waifu-fx-final .versus-card:first-child{animation:waifu-pair-left .34s var(--pick-ease) both}.waifu-fx-versus-enter .versus-card:last-child,.waifu-fx-final .versus-card:last-child{animation:waifu-pair-right .34s var(--pick-ease) both}
.best-fx-versus-enter::after,.best-fx-final::after{background:#a77a30;color:#fff6dc;box-shadow:0 0 1rem rgba(231,190,95,.25);animation:best-vs-calm .38s ease-out both}
.waifu-fx-versus-enter::after,.waifu-fx-final::after{background:#a95c88;color:#fff1f8;box-shadow:0 0 1rem rgba(255,112,177,.2);animation:waifu-vs-calm .34s ease-out both}
.best-fx-versus-choice .pick-fx-selected{z-index:3;animation:best-pair-selected .32s var(--pick-ease) both}.best-fx-versus-choice .pick-fx-unselected{animation:best-pair-unselected .32s ease-out both}
.waifu-fx-versus-choice .pick-fx-selected{z-index:3;animation:waifu-pair-selected .3s var(--pick-ease) both}.waifu-fx-versus-choice .pick-fx-unselected{animation:waifu-pair-unselected .3s ease-out both}
.best-fx-final .versus-card{border-color:rgba(241,205,122,.46);box-shadow:0 0 1.1rem rgba(219,171,64,.14)}.waifu-fx-final .versus-card{border-color:rgba(255,139,191,.38);box-shadow:0 0 1rem rgba(255,92,163,.12)}
.best-fx-winner .pick-fx-selected:first-child{animation:best-winner-left .65s var(--pick-ease) both}.best-fx-winner .pick-fx-selected:last-child{animation:best-winner-right .65s var(--pick-ease) both}.best-fx-winner .pick-fx-unselected{animation:pick-soft-loser .28s ease-out both}
.waifu-fx-winner .pick-fx-selected:first-child{animation:waifu-winner-left .6s var(--pick-ease) both}.waifu-fx-winner .pick-fx-selected:last-child{animation:waifu-winner-right .6s var(--pick-ease) both}.waifu-fx-winner .pick-fx-unselected{animation:pick-soft-loser .28s ease-out both}
.pick-fx-overlay{position:absolute;z-index:24;inset:0;display:grid;place-items:center;min-height:100%;overflow:hidden;pointer-events:none;opacity:0;text-align:center}
.pick-fx-overlay.is-active{animation:pick-overlay var(--pick-fx-duration,440ms) ease both}
.pick-fx-overlay__copy{position:relative;z-index:2;display:grid;gap:.35rem;padding:1.2rem}.pick-fx-overlay__copy strong{font-size:clamp(1.9rem,10vw,3.7rem);font-weight:950;letter-spacing:-.045em;line-height:.92;text-transform:uppercase}.pick-fx-overlay__copy span{font-size:.78rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.pick-fx-overlay--best{background:radial-gradient(ellipse at 50% 35%,rgba(255,224,145,.23),rgba(25,17,31,.88) 62%,rgba(7,5,11,.94));color:#fff1c8}.pick-fx-overlay--best .pick-fx-overlay__copy span{color:#e6c983}
.pick-fx-overlay--waifu{background:radial-gradient(ellipse at 50% 38%,rgba(255,119,184,.19),rgba(35,16,38,.84) 61%,rgba(7,5,11,.92));color:#ffe6f2}.pick-fx-overlay--waifu .pick-fx-overlay__copy span{color:#f0a7c9}
.pick-fx-overlay--final .pick-fx-overlay__copy strong{font-size:clamp(2.35rem,12vw,4.2rem)}
.best-fx-result-reveal .winner-card{animation:best-result-reveal .52s var(--pick-ease) both;box-shadow:0 0 2rem rgba(231,190,95,.2)}
.waifu-fx-result-reveal .winner-card{animation:waifu-result-reveal .52s var(--pick-ease) both;box-shadow:0 0 2rem rgba(255,104,174,.18)}
.waifu-fx-type-reveal{position:relative;isolation:isolate}
.waifu-fx-type-reveal .type-orb{animation:waifu-type-ring .45s var(--pick-ease) both}
.waifu-fx-type-reveal .trait-result{animation:waifu-trait-in .26s var(--pick-ease) both}.waifu-fx-type-reveal .trait-result:nth-child(2){animation-delay:45ms}.waifu-fx-type-reveal .trait-result:nth-child(3){animation-delay:90ms}.waifu-fx-type-reveal .trait-result:nth-child(4){animation-delay:135ms}.waifu-fx-type-reveal .trait-result:nth-child(5){animation-delay:180ms}
.waifu-fx-type-reveal .type-heading h1,.waifu-fx-type-reveal .tag-chips{animation:waifu-type-title .3s var(--pick-ease) .2s both}
.waifu-fx-type-reveal .match-card{animation:waifu-match-reveal .34s var(--pick-ease) both}.waifu-fx-type-reveal .match-card:nth-child(1){animation-delay:.27s}.waifu-fx-type-reveal .match-card:nth-child(2){animation-delay:.32s}.waifu-fx-type-reveal .match-card:nth-child(3){animation-delay:.37s}
@keyframes best-card-enter{from{opacity:0;transform:translate3d(0,.75rem,0) scale(.96)}to{opacity:1;transform:none}}
@keyframes waifu-card-enter{from{opacity:0;transform:translate3d(0,.4rem,0) scale(1.02)}to{opacity:1;transform:none}}
@keyframes best-card-approve{0%{transform:var(--swipe-start-transform,none);opacity:1;box-shadow:0 1.5rem 4rem rgba(0,0,0,.38)}50%{box-shadow:0 0 1.7rem rgba(231,190,95,.32)}100%{transform:translate3d(var(--swipe-exit-x,115%),0,0) rotate(var(--swipe-exit-rotation,14deg)) scale(.98);opacity:0}}
@keyframes best-card-pass{0%{opacity:1;filter:saturate(1);transform:var(--swipe-start-transform,none)}100%{opacity:0;filter:saturate(.55);transform:translate3d(var(--swipe-exit-x,-115%),.3rem,0) rotate(var(--swipe-exit-rotation,-14deg)) scale(.98)}}
@keyframes best-light-sweep{from{transform:translateX(0) skewX(-17deg);opacity:0}35%{opacity:1}to{transform:translateX(620%) skewX(-17deg);opacity:0}}
@keyframes waifu-card-like{0%{transform:var(--swipe-start-transform,none);opacity:1}48%{filter:brightness(1.06)}100%{transform:translate3d(var(--swipe-exit-x,115%),0,0) rotate(var(--swipe-exit-rotation,14deg)) scale(.99);opacity:0;filter:brightness(1.04)}}
@keyframes waifu-card-pass{0%{opacity:1;transform:var(--swipe-start-transform,none);filter:none}100%{opacity:0;transform:translate3d(var(--swipe-exit-x,-115%),.25rem,0) rotate(var(--swipe-exit-rotation,-14deg)) scale(.98);filter:blur(1px) saturate(.8)}}
@keyframes waifu-glow{0%,100%{opacity:0}35%,72%{opacity:1}}
@keyframes pick-accent-pulse{0%{opacity:0;transform:translate(-50%,-50%) scale(.78)}45%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}75%{opacity:.86;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.04)}}
@keyframes pick-dot-rise{0%{opacity:0;transform:translate3d(var(--pick-dot-x),.7rem,0) scale(.6)}35%{opacity:1}100%{opacity:0;transform:translate3d(var(--pick-dot-x),-2.4rem,0) scale(1)}}
@keyframes pick-flight{0%{opacity:0;transform:translate(-50%,-50%) scale(.7)}20%{opacity:1}100%{opacity:0;transform:translate(calc(-50% + var(--pick-flight-x)),calc(-50% + var(--pick-flight-y))) scale(.45)}}
@keyframes best-slot-pulse{40%{transform:scale(.975);box-shadow:0 0 1.25rem rgba(231,190,95,.35)}100%{transform:none}}
@keyframes waifu-slot-pulse{42%{transform:scale(1.025);box-shadow:0 0 1.15rem rgba(255,104,174,.28)}100%{transform:none}}
@keyframes pick-badge-pulse{45%{transform:scale(1.14)}100%{transform:none}}
@keyframes pick-top-reveal{from{opacity:0;transform:translateY(.55rem) scale(.985)}to{opacity:1;transform:none}}
@keyframes best-top-one{from{opacity:0;transform:translateY(.7rem) scale(.96)}60%{opacity:1;transform:scale(1.025)}to{transform:scale(1)}}
@keyframes waifu-top-one{from{opacity:0;transform:translateY(.55rem) scale(.97)}58%{opacity:1;transform:scale(1.02)}to{transform:scale(1)}}
@keyframes pick-collection-in{from{opacity:0;transform:translateY(.45rem) scale(.97)}to{opacity:1;transform:none}}
@keyframes best-pair-left{from{opacity:0;transform:translate3d(-16%,.45rem,0) scale(.97)}to{opacity:1;transform:none}}
@keyframes best-pair-right{from{opacity:0;transform:translate3d(16%,.45rem,0) scale(.97)}to{opacity:1;transform:none}}
@keyframes waifu-pair-left{from{opacity:0;transform:translate3d(-12%,.35rem,0) scale(1.01)}to{opacity:1;transform:none}}
@keyframes waifu-pair-right{from{opacity:0;transform:translate3d(12%,.35rem,0) scale(1.01)}to{opacity:1;transform:none}}
@keyframes best-vs-calm{from{opacity:0;transform:translate(-50%,-50%) scale(.86) rotate(-7deg)}to{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(-7deg)}}
@keyframes waifu-vs-calm{from{opacity:0;transform:translate(-50%,-50%) scale(.9) rotate(-7deg)}to{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(-7deg)}}
@keyframes best-pair-selected{50%,100%{transform:translateY(-.25rem) scale(1.035);box-shadow:0 0 1.35rem rgba(231,190,95,.3);filter:brightness(1.05)}}
@keyframes best-pair-unselected{to{opacity:.4;transform:scale(.97);filter:saturate(.65) brightness(.78)}}
@keyframes waifu-pair-selected{50%,100%{transform:scale(1.03);box-shadow:0 0 1.3rem rgba(255,105,175,.27);filter:brightness(1.06)}}
@keyframes waifu-pair-unselected{to{opacity:.38;transform:scale(.98);filter:blur(1px) saturate(.8)}}
@keyframes best-winner-left{45%,100%{transform:translate3d(25%,0,0) scale(1.065);box-shadow:0 0 1.8rem rgba(241,205,122,.42);filter:brightness(1.08)}}
@keyframes best-winner-right{45%,100%{transform:translate3d(-25%,0,0) scale(1.065);box-shadow:0 0 1.8rem rgba(241,205,122,.42);filter:brightness(1.08)}}
@keyframes waifu-winner-left{45%,100%{transform:translate3d(25%,0,0) scale(1.055);box-shadow:0 0 1.65rem rgba(255,118,183,.36);filter:brightness(1.08)}}
@keyframes waifu-winner-right{45%,100%{transform:translate3d(-25%,0,0) scale(1.055);box-shadow:0 0 1.65rem rgba(255,118,183,.36);filter:brightness(1.08)}}
@keyframes pick-soft-loser{to{opacity:0;transform:scale(.96);filter:saturate(.6)}}
@keyframes pick-overlay{0%,100%{opacity:0}13%,74%{opacity:1}}
@keyframes best-result-reveal{from{opacity:0;transform:translateY(.6rem) scale(.96);filter:brightness(.8)}to{opacity:1;transform:none;filter:none}}
@keyframes waifu-result-reveal{from{opacity:0;transform:translateY(.45rem) scale(1.02);filter:brightness(.82)}to{opacity:1;transform:none;filter:none}}
@keyframes waifu-type-ring{from{opacity:.15;transform:scale(.7);box-shadow:0 0 0 rgba(255,111,179,0)}60%{opacity:1;transform:scale(1.08);box-shadow:0 0 2rem rgba(255,111,179,.32)}to{transform:none}}
@keyframes waifu-trait-in{from{opacity:0;transform:translateX(-.5rem)}to{opacity:1;transform:none}}
@keyframes waifu-type-title{from{opacity:0;transform:translateY(.35rem)}to{opacity:1;transform:none}}
@keyframes waifu-match-reveal{from{opacity:0;transform:translateY(.45rem) scale(.98);filter:blur(2px)}to{opacity:1;transform:none;filter:none}}
@media(prefers-reduced-motion:reduce){.pick-fx-dot,.pick-fx-flight{display:none!important}.pick-fx-accent{animation-name:pick-simple-fade!important}.best-fx-card-enter,.waifu-fx-card-enter,.best-fx-like,.best-fx-skip,.waifu-fx-like,.waifu-fx-skip,.best-fx-versus-enter .versus-card,.waifu-fx-versus-enter .versus-card,.best-fx-versus-choice .versus-card,.waifu-fx-versus-choice .versus-card,.best-fx-winner .versus-card,.waifu-fx-winner .versus-card{transform:none!important;filter:none!important;box-shadow:none!important}.pick-fx-overlay{background:rgba(9,7,13,.88)!important}@keyframes pick-simple-fade{from{opacity:0}50%{opacity:1}to{opacity:0}}}

/* PROFILE v0.1 */
.screen-profile{--profile-accent:#9b6cff;--profile-accent-rgb:155,108,255;flex-direction:column;gap:1rem;padding-top:1rem;padding-bottom:1.5rem}
.screen-profile.profile-theme--one-piece{--profile-accent:#f3a348;--profile-accent-rgb:243,163,72}.screen-profile.profile-theme--naruto{--profile-accent:#ff7448;--profile-accent-rgb:255,116,72}.screen-profile.profile-theme--bleach{--profile-accent:#8e9dff;--profile-accent-rgb:142,157,255}
.profile-hero{position:relative;min-height:22rem;overflow:hidden;padding:1rem;border:1px solid rgba(var(--profile-accent-rgb),.34);border-radius:1.5rem;background:radial-gradient(circle at 88% 10%,rgba(var(--profile-accent-rgb),.25),transparent 45%),linear-gradient(145deg,rgba(var(--profile-accent-rgb),.12),rgba(16,13,24,.98) 58%);box-shadow:0 1rem 3rem rgba(0,0,0,.2)}
.profile-hero-glow{position:absolute;right:-5rem;top:-5rem;width:15rem;height:15rem;border-radius:50%;background:rgba(var(--profile-accent-rgb),.2);filter:blur(3.5rem);pointer-events:none}
.profile-identity{position:relative;z-index:3;display:grid;grid-template-columns:3.75rem minmax(0,1fr);align-items:center;gap:.8rem;max-width:72%}.profile-avatar{width:3.75rem;height:3.75rem;display:grid;place-items:center;overflow:hidden;border:2px solid rgba(var(--profile-accent-rgb),.65);border-radius:1.1rem;background:linear-gradient(145deg,var(--profile-accent),#6c3cc1);box-shadow:0 .6rem 1.7rem rgba(var(--profile-accent-rgb),.24)}.profile-avatar img{width:100%;height:100%;object-fit:cover}.profile-avatar span{font-size:1.5rem;font-weight:950}.profile-user-copy{min-width:0}.profile-user-copy .eyebrow{margin-bottom:.28rem;font-size:.61rem}.profile-user-copy h1{overflow:hidden;margin:0;font-size:clamp(1.55rem,7vw,2.25rem);line-height:1.03;letter-spacing:-.045em;text-overflow:ellipsis}.profile-username{overflow:hidden;margin:.28rem 0 0;color:rgba(235,229,246,.65);font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}
.profile-showcase-art{position:absolute;z-index:1;right:-1.2rem;top:0;width:52%;height:100%;pointer-events:none}.profile-showcase-art::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#12101b 0,transparent 48%),linear-gradient(0deg,#12101b 0,transparent 42%)}.profile-showcase-art img{width:100%;height:100%;object-fit:cover;object-position:center top;filter:saturate(.92);animation:profile-showcase-in .45s cubic-bezier(.2,.8,.2,1) both}.profile-showcase-art.is-empty{display:grid;place-items:center;opacity:.35}.profile-silhouette{font-size:10rem;font-weight:950;color:rgba(var(--profile-accent-rgb),.25);transform:rotate(-7deg)}
.profile-status-row{position:relative;z-index:3;max-width:70%;display:flex;align-items:center;gap:.55rem;margin-top:1rem;padding:.55rem .65rem;border:1px solid rgba(255,255,255,.08);border-radius:.8rem;background:rgba(7,6,11,.48);backdrop-filter:blur(10px)}.profile-status-row p{min-width:0;margin:0;overflow-wrap:anywhere;font-size:.78rem;font-weight:750}.profile-status-row p.is-empty{color:var(--muted);font-weight:600}.profile-mini-button{flex:0 0 auto;padding:.38rem .56rem;border:1px solid rgba(255,255,255,.12);border-radius:.55rem;background:rgba(255,255,255,.06);color:#ded5eb;cursor:pointer;font-size:.65rem;font-weight:800}.profile-mini-button--accent{border-color:rgba(var(--profile-accent-rgb),.45);background:rgba(var(--profile-accent-rgb),.18);color:#fff}
.profile-status-editor{position:relative;z-index:5;display:grid;grid-template-columns:1fr auto;gap:.42rem;max-width:100%;margin-top:.65rem;padding:.7rem;border:1px solid rgba(var(--profile-accent-rgb),.35);border-radius:.85rem;background:#12101a}.profile-status-editor label{grid-column:1/-1;color:var(--muted);font-size:.66rem;font-weight:850;text-transform:uppercase}.profile-status-editor input{min-width:0;padding:.65rem .7rem;border:1px solid var(--line);border-radius:.62rem;background:#09080e;color:#fff;font:inherit;font-size:.78rem}.profile-status-editor>div{display:flex;gap:.3rem}.profile-status-editor small{grid-column:1/-1;color:var(--muted);font-size:.62rem;text-align:right}
.profile-showcase-copy{position:absolute;z-index:3;left:1rem;bottom:1rem;display:grid;gap:.2rem;width:65%}.profile-showcase-copy>span{color:var(--profile-accent);font-size:.62rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.profile-showcase-copy>strong{font-size:1.12rem;line-height:1.1}.profile-showcase-copy>small{color:var(--muted);font-size:.68rem}.profile-showcase-copy .profile-mini-button{justify-self:start;margin-top:.35rem}
.profile-showcase-picker{position:absolute;z-index:8;inset:auto .7rem .7rem;display:grid;gap:.35rem;padding:.55rem;border:1px solid rgba(var(--profile-accent-rgb),.4);border-radius:1rem;background:rgba(12,10,17,.97);box-shadow:0 1rem 3rem rgba(0,0,0,.5)}.profile-showcase-picker button{display:grid;grid-template-columns:2.65rem minmax(0,1fr);align-items:center;gap:.6rem;padding:.38rem;border:0;border-radius:.7rem;background:rgba(255,255,255,.045);color:#fff;text-align:left;cursor:pointer}.profile-showcase-picker img{width:2.65rem;height:3rem;border-radius:.5rem;object-fit:cover;object-position:center top}.profile-showcase-picker span{min-width:0}.profile-showcase-picker small,.profile-showcase-picker strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-showcase-picker small{color:var(--profile-accent);font-size:.58rem;font-weight:850}.profile-showcase-picker strong{margin-top:.12rem;font-size:.74rem}
.profile-theme-card,.profile-picks,.profile-stats{padding:1rem;border:1px solid var(--line);border-radius:1.25rem;background:rgba(19,16,27,.86)}.profile-theme-card h2,.profile-section-head h2,.profile-stats h2{margin:0;font-size:1.15rem;letter-spacing:-.035em}.profile-theme-card .eyebrow,.profile-section-head .eyebrow,.profile-stats .eyebrow{margin-bottom:.25rem}.profile-theme-options{display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem;margin-top:.8rem}.profile-theme-options button{min-width:0;padding:.62rem .25rem;border:1px solid var(--line);border-radius:.7rem;background:rgba(255,255,255,.035);color:var(--muted);cursor:pointer;font-size:.68rem;font-weight:850}.profile-theme-options button.active{border-color:rgba(var(--profile-accent-rgb),.65);background:rgba(var(--profile-accent-rgb),.18);color:#fff;box-shadow:0 .45rem 1.4rem rgba(var(--profile-accent-rgb),.14)}
.profile-pick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;margin-top:.85rem}.profile-pick{position:relative;min-width:0;overflow:hidden;padding:0;border:1px solid var(--line);border-radius:.9rem;background:#100e17;color:#fff;cursor:pointer;text-align:left;aspect-ratio:.74}.profile-pick>img{width:100%;height:100%;display:block;object-fit:cover;object-position:center top}.profile-pick::after{content:"";position:absolute;inset:28% 0 0;background:linear-gradient(transparent,rgba(6,5,10,.98))}.profile-pick-icon{position:absolute;z-index:3;top:.4rem;left:.4rem;width:1.45rem;height:1.45rem;display:grid;place-items:center;border-radius:50%;background:rgba(7,6,10,.72);color:var(--profile-accent);font-size:.7rem;font-weight:950}.profile-pick-copy{position:absolute;z-index:3;inset:auto .48rem .5rem}.profile-pick-copy small,.profile-pick-copy strong{display:block;overflow:hidden;text-overflow:ellipsis}.profile-pick-copy small{color:#cbb5ef;font-size:.53rem;font-weight:900;letter-spacing:.08em}.profile-pick-copy strong{margin-top:.14rem;font-size:.68rem;line-height:1.12}.profile-pick-placeholder{height:100%;display:grid;place-items:center;color:rgba(255,255,255,.16);font-size:3.2rem;font-weight:950}.profile-pick.is-empty{background:radial-gradient(circle at 70% 20%,rgba(var(--profile-accent-rgb),.13),transparent 42%),#100e17}.profile-pick.is-empty::after{inset:0;background:linear-gradient(transparent,rgba(6,5,10,.75))}
.profile-summary-list{display:grid;gap:.7rem}.profile-summary-card{min-height:12rem;display:grid;grid-template-columns:7.2rem minmax(0,1fr);gap:.85rem;overflow:hidden;padding:.72rem;border:1px solid var(--line);border-radius:1.25rem;background:linear-gradient(135deg,rgba(255,255,255,.035),rgba(16,14,23,.98))}.profile-summary-card--waifu{border-color:rgba(255,112,178,.24)}.profile-summary-card--best{border-color:rgba(235,194,102,.26)}.profile-summary-card--strongest{border-color:rgba(255,132,101,.25)}.profile-summary-art{min-height:10.5rem;overflow:hidden;border-radius:.85rem;background:#0b0a10}.profile-summary-art img{width:100%;height:100%;display:block;object-fit:cover;object-position:center top}.profile-summary-copy{min-width:0;align-self:center}.profile-summary-copy .eyebrow{margin-bottom:.3rem}.profile-summary-card--waifu .eyebrow{color:#ff8abc}.profile-summary-card--best .eyebrow{color:#efc66e}.profile-summary-card--strongest .eyebrow{color:#ff9a7d}.profile-summary-copy h3,.profile-summary-empty h3{margin:0;font-size:1.22rem;line-height:1.05;letter-spacing:-.035em}.profile-summary-copy>p:not(.eyebrow){margin:.35rem 0;color:var(--muted);font-size:.7rem}.profile-type-result{display:grid;gap:.15rem;margin-top:.65rem}.profile-type-result small{color:var(--muted);font-size:.6rem}.profile-type-result strong{font-size:.72rem}.profile-type-result>div{display:flex;flex-wrap:wrap;gap:.2rem;margin-top:.2rem}.profile-type-result span{padding:.2rem .35rem;border-radius:5rem;background:rgba(255,104,174,.12);color:#f4acd0;font-size:.52rem;font-weight:800}.profile-inline-cta,.profile-summary-empty button{padding:0;border:0;background:transparent;color:var(--profile-accent);cursor:pointer;font-size:.67rem;font-weight:850;text-align:left}.profile-inline-cta{margin-top:.55rem}
.profile-top5-preview{display:flex;margin-top:.65rem}.profile-top5-preview>span{position:relative;width:2rem;height:2rem;margin-left:-.28rem;border:2px solid #14111c;border-radius:50%;background:#17131f}.profile-top5-preview>span:first-child{width:2.25rem;height:2.25rem;margin-left:0;border-color:var(--profile-accent)}.profile-top5-preview img{width:100%;height:100%;display:block;border-radius:50%;object-fit:cover;object-position:center top}.profile-top5-preview b{position:absolute;z-index:2;right:-.05rem;bottom:-.05rem;width:.85rem;height:.85rem;display:grid;place-items:center;border-radius:50%;background:#09080e;color:#fff;font-size:.45rem}.profile-power-stats{display:flex;flex-wrap:wrap;gap:.42rem;margin-top:.65rem}.profile-power-stats strong,.profile-power-stats span{padding:.28rem .42rem;border-radius:.45rem;background:rgba(255,134,102,.11);color:#ffb39c;font-size:.61rem}.profile-summary-empty{grid-column:1/-1;align-self:center;padding:1rem}.profile-summary-empty>span{display:block;margin-bottom:.45rem;color:var(--profile-accent);font-size:1.65rem}.profile-summary-empty h3{margin-bottom:.65rem}
.profile-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem;margin-top:.8rem}.profile-stat-grid>div{display:grid;gap:.15rem;padding:.75rem .35rem;border-radius:.75rem;background:rgba(255,255,255,.035);text-align:center}.profile-stat-grid strong{font-size:1.2rem}.profile-stat-grid span{color:var(--muted);font-size:.58rem;font-weight:800;text-transform:uppercase}
@keyframes profile-showcase-in{from{opacity:0;transform:translateX(1rem) scale(1.025)}to{opacity:1;transform:none}}
.profile-hero::before{content:"";position:absolute;z-index:2;inset:-45% -20%;pointer-events:none;background:conic-gradient(from 215deg,transparent 0 36%,rgba(var(--profile-accent-rgb),.11) 43%,transparent 50% 100%);animation:profile-aurora 9s linear infinite}.profile-hero::after{content:"";position:absolute;z-index:2;inset:0;pointer-events:none;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(var(--profile-accent-rgb),.08),inset 0 -5rem 7rem rgba(var(--profile-accent-rgb),.045)}
.profile-hero-glow{animation:profile-glow-breathe 4.8s ease-in-out infinite}.profile-avatar{position:relative;animation:profile-avatar-pulse 3.8s ease-in-out infinite}.profile-showcase-copy>span{animation:profile-label-glow 3.2s ease-in-out infinite}
.screen-profile.active .profile-theme-card,.screen-profile.active .profile-picks,.screen-profile.active .profile-summary-card,.screen-profile.active .profile-stats{animation:profile-section-rise .42s cubic-bezier(.2,.75,.25,1) both}.screen-profile.active .profile-picks{animation-delay:.045s}.screen-profile.active .profile-summary-card:nth-child(1){animation-delay:.08s}.screen-profile.active .profile-summary-card:nth-child(2){animation-delay:.115s}.screen-profile.active .profile-summary-card:nth-child(3){animation-delay:.15s}.screen-profile.active .profile-stats{animation-delay:.185s}
/* PROFILE stays still during image decoding; Motion handles small interactions only. */
.screen-profile.active :is(.profile-theme-card,.profile-picks,.profile-summary-card,.profile-stats,.profile-trophies){animation:none}
.screen-profile .profile-showcase-art img{animation:none;transition:none}
.screen-profile .profile-hero::before,.screen-profile .profile-hero-glow,.screen-profile .profile-avatar,.screen-profile .profile-showcase-copy>span{animation:none}
.screen-profile .profile-summary-card:active{transform:none}
.screen-profile .image-host-loading{animation:none}
.profile-summary-card{transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease}.profile-summary-card:active{transform:scale(.992)}.profile-summary-card--waifu{box-shadow:inset 0 1px rgba(255,112,178,.045)}.profile-summary-card--best{box-shadow:inset 0 1px rgba(235,194,102,.05)}.profile-summary-card--strongest{box-shadow:inset 0 1px rgba(255,132,101,.05)}
@keyframes profile-aurora{to{transform:rotate(1turn)}}
@keyframes profile-glow-breathe{0%,100%{opacity:.72;transform:scale(.92)}50%{opacity:1;transform:scale(1.08)}}
@keyframes profile-avatar-pulse{0%,100%{box-shadow:0 .6rem 1.7rem rgba(var(--profile-accent-rgb),.24)}50%{box-shadow:0 .6rem 1.9rem rgba(var(--profile-accent-rgb),.38),0 0 0 .25rem rgba(var(--profile-accent-rgb),.06)}}
@keyframes profile-label-glow{0%,100%{text-shadow:none}50%{text-shadow:0 0 .8rem rgba(var(--profile-accent-rgb),.48)}}
@keyframes profile-section-rise{from{opacity:0;transform:translateY(.55rem)}to{opacity:1;transform:none}}
@media(max-width:23rem){.profile-hero{min-height:23rem}.profile-identity,.profile-status-row{max-width:78%}.profile-summary-card{grid-template-columns:6.3rem minmax(0,1fr);gap:.65rem}.profile-pick-copy strong{font-size:.62rem}.profile-theme-options button{font-size:.61rem}}
@media(prefers-reduced-motion:reduce){.profile-showcase-art img,.profile-hero::before,.profile-hero-glow,.profile-avatar,.profile-showcase-copy>span,.screen-profile.active .profile-theme-card,.screen-profile.active .profile-picks,.screen-profile.active .profile-summary-card,.screen-profile.active .profile-stats{animation:none!important}}

/* Keep form names and match statistics on distinct lines in the power ranking. */
.strongest-ranking-list .stats-copy{display:grid;gap:.3rem;overflow-wrap:anywhere}
.strongest-ranking-list .stats-copy small{display:block;line-height:1.35}
.strongest-ranking-list .stats-copy .ranking-record{margin-top:.2rem;color:#d6cbe4}
.strongest-ranking-list .strongest-rating-value{white-space:nowrap}
#strongestDuelChoices{white-space:nowrap;font-size:1.15rem}
.duel-leader{display:grid;grid-template-columns:5rem minmax(0,1fr);gap:1rem;align-items:center;padding:1rem;border:1px solid var(--line);border-radius:1rem;background:var(--surface)}
.duel-leader img{width:5rem;height:6.5rem;object-fit:cover;border-radius:.7rem}.duel-leader strong{overflow-wrap:anywhere}.duel-leader p{margin:.4rem 0;color:var(--muted);font-size:.82rem}.duel-leader span,.duel-session-gain{color:#ffb49b}.duel-session-gain{font-size:.85rem;line-height:1.5}
.screen-share.image-save-mode .share-preview{width:100%;max-width:24rem;padding:0;border:0}.screen-share.image-save-mode .share-heading{display:none}

/* PROFILE backend v0.1: sync state and one-time privacy notice. */
.profile-sync-status{position:relative;z-index:4;max-width:70%;margin:.45rem 0 0;padding-left:.15rem;color:#a99db9;font-size:.62rem;font-weight:700}.profile-sync-status.is-error{color:#ffb09b}
.profile-top5-filter{display:flex;flex-wrap:wrap;gap:.22rem;margin-top:.55rem}.profile-top5-filter button{padding:.24rem .38rem;border:1px solid var(--line);border-radius:5rem;background:rgba(255,255,255,.035);color:var(--muted);font-size:.5rem;font-weight:800;cursor:pointer}.profile-top5-filter button.active{border-color:var(--profile-accent);color:#fff;background:rgba(var(--profile-accent-rgb),.16)}
.privacy-notice{position:fixed;z-index:1000;inset:0;display:grid;place-items:end center;padding:1rem max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) max(1rem,env(safe-area-inset-left));background:rgba(5,4,9,.76);backdrop-filter:blur(12px)}.privacy-notice>div{width:min(100%,32rem);padding:1.15rem;border:1px solid rgba(155,108,255,.38);border-radius:1.25rem;background:linear-gradient(145deg,#1b1429,#0e0c14);box-shadow:0 1.5rem 4rem rgba(0,0,0,.5)}.privacy-notice h2{margin:.25rem 0 .65rem;font-size:1.35rem;line-height:1.08}.privacy-notice p:not(.eyebrow){margin:0 0 1rem;color:#c0b6cd;font-size:.78rem;line-height:1.55}.privacy-notice .primary-button{width:100%}

/* BACKEND v0.3: compact mobile-first character leaderboards. */
.screen-global-ranking{flex-direction:column;gap:1rem;padding-top:1rem;padding-bottom:1.5rem}
.global-mode-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.35rem}.global-mode-tabs button{min-width:0;padding:.7rem .25rem;border:1px solid var(--line);border-radius:.75rem;background:rgba(255,255,255,.035);color:var(--muted);font-size:.67rem;font-weight:900;cursor:pointer}.global-mode-tabs button.active{border-color:rgba(155,108,255,.72);background:rgba(155,108,255,.18);color:#fff;box-shadow:0 .5rem 1.4rem rgba(155,108,255,.12)}
.global-ranking-status{margin:1.5rem 0;padding:1rem;border:1px dashed var(--line);border-radius:1rem;color:var(--muted);font-size:.78rem;text-align:center}
.global-ranking-list{display:grid;gap:.55rem;margin:0;padding:0;list-style:none}.global-ranking-row{display:grid;grid-template-columns:1.8rem 3.4rem minmax(0,1fr) auto;align-items:center;gap:.55rem;padding:.6rem;border:1px solid var(--line);border-radius:1rem;background:rgba(18,15,26,.92)}.global-ranking-row:first-child{border-color:rgba(190,142,255,.45);background:linear-gradient(110deg,rgba(101,58,154,.2),rgba(18,15,26,.96))}.global-ranking-row img{width:3.4rem;height:4.2rem;display:block;border-radius:.65rem;object-fit:cover;object-position:center top}.global-rank{color:#bd90ff;font-size:1.15rem;font-weight:950;text-align:center}.global-character-copy,.global-score-copy{min-width:0;display:grid;gap:.18rem}.global-character-copy>strong{overflow:hidden;font-size:.82rem;line-height:1.08;text-overflow:ellipsis}.global-character-copy small{overflow:hidden;color:var(--muted);font-size:.61rem;text-overflow:ellipsis;white-space:nowrap}.global-character-copy i{justify-self:start;padding:.13rem .3rem;border-radius:5rem;background:rgba(255,175,91,.12);color:#efb673;font-size:.48rem;font-style:normal;font-weight:800}.global-score-copy{justify-items:end;text-align:right}.global-score-copy strong{color:#f1dfff;font-size:.7rem;white-space:nowrap}.global-score-copy span{max-width:7.2rem;color:var(--muted);font-size:.54rem;line-height:1.3}
@media(max-width:23rem){.global-ranking-row{grid-template-columns:1.45rem 3rem minmax(0,1fr);gap:.45rem}.global-ranking-row img{width:3rem;height:3.8rem}.global-score-copy{grid-column:2/4;grid-template-columns:auto 1fr;align-items:center;justify-items:start;padding-left:3.45rem;text-align:left}.global-score-copy span{max-width:none}.global-mode-tabs button{font-size:.58rem}}

/* Small progression layer: trophies, champion route and visible ELO feedback. */
.profile-trophies{padding:1rem;border:1px solid rgba(var(--profile-accent-rgb),.24);border-radius:1.25rem;background:linear-gradient(145deg,rgba(var(--profile-accent-rgb),.07),rgba(19,16,27,.92))}.profile-trophy-head{display:flex;align-items:end;justify-content:space-between;gap:1rem}.profile-trophy-head .eyebrow{margin-bottom:.25rem}.profile-trophy-head h2{margin:0;font-size:1.15rem;letter-spacing:-.035em}.profile-trophy-head>strong{padding:.3rem .5rem;border:1px solid rgba(var(--profile-accent-rgb),.24);border-radius:5rem;background:rgba(var(--profile-accent-rgb),.09);color:var(--profile-accent);font-size:.68rem;white-space:nowrap}.profile-trophy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;margin-top:.8rem}.profile-trophy{min-width:0;display:grid;grid-template-columns:2rem minmax(0,1fr);gap:.55rem;padding:.68rem;border:1px solid rgba(255,255,255,.07);border-radius:.85rem;background:rgba(8,7,13,.42);opacity:.66}.profile-trophy:nth-child(5){grid-column:1/-1}.profile-trophy.is-unlocked{border-color:rgba(var(--profile-accent-rgb),.36);background:linear-gradient(140deg,rgba(var(--profile-accent-rgb),.15),rgba(8,7,13,.5));opacity:1;box-shadow:inset 0 1px rgba(255,255,255,.04)}.profile-trophy-icon{width:2rem;height:2rem;display:grid;place-items:center;border-radius:.62rem;background:rgba(255,255,255,.055);filter:grayscale(1);font-size:1rem}.profile-trophy.is-unlocked .profile-trophy-icon{background:rgba(var(--profile-accent-rgb),.18);filter:none}.profile-trophy strong,.profile-trophy p,.profile-trophy small{display:block}.profile-trophy strong{font-size:.7rem;line-height:1.15}.profile-trophy p{min-height:2.3em;margin:.2rem 0 .45rem;color:var(--muted);font-size:.55rem;line-height:1.25}.profile-trophy small{margin-top:.25rem;color:rgba(231,223,241,.66);font-size:.5rem;font-weight:750}.profile-trophy-progress{height:.2rem;display:block;overflow:hidden;border-radius:5rem;background:rgba(255,255,255,.07)}.profile-trophy-progress i{height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,var(--profile-accent),#dfbdff);box-shadow:0 0 .65rem rgba(var(--profile-accent-rgb),.45)}
.screen-profile.active .profile-trophies{animation:profile-section-rise .42s cubic-bezier(.2,.75,.25,1) .22s both}

.tournament-path{margin:.15rem 0 .85rem;padding:.85rem;border:1px solid rgba(177,137,255,.24);border-radius:1rem;background:linear-gradient(145deg,rgba(155,108,255,.08),rgba(18,15,25,.94))}.tournament-path--best{border-color:rgba(232,196,117,.3);background:linear-gradient(145deg,rgba(232,196,117,.08),rgba(18,15,25,.94))}.tournament-path--strongest{border-color:rgba(255,151,117,.3);background:linear-gradient(145deg,rgba(255,151,117,.08),rgba(18,15,25,.94))}.tournament-path-head{display:flex;align-items:end;justify-content:space-between;gap:.6rem;margin-bottom:.6rem}.tournament-path-head small{display:block;color:#b8acc6;font-size:.55rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.tournament-path-head h3{margin:.12rem 0 0;font-size:1rem;letter-spacing:-.03em}.tournament-path-head>span{color:#cdb4ff;font-size:.58rem;font-weight:800;text-align:right}.tournament-path--best .tournament-path-head>span{color:#efc66e}.tournament-path--strongest .tournament-path-head>span{color:#ffad91}.tournament-path ol{display:grid;gap:.35rem;margin:0;padding:0;list-style:none}.tournament-path li{min-width:0;display:grid;grid-template-columns:2.35rem minmax(0,1fr) auto;align-items:center;gap:.55rem;padding:.4rem;border-radius:.68rem;background:rgba(255,255,255,.035)}.tournament-path img{width:2.35rem;height:2.8rem;display:block;border-radius:.5rem;object-fit:cover;object-position:center top}.tournament-path li>span{min-width:0}.tournament-path li small,.tournament-path li strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tournament-path li small{color:#a99db8;font-size:.52rem}.tournament-path li strong{margin-top:.1rem;font-size:.68rem}.tournament-path li>b{color:#cdb4ff;font-size:.58rem;white-space:nowrap}.tournament-path--best li>b{color:#efc66e}.tournament-path--strongest li>b{color:#ffad91}

.duel-elo-change{position:absolute;z-index:14;top:.7rem;left:50%;transform:translateX(-50%);padding:.38rem .55rem;border:1px solid currentColor;border-radius:5rem;background:rgba(8,7,12,.9);font-size:.7rem;font-weight:950;white-space:nowrap;pointer-events:none;animation:duel-elo-pop 1.2s cubic-bezier(.2,.8,.2,1) both}.duel-elo-change.is-positive{color:#8ff0bb;box-shadow:0 0 1.4rem rgba(65,227,139,.24)}.duel-elo-change.is-negative{color:#ff9b9b;box-shadow:0 0 1.4rem rgba(255,96,96,.2)}
@keyframes duel-elo-pop{0%{opacity:0;transform:translate(-50%,.45rem) scale(.82)}18%,68%{opacity:1;transform:translate(-50%,0) scale(1)}100%{opacity:0;transform:translate(-50%,-.4rem) scale(.96)}}
@media(max-width:23rem){.profile-trophy-grid{grid-template-columns:1fr}.profile-trophy:nth-child(5){grid-column:auto}.tournament-path-head{align-items:start}.tournament-path-head>span{max-width:6.5rem}.tournament-path li{grid-template-columns:2.15rem minmax(0,1fr) auto}.tournament-path img{width:2.15rem;height:2.6rem}}
@media(prefers-reduced-motion:reduce){.screen-profile.active .profile-trophies{animation:none!important}.duel-elo-change{animation:duel-elo-static 1.2s linear both}@keyframes duel-elo-static{0%,100%{opacity:0}10%,85%{opacity:1}}}

/* Keep swipe cards atomic on slow connections: the next card enters only after its image is ready. */
.deck{position:relative}.character-card.swipe-card-pending{opacity:0!important;pointer-events:none}.swipe-deck-status{position:absolute;z-index:2;inset:0;display:grid;place-content:center;justify-items:center;gap:.72rem;color:#d8c8f7;text-align:center;pointer-events:none}.swipe-deck-status span{width:2rem;height:2rem;border:.18rem solid rgba(216,200,247,.22);border-top-color:#b68cff;border-radius:50%;animation:image-loading-spin .8s linear infinite}.swipe-deck-status strong{font-size:.72rem;letter-spacing:.04em}.action-button:disabled{cursor:wait;opacity:.55}
.brand-icon{display:block;width:2rem;height:2rem;flex:0 0 2rem;object-fit:contain;border-radius:.5rem}
.brand-loading{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;background:#09080e;pointer-events:none}
.brand-loading img{display:block;width:min(90vw,30rem);height:auto;aspect-ratio:3/1;object-fit:contain}
@keyframes brand-loading-dismiss{to{visibility:hidden}}
.brand-loading{animation:brand-loading-dismiss 0s 8s forwards}
