/* Letras abertas, leitura confortável e superfícies suaves para o Orkut da festa.
   Esta camada vem após os estilos dos jogos e seus breakpoints. */
:root {
  --font: 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
  --muted: #b9afc5;
  font-family: var(--font);
}
body { font-size: 16px; line-height: 1.65; }
body { font-weight: 500; }
h1, h2, h3 {
  font-family: 'Trebuchet MS', 'Segoe UI', Arial, sans-serif;
  font-weight: 800;
  letter-spacing: -.025em;
  text-wrap: balance;
}
h1 { font-size: clamp(32px, 3.2vw, 44px); line-height: 1.2; }
h2, .section-heading h2 { font-size: 25px; line-height: 1.3; }
h3 { font-size: 21px; line-height: 1.35; }
p { line-height: 1.75; }
label, legend { font-size: 15px; font-weight: 600; }
input, textarea, select {
  font-size: 16px;
  line-height: 1.5;
  border-radius: 14px;
  padding: 13px 16px;
  min-height: 48px;
}
input[type='checkbox'], input[type='radio'], input[type='range'] { min-height: 0; }
textarea { min-height: 125px; }
.micro, .dialog-body .micro { font-size: 13px; line-height: 1.65; }
.small-label, .section-top .small-label, .section-heading .small-label {
  font-size: 11px; line-height: 1.6; letter-spacing: 1.1px;
}
.text-link { font-size: 14px; line-height: 1.5; min-height: 36px; }
.button, .button.small {
  font-size: 14px; font-weight: 700; line-height: 1.45;
  min-height: 46px; border-radius: 999px; padding: 12px 21px;
  letter-spacing: .15px;
}
.icon-button { min-width: 44px; min-height: 44px; border-radius: 50%; }
.outline-pill, .tiny-tag { font-size: 11px; border-radius: 999px; padding: 6px 12px; }
.panel, .round-card, .pass-card, .hero-party, .surprise-teaser,
.phase-card, .podium-card, .admin-stat, .admin-round {
  border-radius: 24px;
}
.panel { padding: 30px; }
.window { border-radius: 22px; }
.window-bar { padding: 12px 16px; font-size: 13px; }
.window-close { border-radius: 7px; min-width: 30px; height: 28px; }
.dialog-body { padding: 30px; }
.dialog-body p { font-size: 15px; }
.dialog-body h2 { font-size: 36px; }
.sidebar { padding-inline: 16px; }
.nav-label { font-size: 10px; letter-spacing: .8px; }
.nav-item, .sidebar-bottom .nav-item {
  font-size: 14px; font-weight: 600; padding: 13px 12px;
  border-radius: 14px; gap: 10px;
}
.nav-item.active { box-shadow: none; }
.nav-item svg { width: 21px; height: 21px; }
.edition { font-size: 11px; letter-spacing: .2px; }
.sidebar-note { border-radius: 20px; padding: 20px 16px; margin-top: 26px; }
.sidebar-note p { font-size: 14px; }
.sidebar-note .micro { font-size: 10px; letter-spacing: .5px; }
.sidebar-footer, .sidebar-footer span { font-size: 9px; letter-spacing: 0; }
.breadcrumb { font-size: 11px; letter-spacing: .6px; }
.profile-chip { font-size: 14px; }
.connection { font-size: 12px; }
.avatar-mini { width: 38px; height: 38px; border-radius: 13px; }
.main-content { padding-top: 38px; }
.section-top { margin-bottom: 30px; flex-wrap: wrap; }
.section-top > .text-link { font-size: 12px; }
.mission-card { border-radius: 22px; padding: 25px; }
.mission-card h3 { font-size: 22px; }
.mission-card p, .mission-card .tiny-tag { font-size: 13px; }
.mission-icon, .phase-symbol { border-radius: 19px; }
.mini-phase { border-radius: 18px; padding: 19px 14px; }
.mini-phase strong { font-size: 14px; }
.mini-phase > span:last-child, .mini-phase .phase-num { font-size: 11px; }
.phase-card { padding: 27px; }
.phase-card h3 { font-size: 22px; }
.phase-card p { font-size: 14px; }
.phase-card .small-label { font-size: 11px; }
.answer-option { font-size: 16px; border-radius: 16px; padding: 18px; }
.vote-option { font-size: 14px; border-radius: 16px; }
.waiting { font-size: 14px; border-radius: 16px; }
.selected-person { border-radius: 20px; }
.selected-person small { font-size: 13px; }
.surprise-teaser p { font-size: 14px; }
.surprise-teaser .small-label { font-size: 11px; }
.event-tags span { font-size: 11px; border-radius: 999px; padding: 6px 10px; }
.pass-card p { font-size: 14px; }
.pass-card .button { font-size: 13px; }
.pass-bottom { font-size: 11px; }
.pass-id { font-size: 9px; letter-spacing: .6px; }
.hero-copy p:not(.hero-kicker) { font-size: 15px; }
.hero-copy .button { font-size: 13px; }
.hero-kicker, .hero-top .outline-pill { font-size: 10px; }
.hero-art { opacity: .75; }
.hero-copy { z-index: 4; }
.hero-bottom, .hero-serial { font-size: 9px; letter-spacing: .5px; }
.hero-party { padding-bottom: 22px; }
.ticker { font-size: 11px; letter-spacing: 1px; }
.round-top .small-label { font-size: 12px; }
.admin-stat span, .admin-team, .guest-table { font-size: 14px; }
.guest-table th, .guest-table select, .guest-table .guest-name { font-size: 13px; }
.guest-table .guest-name small { font-size: 12px; }
.surprise-buttons button { font-size: 14px; border-radius: 16px; padding: 16px; }
.admin-round p, .moderation-message p { font-size: 15px; }
.moderation-message small { font-size: 12px; }
.main-footer { font-size: 11px; letter-spacing: .3px; }
.audio-dock { border-radius: 20px; padding: 12px 16px; }
.track-name strong { font-size: 11px; }
.track-name span { font-size: 10px; }
.audio-play { border-radius: 50%; width: 36px; height: 36px; }
.audio-dock .icon-button { min-width: 32px; min-height: 32px; }

