:root{
  --bg:#0B0E11;
  --panel:#12161C;
  --panel-alt:#171C24;
  --panel-raised:#1B212B;
  --border:#242B36;
  --text:#E7EAEF;
  --text-dim:#8B94A3;
  --text-faint:#5A6272;
  --amber:#F5A623;
  --amber-dim:#7A5719;
  --green:#3ECF8E;
  --red:#FF5C5C;
  --font-display:'Space Grotesk',sans-serif;
  --font-mono:'IBM Plex Mono',monospace;
}
*{box-sizing:border-box;}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:var(--font-mono);
  -webkit-font-smoothing:antialiased;
}
::selection{background:var(--amber);color:#0B0E11;}
:focus-visible{outline:2px solid var(--amber);outline-offset:2px;}

/* ---------- TICKER ---------- */
.ticker-wrap{
  background:#000;
  border-bottom:1px solid var(--border);
  overflow:hidden;
  white-space:nowrap;
  padding:7px 0;
}
.ticker-track{
  display:inline-block;
  animation:scroll-ticker 26s linear infinite;
  font-family:var(--font-mono);
  font-size:12px;
  letter-spacing:0.03em;
}
.ticker-wrap:hover .ticker-track{animation-play-state:paused;}
@keyframes scroll-ticker{
  0%{transform:translateX(0);}
  100%{transform:translateX(-50%);}
}
.tick{padding:0 22px;color:var(--text-dim);}
.tick b{color:var(--amber);font-weight:600;}
.tick .up{color:var(--green);}
.tick .down{color:var(--red);}

/* ---------- SHELL ---------- */
.shell{max-width:1080px;margin:0 auto;padding:28px 20px 80px;}
header.hero{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:28px;border-bottom:1px solid var(--border);padding-bottom:20px;}
.brand{font-family:var(--font-display);font-weight:700;font-size:28px;letter-spacing:-0.02em;}
.brand span{color:var(--amber);}
.brand-sub{font-size:12px;color:var(--text-dim);margin-top:4px;letter-spacing:0.05em;text-transform:uppercase;}

nav.tabs{display:flex;gap:2px;background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:3px;}
nav.tabs button{
  font-family:var(--font-display);
  font-weight:600;font-size:13px;
  background:transparent;border:none;color:var(--text-dim);
  padding:9px 18px;border-radius:6px;cursor:pointer;letter-spacing:0.02em;
  transition:background .15s,color .15s;
}
nav.tabs button.active{background:var(--amber);color:#0B0E11;}
nav.tabs button:not(.active):hover{color:var(--text);}

.view{display:none;}
.view.active{display:block;animation:fade-in .25s ease;}
@keyframes fade-in{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:translateY(0);}}

h2.section-title{font-family:var(--font-display);font-size:15px;text-transform:uppercase;letter-spacing:0.08em;color:var(--text-dim);margin:0 0 14px;display:flex;align-items:center;gap:10px;}
h2.section-title::after{content:'';flex:1;height:1px;background:var(--border);}

/* ---------- PANELS / CARDS ---------- */
.panel{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:22px;}
.panel + .panel{margin-top:18px;}

/* ---------- SETTINGS (DRILL) ---------- */
.settings-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;}
@media (max-width:720px){.settings-grid{grid-template-columns:1fr;}}
.field-label{font-size:11px;text-transform:uppercase;letter-spacing:0.08em;color:var(--text-faint);margin-bottom:10px;}
.chip-row{display:flex;flex-wrap:wrap;gap:8px;}
.chip{
  border:1px solid var(--border);background:var(--panel-alt);color:var(--text-dim);
  padding:8px 14px;border-radius:20px;font-family:var(--font-mono);font-size:13px;
  cursor:pointer;user-select:none;transition:all .15s;
}
.chip.on{background:var(--amber);color:#0B0E11;border-color:var(--amber);font-weight:600;}
.chip:hover:not(.on){border-color:var(--text-faint);color:var(--text);}

.start-btn{
  margin-top:22px;width:100%;padding:15px;border:none;border-radius:8px;
  background:var(--amber);color:#0B0E11;font-family:var(--font-display);font-weight:700;
  font-size:15px;letter-spacing:0.03em;cursor:pointer;transition:transform .1s, box-shadow .15s;
  text-transform:uppercase;
}
.start-btn:hover{box-shadow:0 0 0 3px var(--amber-dim);}
.start-btn:active{transform:scale(.99);}

/* ---------- SESSION ---------- */
.session-hud{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;font-family:var(--font-mono);font-size:13px;color:var(--text-dim);}
.session-hud .stat b{color:var(--text);font-size:16px;display:block;font-family:var(--font-display);}
.session-hud .stat{text-align:center;}
.session-hud .clock{color:var(--amber);font-family:var(--font-display);font-weight:700;font-size:22px;}

.problem-card{
  background:var(--panel-alt);border:1px solid var(--border);border-radius:14px;
  padding:56px 24px;text-align:center;transition:border-color .15s;
}
.problem-card.correct-flash{border-color:var(--green);}
.problem-card.wrong-flash{border-color:var(--red);}
.problem-text{font-family:var(--font-display);font-size:52px;font-weight:600;letter-spacing:-0.01em;}
@media (max-width:520px){.problem-text{font-size:36px;}}
.answer-row{margin-top:28px;display:flex;justify-content:center;align-items:stretch;gap:10px;flex-wrap:wrap;}
.answer-input{
  width:180px;max-width:60%;text-align:center;
  background:var(--bg);border:1px solid var(--border);border-radius:8px;
  color:var(--text);font-family:var(--font-mono);font-size:24px;padding:12px;
  min-height:52px;
}
.answer-input.wrong{border-color:var(--red);}
.submit-btn{
  min-height:52px;padding:0 26px;border:none;border-radius:8px;
  background:var(--amber);color:#0B0E11;font-family:var(--font-display);font-weight:700;
  font-size:15px;letter-spacing:.03em;text-transform:uppercase;cursor:pointer;
  transition:transform .1s, box-shadow .15s;
}
.submit-btn:hover{box-shadow:0 0 0 3px var(--amber-dim);}
.submit-btn:active{transform:scale(.97);}
.skip-btn{
  min-height:52px;padding:0 22px;border-radius:8px;border:1px solid var(--border);
  background:var(--panel-alt);color:var(--text-dim);font-family:var(--font-display);font-weight:600;
  font-size:14px;letter-spacing:.03em;text-transform:uppercase;cursor:pointer;
  transition:border-color .15s,color .15s;
}
.skip-btn:hover{border-color:var(--amber);color:var(--amber);}
.skip-btn:disabled{opacity:.4;cursor:not-allowed;}
.skip-btn:disabled:hover{border-color:var(--border);color:var(--text-dim);}
@media (max-width:480px){
  .answer-row{flex-direction:column;align-items:center;}
  .answer-input{width:100%;max-width:260px;}
  .submit-btn{width:100%;max-width:260px;}
  .skip-btn{width:100%;max-width:260px;}
}
.hint-row{margin-top:14px;font-size:12px;color:var(--text-faint);}

/* ---------- SUMMARY ---------- */
.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px;}
@media (max-width:640px){.summary-grid{grid-template-columns:repeat(2,1fr);}}
.summary-stat{background:var(--panel-alt);border:1px solid var(--border);border-radius:10px;padding:16px;text-align:center;}
.summary-stat .num{font-family:var(--font-display);font-size:26px;font-weight:700;color:var(--amber);}
.summary-stat .lab{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-faint);margin-top:4px;}
.missed-list{list-style:none;padding:0;margin:0;font-size:13px;}
.missed-list li{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--border);}
.missed-list li:last-child{border-bottom:none;}
.missed-list .yours{color:var(--red);}
.missed-list .right{color:var(--green);}

