.rebirth { --rebirth-accent:var(--warning); color:var(--text,#f3f5f7); padding-bottom:32px; }
.rebirth h1,.rebirth h2,.rebirth h3,.rebirth p { margin:0; letter-spacing:0; }
.rebirth h1 { font-size:20px; }.rebirth h2 { font-size:18px; }.rebirth h3 { font-size:14px; }
.rebirth-top { display:flex; align-items:center; gap:12px; }.rebirth-top>span { margin-left:auto; }
.rebirth-jumps { display:flex; gap:20px; }.rebirth-jumps a { display:inline-flex; align-items:center; min-height:44px; color:inherit; font-size:13px; text-decoration:underline; text-underline-offset:5px; }.rebirth :is(h2,h3) { scroll-margin-top:80px; }
.rebirth-calendar { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; }
.rebirth-calendar button { display:flex; align-items:center; gap:10px; padding:10px; min-width:0; color:inherit; background:var(--card,#14181c); border:1px solid var(--border-soft); border-radius:6px; cursor:pointer; text-align:left; }
.rebirth-calendar button[aria-pressed=true] { border-color:var(--rebirth-accent); box-shadow:inset 0 -2px var(--rebirth-accent); }
.rebirth-calendar img { object-fit:contain; flex:0 0 56px; }.rebirth-calendar span { display:grid; gap:3px; min-width:0; }.rebirth-calendar strong { font-size:13px; overflow-wrap:anywhere; }.rebirth-calendar small { font-size:10px; }
.rebirth-banner { display:flex; align-items:center; gap:28px; padding:24px 8px; border-bottom:1px solid var(--border-soft); }
.rebirth-emblem { width:180px; height:180px; object-fit:contain; filter:drop-shadow(0 12px 18px #0005); }
.rebirth-intro { display:grid; gap:10px; flex:1; min-width:0; }.rebirth-intro h2 { font-size:32px; color:var(--rebirth-accent); }.rebirth-intro p { font-size:12px; line-height:1.6; }.rebirth-intro>span { font-size:12px; }
.rebirth-xp { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; }.rebirth-xp strong { font-size:20px; }.rebirth-xp small,.rebirth-xp>span { font-size:12px; font-weight:400; }
.rebirth progress { appearance:none; width:100%; height:6px; border:0; border-radius:0; background:var(--surface); accent-color:var(--rebirth-accent); }.rebirth progress::-webkit-progress-bar { background:var(--surface); }.rebirth progress::-webkit-progress-value { background:var(--rebirth-accent); }.rebirth progress::-moz-progress-bar { background:var(--rebirth-accent); }
.rebirth-layout { display:grid; grid-template-columns:minmax(0,1.2fr) minmax(270px,1fr); gap:28px; }.rebirth-map-section>header { display:flex; justify-content:space-between; gap:10px; align-items:center; margin-bottom:20px; }.rebirth-map-section>header>span { font-size:12px; }
.rebirth-map { list-style:none; padding:0; margin:0; display:grid; grid-template-columns:repeat(10,minmax(0,1fr)); gap:14px 0; }
.rebirth-map li { position:relative; min-width:0; display:grid; place-items:center; height:32px; }
.rebirth-map li::before { content:''; position:absolute; top:50%; left:0; right:0; height:1px; background:var(--surface); }
.rebirth-map li:nth-child(10n):not(:last-child)::after { content:''; position:absolute; width:1px; height:46px; top:50%; left:50%; background:var(--surface); }
.rebirth-map li span { z-index:1; width:28px; height:28px; display:grid; place-items:center; background:var(--surface); border:1px solid var(--border-soft); color:var(--text-primary); font-size:11px; font-variant-numeric:tabular-nums; border-radius:4px; }
.rebirth-map li.reached span { border-color:var(--rebirth-accent); color:var(--rebirth-accent); }.rebirth-map li.current span { background:var(--rebirth-accent); color:var(--text-primary); border-color:var(--rebirth-accent); font-weight:900; outline:2px solid var(--rebirth-accent); outline-offset:3px; }
.rebirth-map li.milestone span { border-radius:50%; }.rebirth-map li i { position:absolute; top:-5px; right:3px; width:5px; height:5px; background:var(--rebirth-accent); transform:rotate(45deg); z-index:2; }
.rebirth-legend { display:flex; gap:14px; font-size:10px; padding:16px 0 24px; }.rebirth-legend span:first-child { color:var(--rebirth-accent); }.rebirth-map-section>h3 { margin-bottom:14px; }
.rebirth-rewards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }.rebirth-reward { position:relative; min-width:0; border:1px solid var(--border-soft); border-radius:6px; padding:10px; }.rebirth-reward.earned { border-color:var(--rebirth-accent); }.rebirth-reward summary { display:grid; justify-items:center; gap:5px; cursor:pointer; text-align:center; list-style:none; }.rebirth-reward summary::-webkit-details-marker { display:none; }.rebirth-reward img { object-fit:contain; width:76px; height:76px; }.rebirth-reward strong { font-size:12px; overflow-wrap:anywhere; }.rebirth-reward small { font-size:10px; }.rebirth-tier { position:absolute; top:8px; right:8px; color:var(--rebirth-accent); font-size:11px; }.rebirth-reward p { font-size:12px; line-height:1.5; margin-top:10px; }
.rebirth-missions { min-width:0; }.rebirth-periods { display:flex; gap:4px; margin:16px 0; }.rebirth-periods button { flex:1; min-height:44px; padding:6px; border:0; border-bottom:2px solid transparent; background:transparent; color:inherit; font-size:12px; cursor:pointer; }.rebirth-periods button[aria-pressed=true] { border-color:var(--rebirth-accent); color:var(--rebirth-accent); }
.rebirth-task { display:grid; grid-template-columns:28px minmax(0,1fr) auto; gap:10px; padding:16px 0; border-bottom:1px solid var(--border-soft); }.rebirth-task h3 { font-size:13px; line-height:1.5; }.rebirth-task>div>span { display:block; font-size:11px; margin:5px 0; }.rebirth-task>strong { font-size:14px; color:var(--rebirth-accent); text-align:right; }.rebirth-task strong small { display:block; font-size:9px; font-weight:400; }.rebirth-task-icon svg,.rebirth-task-icon img { width:24px; height:24px; object-fit:contain; fill:none; stroke:currentColor; stroke-width:1.8; }.rebirth-task details { font-size:12px; margin-top:6px; }.rebirth-task summary { cursor:pointer; padding:8px 0; }.rebirth-task p { line-height:1.5; }.rebirth-task.done>strong { color:var(--success); }
.rebirth-all { min-height:44px; margin:16px 0; padding:10px 14px; background:transparent; color:inherit; border:1px solid var(--border-soft); border-radius:4px; cursor:pointer; }.rebirth-rules { border-top:1px solid var(--border-soft); padding:16px 0; font-size:12px; }.rebirth-rules summary { cursor:pointer; min-height:32px; }.rebirth-rules p { margin:8px 0; line-height:1.6; }.rebirth-notice { font-size:13px; padding:12px 0; }
.rebirth :is(button,summary):focus-visible { outline:2px solid var(--rebirth-accent); outline-offset:3px; }
.rebirth { max-width:880px; margin-inline:auto; gap:24px; }
.rebirth-top { min-height:48px; }
.rebirth-top h1 { flex:1; min-width:0; font-size:20px; }
.rebirth svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; flex:none; }
.rebirth-icon { display:grid; place-items:center; width:44px; height:44px; border:1px solid var(--border-soft); border-radius:6px; background:transparent; color:inherit; cursor:pointer; }
.rebirth .rebirth-banner { gap:20px; padding:0 0 24px; }
.rebirth .rebirth-emblem { width:112px; height:112px; flex:none; }
.rebirth .rebirth-intro { gap:6px; }
.rebirth .rebirth-intro h2 { font-size:24px; }
.rebirth .rebirth-intro p { color:var(--text-secondary); line-height:1.5; }
.rebirth-next { display:flex; align-items:center; justify-content:space-between; gap:20px; padding-bottom:24px; border-bottom:1px solid var(--border-soft); }
.rebirth-next>div { display:grid; gap:6px; min-width:0; }
.rebirth-next h2 { font-size:16px; }
.rebirth-next p,.rebirth-next small { font-size:12px; color:var(--text-secondary); }
.rebirth-next strong { font-size:14px; overflow-wrap:anywhere; }
.rebirth-menu { display:grid; }
.rebirth-menu button { display:flex; width:100%; align-items:center; gap:16px; padding:14px 4px; min-height:72px; border:0; border-bottom:1px solid var(--border-soft); background:transparent; color:inherit; text-align:left; cursor:pointer; }
.rebirth-menu button>span { display:grid; gap:4px; flex:1; }
.rebirth-menu strong { font-size:15px; }.rebirth-menu small { font-size:12px; color:var(--text-secondary); }
.rebirth-menu button>svg:first-child { color:var(--rebirth-accent); }
.rebirth-menu button>svg:last-child { width:18px; height:18px; }
.rebirth-menu button:hover,.rebirth-all:hover,.rebirth-icon:hover { background:var(--surface-hover); }
.rebirth button:disabled { opacity:.55; cursor:wait; }
.rebirth-prizes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.rebirth-prize { display:grid; justify-items:center; gap:12px; padding:20px 12px; border:1px solid var(--border-soft); border-radius:6px; min-width:0; text-align:center; }
.rebirth-prize.earned { border-color:var(--rebirth-accent); }
.rebirth-prize>div { display:grid; gap:6px; }.rebirth-prize h3 { font-size:14px; line-height:1.4; overflow-wrap:anywhere; }
.rebirth-prize p,.rebirth-prize small { font-size:12px; color:var(--text-secondary); }
.rebirth-prize .rebirth-all { margin:0; width:100%; align-self:end; font-size:12px; }
.ratpass-frame { --frame-color:var(--tertiary); position:relative; display:grid; place-items:center; width:88px; height:88px; border:3px solid var(--frame-color); border-radius:50%; padding:4px; box-sizing:border-box; flex:none; }
.ratpass-frame-2 { outline:1px solid var(--frame-color); outline-offset:3px; }
.ratpass-frame-3 { border-width:5px; outline:2px solid var(--frame-color); outline-offset:3px; }
.ratpass-frame-avatar { display:grid; place-items:center; width:100%; height:100%; border-radius:50%; overflow:hidden; background:var(--surface); color:var(--text-primary); font-size:22px; }
.ratpass-frame-avatar img { width:100%; height:100%; object-fit:cover; }
.ratpass-frame>img { position:absolute; width:28px; height:28px; bottom:-10px; left:calc(50% - 14px); object-fit:contain; }
.ratpass-medal { display:grid; justify-items:center; width:100px; min-height:100px; flex:none; }
.ratpass-medal>img { width:88px; height:88px; object-fit:contain; }.ratpass-medal small { font-size:10px; }
.ratpass-medal-final>img { filter:drop-shadow(0 4px 5px #0009); }
.rebirth-copy { max-width:65ch; }.rebirth-copy h2 { font-size:17px; margin:24px 0 8px; }.rebirth-copy h2:first-child { margin-top:0; }.rebirth-copy p { line-height:1.7; font-size:14px; color:var(--text-secondary); }
.rebirth .rebirth-calendar { grid-template-columns:repeat(2,minmax(0,1fr)); }
.rebirth .rebirth-map { margin-top:16px; }
[data-ratpass-profile] { position:relative; }
.ratpass-profile-frame { position:absolute; inset:-3px; pointer-events:none; }
.ratpass-profile-frame .ratpass-frame { width:100%; height:100%; }
.ratpass-profile-frame .ratpass-frame-avatar { background:transparent; }
.ratpass-profile-medal { position:absolute; right:-12px; bottom:0; width:32px; height:32px; object-fit:contain; }
/* Four seasonal finishes, three earned tiers; the centre never covers the photo. */
.ratpass-frame { border-width:2px; padding:4px; isolation:isolate; }
.ratpass-frame::before,.ratpass-frame::after { content:""; position:absolute; inset:-5px; border-radius:50%; pointer-events:none; border:1px solid var(--frame-color); }
.ratpass-frame::before { opacity:.55; }
.ratpass-frame::after { display:none; }
.ratpass-frame-pulso::before { border-style:dashed; }
.ratpass-frame-ascensao::before { border-style:double; border-width:3px; }
.ratpass-frame-legado::before { border-style:dotted; border-width:2px; }
.ratpass-frame-2 { outline:none; border-width:3px; }
.ratpass-frame-2::after { display:block; inset:-8px; border:2px solid transparent; border-top-color:var(--frame-color); border-bottom-color:var(--frame-color); }
.ratpass-frame-3 { outline:none; border-width:4px; }
.ratpass-frame-3::after { display:block; inset:-8px; border:3px double var(--frame-color); }
.ratpass-frame-detail { position:absolute; inset:-6px; border-radius:50%; pointer-events:none; }
.ratpass-frame-3 .ratpass-frame-detail::before,.ratpass-frame-3 .ratpass-frame-detail::after { content:""; position:absolute; width:8px; height:8px; background:var(--frame-color); border:1px solid var(--border-soft); transform:rotate(45deg); top:calc(50% - 4px); }
.ratpass-frame-3 .ratpass-frame-detail::before { left:-3px; }.ratpass-frame-3 .ratpass-frame-detail::after { right:-3px; }
.ratpass-profile-frame { z-index:1; inset:-2px; }
.ratpass-profile-frame .ratpass-frame-avatar { visibility:hidden; }
[data-ratpass-surface=publication] { overflow:visible; }
[data-ratpass-surface=publication] .ratpass-frame { border-width:2px; padding:0; }
[data-ratpass-surface=publication] .ratpass-frame::before { inset:-3px; border-width:1px; }
[data-ratpass-surface=publication] .ratpass-frame::after { inset:-5px; border-width:1px; }
[data-ratpass-surface=publication] .ratpass-frame-detail { inset:-3px; }
[data-ratpass-surface=publication] .ratpass-frame-detail::before,[data-ratpass-surface=publication] .ratpass-frame-detail::after { width:4px; height:4px; top:calc(50% - 2px); }
.social-avatar:has([data-ratpass-surface=publication]) { overflow:visible; }
@media(min-width:761px) { .rebirth-menu { grid-template-columns:1fr 1fr; gap:0 32px; }.rebirth-prizes { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:380px) { .rebirth .rebirth-emblem { width:80px; height:96px; }.rebirth .rebirth-banner { gap:12px; }.rebirth .rebirth-calendar { grid-template-columns:1fr; }.rebirth-prizes { gap:10px; }.rebirth-prize { padding:16px 8px; } }
html[data-theme=light] .rebirth { --rebirth-accent:var(--primary)!important; }
@media(max-width:760px){ .rebirth-layout { grid-template-columns:1fr; }.rebirth-calendar { grid-template-columns:repeat(2,minmax(0,1fr)); }.rebirth-banner { gap:14px; padding:18px 0; }.rebirth-emblem { width:112px; height:132px; }.rebirth-intro h2 { font-size:26px; } }
@media(max-width:380px){ .rebirth-emblem { width:80px; height:110px; }.rebirth-calendar button { gap:6px; padding:6px; }.rebirth-calendar img { width:40px; height:40px; flex-basis:40px; }.rebirth-map li span { width:23px; height:26px; font-size:10px; }.rebirth-rewards { grid-template-columns:repeat(2,minmax(0,1fr)); } }
