/* ════════════════════════════════════════════
   EARTH.ONLINE — Registration / 6步降生流程样式
   职责分离自 index.php
   ════════════════════════════════════════════ */

/* ── 向导全局状态 ── */
.wizard-mode .char-form-section{display:none}
.wizard-mode #stepNav{position:sticky;top:0;z-index:50;background:var(--bg-0);padding:16px 0;margin:0;border-bottom:1px solid var(--line);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.wizard-mode .step-nav{margin-top:0}
.wizard-container{min-height:70vh;position:relative;margin:0 auto;max-width:1200px;padding:0 var(--pad-x)}

/* ── 步骤面板基础 ── */
.step-panel{display:none;opacity:0;transform:translateY(12px)}
.step-panel.active{display:block;opacity:1;transform:translateY(0);transition:opacity 0.45s cubic-bezier(0.22,1,0.36,1), transform 0.45s cubic-bezier(0.22,1,0.36,1)}

/* ── 步骤进出场动画 ── */
.step-panel.entering{display:block;opacity:0;transform:translateY(32px);animation:stepEnter 0.5s cubic-bezier(0.22,1,0.36,1) forwards}
.step-panel.leaving{opacity:0;transform:translateY(-20px);animation:stepLeave 0.35s cubic-bezier(0.55,0,1,0.45) forwards;pointer-events:none}

@keyframes stepEnter{
  0%{opacity:0;transform:translateY(32px)}
  100%{opacity:1;transform:translateY(0)}
}
@keyframes stepLeave{
  0%{opacity:1;transform:translateY(0)}
  100%{opacity:0;transform:translateY(-24px)}
}

/* ── 步骤切换遮罩闪烁 ── */
.wizard-flash{position:fixed;inset:0;background:rgba(204,0,0,0.06);z-index:100;pointer-events:none;animation:flashIn .5s ease-out forwards}
@keyframes flashIn{0%{opacity:1}100%{opacity:0}}

/* ── Hero 向导模式收缩 ── */
.wizard-mode #subpageHero{padding-top:24px;padding-bottom:16px;border-bottom:1px solid var(--line);margin-bottom:0}
.wizard-mode #subpageHero .subpage-h{margin-bottom:12px}
.wizard-mode #subpageHero .subpage-h h1{font-size:clamp(18px,3vw,28px)}
.wizard-mode #subpageHero .stat{display:none}
.wizard-mode #subpageHero .subpage-crumbs{margin-bottom:8px}
.wizard-mode #subpageHero .subpage-h .zh .accent{color:var(--rust-3)}

/* ── 步骤导航增强 ── */
.wizard-mode .step-dot{cursor:pointer}
.wizard-mode .step-dot.done{cursor:pointer;border-color:var(--green);opacity:0.75}
.wizard-mode .step-dot.done:hover{opacity:1;background:rgba(90,155,106,0.08)}
.wizard-mode .step-dot.active{cursor:default}

/* ── 步骤导航 ── */
.step-nav{display:flex;justify-content:center;gap:6px;margin:32px 0 0;flex-wrap:wrap}
.step-dot{display:flex;flex-direction:column;align-items:center;gap:6px;padding:8px 14px;border:1px solid var(--line-2);background:transparent;cursor:default;opacity:0.3;transition:all 0.3s ease;font-family:var(--mono);font-size:10px;letter-spacing:0.1em;color:var(--ink-2);min-width:70px;text-align:center}
.step-dot .step-index{font-size:14px;font-weight:600;color:var(--ink-1)}
.step-dot.done{opacity:0.6;border-color:var(--rust);color:var(--ink-0)}
.step-dot.done .step-index{color:var(--rust-3)}
.step-dot.active{opacity:1;border-color:var(--rust-3);color:var(--ink-0);background:rgba(204,0,0,0.06)}
.step-dot.active .step-index{color:var(--rust-3)}

/* ── 步骤控制按钮 ── */
.step-ctrl{display:flex;justify-content:center;gap:16px;margin-top:0;padding:18px 0 32px;border-top:1px solid var(--line)}
.step-ctrl .btn{min-width:140px}

