/* Fapsliyer: responsive improvements. Loaded last; no game mechanics changed. */
html { -webkit-text-size-adjust:100%; }
body { max-width:100%; }
button, a, input, textarea, select { touch-action:manipulation; }
img, svg, canvas, video { max-width:100%; }
.game-shell, .dashboard-grid, .left-stack, .right-stack, .page-card, .about-card,
.hero-status, .hero-copy-game, .profile-data, .profile-layout, .section-head > *,
.shop-copy, .ranking-main, .rank-user { min-width:0; }
.topbar { display:flex !important; flex-wrap:wrap; gap:10px 14px; align-items:center; }
.topbar .mini-brand { flex:0 0 auto; white-space:nowrap; line-height:1.6; }
.topbar .top-nav { flex:1 1 340px; justify-content:center; min-width:0; }
.topbar .player-chip, .topbar .top-currency { flex:0 0 auto; }
.topbar .ghost-btn { flex:0 0 auto; }
.top-nav .nav-link { text-align:center; }
.section-head { flex-wrap:wrap; }
.section-head h1, .section-head h2, .page-title, .profile-header-box b { overflow-wrap:anywhere; }
.rank-user b, .ranking-main b, .shop-copy b { overflow-wrap:anywhere; }
.about-grid { grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); }
.profile-layout { grid-template-columns:minmax(0,430px) minmax(0,1fr); }
.shop-item { min-width:0; }

@media (max-width:1100px) {
  .topbar .top-nav { order:5; flex:1 0 100%; justify-content:flex-start; }
  .topbar { justify-content:space-between; }
  .about-grid, .profile-layout { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:760px) {
  .game-shell { padding:12px 12px 28px; }
  .topbar { padding:14px; gap:9px; }
  .topbar .mini-brand { flex:1 1 auto; font-size:9px; }
  .topbar .top-nav { order:10; flex:1 0 100%; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; width:100%; }
  .topbar .nav-link { padding:10px 5px; font-size:13px; line-height:1.2; min-height:44px; display:grid; place-items:center; }
  .topbar .player-chip { order:4; flex:1 1 130px; }
  .topbar .top-currency { order:5; flex:1 1 auto; justify-content:center; padding:9px; }
  .topbar .ghost-btn { order:2; min-width:70px; }
  .dashboard-grid, .profile-layout { grid-template-columns:minmax(0,1fr); }
  .hero-status { grid-template-columns:minmax(0,1fr) !important; }
  .hero-character { justify-self:center; max-width:100%; }
  .section-head { gap:12px; }
  .calendar-nav { max-width:100%; }
  .legend { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .legend span { font-size:12px; }
  .calendar-grid { gap:5px; }
  .day-cell { min-height:66px; padding:6px; }
  .day-cell.account-start::after, .day-cell.declared-start::before { display:none; }
  .weekdays { gap:5px; }
  .weekdays span { padding:8px 2px; font-size:7px; }
  .shop-grid, .top-three, .profile-stats, .loadout-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .shop-item { grid-template-columns:42px minmax(0,1fr) !important; gap:8px; padding:10px; }
  .shop-item > strong, .shop-item > .shop-price { grid-column:2; justify-self:start; }
  .ranking-row.has-avatar { grid-template-columns:34px 46px minmax(0,1fr) auto !important; gap:8px; }
  .ranking-row.has-avatar .view-profile-btn { display:inline-block !important; padding:9px 10px; white-space:normal; }
  .ranking-row.has-avatar .ranking-stat { display:none; }
  .ranking-row:not(.has-avatar) { grid-template-columns:40px minmax(0,1fr) auto; gap:8px; }
  .ranking-row:not(.has-avatar) .ranking-stat { display:none; }
  .ranking-board .ranking-main { min-width:0; }
  .rank-meta-box { width:100%; }
  .mini-calendar { grid-template-columns:repeat(6,minmax(0,1fr)); }
  .profile-hero-frame { min-height:350px; }
  .about-grid { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:480px) {
  .game-shell { padding:8px 8px 24px; }
  .topbar { padding:12px 10px; }
  .topbar .mini-brand { font-size:8px; }
  .topbar .top-nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .topbar .nav-link { font-size:15px; }
  .topbar .player-chip { flex:1 0 calc(60% - 10px); }
  .topbar .top-currency { flex:1 1 80px; font-size:13px; }
  .topbar .ghost-btn { padding:0 10px; }
  .hero-status, .calendar-card, .action-card, .reward-card, .upgrade-card, .ranking-preview, .page-card, .about-card { padding:14px; }
  .hero-copy-game h1, .page-title { font-size:clamp(24px,7vw,30px); }
  .section-head h2 { font-size:24px; }
  .streak-line strong { font-size:clamp(24px,8vw,36px); }
  .pixel-label { line-height:1.6; }
  .legend { grid-template-columns:minmax(0,1fr); }
  .calendar-grid { gap:3px; }
  .day-cell { min-height:55px; padding:4px; }
  .day-number { font-size:13px; }
  .day-fire { font-size:15px; }
  .day-cell small { font-size:10px; }
  .shop-grid, .top-three { grid-template-columns:minmax(0,1fr); }
  .shop-item { grid-template-columns:50px minmax(0,1fr) auto !important; }
  .shop-item > strong { grid-column:auto; }
  .chest-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .profile-stats, .loadout-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mini-calendar { grid-template-columns:repeat(5,minmax(0,1fr)); }
  .ranking-row.has-avatar { grid-template-columns:28px 40px minmax(0,1fr) !important; }
  .ranking-row.has-avatar .view-profile-btn { grid-column:3; justify-self:start; }
  .ranking-row:not(.has-avatar) { grid-template-columns:32px minmax(0,1fr) !important; }
  .ranking-row:not(.has-avatar) .view-profile-btn { grid-column:2; justify-self:start; }
  .ranking-tabs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ranking-tabs button { min-width:0; padding:12px 5px; }
  .about-form select, .about-form textarea { font-size:16px; }
  .about-card h1 { font-size:26px; }
  .contact-box a { font-size:18px; }
  .scene { padding:14px 10px; }
  .auth-card { padding:18px 14px; }
}
@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior:auto !important; }
}
