/* V2: contador protagonista (Codex Resets), hierarquia explícita (Codex Reset),
   estado legível (Better Stack). Identidade Bricolage/papel/amarelo preservada. */
:root { --paper:#f6f3e9; --ink:#292c25; --muted:#66695c; --card:#fffef9; --surface:#eeede3; --line:#42463a; --soft-line:#dedfd2; --yellow:#edcc59; --usage:#edcc59; }
:root[data-theme=dark] { --paper:#181c18; --ink:#f4f1e5; --muted:#b9bdab; --card:#232922; --surface:#2d342b; --line:#78826e; --soft-line:#414b3d; --yellow:#edcc59; --usage:#edcc59; }
body { line-height:1.5; }
::selection { background:#edcc59; color:#292c25; }
.shell { max-width:1240px; padding:0 40px; }
.masthead { min-height:100px; padding:22px 0; border-bottom:1px solid var(--line); }
.brand { gap:12px; }
.brand>svg { width:43px; height:43px; }
.brand>span { font-size:25px; letter-spacing:-.8px; }
.brand small { font-size:10px; letter-spacing:.04em; }
.header-actions { gap:20px; }
.stage-nav { display:flex; gap:22px; margin-right:8px; }
.stage-nav a { display:flex; align-items:center; min-height:44px; color:var(--muted); text-decoration:none; font-size:13px; font-weight:650; }
.stage-nav a:hover { color:var(--ink); }
.icon-button { width:44px; height:44px; border-radius:50%; }
.text-button { min-height:44px; }
.intro { display:flex; align-items:center; justify-content:center; width:calc(100% - 306px); text-align:center; padding:36px 0 26px; }
.intro h1 { font-size:clamp(34px,4.2vw,52px); line-height:1.05; letter-spacing:-.04em; }
.monitoring-stage { display:grid; grid-template-columns:minmax(0,1fr) 284px; align-items:start; gap:22px; min-height:0; padding-bottom:32px; }
.monitoring-main,.monitoring-side { min-width:0; }
.monitoring-side { display:flex; flex-direction:column; gap:16px; }
.reset-grid { gap:18px; align-items:stretch; }
.card { border:1px solid var(--line); box-shadow:none; border-radius:14px; }
.hero { padding:24px 22px 0; text-align:center; display:flex; flex-direction:column; }
.hero h2 { font-size:22px; line-height:1.2; letter-spacing:-.035em; }
.hero h2::before { display:none; }
.monitoring-stage .reset-clock { margin:24px 0 26px; }
.elapsed-label { font-size:12px; color:var(--muted); }
.elapsed { justify-content:center; gap:10px; margin-top:10px; }
.time-block,.time-block:nth-child(2) { transform:none; background:var(--yellow); border:1px solid #625b34; border-radius:9px; box-shadow:0 3px 0 #b9a34f; padding:2px 10px 6px; gap:4px; color:#2b2d22; }
.time-block b { font-size:clamp(52px,5.6vw,74px); letter-spacing:-.04em; line-height:1.12; }
.time-block span { font-size:14px; font-weight:600; }
.reset-estimate { text-align:center; padding-top:0; }
.estimate-heading { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.reset-details { margin-top:20px; }
.reset-details>summary { min-height:44px; padding:12px 0; font-size:12px; }
.reset-detail-body { padding-top:8px; }
.forecast-card.no-reset { border-color:var(--soft-line); background:transparent; border-radius:8px; }
.availability-card { margin-top:16px; padding:20px 22px 0; border-color:var(--signal-line); border-radius:14px; }
.service-question { font-size:13px; }
.service-answer { font-size:34px; letter-spacing:-.04em; }
.service-note { font-size:13px; line-height:1.6; }
.monitoring-calendar { border-color:var(--soft-line); background:var(--surface); border-radius:14px; box-shadow:none; }
.monitoring-calendar>summary { min-height:56px; padding:16px; }
.monitoring-calendar h2 { font-size:16px; letter-spacing:-.025em; }
.calendar-day { border-radius:6px; }
.calendar-day:disabled { opacity:.75; }
.ad-empty { display:none; }
body .shell main>.intro { height:auto; min-height:0; padding:26px 0 24px; }
body .monitoring-main { display:flex; flex-direction:column; }
body .monitoring-main>.reset-grid { order:0; }
body .monitoring-main>.availability-card { order:1; }
body .monitoring-main>.forecast-card.no-reset { order:2; }
body .monitoring-main>.forecast-card:not(.no-reset),body .monitoring-main>.monitor-alert { order:-1; }
body .monitoring-stage .hero { display:flex; flex-direction:column; padding:20px 20px 0; }
body .monitoring-stage .reset-clock { margin:16px 0 12px; }
body .monitoring-stage .elapsed { min-height:0; }
body .monitoring-stage .estimate-heading { margin:4px 0 8px; }
body .monitoring-stage .reset-estimate { margin:0 0 12px; }
body .monitoring-stage .reset-details { margin:auto 0 0; }
body .availability-card .service-answer { font-size:30px; line-height:1.15; }
body .availability-card .service-note { font-size:13px; margin:4px 0; }
body .availability-card .service-recovery { margin:4px 0; }
body .availability-card .service-overview { padding-bottom:10px; }
body .monitoring-stage .availability-card { padding:20px 22px 0; }
body .monitoring-stage .service-overview { display:grid; grid-template-columns:minmax(0,1fr); justify-items:center; gap:0; margin:0; text-align:center; }
body .monitoring-stage .availability-icon,body .monitoring-stage .service-checked,body .monitoring-stage .service-recovery { display:none; }
body .monitoring-stage .service-text { width:100%; }
body .monitoring-stage .service-text .service-question { margin:0 0 8px; }
body .availability-card .service-answer { margin:0; font-size:36px; }
body .availability-card .service-note { margin:6px auto 0; }
body .availability-card.operational .service-note { display:none; }
body .monitoring-stage .service-details>summary { justify-content:center; gap:8px; }
body .monitoring-stage .service-details-label { display:inline; }
body .monitoring-stage .service-details-short { display:none; }
body .availability-card .service-details>summary { min-height:38px; padding-top:10px; padding-bottom:10px; }
.news-section { padding-top:30px; border-top:1px solid var(--line); }
.news-section .section-header { margin-bottom:22px; }
.news-section h2 { font-size:29px; letter-spacing:-.035em; }
.campaign-card { border-color:var(--soft-line); border-radius:12px; box-shadow:none; }
.news-article { padding:24px 0; }
.news-article h3 { max-width:37ch; font-size:23px; line-height:1.25; letter-spacing:-.025em; }
.news-article p { max-width:70ch; line-height:1.65; }
.explore-sections { margin-top:28px; }
.fold { border-radius:10px; box-shadow:none; border-color:var(--soft-line); }
.fold>summary { min-height:56px; }
dialog { border:1px solid var(--line); border-radius:16px; box-shadow:0 24px 80px #17201740; }
footer { margin-top:24px; border-top:1px solid var(--line); padding:22px 0 28px; }
:focus-visible { outline:3px solid #9e7714; outline-offset:4px; }
@media(max-width:1050px) {
  .intro { width:100%; }
  .stage-nav { gap:14px; }
  .monitoring-stage { grid-template-columns:1fr; }
  .monitoring-side { display:block; }
  .monitoring-calendar { max-width:none; }
  .time-block b { font-size:70px; }
}
@media(max-width:680px) {
  .shell { padding:0 18px; }
  .masthead { min-height:80px; padding:18px 0; }
  .brand>svg { width:33px; height:33px; }
  .brand>span { font-size:22px; }
  .header-actions { gap:10px; }
  .stage-nav { display:none; }
  .intro { display:block; padding:30px 0 24px; }
  .intro h1 { font-size:37px; }
  .reset-grid { grid-template-columns:1fr; gap:18px; }
  .hero { padding:22px 22px 0; }
  .hero h2 { font-size:23px; }
  .time-block b { font-size:72px; }
  .time-block { padding-right:13px; padding-left:13px; }
  .availability-card { padding:20px 20px 0; }
  .news-section h2 { font-size:27px; }
  .news-section .section-header { gap:18px; }
}
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation:none!important; transition:none!important; } }
