



.login-wrap{ max-width:420px; margin:1.2rem auto 0; }
.login-wrap .brand{ text-align:center; margin:.6rem 0 1.2rem; }
.login-wrap .brand b{ display:block; font-size:1.5rem; letter-spacing:.18em; color:var(--text-bright); }
.login-wrap .brand .brand-ver{ display:inline-block; margin-top:.45rem; font-size:.7rem; }
.login-wrap form{ margin-top:.4rem; }
.login-wrap .links{ display:flex; gap:.6rem; margin-top:.8rem; }
.login-wrap .links > *{ flex:1; }

.login-wrap .tagline{ font-size:.9rem; font-weight:500; text-align:center; color:var(--text-main); margin:-.6rem 0 1rem; line-height:1.5; }
.login-wrap .intro{ margin-top:1rem; }
.login-wrap .intro > p:first-child{ color:var(--text-main); line-height:1.6; margin-bottom:.6rem; }

.intro-head{ font-size:1.05rem; font-weight:800; color:var(--text-bright); text-align:center; line-height:1.4; margin:.2rem 0 .7rem; }
.intro-grid{ list-style:none; padding:0; margin:0 0 .9rem; display:grid; grid-template-columns:1fr 1fr; gap:.5rem; }
.intro-grid li{ display:flex; flex-direction:column; gap:.15rem; padding:.55rem .6rem; border:1px solid var(--glass-border); border-radius:10px; background:rgba(255,255,255,.03); font-size:.78rem; line-height:1.45; color:var(--text-main); }
.intro-grid .ic{ font-size:1.2rem; line-height:1; }
.intro-grid b{ color:var(--a1); font-size:.82rem; letter-spacing:.04em; }
.intro-links{ display:flex; gap:.5rem; margin-top:.9rem; }
.intro-links .btn{ flex:1; padding-left:.4rem; padding-right:.4rem; font-size:.8rem; text-decoration:none; }
.intro-stats{ text-align:center; font-size:.78rem; color:var(--text-dim); margin-top:.8rem; min-height:1.2em; }
.intro-stats b{ color:var(--text-main); font-family:var(--font-num); font-variant-numeric:tabular-nums; }
.login-wrap .intro .note{ margin-top:.5rem; text-align:center; }

.login-wrap .counters{ text-align:center; font-size:.7rem; color:var(--text-dim); letter-spacing:.06em; white-space:nowrap; font-family:var(--font-num); margin:1.2rem 0 .6rem; }
.login-wrap .counters b{ color:var(--text-main); font-weight:600; margin-left:.25em; font-variant-numeric:tabular-nums; }
.login-wrap .counters span{ margin-left:1em; }


.wiz-dots{ display:flex; justify-content:center; gap:.45rem; margin:.4rem 0 .8rem; }
.wiz-dots i{ width:8px; height:8px; border-radius:50%; background:rgba(var(--a1-rgb),.22); }
.wiz-dots i.on{ background:var(--a1); box-shadow:0 0 6px rgba(var(--a1-rgb),.6); }
.wiz-dots i.done{ background:rgba(var(--a1-rgb),.55); }
.wiz-slide{ animation:wiz-in .22s ease-out; }
@keyframes wiz-in{ from{ opacity:0; transform:translateX(12px); } to{ opacity:1; transform:none; } }
.wiz-hero{ font-size:1.15rem; color:var(--text-bright); margin-bottom:.4rem; }
.wiz-q{ font-size:1rem; font-weight:700; color:var(--text-bright); margin-bottom:.3rem; }
.wiz-slide .note{ margin-bottom:.7rem; }
.wiz-nav{ display:flex; align-items:center; gap:.6rem; margin-top:.9rem; }
.wiz-nav .sp{ flex:1; }
.wiz-nav .btn-primary{ min-width:9em; min-height:44px; }
.wiz-pick{ display:flex; justify-content:center; gap:.6rem; margin:.6rem 0; }
.wiz-pick button,.wiz-grid button{ padding:6px; line-height:0; background:rgba(0,0,0,.18); border:2px solid transparent; border-radius:10px; cursor:pointer; }
.wiz-pick img,.wiz-grid img,.wiz-sum img{ object-fit:contain; }
.wiz-pick button.on,.wiz-grid button.on{ border-color:var(--a1); background:rgba(var(--a1-rgb),.14); box-shadow:0 0 8px rgba(var(--a1-rgb),.35); }
.wiz-roll{ display:flex; justify-content:center; gap:.6rem; }
.wiz-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(64px,1fr)); gap:.35rem; margin-top:.7rem; max-height:300px; overflow-y:auto; }