.btn-row{display:flex;gap:10px;margin-top:18px;}
.btn-secondary{
  flex:1;padding:12px;border-radius:8px;border:1px solid var(--border);background:var(--panel-alt);
  color:var(--text);font-family:var(--font-display);font-weight:600;font-size:13px;cursor:pointer;
  text-transform:uppercase;letter-spacing:.03em;
}
.btn-secondary:hover{border-color:var(--amber);color:var(--amber);}

/* ---------- HEADER ACTIONS / AUTH ---------- */
.header-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap;}
.help-btn{
  width:38px;height:38px;border-radius:50%;background:var(--panel-alt);border:1px solid var(--border);
  color:var(--text-dim);font-family:var(--font-display);font-weight:700;font-size:16px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.help-btn:hover{border-color:var(--amber);color:var(--amber);}
.auth-widget{display:flex;align-items:center;gap:10px;}
.signin-btn{
  display:flex;align-items:center;gap:8px;background:var(--panel-alt);border:1px solid var(--border);
  color:var(--text);font-family:var(--font-display);font-weight:600;font-size:13px;
  padding:9px 16px;border-radius:8px;cursor:pointer;transition:border-color .15s;
}
.signin-btn:hover{border-color:var(--amber);color:var(--amber);}
.signin-btn .g-badge{
  width:18px;height:18px;border-radius:50%;background:#fff;color:#4285F4;font-family:var(--font-display);
  font-weight:700;font-size:12px;display:flex;align-items:center;justify-content:center;
}
.user-chip{display:flex;align-items:center;gap:8px;cursor:pointer;background:var(--panel-alt);
  border:1px solid var(--border);border-radius:20px;padding:5px 14px 5px 5px;transition:border-color .15s;}
.user-chip:hover{border-color:var(--amber);}
.user-chip .avatar{width:28px;height:28px;border-radius:50%;background:var(--amber-dim);
  display:flex;align-items:center;justify-content:center;font-size:15px;overflow:hidden;}
.user-chip .uname{font-size:12px;color:var(--text);font-family:var(--font-display);font-weight:600;}
.signout-btn{background:transparent;border:1px solid var(--border);color:var(--text-faint);
  border-radius:8px;padding:9px 12px;cursor:pointer;font-size:12px;font-family:var(--font-mono);}
.signout-btn:hover{color:var(--red);border-color:var(--red);}

/* ---------- PROFILE ---------- */
.profile-hero{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:24px;}
.profile-avatar-wrap{position:relative;cursor:pointer;}
.profile-avatar{width:76px;height:76px;border-radius:50%;background:var(--panel-raised);
  border:2px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:34px;overflow:hidden;}
.profile-avatar-wrap:hover .profile-avatar{border-color:var(--amber);}
.profile-avatar-edit{position:absolute;bottom:-2px;right:-2px;background:var(--amber);color:#0B0E11;
  width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;}
.profile-name{font-family:var(--font-display);font-weight:700;font-size:20px;}
.profile-email{font-size:12px;color:var(--text-faint);margin-top:2px;}
.iq-badge{font-family:var(--font-display);font-size:12px;color:var(--text-dim);margin-top:8px;}
.iq-badge b{color:var(--amber);font-size:22px;}

.avatar-picker{display:none;flex-wrap:wrap;gap:10px;margin-top:16px;}
.avatar-picker.show{display:flex;}
.avatar-option{width:44px;height:44px;border-radius:50%;border:2px solid var(--border);background:var(--panel-alt);
  display:flex;align-items:center;justify-content:center;font-size:22px;cursor:pointer;transition:border-color .15s;}
.avatar-option:hover,.avatar-option.selected{border-color:var(--amber);}

.banner-row{display:flex;flex-wrap:wrap;gap:10px;}
.banner-chip{display:flex;align-items:center;gap:6px;background:var(--panel-alt);border:1px solid var(--border);
  border-radius:20px;padding:7px 14px;font-size:12px;color:var(--text-dim);}
.banner-chip .ic{font-size:14px;}
.no-banners{font-size:13px;color:var(--text-faint);}

.signedout-panel{text-align:center;padding:40px 20px;}
.signedout-panel p{color:var(--text-dim);font-size:14px;margin-bottom:20px;}

.about-you summary{cursor:pointer;font-family:var(--font-display);font-size:13px;color:var(--text-dim);
  letter-spacing:.03em;text-transform:uppercase;padding:6px 0;}
.about-you-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:14px;}
@media (max-width:520px){.about-you-fields{grid-template-columns:1fr;}}
.about-you-fields input, .about-you-fields select{
  width:100%;background:var(--bg);border:1px solid var(--border);border-radius:8px;
  color:var(--text);font-family:var(--font-mono);font-size:13px;padding:10px 12px;
}
.save-hint{font-size:11px;color:var(--text-faint);margin-top:8px;}