/* ── 账号激活门 ── */
.account-gate-section{padding:0;border-bottom:none}
.account-gate-card{max-width:640px;margin:0 auto;border:1px solid var(--line-2);background:linear-gradient(180deg, rgba(255,255,255,.035), rgba(255,255,255,.012));padding:clamp(28px,4vw,48px);box-shadow:0 24px 80px rgba(0,0,0,.32)}
.account-gate-console{display:flex;align-items:center;gap:10px;font-family:var(--mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-1);margin-bottom:26px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.account-gate-console .dot{width:8px;height:8px;border-radius:50%;background:var(--amber);box-shadow:0 0 0 5px rgba(197,131,45,.12)}
.account-gate-summary{display:flex;align-items:end;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:24px}
.account-gate-summary span{display:block;font-family:var(--mono);font-size:10px;color:var(--rust-3);letter-spacing:.18em;text-transform:uppercase;margin-bottom:6px}
.account-gate-summary strong{font-family:var(--cn);font-size:clamp(24px,3vw,36px);font-weight:700;color:var(--ink-0);line-height:1.1}
.account-gate-chips{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.account-gate-chips em{font-style:normal;border:1px solid var(--line-2);padding:6px 10px;font-family:var(--cn);font-size:12px;color:var(--ink-1);background:rgba(255,255,255,.018)}
.account-form-grid{display:flex;flex-direction:column;gap:22px}
.account-gate-feedback{margin-top:16px;min-height:22px;font-family:var(--cn);font-size:13px;color:var(--ink-2);line-height:1.7}
.account-gate-feedback.ok{color:var(--green)}
.account-gate-feedback.err{color:var(--rust-3)}
.account-gate-actions{margin-top:26px;display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.account-code-row{display:flex;gap:10px;align-items:center}

/* ── 降生表单（Step 01 用） ── */
.bf-row{margin-bottom:28px}
.bf-row > label{display:block;font-family:var(--mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-1);margin-bottom:8px}
.bf-input{width:100%;border:1px solid var(--line-2);background:rgba(0,0,0,.36);color:var(--ink-0);padding:12px 13px;border-radius:2px;font:500 14px var(--cn);outline:none;transition:border-color .25s, box-shadow .25s}
.bf-input:focus{border-color:var(--rust-3);box-shadow:0 0 0 3px rgba(204,0,0,.12)}
.bf-input::placeholder{color:var(--ink-2);opacity:.7}
.bf-select{width:100%;border:1px solid var(--line-2);background:rgba(0,0,0,.36);color:var(--ink-0);padding:12px 13px;border-radius:2px;font:500 14px var(--cn);outline:none;transition:border-color .25s}
.bf-select:focus{border-color:var(--rust-3)}
.bf-validate{margin-top:6px;font-family:var(--mono);font-size:11px;color:var(--ink-2)}
.bf-validate.ok{color:var(--green)}
.bf-validate.err{color:var(--rust-3)}
.bf-hint{margin-top:6px;font-family:var(--cn);font-size:12px;color:var(--ink-2);line-height:1.55}
.bf-date{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.bf-region{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.uid-preview{padding:20px;border:1px dashed var(--rust-edge);background:rgba(155,58,43,.04);text-align:center;margin-top:28px;font-family:var(--mono)}
.uid-preview .up-label{display:block;font-size:11px;color:var(--ink-2);letter-spacing:.14em;margin-bottom:6px}
.uid-preview .up-value{font-size:22px;color:var(--rust-3);letter-spacing:.08em}
.uid-preview .up-value.is-pending{color:var(--ink-2)}
.uid-preview .up-note{display:block;font-size:10px;color:var(--ink-3);margin-top:8px}

/* ── Step 02: 物种 / 性别 ── */
.species-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-top:12px}
.species{padding:16px;border:1px solid var(--line-2);background:rgba(0,0,0,.2);opacity:.4}
.species.avail{opacity:1;border-color:var(--rust-3);background:rgba(155,58,43,.08)}
.species .name{font-family:var(--cn);font-size:15px;font-weight:600;color:var(--ink-0)}
.species .lock{font-family:var(--mono);font-size:10px;color:var(--rust-3);margin-left:6px}
.species .err{font-size:11px;color:var(--ink-2);margin-top:6px}
.species .err .red{color:var(--rust-3)}
.bio-sex-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-top:14px}
.bio-sex-card{padding:18px;border:1px solid var(--line-2);background:rgba(0,0,0,.2);cursor:pointer;transition:all .25s;display:block}
.bio-sex-card input{display:none}
.bio-sex-card.is-selected{border-color:var(--rust-3);background:rgba(155,58,43,.1)}
.bio-sex-card .bs-name{font-family:var(--cn);font-size:16px;font-weight:600;color:var(--ink-0);display:flex;align-items:center;gap:8px}
.bio-sex-card .bs-tag{font-family:var(--mono);font-size:10px;color:var(--rust-3);letter-spacing:.08em}
.bio-sex-card .bs-note{font-size:12px;color:var(--ink-2);margin-top:6px}
.gender-row{margin-top:14px}
.gender-input{width:100%;border:1px solid var(--line-2);background:rgba(0,0,0,.36);color:var(--ink-0);padding:12px 13px;border-radius:2px;font-size:14px;outline:none;margin-bottom:10px}
.gender-input:focus{border-color:var(--rust-3)}
.gender-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.gender-tag{padding:4px 12px;border:1px solid var(--line-2);font-size:11px;color:var(--ink-1);cursor:pointer;transition:all .2s}
.gender-tag:hover{border-color:var(--ink-0);color:var(--ink-0)}
.gender-note{font-size:12px;color:var(--ink-2)}
.hr-tick{font-family:var(--mono);font-size:10px;color:var(--ink-2);letter-spacing:.14em;text-transform:uppercase;padding-bottom:8px;border-bottom:1px solid var(--line)}

/* ── Step 03: 六维 ── */
.stats-row{display:grid;grid-template-columns:280px 1fr;gap:32px;align-items:start;margin-top:28px}
.radar svg{width:100%;max-width:260px;margin:0 auto;display:block}
.radar .grid{fill:none;stroke:rgba(232,230,225,.08);stroke-width:1}
.radar .ax{stroke:rgba(232,230,225,.06);stroke-width:1}
.radar .area{fill:rgba(201,90,68,.16);stroke:var(--rust-3);stroke-width:1.4}
.radar .lab-cn{font-family:var(--cn);font-size:10px;fill:rgba(232,230,225,.5)}
.radar .num{font-family:var(--mono);font-size:11px;fill:rgba(232,230,225,.8)}
.radar .num.is-max{fill:var(--rust-3)}
.radar .num.is-min{fill:var(--ink-3)}
.stat-rows{display:flex;flex-direction:column;gap:20px}
.stat-row .k{font-family:var(--mono);font-size:12px;color:var(--ink-1);letter-spacing:.08em;margin-bottom:6px}
.stat-row .v-wrap{display:flex;align-items:center;gap:10px;margin-bottom:6px}
.stat-row .v{font-family:var(--mono);font-size:15px;color:var(--ink-0);min-width:28px}
.sc-btn{width:28px;height:28px;border:1px solid var(--line-2);display:grid;place-items:center;font-family:var(--mono);font-size:14px;background:transparent;color:var(--ink-1);cursor:pointer;transition:all .2s}
.sc-btn:disabled{opacity:.25;cursor:not-allowed}
.sc-btn:not(:disabled):hover{background:rgba(201,90,68,.15);border-color:var(--rust-3);color:var(--ink-0)}
.sc-btn.is-undo:not(:disabled){border-color:var(--green);color:var(--green);background:rgba(90,155,106,.1)}
.sc-btn.is-pressed{transform:scale(.9)}
.stat-row .bar{height:4px;background:var(--line);border-radius:2px;position:relative;overflow:hidden}
.stat-row .bar::after{content:"";position:absolute;left:0;top:0;height:100%;width:var(--p,0%);background:var(--rust-3);border-radius:2px;transition:width .3s}
.stat-row .note{font-family:var(--cn);font-size:11px;color:var(--ink-2);margin-top:4px;font-style:italic}
.point-hint{display:flex;align-items:center;gap:10px;padding:14px;border:1px dashed var(--amber-soft);background:rgba(197,131,45,.06);margin-bottom:24px;font-family:var(--cn);font-size:13px;color:var(--ink-1)}
.point-hint.depleted{border-color:var(--rust-edge);background:rgba(155,58,43,.06)}
.point-hint .ph-icon{font-size:16px}
.talent-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:8px;margin-top:14px}
.talent{padding:14px;border:1px solid var(--line-2);background:rgba(0,0,0,.2);display:flex;align-items:start;gap:12px}
.talent .icon{font-size:18px;line-height:1;flex-shrink:0}
.talent .name{font-family:var(--cn);font-size:14px;font-weight:600;color:var(--ink-0)}
.talent .en{font-family:var(--mono);font-size:10px;color:var(--ink-2);margin-left:6px}
.talent .desc{font-size:11px;color:var(--ink-1);margin-top:4px;line-height:1.5}
.talent .v{font-family:var(--mono);font-size:10px;color:var(--rust-3);flex-shrink:0}
.talent .v.sealed{color:var(--amber)}

/* ── Step 04: 职业 ── */
.job-input-wrap{display:flex;gap:10px;margin-top:24px;align-items:center}
.job-input-big{flex:1;border:1px solid var(--line-2);background:rgba(0,0,0,.36);color:var(--ink-0);padding:14px 16px;font:500 16px var(--cn);outline:none;border-radius:2px}
.job-input-big:focus{border-color:var(--rust-3)}
.job-input-big::placeholder{color:var(--ink-2)}
.job-tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:14px}
.job-tag{padding:6px 14px;border:1px solid var(--line-2);font-size:12px;color:var(--ink-1);cursor:pointer;transition:all .2s}
.job-tag:hover{border-color:var(--ink-0);color:var(--ink-0)}
.job-result{display:none;margin-top:28px;padding:24px;border:2px solid var(--rust-3);background:rgba(155,58,43,.06);text-align:center}
.job-result.show{display:block}
.jr-from,.jr-to{margin-bottom:6px}
.jr-label{font-family:var(--mono);font-size:10px;color:var(--ink-2);letter-spacing:.1em;text-transform:uppercase;display:block;margin-bottom:4px}
.jr-text{font-family:var(--cn);font-size:18px;color:var(--ink-0);font-weight:600}
.jr-text.rust{color:var(--rust-3)}
.jr-arrow{font-family:var(--mono);font-size:12px;color:var(--rust-3);margin:14px 0}
.jr-note{font-family:var(--cn);font-size:12px;color:var(--ink-1);margin-top:10px}

/* ── Step 05: 生命进度 ── */
.lp-header{margin-bottom:24px}
.lp-eyebrow{font-family:var(--mono);font-size:10px;color:var(--ink-2);letter-spacing:.16em;margin-bottom:8px}
.lp-meta{font-family:var(--cn);font-size:14px;color:var(--ink-1)}
.lp-bar-container{margin:36px 0}
.lp-labels{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10px;color:var(--ink-2);margin-bottom:6px}
.lp-bar{height:24px;background:var(--bg-3);border:1px solid var(--line-2);position:relative;overflow:visible}
.lp-bar-fill{height:100%;background:linear-gradient(90deg, var(--rust-deep), var(--rust-3), var(--rust-2));transition:width 1.5s ease-out;width:0%}
.lp-bar-marker{position:absolute;top:-6px;transform:translateX(-50%);transition:left 1.5s ease-out}
.lp-marker-tag{font-family:var(--mono);font-size:8px;color:var(--rust-3);white-space:nowrap;display:block;text-align:center;margin-bottom:2px}
.lp-bar-grid{display:flex;justify-content:space-between;font-family:var(--mono);font-size:9px;color:var(--ink-3);margin-top:4px}
.lp-narrative{margin-top:32px}
.lp-line{opacity:0;transform:translateY(10px);transition:opacity .8s, transform .8s;font-family:var(--cn);font-size:14px;color:var(--ink-1);margin-bottom:10px;line-height:1.65}
.lp-line.show{opacity:1;transform:translateY(0)}
.lp-highlight{color:var(--rust-3);font-family:var(--mono);font-weight:600}
.lp-heartbeat{display:flex;align-items:center;gap:10px;margin-top:24px;font-size:13px;color:var(--ink-1)}
.lp-hb-dot{width:8px;height:8px;border-radius:50%;background:var(--green);animation:pulse 2.4s ease-in-out infinite}

/* ── Step 06: 角色卡 ── */
.char-card-preview{max-width:480px;margin:0 auto;border:2px solid var(--rust-3);background:var(--bg-1);padding:24px;font-family:var(--cn)}
.char-card-preview .head{display:flex;justify-content:space-between;font-family:var(--mono);font-size:10px;color:var(--ink-2);margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.char-card-preview .head .uid{color:var(--rust-3);letter-spacing:.06em}
.char-card-preview .body{display:flex;gap:20px;align-items:start}
.char-card-preview .avatar svg{width:80px;height:100px;color:var(--ink-1)}
.char-card-preview .info{flex:1;display:flex;flex-direction:column;gap:8px}
.char-card-preview .info .k{font-family:var(--mono);font-size:9px;color:var(--ink-2);text-transform:uppercase;letter-spacing:.08em}
.char-card-preview .info .v{font-size:14px;color:var(--ink-0);font-weight:600}
.char-card-preview .info .v.rust{color:var(--rust-3)}
.char-card-preview .info .v.sealed{color:var(--amber)}
.char-export-row{display:flex;justify-content:center;gap:12px;margin-top:28px;flex-wrap:wrap}
.char-card-preview .card-radar{margin-top:20px;text-align:center}
.char-card-preview .cr-label{font-family:var(--mono);font-size:9px;color:var(--ink-2);margin-bottom:6px}

/* ── 个人主页 v3 ── */
.profile-page-v3[hidden]{display:none}
.ppv3-backdrop{position:fixed;inset:0;pointer-events:none;z-index:0}
.ppv3-bg-image{position:absolute;inset:0;background:radial-gradient(ellipse 80% 50% at 10% 20%, rgba(90,155,106,.06), transparent 60%), radial-gradient(ellipse 60% 40% at 90% 60%, rgba(155,58,43,.08), transparent 50%)}
.ppv3-bg-vignette{position:absolute;inset:0;background:radial-gradient(ellipse 50% 60% at 50% 30%, transparent 40%, rgba(8,8,10,.7))}
.ppv3-bg-grid{position:absolute;inset:0;background-image:linear-gradient(to right, rgba(232,230,225,.015) 1px, transparent 1px),linear-gradient(to bottom, rgba(232,230,225,.015) 1px, transparent 1px);background-size:64px 64px}
.ppv3-inner{position:relative;z-index:2;max-width:1200px;margin:0 auto;padding:0 var(--pad-x)}
.ppv3-herobar{border:1px solid var(--line-2);background:rgba(0,0,0,.4);padding:clamp(24px,3vw,40px);margin-bottom:20px}
.ppv3-hb-top{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:flex-start}
.ppv3-hb-id{display:flex;gap:18px;align-items:center}
.ppv3-avatar-wrap{position:relative;flex-shrink:0}
.ppv3-av-ring{position:absolute;inset:-4px;border:2px solid var(--rust-3);border-radius:50%;opacity:.5}
.ppv3-avatar{width:64px;height:64px;border-radius:50%;border:2px solid var(--line-2);display:grid;place-items:center;font-family:var(--cn);font-size:24px;font-weight:700;color:var(--ink-0);background:var(--bg-2);overflow:hidden;background-size:cover}
.ppv3-avatar.has-avatar-img{color:transparent}
.ppv3-online-dot{position:absolute;bottom:2px;right:2px;width:10px;height:10px;border-radius:50%;background:var(--green);border:2px solid var(--bg-0)}
.ppv3-name{font-family:var(--cn);font-size:20px;font-weight:700;color:var(--ink-0);display:flex;align-items:center;gap:8px}
.ppv3-nick-edit{font-size:14px;color:var(--ink-2);cursor:pointer;opacity:.6;transition:opacity .2s}
.ppv3-nick-edit:hover{opacity:1;color:var(--rust-3)}
.ppv3-uid{font-family:var(--mono);font-size:12px;color:var(--rust-3);margin-top:4px;letter-spacing:.06em}
.ppv3-meta-row{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--ink-1);margin-top:4px}
.ppv3-tag{padding:2px 8px;border:1px solid var(--line-2);font-size:11px}
.ppv3-meta-dot{color:var(--ink-3)}
.ppv3-hb-stats{display:flex;gap:24px;flex-wrap:wrap}
.ppv3-hb-stats article{text-align:right}
.ppv3-hb-stats .num{font-family:var(--mono);font-size:18px;color:var(--ink-0);display:block}
.ppv3-hb-stats em{font-family:var(--cn);font-size:11px;color:var(--ink-2);font-style:normal;display:block;margin-top:2px}
.ppv3-bloodbar-wrap{margin-top:24px}
.ppv3-bloodbar{height:12px;background:var(--bg-3);border:1px solid var(--line-2);position:relative;overflow:hidden}
.ppv3-bloodbar span{display:block;height:100%;background:linear-gradient(90deg, var(--rev-deep), var(--rev), #fff 92%, transparent);transition:width .8s}
.ppv3-bloodbar-meta{display:flex;justify-content:space-between;font-family:var(--mono);font-size:11px;color:var(--ink-2);margin-top:4px}
.ppv3-row-char{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px}
.ppv3-card{border:1px solid var(--line-2);background:rgba(0,0,0,.4);padding:24px}
.ppv3-card header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;font-family:var(--mono);font-size:11px;color:var(--ink-1);letter-spacing:.06em;padding-bottom:12px;border-bottom:1px solid var(--line)}
.ppv3-card header .dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green);margin-right:8px;vertical-align:middle}
.ppv3-card .more{font-size:10px;color:var(--ink-2);transition:color .2s}
.ppv3-card .more:hover{color:var(--ink-0)}
.ppv3-cc-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.ppv3-cc-row{margin-bottom:12px}
.ppv3-cc-row .k{font-family:var(--mono);font-size:10px;color:var(--ink-2);text-transform:uppercase;letter-spacing:.06em;display:block;margin-bottom:2px}
.ppv3-cc-row strong{font-size:14px;color:var(--ink-0)}
.ppv3-stats-bars{margin-top:18px}
.ppsb{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.ppsb-lab{font-family:var(--mono);font-size:10px;color:var(--ink-2);width:32px}
.ppsb-bar{flex:1;height:6px;background:var(--bg-3);overflow:hidden}
.ppsb-bar span{display:block;height:100%;background:var(--rust-3);transition:width .5s}
.ppsb strong{font-family:var(--mono);font-size:12px;color:var(--ink-1);width:28px;text-align:right}
.ppv3-cc-radar svg{width:100%;max-width:200px;display:block;margin:0 auto}
.ppv3-radar-area{fill:rgba(201,90,68,.18);stroke:var(--rust-3);stroke-width:1.4}
.ppv3-cc-foot{display:flex;justify-content:space-between;margin-top:18px;padding-top:12px;border-top:1px solid var(--line);font-size:10px;color:var(--ink-3)}
.ppv3-feed-tabs{display:flex;gap:6px;margin-bottom:14px}
.ppv3-feed-tabs button{padding:6px 14px;border:1px solid var(--line-2);font-family:var(--mono);font-size:11px;color:var(--ink-2);background:transparent;cursor:pointer;transition:all .2s}
.ppv3-feed-tabs button:hover,.ppv3-feed-tabs button.on{border-color:var(--ink-0);color:var(--ink-0)}
.ppv3-feed-tabs button em{font-family:var(--mono);font-size:10px;color:var(--rust-3);margin-left:4px;font-style:normal}
.ppv3-feed{font-size:13px;color:var(--ink-1)}
.profile-empty{padding:24px;text-align:center;color:var(--ink-2);line-height:1.7}
.profile-empty strong{display:block;font-size:15px;color:var(--ink-1);margin-bottom:6px}
.profile-home-item{display:block;padding:10px 0;border-bottom:1px solid var(--line);transition:all .2s;color:inherit;text-decoration:none}
.profile-home-item span{display:block;font-family:var(--mono);font-size:9px;color:var(--ink-2);letter-spacing:.06em;margin-bottom:2px}
.profile-home-item strong{display:block;font-size:14px;color:var(--ink-0);margin-bottom:2px}
.profile-home-item em{display:block;font-size:11px;color:var(--ink-2);font-style:normal}
.profile-home-item:hover{background:rgba(255,255,255,.02)}
.ppv3-backpack{margin-bottom:20px;border:1px solid var(--line-2);background:rgba(0,0,0,.4);padding:24px}
.ppv3-backpack header{font-family:var(--mono);font-size:11px;color:var(--ink-1);letter-spacing:.06em;margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.ppv3-backpack-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.ppv3-slot{padding-top:80%;border:1px dashed var(--line-2);background:rgba(0,0,0,.2);position:relative}
.ppv3-quicklinks{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-bottom:30px}
.ppv3-ql{display:flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid var(--line-2);font-family:var(--mono);font-size:11px;color:var(--ink-1);text-decoration:none;transition:all .2s}
.ppv3-ql:hover{border-color:var(--ink-0);color:var(--ink-0)}
.ppv3-ql.highlight{border-color:var(--rust-3);color:var(--rust-3)}
.ppv3-death-bar{display:flex;justify-content:space-between;align-items:center;padding:14px 20px;border:1px solid var(--line-2);background:rgba(0,0,0,.3);color:var(--ink-1);text-decoration:none;margin-bottom:30px;transition:all .2s}
.ppv3-death-bar:hover{border-color:var(--rust-3);color:var(--ink-0)}
.ppv3-death-bar .arr{width:12px;height:1px;background:currentColor;position:relative}
.ppv3-death-bar .arr::after,.ppv3-death-bar .arr::before{content:"";position:absolute;right:0;width:5px;height:1px;background:currentColor}
.ppv3-death-bar .arr::before{top:-2px;transform:rotate(35deg);transform-origin:right}
.ppv3-death-bar .arr::after{top:2px;transform:rotate(-35deg);transform-origin:right}
.stat-toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:14px 28px;background:var(--bg-2);border:1px solid var(--rust-3);font-family:var(--cn);font-size:14px;color:var(--ink-0);z-index:200;opacity:0;transition:opacity .4s;pointer-events:none;text-align:center}
.stat-toast.show{opacity:1}
.stat-toast.amber{border-color:var(--amber);color:var(--amber)}

@media (max-width:860px){
  .stats-row{grid-template-columns:1fr}
  .ppv3-row-char{grid-template-columns:1fr}
  .ppv3-cc-grid{grid-template-columns:1fr}
  .ppv3-hb-stats{justify-content:flex-start}
  .ppv3-hb-stats article{text-align:left}
}
@media (max-width:640px){
  .step-dot{font-size:8px;min-width:50px;padding:6px 8px}
  .step-dot .step-index{font-size:11px}
  .bf-date,.bf-region{grid-template-columns:1fr}
  .ppv3-backpack-grid{grid-template-columns:repeat(3,1fr)}
}