.img-now{ display:flex; align-items:center; gap:.8rem; margin:.3rem 0 .6rem; }
.img-now img{ object-fit:contain; background:rgba(0,0,0,.18); border-radius:10px; padding:4px; }
.sheet .wiz-grid{ max-height:60vh; margin-top:.3rem; }
.wiz-uid{ font-size:1.05rem; letter-spacing:.08em; color:var(--gold); }
.wiz-gauge{ display:flex; gap:4px; margin:.15rem 0 .3rem; }
.wiz-gauge i{ flex:1; height:6px; border-radius:3px; background:rgba(255,255,255,.12); transition:background .2s; }
.wiz-gauge i.f0{ background:var(--danger); }
.wiz-gauge i.f1{ background:#ff9d4d; }
.wiz-gauge i.f2{ background:#ffd75e; }
.wiz-gauge i.f3{ background:#7ddb7d; }
.wiz-gauge i.f4{ background:var(--gold); box-shadow:0 0 6px rgba(var(--gold-rgb),.5); }
.wiz-grade{ display:flex; align-items:baseline; gap:.45em; font-size:.86rem; min-height:1.4em; margin-bottom:.4rem; }
.wiz-grade__ic{ font-size:1rem; }
.wiz-grade .g0{ color:var(--text-dim); } .wiz-grade .g1{ color:#ff9d4d; } .wiz-grade .g2{ color:#ffd75e; }
.wiz-grade .g3{ color:#7ddb7d; } .wiz-grade .g4{ color:var(--gold); font-weight:700; }
.wiz-grade__t{ color:var(--text-dim); font-size:.78rem; }
.wiz-idbox{ padding:.7rem .8rem; margin-bottom:.8rem; border:1px solid rgba(var(--gold-rgb),.4); border-radius:10px; background:rgba(var(--gold-rgb),.06); }
.wiz-id{ font-size:1.05rem; margin-bottom:.35rem; }
.wiz-id b{ color:var(--gold); letter-spacing:.08em; font-size:1.2rem; }
.wiz-copy{ margin-left:.7em; font-size:.78rem; padding:.25rem .6rem; min-height:0; }
.wiz-sum{ display:flex; align-items:center; gap:.8rem; margin-bottom:.6rem; }
.wiz-sum img{ border-radius:10px; background:rgba(0,0,0,.18); padding:4px; }
.wiz-sumname{ font-size:1.15rem; font-weight:700; color:var(--text-bright); margin-bottom:.2rem; }
.wiz-fix{ text-align:center; margin:.4rem 0; }
#wizDone .wiz-q{ text-align:center; font-size:1.1rem; margin-bottom:.7rem; }
#wizDone .btn-primary.wide{ margin-top:.8rem; }



.card.wait{ display:flex; align-items:center; gap:.7rem; margin-bottom:.6rem; border-color:rgba(var(--a3-rgb),.35); background:linear-gradient(90deg, rgba(var(--a3-rgb),.12), rgba(var(--a3-rgb),.04)); }
.card.wait[hidden]{ display:none; }
.wait__ic{ font-size:1.4rem; }
.wait__txt{ flex:1; font-size:.86rem; color:var(--text-main); }
.wait__sec b{ font-size:1.9rem; font-weight:800; line-height:1; color:var(--a3); text-shadow:0 0 10px rgba(var(--a3-rgb),.45); }
.wait__sec small{ margin-left:.2em; font-size:.8rem; color:var(--text-dim); }
.places{ display:grid; grid-template-columns:1fr; gap:0; }
.places > .rowitem:last-child{ border-bottom:none; }
.tactic{ display:flex; align-items:center; gap:.6rem; }
.tactic .cur{ flex:1; min-width:0; }
.tactic .cur b{ display:block; }
.tactic .cur small{ color:var(--text-dim); }
.event{ border-color:rgba(var(--gold-rgb),.35); }
.event .when{ font-size:.74rem; color:var(--text-dim); }
@media (min-width:760px){ .places{ grid-template-columns:1fr 1fr; column-gap:1.2rem; } .places > .rowitem:nth-last-child(2):nth-child(odd){ border-bottom:none; } }


.bt-enc{ display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:.9rem; align-items:center; }
.bt-enc__mid{ font-size:.9rem; font-weight:800; color:var(--a2); letter-spacing:.12em; }
.bt-side{ min-width:0; }
.bt-side__name{ font-size:.88rem; font-weight:800; color:var(--text-bright); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.bt-side__sub{ font-size:.6rem; color:var(--text-dim); letter-spacing:.06em; }
.bt-side__hp{ font-family:var(--font-num); font-size:.72rem; color:var(--text-dim); margin:.2rem 0 .18rem; overflow-wrap:anywhere; }
.bt-side__hp b{ color:var(--text-bright); font-weight:700; }
.bt-hp{ position:relative; height:9px; border-radius:100px; overflow:hidden; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.10); }
.bt-hp > i{ display:block; height:100%; width:var(--fill,0%); border-radius:inherit; background:linear-gradient(90deg,#00aaff,#7fdcff); transition:width .4s ease; }
.bt-hp--en > i{ background:linear-gradient(90deg,#ff6666,#ffb199); }
.bt-hp--warn > i{ background:linear-gradient(90deg,#ffb347,#ffe08a); }
.bt-hp--crit > i{ background:linear-gradient(90deg,#ff4d5e,#ff9aa4); }
.bt-turn{ margin-bottom:.55rem; padding:0; overflow:hidden; }
.bt-turn + .bt-turn{ margin-top:0; }
.bt-turn__no{ font-size:.72rem; letter-spacing:.12em; color:var(--text-dim); text-align:center; padding:.3rem 0 .25rem;
  background:rgba(255,255,255,.03); border-bottom:1px solid var(--glass-border); }
.bt-turn__no b{ font-family:var(--font-num); color:var(--a1-soft); font-size:1.25rem; font-weight:800; letter-spacing:.02em; margin-right:.15em; vertical-align:-.02em; }
.bt-turn__hp{ display:grid; grid-template-columns:1fr auto 1fr; gap:.7rem; align-items:center; padding:.5rem .7rem; border-bottom:1px dashed rgba(255,255,255,.08); }
.bt-turn__vs{ font-size:.6rem; font-weight:800; color:var(--text-dim); letter-spacing:.1em; }
.bt-acts{ padding:.35rem .7rem .5rem; }
.bt-act{ display:flex; gap:.7rem; padding:.35rem 0; }
.bt-act + .bt-act{ border-top:1px dashed rgba(255,255,255,.07); }
.bt-act__who{ flex:0 0 5.2em; font-size:.66rem; color:var(--a1-soft); padding-top:.15rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.bt-act--en .bt-act__who{ color:#e0a08a; }
.bt-act__txt{ flex:1; min-width:0; font-size:.8rem; overflow-wrap:anywhere; }
.bt-dmg{ font-family:var(--font-num); font-weight:800; font-size:1.05rem; color:var(--gold); }
.bt-act--en .bt-dmg{ color:var(--red); }
.bt-flavor{ display:block; font-size:.72rem; color:var(--a2); margin-top:.15rem; }
.bt-miss{ color:var(--text-dim); }
.bt-skill{ display:block; margin-top:.2rem; font-size:.95rem; font-weight:800; letter-spacing:.02em; color:#ffae4d; text-shadow:0 0 14px rgba(255,140,60,.40); }
.bt-note{ display:block; font-size:.7rem; color:var(--text-dim); margin-top:.15rem; }
.bt-rate{ list-style:none; margin:0; padding:0; }
.bt-rate li{ display:flex; align-items:center; gap:.9rem; padding:.4rem .2rem; }
.bt-rate li + li{ border-top:1px dashed rgba(255,255,255,.09); }
.bt-rate__v{ flex:0 0 6em; font-family:var(--font-num); font-size:.92rem; font-weight:800; color:var(--text-bright); white-space:nowrap; }
.bt-rate__v b{ font-size:.72rem; color:var(--green); margin-left:.15em; }
.bt-rate__bar{ flex:1; height:6px; border-radius:100px; overflow:hidden; background:rgba(255,255,255,.06); }
.bt-rate__bar > i{ display:block; height:100%; width:var(--fill,0%); border-radius:inherit; background:linear-gradient(90deg,#00aaff,#7fdcff); }
.bt-result{ border-color:rgba(var(--gold-rgb),.45); box-shadow:0 0 0 1px rgba(var(--gold-rgb),.10), 0 18px 50px rgba(0,0,0,.55); }
.bt-result.lose{ border-color:rgba(var(--danger-rgb),.45); box-shadow:0 0 0 1px rgba(var(--danger-rgb),.10), 0 18px 50px rgba(0,0,0,.55); }
.bt-banner{ text-align:center; padding:.2rem 0 1rem; position:relative; }
.bt-banner::after{ content:''; position:absolute; left:12%; right:12%; bottom:.35rem; height:1px;
  background:linear-gradient(90deg,transparent,rgba(var(--gold-rgb),.6),transparent); }
.bt-banner__word{ display:block; font-family:var(--font-disp); font-size:2.1rem; font-weight:800; letter-spacing:.22em; text-indent:.22em; line-height:1.1; }
.bt-banner__word.lose{ color:var(--danger-soft); }
.bt-banner__word.dim{ color:var(--text-dim); }
.bt-banner__jp{ display:block; margin-top:.15rem; font-size:.8rem; color:var(--text-main); }
.bt-gain{ list-style:none; margin:0 0 .2rem; padding:0; }
.bt-gain li{ display:flex; align-items:baseline; gap:.9rem; padding:.4rem .2rem; }
.bt-gain li + li{ border-top:1px dashed rgba(255,255,255,.09); }
.bt-gain__lab{ flex:0 0 6.5em; font-size:.72rem; color:var(--text-dim); white-space:nowrap; }
.bt-gain__val{ font-family:var(--font-num); font-size:1.15rem; font-weight:800; color:var(--gold); white-space:nowrap; }
.bt-gain__val small{ font-size:.7rem; font-weight:700; margin-left:.15em; }
.bt-gain__val--drop{ color:var(--a3); }
.bt-gain__val--note{ color:var(--text-main); font-size:.86rem; font-weight:400; white-space:normal; font-family:var(--font-disp); }
.bt-lv{ margin-top:.7rem; padding-top:.7rem; border-top:1px solid rgba(var(--gold-rgb),.30); }
.bt-lv__hd{ font-size:.68rem; font-weight:800; letter-spacing:.12em; color:var(--gold); margin-bottom:.1rem; }
.bt-lv__top{ display:flex; align-items:baseline; flex-wrap:wrap; gap:.15rem .7rem; }
.bt-lv__lv{ font-family:var(--font-num); font-size:1rem; font-weight:800; color:var(--text-bright); white-space:nowrap; }
.bt-lv__lv i{ font-style:normal; color:var(--text-dim); margin:0 .3em; }
.bt-lv__lv em{ font-style:normal; font-size:.68rem; font-weight:700; color:var(--text-dim); margin-right:.35em; letter-spacing:.06em; }
.bt-ups{ list-style:none; margin:.5rem 0 .1rem; padding:0; display:flex; flex-wrap:wrap; gap:.34rem; }
.bt-up{ display:inline-flex; align-items:baseline; gap:.35em; padding:.2rem .66rem; border-radius:99px; white-space:nowrap; font-size:.7rem; color:var(--text-main);
  background:linear-gradient(180deg,rgba(var(--green-rgb),.22),rgba(var(--green-rgb),.06)); border:1px solid rgba(var(--green-rgb),.45);
  box-shadow:0 0 12px rgba(var(--green-rgb),.20), inset 0 1px 0 rgba(255,255,255,.10); animation:bt-pop .32s ease-out both; }
.bt-up b{ font-family:var(--font-num); font-size:.88rem; font-weight:800; color:var(--green); text-shadow:0 0 9px rgba(var(--green-rgb),.60); }
@keyframes bt-pop{ from{ opacity:0; transform:translateY(4px) scale(.94); } to{ opacity:1; transform:none; } }
@media (prefers-reduced-motion:reduce){ .bt-up{ animation:none } }
.bt-result__foot{ margin-top:.9rem; display:flex; flex-wrap:wrap; gap:.4rem .8rem; justify-content:center; font-size:.68rem; color:var(--text-dim); }
.bt-log{ max-height:60vh; overflow-y:auto; padding-right:.2rem; }
@media (max-width:480px){ .bt-enc, .bt-turn__hp{ gap:.5rem; } .bt-act__who{ flex-basis:4.2em; } .bt-banner__word{ font-size:1.7rem; } }
@media (min-width:760px){ .panel{ padding:1.3rem 1.4rem; } .bt-log{ max-height:none; } }


.eq{ display:flex; flex-wrap:wrap; align-items:center; gap:.4rem .6rem; padding:.5rem .7rem; border-radius:10px;
  background:rgba(var(--gold-rgb),.06); border:1px solid rgba(var(--gold-rgb),.25); margin-bottom:.6rem; }
.eq .lab{ font-size:.66rem; color:var(--gold); letter-spacing:.15em; white-space:nowrap; }
.eq .grow{ flex:1; min-width:0; }
.eq .grow small{ color:var(--text-dim); }
.eq .btn-danger,.eq .btn,.eq .btn-primary{ white-space:nowrap; margin-left:auto; }
.goods{ display:flex; flex-direction:column; gap:0; }
.item{ display:grid; grid-template-columns:1fr auto auto; gap:.2rem .8rem; align-items:center; position:relative;
  padding:.6rem .5rem; cursor:pointer; }

.item::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:1px; pointer-events:none;
  background:linear-gradient(90deg, transparent 0%, rgba(255,255,255,.18) 18%, rgba(255,255,255,.18) 82%, transparent 100%); }
.goods > .item:last-child::after{ display:none; }

.item::before{ content:"›"; grid-column:3; grid-row:1 / span 2; font-size:1.3rem; line-height:1; color:var(--text-dim); opacity:.55; }
.item:hover{ background:rgba(255,255,255,.04); }
.item:hover::before{ opacity:.9; }
.item:active{ background:rgba(255,255,255,.08); }

.item.on{ background:linear-gradient(90deg, rgba(var(--gold-rgb),.22), rgba(var(--gold-rgb),.08) 60%, rgba(var(--gold-rgb),.04));
  box-shadow:inset 4px 0 0 var(--gold), inset 0 0 0 1px rgba(var(--gold-rgb),.35); border-radius:6px; }
.item.on .nm,.item.on .pr{ color:var(--gold); }
.item.on::before{ content:"✓"; font-size:1.1rem; font-weight:800; color:var(--gold); opacity:1; }
.item.on::after{ display:none; }
.item .nm{ grid-column:1; color:var(--text-bright); font-weight:700; }
.item .sp{ grid-column:1; font-size:.74rem; color:var(--text-dim); }
.item .pr{ grid-column:2; grid-row:1 / span 2; text-align:right; font-weight:700; white-space:nowrap; }
.item .pr small{ display:block; font-weight:400; font-size:.68rem; color:var(--text-dim); }
.item.poor{ cursor:not-allowed; }
.item.poor .pr{ color:#7b8799; }
.item.poor .nm{ color:var(--text-main); }

.item.tac{ grid-template-columns:1fr auto; }
.item.tac .pr{ display:none; }
.item.tac .sp{ min-height:calc(.74rem * 1.45 * 2); line-height:1.45; }
.item.tac::before{ grid-column:2; }

.item.sk{ grid-template-columns:1fr auto auto auto; }
.item.sk::before{ grid-column:4; }
.item.sk .go{ grid-column:3; grid-row:1 / span 2; min-height:36px; }
.item.sk .pr:empty{ display:none; }
.item.sk .pr small{ display:block; font-size:.62rem; letter-spacing:.1em; }
.diff.up{ color:var(--green); } .diff.down{ color:var(--danger-soft); }
.kinds{ margin:.2rem 0 .6rem; }



.talk{ display:flex; gap:.9rem; align-items:flex-start; }
.talk-face{ width:64px; height:78px; flex:none; border-radius:12px; display:grid; place-items:center; text-align:center;
  background:rgba(255,255,255,.05); border:1px solid var(--glass-border); color:var(--text-dim); font-size:.55rem; font-weight:700; letter-spacing:.1em; line-height:1.3; }
.talk-b{ flex:1; min-width:0; }
.talk-who{ font-size:.7rem; font-weight:700; color:var(--a1-soft); letter-spacing:.08em; }
.talk-txt{ font-size:.86rem; margin-top:.15rem; }
.talk-txt b,.talk-line b{ color:var(--text-bright); }
.talk-line{ font-size:.86rem; color:var(--text-main); margin-bottom:.6rem; }

.bs-eqrow{ display:flex; gap:.6rem; }
.bs-eq{ flex:1; min-width:0; display:block; text-align:left; font:inherit; color:inherit; cursor:pointer; border-radius:12px; padding:.55rem .7rem;
  background:rgba(var(--gold-rgb),.08); border:1px solid rgba(var(--gold-rgb),.4); transition:border-color .2s ease, background .2s ease, box-shadow .2s ease; }
.bs-eq:hover{ border-color:var(--gold); background:rgba(var(--gold-rgb),.15); }
.bs-eq.on{ border-color:var(--gold); background:linear-gradient(90deg, rgba(var(--gold-rgb),.24), rgba(var(--gold-rgb),.1)); box-shadow:0 0 0 1px rgba(var(--gold-rgb),.35), 0 0 14px rgba(var(--gold-rgb),.25); }
.bs-eq.off{ opacity:.45; cursor:default; background:rgba(255,255,255,.04); border-color:var(--glass-border); }
.bs-eq-nm{ font-weight:800; font-size:.95rem; margin:0; color:var(--gold); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.bs-eq.off .bs-eq-nm{ color:var(--text-main); }
.bs-eq-nm .pw{ font-weight:700; font-size:.82em; margin-left:.4em; color:var(--a1-soft); }
.bs-eq-cost{ display:block; font-size:.72rem; color:var(--text-dim); margin-top:.1rem; }
.bs-eq-cost b{ color:var(--gold); font-weight:700; }
.bs-eq.max .bs-eq-cost{ color:var(--gold); font-weight:700; }
.bs-note{ margin-top:.5rem; }

.item.ore .pr small{ font-size:.62rem; letter-spacing:.1em; }

.bs-kv{ display:flex; flex-wrap:wrap; gap:.4rem; margin:.4rem 0 .6rem; }

.bs-res{ text-align:center; padding:.4rem 0 .2rem; }
.bs-res-pw{ display:flex; align-items:baseline; justify-content:center; gap:.5rem; flex-wrap:wrap; margin:.4rem 0 .6rem; }
.bs-res-pw .stat{ font-size:.85rem; font-weight:700; color:var(--a1-soft); }
.bs-res-pw .before{ color:var(--text-dim); font-weight:700; }
.bs-res-pw .arrow{ color:var(--text-dim); }
.bs-res-pw .after{ font-size:1.7rem; font-weight:800; color:var(--gold); }
.bs-res-pw .mult{ font-size:.85rem; color:var(--text-dim); }
.bs-res .bs-kv{ justify-content:center; }
.bs-crit{ display:inline-block; margin-left:.3em; padding:.1em .5em; border-radius:.5em; font-size:.72rem; font-weight:800; letter-spacing:.1em; vertical-align:middle;
  background:rgba(255,120,80,.18); color:#ff9d7a; }

.bs-recent{ margin-top:.6rem; text-align:left; }
.bs-recent table.list td{ padding:.3rem .5rem; }
.bs-recent .num{ width:2.4em; color:var(--text-dim); }
.bs-recent tr.bs-hit-new td{ background:rgba(255,207,112,.14); color:var(--gold); font-weight:800; }
.bs-recent tr.bs-hit-new td:first-child{ box-shadow:inset 3px 0 0 var(--gold); }
.bs-more{ text-align:center; margin-bottom:.35rem; }
.bs-more .btn{ border-radius:50%; width:2.2rem; height:2.2rem; padding:0; }
.bs-max{ margin:.3rem 0 .5rem; font-size:.9rem; font-weight:800; color:var(--gold); letter-spacing:.05em; }

.bs-glow{ animation:bs-glow 1.1s ease-out .15s 2; }
@keyframes bs-glow{ 0%,100%{ text-shadow:none; } 40%{ text-shadow:0 0 16px rgba(255,207,112,.95), 0 0 42px rgba(255,170,60,.55); } }
.sheet-veil.open .sheet.bs-shake{ animation:sheet-up .2s ease-out, bs-shake .45s ease-out .2s; }
@keyframes bs-shake{ 0%,100%{ transform:translate(0,0); } 20%{ transform:translate(-8px,4px); } 40%{ transform:translate(7px,-5px); } 60%{ transform:translate(-4px,2px); } 80%{ transform:translate(3px,-1px); } }
.bs-flash{ position:fixed; inset:0; z-index:70; pointer-events:none;
  background:radial-gradient(circle at 50% 42%, rgba(255,240,190,.9), rgba(255,207,112,.3) 42%, transparent 72%); animation:bs-flash .65s ease-out forwards; }
@keyframes bs-flash{ 0%{ opacity:0; } 12%{ opacity:1; } 100%{ opacity:0; } }
@media (prefers-reduced-motion:reduce){ .bs-glow,.bs-shake,.bs-flash{ animation:none; } }
@media (max-width:480px){ .bs-eqrow{ flex-direction:column; } .talk-face{ width:52px; height:64px; } }



.who-band{ display:flex; align-items:center; gap:.5rem; margin-bottom:.45rem; padding:.3rem .6rem; font-size:.82rem;
  border:1px solid var(--glass-border); border-radius:10px; background:rgba(2,6,14,.4); }
.who-band__n{ flex:none; color:var(--text-dim); font-size:.74rem; white-space:nowrap; }
.who-band__list{ flex:1; min-width:0; overflow-x:auto; white-space:nowrap; scrollbar-width:none; -webkit-overflow-scrolling:touch;
  -webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 1.4rem),transparent); mask-image:linear-gradient(90deg,#000 calc(100% - 1.4rem),transparent); padding-right:1.4rem; }
.who-band__list::-webkit-scrollbar{ display:none; }
.who-band__i{ display:inline-block; color:var(--a3); text-decoration:none; margin-right:.75rem; }
.who-band__i.me{ font-weight:700; }
.who-band__i.test{ color:var(--text-dim); }

.who-band__i.p-chat, .who-list__i.p-chat{ color:var(--green); }
.who-band__i.p-adventure, .who-list__i.p-adventure{ color:var(--red); }
.who-band__i.p-town, .who-list__i.p-town{ color:#ffb347; }
.who-band__i.flash, .who-list__i.flash{ animation:who-flash .7s ease-out; }
@keyframes who-flash{ 0%{ filter:brightness(2.2); text-shadow:0 0 10px currentColor, 0 0 18px currentColor; } 100%{ filter:brightness(1); text-shadow:none; } }

.who-band__i .typing{ display:inline-block; width:1rem; margin-left:.15rem; text-align:left; visibility:hidden; vertical-align:baseline; line-height:1; }
.who-band__i .typing.on{ visibility:visible; }
.who-band__i .typing i{ display:inline-block; width:3px; height:3px; margin-right:2px; border-radius:50%; background:currentColor; opacity:.3;
  animation:who-typing 1.2s ease-in-out infinite; }
.who-band__i .typing i:nth-child(2){ animation-delay:.2s; }
.who-band__i .typing i:nth-child(3){ animation-delay:.4s; }
@keyframes who-typing{ 0%,60%,100%{ opacity:.3; transform:translateY(0); } 30%{ opacity:1; transform:translateY(-2px); } }
@media (prefers-reduced-motion:reduce){ .who-band__i.flash,.who-list__i.flash{ animation:none; } .who-band__i .typing i{ animation:none; opacity:.8; } }
.who-list{ display:flex; flex-wrap:wrap; gap:.35rem .5rem; }
.who-list__i{ display:inline-block; padding:.2rem .7rem; border-radius:99px; text-decoration:none; color:var(--a3);
  border:1px solid var(--glass-border); background:rgba(255,255,255,.04); font-size:.9rem; }
.who-list__i.me{ font-weight:700; border-color:rgba(var(--gold-rgb),.5); }
.who-list__i.test{ color:var(--text-dim); }

.who-help{ list-style:none; display:grid; gap:.45rem; font-size:.9rem; }
.who-help li{ display:flex; align-items:baseline; gap:.6rem; }
.who-help .who-band__i{ flex:none; margin-right:0; min-width:5.5em; white-space:nowrap; }
.who-help .who-band__i .typing{ vertical-align:middle; }
.who-help .who-band__i.me{ color:inherit; }
#chatLog{ max-height:55vh; overflow-y:auto; font-size:.9rem; border:1px solid var(--glass-border); border-radius:12px; padding:.4rem .7rem; background:rgba(2,6,14,.5); }
#chatLog .line{ padding:.2rem 0; border-bottom:1px solid rgba(255,255,255,.04); overflow-wrap:anywhere; }
#chatLog .who{ color:var(--a3); font-weight:700; } #chatLog .sys{ color:var(--text-dim); } #chatLog .t{ color:var(--text-dim); font-size:.72em; margin-left:.5em; white-space:nowrap; }
.chat-form{ display:flex; gap:.5rem; margin-bottom:.6rem; }
.chat-form input{ flex:1; min-width:0; }


.po-th{ display:flex; gap:.6rem; align-items:center; width:100%; text-align:left; padding:.65rem .5rem; font:inherit; color:var(--text-main); cursor:pointer;
  background:none; border:none; border-bottom:1px solid var(--divider); }
.po-th:hover{ background:rgba(255,255,255,.04); }
.po-th:last-child{ border-bottom:none; }
.po-th > span:first-child{ min-width:0; flex:1; }
.po-th b{ color:var(--text-bright); } .po-th .ex{ display:block; color:var(--text-dim); font-size:.8rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.po-th .n{ margin-left:auto; color:var(--text-dim); font-size:.74rem; white-space:nowrap; } .po-th .new{ margin-left:auto; background:var(--danger); color:#fff; border-radius:10px; padding:0 .5rem; font-size:.72rem; font-weight:700; }
#postLog{ max-height:55vh; overflow-y:auto; padding:.4rem .2rem; display:flex; flex-direction:column; gap:.5rem; }
.pm{ max-width:78%; padding:.45rem .7rem; border-radius:12px; font-size:.9rem; white-space:pre-wrap; overflow-wrap:anywhere; position:relative; }
.pm.them{ align-self:flex-start; background:rgba(var(--a1-rgb),.14); border-bottom-left-radius:2px; } .pm.mine{ align-self:flex-end; background:rgba(var(--gold-rgb),.12); border-bottom-right-radius:2px; color:var(--text-bright); }
.pm .t{ display:block; color:var(--text-dim); font-size:.68rem; text-align:right; }

.rd{ color:var(--gold); font-size:.68rem; font-weight:700; margin-right:.4em; letter-spacing:.04em; } .pm .rc{ position:absolute; bottom:-8px; right:6px; font-size:.9rem; } .pm.mine .rc{ right:auto; left:6px; }
.pm .pick{ font-size:.8rem; margin-top:.15rem; display:flex; align-items:center; gap:.1rem; } .pm .pick button{ padding:0 .3rem; font-size:.9rem; border:1px solid transparent; background:transparent; cursor:pointer; border-radius:6px; } .pm .pick button.on{ border-color:var(--gold); }

.pm .pick-add{ width:1.5rem; height:1.5rem; line-height:1.3rem; padding:0 !important; font-size:.95rem !important; color:var(--text-dim); border-color:rgba(255,255,255,.18) !important; border-radius:50% !important; }
.pm .pick-add:hover{ color:var(--text-bright); border-color:var(--text-dim) !important; }
.pm .pick-list{ display:none; } .pm .pick.open .pick-list{ display:inline-flex; }
.po-sep{ align-self:center; color:var(--text-dim); font-size:.72rem; margin:.2rem 0; }
.acts-row{ display:flex; gap:.4rem; flex-wrap:wrap; margin-bottom:.6rem; }


.nt-box{ padding-top:.7rem; }
.nt{ display:block; padding:.7rem .8rem; background:rgba(255,255,255,.035);
  border:1px solid var(--glass-border); border-left:3px solid rgba(var(--a1-rgb),.55); border-radius:0 10px 10px 0; }
.nt + .nt{ margin-top:.55rem; }
.nt--new{ background:rgba(var(--gold-rgb),.07); border-color:rgba(var(--gold-rgb),.28); border-left-color:var(--gold); }
.nt-meta{ display:flex; align-items:center; gap:.45rem; color:var(--text-dim); font-size:.7rem; letter-spacing:.04em; }
.nt-title{ margin:.2rem 0 .4rem; font-size:.98rem; font-weight:700; line-height:1.45; color:var(--text-bright); }
.nt--new .nt-title{ color:var(--gold); }
.nt-body{ font-size:.85rem; line-height:1.8; color:var(--text-main); }
.tag-new{ background:var(--danger); color:#fff; border-radius:4px; padding:.05rem .3rem; font-size:.6rem; font-weight:700; letter-spacing:.06em; line-height:1.4; }
.rowitem.fb--new{ background:rgba(var(--gold-rgb),.07); box-shadow:inset 3px 0 0 var(--gold); }
.nt-ev{ display:flex; align-items:baseline; gap:.45rem; padding:.5rem .1rem; border-top:1px solid rgba(255,255,255,.12); font-size:.85rem; color:var(--text-bright); }
.nt-ev:first-of-type{ border-top:none; padding-top:.1rem; }
.nt-ev.is-read{ color:var(--text-dim); }
.nt-ev__t{ min-width:0; overflow-wrap:anywhere; }
.nt-ev time{ margin-left:auto; padding-left:.4rem; color:var(--text-dim); font-size:.7rem; white-space:nowrap; }


.who-list{ display:flex; gap:.4rem; flex-wrap:wrap; }



.navpos{ display:none; }
@media (min-width:760px){ .navpos{ display:flex; align-items:center; gap:1rem; flex-wrap:wrap; } }
.navpos h3{ margin:0; }
.navpos .seg{ display:inline-flex; gap:.15rem; padding:.2rem; border-radius:99px; background:rgba(255,255,255,.05); border:1px solid var(--glass-border); }
.navpos .seg button{ font:inherit; font-size:.8rem; font-weight:700; color:var(--text-dim); background:none; border:none; border-radius:99px; padding:.3rem .8rem; cursor:pointer; }
.navpos .seg button:hover{ color:var(--text-main); background:rgba(255,255,255,.07); }
.navpos .seg button.on{ color:#1a1400; background:var(--gold); }
.navpos .note{ margin-left:auto; }


.mk-hero{ display:grid; grid-template-columns:1fr 1fr; gap:.6rem; margin-top:.6rem; }
.mk-hero .btn{ display:flex; flex-direction:column; align-items:flex-start; gap:.1rem; padding:.7rem .9rem; text-align:left; min-height:56px; }
.mk-hero .btn small{ font-weight:400; font-size:.72rem; color:var(--text-dim); }
.mk-flow{ margin-top:.6rem; }
.mk-steps{ display:flex; flex-wrap:wrap; gap:.4rem; font-size:.8rem; color:var(--text-dim); margin-bottom:.5rem; }
.mk-steps .on{ color:var(--gold); font-weight:700; }
.mk-cond{ display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; margin:.4rem 0; font-size:.86rem; }
.mk-cond > span:first-child{ color:var(--text-dim); min-width:4em; }
.mk-cond .grow{ flex:1; min-width:0; overflow-wrap:anywhere; }
.mk-fix{ font-weight:700; color:var(--text-bright); }
.mk-total{ font-size:.86rem; padding:.45rem .7rem; border-radius:10px; background:rgba(255,255,255,.05); border:1px solid var(--glass-border); margin:.4rem 0; }
.mk-total.ng{ color:var(--danger-soft); border-color:rgba(var(--danger-rgb),.5); background:rgba(var(--danger-rgb),.08); }
.mk-my summary{ cursor:pointer; list-style:none; }
.mk-my summary::-webkit-details-marker{ display:none; }
.mk-my summary h3{ margin-bottom:0; display:flex; align-items:center; gap:.4rem; flex-wrap:wrap; }
.mk-my[open] summary h3{ margin-bottom:.45rem; }
.mk-my .badge,.tab .badge{ position:static; display:inline-grid; }
.mk-caret{ margin-left:auto; font-size:.65rem; color:var(--text-dim); transition:transform .15s; }
.mk-my[open] .mk-caret{ transform:rotate(180deg); }
.mk-side{ display:inline-block; font-size:.7rem; font-weight:700; padding:.05rem .45rem; border-radius:6px; }
.mk-side.s{ background:rgba(var(--gold-rgb),.15); color:var(--gold); }
.mk-side.b{ background:rgba(var(--a1-rgb),.15); color:var(--a1-soft); }
.mk-gpick{ display:flex; flex-wrap:wrap; gap:.4rem; margin:.3rem 0 .6rem; }
table.list tr.pick{ cursor:pointer; }
table.list tr.pick:hover td{ background:rgba(255,255,255,.04); }
table.list tr.sel td{ background:rgba(var(--gold-rgb),.08); }
table.list tr.sel td:first-child{ box-shadow:inset 3px 0 0 var(--gold); }
table.list tr.mk-child td{ background:rgba(255,255,255,.025); }


.legal{ position:relative; z-index:1; max-width:760px; margin:0 auto; padding:1.2rem 1.1rem 3rem; }
.legal h1{ font-size:1.5rem; color:var(--text-bright); margin:.6rem 0 1.4rem; padding-bottom:.7rem; border-bottom:1px solid var(--glass-border); }
.legal h2{ font-size:1.05rem; color:var(--a1-soft); margin:2rem 0 .6rem; }
.legal h3{ font-size:.95rem; color:var(--text-bright); margin:1.3rem 0 .5rem; }
.legal p{ margin:.6rem 0; }
.legal ol,.legal ul{ margin:.6rem 0 .6rem 1.4rem; }
.legal li{ margin:.35rem 0; }
.legal li ul{ margin:.35rem 0 .35rem 1rem; list-style:disc; color:var(--text-dim); }
.legal blockquote{ margin:.8rem 0; padding:.7rem .9rem; border-left:3px solid var(--a1); border-radius:0 8px 8px 0; background:rgba(255,255,255,.04); font-size:.92rem; }
.legal a{ text-decoration:underline; }
.legal-table{ overflow-x:auto; margin:.7rem 0; }
.legal-table table{ width:100%; border-collapse:collapse; font-size:.9rem; }
.legal-table th,.legal-table td{ text-align:left; vertical-align:top; padding:.5rem .6rem; border-bottom:1px solid var(--divider); }
.legal-table th{ color:var(--text-dim); font-weight:700; white-space:nowrap; }
.legal-table .nw{ white-space:nowrap; }
.legal-home{ font-size:.9rem; }
.legal-foot{ margin-top:2.5rem; padding-top:1rem; border-top:1px solid var(--glass-border); font-size:.9rem; color:var(--text-dim); }
.wiz-agree{ text-align:center; margin:.7rem 0 0; }
.wiz-agree a,.legal-links a{ text-decoration:underline; }
.legal-links{ text-align:center; font-size:.85rem; color:var(--text-dim); margin:.6rem 0 1.2rem; }


.rk-head{ display:flex; align-items:center; justify-content:space-between; gap:.6rem; flex-wrap:wrap; }
.rk-head__l{ display:flex; align-items:center; gap:.5rem; }
.rk-head__l .btn-help{ width:1.6rem; height:1.6rem; font-size:.8rem; }


.sheet dl.rk-help{ display:block; font-size:.9rem; }
.sheet dl.rk-help dt{ color:var(--a1-soft); font-weight:700; font-size:.82rem; letter-spacing:.04em; margin-top:.75rem; white-space:normal; }
.sheet dl.rk-help dt:first-child{ margin-top:0; }
.sheet dl.rk-help dd{ text-align:left; margin-top:.1rem; }
.rk-closing{ display:flex; align-items:center; gap:.4rem; font-size:.78rem; color:var(--text-dim); }
.rk-closing b{ color:var(--gold); font-variant-numeric:tabular-nums; font-size:.95rem; }
.rk-closing.fixed b{ color:var(--a3); }
.rk-controls{ display:flex; align-items:center; justify-content:space-between; gap:.5rem .8rem; flex-wrap:wrap; margin:.7rem 0 .7rem; }
.rk-pager{ display:flex; align-items:center; gap:.45rem; }
.rk-nav{ width:36px; height:36px; flex:0 0 auto; display:grid; place-items:center; font:inherit; font-size:1.05rem; line-height:1;
  border-radius:99px; cursor:pointer; color:var(--a1-soft); border:1px solid rgba(var(--a1-rgb),.4); background:rgba(var(--a1-rgb),.09);
  transition:background .12s,opacity .12s; }
.rk-nav:hover:not(:disabled){ background:rgba(var(--a1-rgb),.22); }
.rk-nav:disabled{ opacity:.25; cursor:default; }
.rk-span{ min-width:4.2em; text-align:center; font-size:.95rem; font-weight:800; color:var(--text-bright); }
.rk-dots{ display:flex; gap:.28rem; }
.rk-dots i{ width:6px; height:6px; border-radius:99px; background:rgba(255,255,255,.2); }
.rk-dots i.on{ background:var(--gold); box-shadow:0 0 6px rgba(var(--gold-rgb),.5); }

#rkMetric{ border:1px solid rgba(var(--a1-rgb),.35); background:rgba(var(--a1-rgb),.07); }
#rkMetric .tab.on{ color:#04121e; background:var(--a1); box-shadow:0 1px 8px rgba(var(--a1-rgb),.45); }
#rkMetric .tab:hover:not(.on){ color:var(--a1-soft); }

.rk-deck{ display:grid; grid-auto-flow:column; grid-auto-columns:100%; align-items:start;
  overflow-x:auto; overscroll-behavior-x:contain; scroll-snap-type:x mandatory; scrollbar-width:none; }
.rk-deck::-webkit-scrollbar{ display:none; }
.rk-page{ scroll-snap-align:start; scroll-snap-stop:always; min-width:0; padding:0 1px; }

.rk-cap{ font-size:.72rem; letter-spacing:.1em; color:var(--text-dim); margin-bottom:.4rem; }
.rk-cap b{ color:var(--a1-soft); font-weight:700; letter-spacing:.06em; }
.rk-podium{ display:grid; grid-template-columns:1fr 1.15fr 1fr; align-items:end; gap:.5rem; margin-bottom:.7rem;
  max-width:560px; margin-inline:auto; }
.rk-pillar{ display:flex; flex-direction:column; align-items:center; gap:.35rem; text-align:center; min-width:0; }
.rk-pillar .who{ min-width:0; width:100%; }
.rk-pillar .nm{ display:block; font-weight:700; color:var(--text-bright); font-size:.86rem; overflow-wrap:anywhere; }
.rk-pillar .lv{ font-size:.68rem; color:var(--text-dim); }
.rk-pillar .col{ position:relative; width:100%; border-radius:10px 10px 0 0; border:1px solid var(--glass-border); border-bottom:none;
  display:flex; flex-direction:column; justify-content:flex-end; align-items:center; padding:.4rem .2rem .5rem;
  background:linear-gradient(180deg,rgba(var(--a1-rgb),.05),rgba(var(--a1-rgb),.16)); }
.rk-pillar .val{ font-size:1.15rem; font-weight:800; color:var(--text-bright); font-variant-numeric:tabular-nums; line-height:1.2; }
.rk-pillar .rk{ font-size:.72rem; font-weight:700; color:var(--text-dim); }
.rk-pillar.p1 .col{ background:linear-gradient(180deg,rgba(var(--gold-rgb),.10),rgba(var(--gold-rgb),.30));
  border-color:rgba(var(--gold-rgb),.55); box-shadow:0 0 22px rgba(var(--gold-rgb),.22) inset,0 -2px 18px rgba(var(--gold-rgb),.18); }
.rk-pillar.p1 .val{ color:var(--gold); text-shadow:0 0 10px rgba(var(--gold-rgb),.45); font-size:1.4rem; }
.rk-pillar.p1 .rk{ color:var(--gold); }
.rk-pillar.p2 .col{ background:linear-gradient(180deg,rgba(var(--a3-rgb),.06),rgba(var(--a3-rgb),.20)); border-color:rgba(var(--a3-rgb),.4); }
.rk-pillar.p3 .col{ background:linear-gradient(180deg,rgba(var(--a2-rgb),.06),rgba(var(--a2-rgb),.18)); border-color:rgba(var(--a2-rgb),.35); }
.rk-pillar.is-me .col{ outline:2px solid rgba(var(--gold-rgb),.9); outline-offset:2px; }
.rk-crown{ font-size:1.1rem; line-height:1; filter:drop-shadow(0 0 8px rgba(var(--gold-rgb),.6)); }
.rk-floor{ height:3px; border-radius:2px; background:linear-gradient(90deg,transparent,rgba(var(--gold-rgb),.45),transparent); margin-bottom:.9rem; }

.rk-me{ border:1px solid rgba(var(--gold-rgb),.35); background:linear-gradient(180deg,rgba(var(--gold-rgb),.07),rgba(2,6,14,.5));
  border-radius:var(--radius); padding:.7rem .8rem; margin-bottom:.9rem; }
.rk-me-top{ display:flex; align-items:center; gap:.7rem; flex-wrap:wrap; }
.rk-me-rank{ font-size:1.9rem; font-weight:800; color:var(--gold); line-height:1; font-variant-numeric:tabular-nums; }
.rk-me-rank small{ font-size:.8rem; font-weight:700; margin-left:.1rem; }
.rk-me-name{ flex:1; min-width:6rem; }
.rk-me-name b{ color:var(--text-bright); font-size:.95rem; }
.rk-me-name .lv{ white-space:nowrap; }
.rk-me-name .of{ white-space:nowrap; }
.rk-me-up{ text-align:right; font-variant-numeric:tabular-nums; }
.rk-me-up b{ font-size:1.15rem; color:var(--green); }
.rk-me-up span{ font-size:.7rem; }
.rk-chase{ margin-top:.6rem; }
.rk-chase-txt{ display:flex; justify-content:space-between; gap:.6rem; font-size:.78rem; flex-wrap:wrap; }
.rk-chase-txt b{ color:var(--gold); }
.rk-track{ position:relative; height:8px; border-radius:99px; background:rgba(255,255,255,.07); margin-top:.35rem; overflow:hidden; }
.rk-track i{ display:block; height:100%; border-radius:99px; background:linear-gradient(90deg,var(--green),var(--gold)); }
.rk-out{ font-size:.8rem; color:var(--text-dim); }

.rk-mv{ font-size:.72rem; font-variant-numeric:tabular-nums; }
.rk-mv.up{ color:var(--green); } .rk-mv.down{ color:var(--danger-soft); } .rk-mv.new{ color:var(--gold); } .rk-mv.stay{ color:var(--text-dim); }
.rk-empty{ padding:1.4rem .8rem; text-align:center; color:var(--text-dim); font-size:.85rem; }
@media (max-width:420px){
  .rk-pillar .nm{ font-size:.78rem; }
  .rk-me-rank{ font-size:1.6rem; }
}