/* ---------- LEAGUES / ONLINE ---------- */
.league-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:20px;font-family:var(--font-display);font-weight:700;font-size:13px;}
.online-hero{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;}
.trophy-count{font-family:var(--font-display);font-size:34px;font-weight:700;}
.trophy-count .unit{font-size:13px;color:var(--text-dim);font-weight:600;margin-left:6px;}
.league-progress{margin-top:14px;height:8px;background:var(--panel-alt);border-radius:6px;overflow:hidden;}
.league-progress-fill{height:100%;background:var(--amber);border-radius:6px;transition:width .3s;}
.league-progress.hyper .league-progress-fill{background:linear-gradient(135deg,#FF5CD6,#F5A623,#5DD9F5);}
.league-range{font-size:11px;color:var(--text-faint);margin-top:6px;}
.streak-note{font-size:11px;color:var(--text-faint);margin-top:10px;}

.queue-status{text-align:center;padding:30px 20px;}
.queue-spinner{width:40px;height:40px;border-radius:50%;border:3px solid var(--border);border-top-color:var(--amber);margin:0 auto 16px;animation:spin .9s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}
.queue-status p{color:var(--text-dim);font-size:13px;}
.lobby-code{font-family:var(--font-display);font-size:36px;font-weight:700;letter-spacing:.15em;color:var(--amber);margin:14px 0;}

/* ---------- BATTLE LOG ---------- */
.battle-entry{
  background:var(--panel-alt);border:1px solid var(--border);border-radius:10px;
  padding:14px 16px;margin-bottom:10px;
}
.battle-entry:last-child{margin-bottom:0;}
.battle-top{display:flex;justify-content:space-between;align-items:center;gap:10px;}
.battle-outcome{font-family:var(--font-display);font-weight:700;font-size:15px;}
.battle-outcome.win{color:var(--green);}
.battle-outcome.loss{color:var(--red);}
.battle-outcome.draw{color:var(--amber);}
.battle-trophy{font-family:var(--font-display);font-weight:700;font-size:14px;color:var(--text-dim);white-space:nowrap;}
.battle-trophy.up{color:var(--green);}
.battle-trophy.down{color:var(--red);}
.battle-score{font-family:var(--font-display);font-size:22px;font-weight:700;margin-top:6px;}
.battle-mode-tag{
  display:inline-block;margin-top:8px;font-size:10px;text-transform:uppercase;letter-spacing:.06em;
  color:var(--text-faint);border:1px solid var(--border);padding:3px 9px;border-radius:12px;
}
.battle-vs{font-size:13px;color:var(--text);margin-top:8px;}
.battle-meta{font-size:12px;color:var(--text-faint);margin-top:2px;}
.battle-time{font-size:11px;color:var(--text-faint);margin-top:6px;}
.battle-details-btn{
  margin-top:10px;background:transparent;border:none;color:var(--amber);
  font-family:var(--font-display);font-weight:600;font-size:12px;cursor:pointer;padding:0;
}
.battle-details-btn:hover{text-decoration:underline;}
.battle-toggle-btn{
  display:block;width:100%;margin-top:4px;padding:10px;background:transparent;border:1px dashed var(--border);
  border-radius:8px;color:var(--text-dim);font-family:var(--font-display);font-weight:600;font-size:12px;
  cursor:pointer;text-align:center;
}
.battle-toggle-btn:hover{border-color:var(--amber);color:var(--amber);}

#lobbyLeagueBadge, #profileLeagueBadge{display:inline-block;cursor:pointer;}

/* ---------- LEAGUE LEVELS MODAL ---------- */
.modal-overlay{
  position:fixed;inset:0;background:rgba(5,7,10,.75);z-index:1000;
  display:flex;align-items:center;justify-content:center;padding:20px;
}
.modal-overlay.hidden{display:none;}
.modal-box{
  background:var(--panel);border:1px solid var(--border);border-radius:14px;
  max-width:720px;width:100%;max-height:85vh;overflow-y:auto;padding:28px;position:relative;
}
.modal-close{
  position:absolute;top:16px;right:16px;background:transparent;border:1px solid var(--border);
  color:var(--text-dim);width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:15px;
  display:flex;align-items:center;justify-content:center;
}
.modal-close:hover{border-color:var(--red);color:var(--red);}
.modal-title{font-family:var(--font-display);font-weight:700;font-size:22px;margin-bottom:6px;padding-right:36px;}
.modal-sub{font-size:13px;color:var(--text-dim);margin-bottom:24px;line-height:1.5;}

.league-ladder{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
@media (max-width:560px){.league-ladder{grid-template-columns:repeat(2,1fr);}}
.league-tier{
  background:var(--panel-alt);border:1px solid var(--border);border-radius:12px;padding:18px 14px;
  text-align:center;transition:border-color .15s,transform .15s;
}
.league-tier.current{border-color:var(--amber);box-shadow:0 0 0 2px var(--amber-dim);transform:translateY(-2px);}
.league-tier.hyper{background:linear-gradient(160deg,#241a08,#1b1224);box-shadow:0 0 20px rgba(255,92,214,.2);}
.league-tier .tier-icon{font-size:36px;margin-bottom:8px;}
.league-tier .tier-name{font-family:var(--font-display);font-weight:700;font-size:14px;}
.league-tier.hyper .tier-name{
  background:linear-gradient(135deg,#FF5CD6,#F5A623,#5DD9F5);-webkit-background-clip:text;background-clip:text;color:transparent;
}
.league-tier .tier-range{font-size:11px;color:var(--text-faint);margin-top:4px;}
.league-tier .tier-you{
  margin-top:8px;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--amber);
  font-family:var(--font-display);font-weight:700;
}

/* ---------- TUTORIAL ---------- */
.tutorial-dots{display:flex;gap:6px;margin-bottom:16px;}
.tutorial-dot{width:8px;height:8px;border-radius:50%;background:var(--border);transition:background .15s;}
.tutorial-dot.active{background:var(--amber);}
.tutorial-nav{display:flex;gap:10px;margin-top:22px;}
.tutorial-nav button{flex:1;margin-top:0;}
.streak-demo{
  background:var(--panel-alt);border:1px solid var(--border);border-radius:10px;padding:18px;margin-top:16px;
}
.streak-demo-row{display:flex;justify-content:space-around;text-align:center;font-size:13px;color:var(--text-dim);margin-bottom:14px;}
.streak-demo-row b{display:block;font-family:var(--font-display);font-size:24px;color:var(--amber);margin-top:2px;}
.streak-demo .btn-row{display:flex;gap:10px;}
.streak-demo .btn-row button{flex:1;margin-top:0;}
.streak-demo-note{margin-top:12px;font-size:12px;color:var(--text-faint);text-align:center;min-height:16px;}

/* ---------- PRIVACY POLICY ---------- */
.privacy-body{font-size:13px;color:var(--text-dim);line-height:1.6;max-height:42vh;overflow-y:auto;padding-right:8px;margin-top:10px;}
.privacy-body h4{color:var(--text);font-family:var(--font-display);font-size:12px;text-transform:uppercase;letter-spacing:.05em;margin:18px 0 6px;}
.privacy-body h4:first-child{margin-top:0;}
.privacy-body p{margin:0 0 10px;}
.privacy-body ul{margin:0 0 10px;padding-left:18px;}
.privacy-body li{margin-bottom:4px;}
.footer-link{color:var(--text-faint);text-decoration:underline;cursor:pointer;}
.footer-link:hover{color:var(--amber);}

.match-hud{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;gap:10px;}
.match-side{flex:1;text-align:center;position:relative;}
.match-side .pname{font-size:12px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.match-side .pscore{font-family:var(--font-display);font-size:30px;font-weight:700;color:var(--text);}
.match-side.me .pscore{color:var(--amber);}
.match-vs{font-family:var(--font-display);font-size:13px;color:var(--text-faint);padding:0 10px;display:flex;flex-direction:column;align-items:center;gap:6px;}
.match-clock{text-align:center;font-family:var(--font-display);font-weight:700;font-size:20px;color:var(--amber);margin-bottom:14px;}

/* ---------- EMOTES ---------- */
.emote-trigger-btn{
  width:26px;height:26px;border-radius:50%;background:var(--panel-alt);border:1px solid var(--border);
  color:var(--text-dim);font-size:13px;cursor:pointer;display:flex;align-items:center;justify-content:center;
}
.emote-trigger-btn:hover{border-color:var(--amber);color:var(--amber);}
.emote-trigger-btn:disabled{opacity:.4;cursor:not-allowed;}
.emote-tray{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin:0 0 16px;}
.emote-tray.hidden{display:none;}
.emote-option{
  background:var(--panel-alt);border:1px solid var(--border);border-radius:20px;padding:8px 14px;
  font-family:var(--font-mono);font-size:13px;color:var(--text);cursor:pointer;transition:border-color .15s;
}
.emote-option:hover{border-color:var(--amber);color:var(--amber);}
.emote-bubble{
  position:absolute;top:-40px;left:50%;transform:translateX(-50%) translateY(4px);
  background:var(--panel-raised);border:1px solid var(--amber);border-radius:10px;padding:6px 12px;
  font-family:var(--font-display);font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;
  box-shadow:0 4px 14px rgba(0,0,0,.4);opacity:0;pointer-events:none;transition:opacity .2s, transform .2s;z-index:5;
}
.emote-bubble.show{opacity:1;transform:translateX(-50%) translateY(0);}
.emote-bubble.hidden{display:none;}

.result-banner{text-align:center;padding:10px;}
.result-banner .outcome{font-family:var(--font-display);font-size:26px;font-weight:700;}
.result-banner .outcome.win{color:var(--green);}
.result-banner .outcome.loss{color:var(--red);}
.result-banner .outcome.draw{color:var(--amber);}
.trophy-delta{font-family:var(--font-display);font-size:18px;margin-top:8px;}
.trophy-delta.up{color:var(--green);}
.trophy-delta.down{color:var(--red);}
.league-transition{margin-top:10px;font-size:13px;color:var(--text-dim);}

.hyper-elite-badge{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:20px;
  background:linear-gradient(135deg,#FFD700,#FFF3C4,#FFD700);color:#5A4300;font-family:var(--font-display);font-weight:700;font-size:13px;
  box-shadow:0 0 16px rgba(255,215,0,.55);}

.owner-badge{
  display:inline-flex;align-items:center;gap:5px;padding:5px 12px;border-radius:20px;
  background:linear-gradient(135deg,#7C5CFF,#5B8CFF);color:#fff;font-family:var(--font-display);
  font-weight:700;font-size:11px;letter-spacing:.05em;text-transform:uppercase;margin-left:8px;
  vertical-align:middle;white-space:nowrap;
}

/* ---------- ACCOUNT PROMPT ---------- */
.account-field{margin-bottom:14px;}
.account-field input{
  width:100%;background:var(--bg);border:1px solid var(--border);border-radius:8px;
  color:var(--text);font-family:var(--font-mono);font-size:13px;padding:10px 12px;
}
.account-divider{
  display:flex;align-items:center;gap:10px;margin:18px 0;
  font-size:11px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.05em;
}
.account-divider::before,.account-divider::after{content:'';flex:1;height:1px;background:var(--border);}

/* ---------- FRIENDS ---------- */
.friend-search-row{display:flex;gap:10px;}
.friend-search-row input{
  flex:1;background:var(--bg);border:1px solid var(--border);border-radius:8px;
  color:var(--text);font-family:var(--font-mono);font-size:13px;padding:10px 12px;
}
.friend-result-list, .friend-list, .request-list{display:flex;flex-direction:column;gap:10px;margin-top:14px;}
.friend-row{display:flex;align-items:center;gap:12px;background:var(--panel-alt);border:1px solid var(--border);border-radius:10px;padding:12px 14px;}
.friend-row .favatar{width:36px;height:36px;border-radius:50%;background:var(--panel-raised);display:flex;align-items:center;justify-content:center;font-size:18px;overflow:hidden;flex-shrink:0;}
.friend-row .finfo{flex:1;min-width:0;}
.friend-row .fname{font-family:var(--font-display);font-weight:600;font-size:14px;}
.friend-row .fmeta{font-size:11px;color:var(--text-faint);margin-top:2px;}
.friend-row .fpresence{display:flex;align-items:center;gap:5px;font-size:11px;color:var(--text-faint);margin-top:3px;}
.presence-dot{width:7px;height:7px;border-radius:50%;background:var(--text-faint);flex-shrink:0;}
.presence-dot.online{background:var(--green);box-shadow:0 0 6px var(--green);}
.friend-row .factions{display:flex;flex-direction:column;gap:6px;flex-shrink:0;}
.btn-small{padding:8px 14px;font-size:12px;border-radius:6px;border:1px solid var(--border);background:var(--panel-raised);color:var(--text);cursor:pointer;font-family:var(--font-display);font-weight:600;white-space:nowrap;}
.btn-small:hover{border-color:var(--amber);color:var(--amber);}
.btn-small.accept{border-color:var(--green);color:var(--green);}
.btn-small.decline{border-color:var(--red);color:var(--red);}
.empty-note{font-size:13px;color:var(--text-faint);text-align:center;padding:16px 0;}

footer.foot{text-align:center;margin-top:40px;font-size:11px;color:var(--text-faint);letter-spacing:.04em;}