/* Azul e rosa do Orkut com contraste reforçado para leitura. */
.orkut-mode { --muted: #506782; color: #2c405b; }
.orkut-mode .panel {
  border-color: #c5d4e8;
  box-shadow: 0 8px 28px #395f8510;
}
.orkut-mode label, .orkut-mode legend { color: #3a5270; }
.orkut-mode .small-label { color: #536b89; }
.orkut-mode .nav-item { color: #486584; }
.orkut-mode .nav-item.active {
  background: #f5e4f1; color: #a0277b; box-shadow: none;
}
.orkut-mode .sidebar-note { border: 0; background: #e8eff9; }
.orkut-mode input::placeholder, .orkut-mode textarea::placeholder { color: #637891; }
.orkut-mode .text-link { color: #3d628f; }
.orkut-mode .connection { color: #46667e; }
.orkut-mode .window label, .orkut-mode .window legend { color: #e2d6eb; }
.orkut-mode .window .small-label { color: #c9b5d7; }
.orkut-mode .window input::placeholder { color: #ac9ab9; }
.orkut-layout { grid-template-columns: minmax(250px,.72fr) minmax(0,1.28fr); gap: 28px; align-items: start; }
.community { gap: 14px; padding: 18px 0; }
.community p, .orkut-mode .community p { color: #365e8a; font-size: 15px; line-height: 1.5; }
.community small { font-size: 12px; }
.community-avatar { width: 48px; height: 48px; border-radius: 17px; }
.community button { font-size: 13px; min-height: 40px; border-radius: 999px; padding: 8px 13px; }
.message-author { font-size: 15px; flex-wrap: wrap; }
.message-author small { font-size: 12px; }
.message-item { padding: 26px 0; }
.message-item p { font-size: 17px; line-height: 1.8; margin-block: 14px 18px; }
.message-actions { gap: 18px; flex-wrap: wrap; }
.message-actions button { font-size: 13px; min-height: 38px; }
.post-photo { border-radius: 20px; }
.photo-upload { border-radius: 18px; padding: 16px; font-size: 14px; }
.photo-upload input { font-size: 13px; padding: 8px 0 0; }
.party-countdown {
  border-radius: 28px; border: 0; padding: 30px 34px;
  background: radial-gradient(ellipse at top right,#f9e2f2,transparent 65%),#f3f8ff;
  box-shadow: 0 8px 30px #395f850b;
}
.party-countdown h2 { font-size: 28px; }
.party-countdown p { font-size: 14px; }
.countdown-numbers { gap: 24px; flex-shrink: 0; }
.countdown-numbers b { font-family: 'Trebuchet MS',sans-serif; font-size: 44px; }
.countdown-numbers small { font-size: 12px; color: #526c8a; }
.empty-state { font-size: 15px; }
.profile-summary p, .history-row { font-size: 15px; }
.badge { border-radius: 999px; font-size: 13px; }

@media (min-width: 761px) and (max-width: 1100px) {
  .orkut-layout { grid-template-columns: minmax(0,1fr); }
  .orkut-layout > .panel:last-child { order: -1; }
  .party-countdown { flex-wrap: wrap; }
  .countdown-numbers { flex-shrink: 1; }
}
@media (min-width: 561px) and (max-width: 980px) {
  .sidebar .nav-item { padding: 13px 16px; }
  .hero-copy h2 { max-width: 100%; }
}
@media (max-width: 760px) {
  .orkut-layout { grid-template-columns: minmax(0,1fr); gap: 22px; }
  .orkut-layout > .panel:last-child { order: -1; }
  .panel, .admin-main .panel { padding: 24px; }
  .party-countdown { padding: 25px; }
  .countdown-numbers b { font-size: 38px; }
  .section-heading.compact h2 { font-size: 22px; }
  .section-heading.compact .text-link { font-size: 13px; }
  .party-countdown h2 { font-size: 26px; }
  .mission-card h3, .phase-card h3 { font-size: 21px; }
  .hero-copy p:not(.hero-kicker) { max-width: 78%; }
  .breadcrumb { display: none; }
}
@media (max-width: 560px) {
  .main-content { padding: 26px 16px 175px; }
  .section-top { gap: 16px; }
  .section-top .button { width: 100%; }
  .panel, .admin-main .panel { padding: 22px; }
  .section-top .small-label { font-size: 11px; }
  .section-top > .text-link { font-size: 11px; max-width: none; }
  .sidebar { height: 77px; }
  .main-nav { padding-top: 7px; }
  .sidebar .nav-item { min-width: 0; padding: 8px 3px; border-radius: 13px; gap: 5px; }
  .sidebar .nav-item > span:not(.nav-count):not(.nav-indicator):not(.pink-dot) {
    font-size: 10px; line-height: 1.25; letter-spacing: -.2px;
  }
  .nav-item.active { box-shadow: none; }
  .audio-dock { bottom: 88px; padding: 10px 12px; gap: 8px; }
  .track-name { min-width: 0; }
  .track-name strong { font-size: 9px; }
  .track-name span { font-size: 9px; }
  .audio-play { width: 34px; height: 34px; flex-shrink: 0; }
  .volume-label input { width: 35px; }
  .audio-dock #equalizer { display: none; }
  .toast { bottom: 162px; }
  .connection { font-size: 12px; }
  .topbar { height: 70px; }
  .party-countdown { padding: 24px; border-radius: 24px; }
  .countdown-numbers { gap: 10px; }
  .countdown-numbers b { font-size: 34px; }
  .countdown-numbers small { font-size: 12px; }
  .community { flex-wrap: wrap; }
  .community > div { flex: 1; min-width: 100px; }
  .community button { margin-left: 62px; }
  .message-author small { margin-left: 0; }
  .message-item p { font-size: 16px; }
  .message-actions { gap: 12px; }
  .form-two { grid-template-columns: minmax(0,1fr); }
  .form-row > .micro { flex-basis: 100%; }
  .mini-phase strong { font-size: 14px; }
  .mission-card p, .phase-card p { font-size: 14px; }
  .round-top .small-label { font-size: 11px; }
  .answer-option { font-size: 16px; }
  .dialog-body { padding: 25px; }
  .dialog-body h2 { font-size: 34px; }
  .main-footer { flex-direction: column; gap: 7px; font-size: 11px; }
  .main-footer > span:last-child { text-align: left; }
}
@media (max-height: 800px) and (min-width: 981px) {
  .sidebar-note { display: none; }
  .edition { margin-bottom: 22px; }
}

/* Contraste e peso reforçados: informações da festa devem ser lidas de relance. */
:root { --muted: #d8d0e3; }
body { font-size: 18px; }
h1 { font-size: clamp(36px, 3.5vw, 48px); }
h2, .section-heading h2 { font-size: 28px; }
h3 { font-size: 24px; }
.micro, .dialog-body .micro { font-size: 14px; font-weight: 600; }
.small-label, .section-top .small-label, .section-heading .small-label,
.round-top .small-label { font-size: 13px; font-weight: 800; letter-spacing: .6px; }
.button, .button.small, .text-link { font-size: 16px; font-weight: 750; }
.outline-pill, .tiny-tag { font-size: 13px; font-weight: 700; white-space: normal; }
.nav-item, .sidebar-bottom .nav-item { font-size: 16px; font-weight: 750; }
.nav-label, .edition { font-size: 12px; font-weight: 700; }
.sidebar-note p { font-size: 16px; }
.sidebar-note .micro { font-size: 12px; }
.sidebar-footer, .sidebar-footer span { font-size: 11px; }
.breadcrumb { font-size: 12px; font-weight: 700; }
.connection, .profile-chip { font-size: 14px; font-weight: 700; }
.section-top > .text-link { font-size: 14px; }
.hero-copy h2 {
  font-family: 'Arial Black', 'Segoe UI', Arial, sans-serif;
  font-size: clamp(44px, 4vw, 68px);
  font-weight: 900; letter-spacing: -.035em; line-height: 1.04;
}
.hero-copy p:not(.hero-kicker) { font-size: 18px; font-weight: 600; line-height: 1.65; }
.hero-copy .button { font-size: 16px; padding: 15px 22px; }
.hero-kicker, .hero-top .outline-pill { font-size: 12px; font-weight: 800; }
.hero-bottom, .hero-serial { font-size: 11px; font-weight: 700; letter-spacing: .2px; }
.hero-art { opacity: .55; }
.hero-top { gap: 12px; flex-wrap: wrap; }
.hero-party { min-height: 430px; }
.hero-bottom { gap: 12px; flex-wrap: wrap; }
.ticker { font-size: 13px; font-weight: 700; }
.mission-card h3 { font-size: 25px; }
.mission-card p { font-size: 17px; font-weight: 600; }
.mission-card .tiny-tag { font-size: 12px; }
.mini-phases { grid-template-columns: repeat(2,minmax(0,1fr)); }
.mini-phase { min-height: 145px; }
.mini-phase strong { font-size: 17px; font-weight: 750; }
.mini-phase > span:last-child, .mini-phase .phase-num { font-size: 13px; font-weight: 700; }
.phase-card h3 { font-size: 24px; }
.phase-card p { font-size: 16px; }
.phase-card .small-label { font-size: 12px; }
.phase-counter { font-size: 13px; font-weight: 800; }
.surprise-teaser h3 { font-size: 31px; }
.surprise-teaser p { font-size: 17px; font-weight: 600; }
.surprise-teaser .small-label { font-size: 12px; }
.event-tags span { font-size: 12px; font-weight: 750; }
.online-card h3 { font-size: 19px; }
.online-card .micro, .empty-small { font-size: 14px; }
.pass-top .small-label { font-size: 11px; font-weight: 800; }
.pass-card h3 { font-size: 24px; }
.pass-card p { font-size: 16px; font-weight: 600; }
.pass-card .button { font-size: 14px; }
.pass-bottom { font-size: 13px; font-weight: 700; flex-wrap: wrap; }
.pass-id { font-size: 10px; }
.answer-option { font-size: 18px; font-weight: 650; }
.waiting { font-size: 16px; }
.main-footer { font-size: 12px; font-weight: 600; }
body:not(.orkut-mode) .nav-item,
body:not(.orkut-mode) .sidebar-note p,
body:not(.orkut-mode) .sidebar-note strong,
body:not(.orkut-mode) .breadcrumb,
body:not(.orkut-mode) .breadcrumb strong,
body:not(.orkut-mode) .small-label,
body:not(.orkut-mode) .section-top .small-label,
body:not(.orkut-mode) .hero-copy p:not(.hero-kicker),
body:not(.orkut-mode) .hero-kicker,
body:not(.orkut-mode) .hero-serial,
body:not(.orkut-mode) .hero-bottom,
body:not(.orkut-mode) .ticker,
body:not(.orkut-mode) .mission-card p,
body:not(.orkut-mode) .mini-phase > span:last-child,
body:not(.orkut-mode) .mini-phase .phase-num,
body:not(.orkut-mode) .surprise-teaser p,
body:not(.orkut-mode) .pass-card p,
body:not(.orkut-mode) .pass-top .small-label,
body:not(.orkut-mode) .pass-bottom,
body:not(.orkut-mode) .pass-id,
body:not(.orkut-mode) .text-link,
body:not(.orkut-mode) .main-footer { color: #e8e1f0; }
body:not(.orkut-mode) .nav-item.active { color: #c5ff49; background: #b5ff001a; }
body:not(.orkut-mode) .button.outline { border-color: #b4a5c5; background: #ffffff0b; }
body:not(.orkut-mode) .mission-card { background: #17211c; border-color: #89bd55; }
body:not(.orkut-mode) .surprise-teaser { border-color: #bb659e; }
body:not(.orkut-mode) .mini-phase { border-color: #7a658b; }
body:not(.orkut-mode) .mini-phase.active { border-color: var(--lime); }
.orkut-mode { --muted: #3f5672; }
.orkut-mode .small-label { color: #405976; }
.orkut-mode .nav-item { color: #354f70; }
.orkut-mode .message-item p { color: #243b57; font-weight: 550; font-size: 18px; }
.orkut-mode .community p { font-size: 17px; font-weight: 650; }
.orkut-mode .community small { font-size: 14px; color: #455e7c; }
.orkut-mode .message-actions button { color: #65417e; font-size: 14px; font-weight: 700; }
.orkut-mode .window { --muted: #d8cbe1; }
@media (min-width: 981px) {
  .sidebar { width: 260px; }
  .app-shell { margin-left: 260px; }
  .hero-grid { grid-template-columns: minmax(0,1fr) 250px; }
  .content-columns { grid-template-columns: minmax(0,1fr) 295px; }
}
@media (max-width: 1200px) and (min-width: 761px) {
  .hero-grid, .content-columns { grid-template-columns: minmax(0,1fr); }
  .pass-card { display: none; }
  .lobby-aside { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
  .hero-art { width: 40%; }
}
@media (max-width: 760px) {
  .hero-copy h2 { font-size: clamp(42px,8vw,60px); max-width: 100%; }
  .hero-copy p:not(.hero-kicker) { max-width: 100%; }
  .hero-art { opacity: .25; }
  .section-heading.compact h2 { font-size: 24px; }
  .section-heading.compact .text-link { font-size: 14px; }
  .mission-card h3 { font-size: 23px; }
  .mission-card p, .phase-card p { font-size: 16px; }
  .mission-card { align-items: flex-start; }
}
@media (max-width: 560px) {
  .sidebar { height: 92px; }
  .sidebar .nav-item > span:not(.nav-count):not(.nav-indicator):not(.pink-dot) {
    font-size: 12px; font-weight: 750; line-height: 1.3;
  }
  .sidebar .nav-item { padding: 10px 2px; }
  .audio-dock { bottom: 103px; }
  .toast { bottom: 178px; }
  .main-content { padding-bottom: 195px; }
  .hero-party { min-height: 440px; }
  .hero-copy h2 { font-size: clamp(40px,10vw,56px); }
  .hero-copy p:not(.hero-kicker) { font-size: 17px; }
  .hero-kicker { font-size: 12px; letter-spacing: .5px; }
  .section-top .small-label { font-size: 12px; }
  .section-top > .text-link { font-size: 14px; }
  .mini-phase strong { font-size: 16px; }
  .phase-counter { font-size: 12px; }
  .round-top .small-label { font-size: 12px; }
  .track-name strong, .track-name span { font-size: 11px; }
  .main-footer { font-size: 12px; }
}
