/* Una paleta global para el calendario base, fechas especiales y personalizaciones. */
html.norte-season-unified{--season-color:#58366f;--season-paper:#fff4e2;--season-gold:#efb66f}
html.norte-season-unified body,html.norte-season-unified .hub-main,html.norte-season-unified body[data-page=app]{background:var(--season-paper)!important}
html.norte-season-unified .pagehead,html.norte-season-unified .hub-hero,html.norte-season-unified .hero,html.norte-season-unified .app-sidebar,html.norte-season-unified .hub-sidebar,html.norte-season-unified .raffle-art-banner,html.norte-season-unified .access-drawing{background:var(--season-color)!important;color:#fff9ef!important}
html.norte-season-unified .season-panel{position:relative;isolation:isolate;overflow:hidden}
html.norte-season-unified .season-panel .season-art{position:absolute;right:0;top:0;width:65%;height:100%;z-index:0;color:var(--season-gold);pointer-events:none;opacity:.6}
html.norte-season-unified .season-panel>.theme-copy,html.norte-season-unified .season-panel>.hero-copy,html.norte-season-unified .raffle-art-banner>div,html.norte-season-unified .access-drawing>div{position:relative;z-index:1}
html.norte-season-unified .season-panel h1,html.norte-season-unified .season-panel h2,html.norte-season-unified .season-panel p{color:inherit!important}
html.norte-season-unified .season-panel .eyebrow,html.norte-season-unified .theme-signature{color:var(--season-gold)!important}
#season-backdrop{position:fixed;inset:0;overflow:hidden;pointer-events:none;z-index:0;opacity:.08}#season-backdrop>.season-art{position:absolute;width:65%;height:75%;right:0;top:0;color:var(--season-gold)}#season-backdrop>.season-art+svg{top:45%;right:auto;left:0;transform:rotate(180deg)}
html.norte-season-unified .season-strip{position:relative;display:flex;align-items:center;gap:14px;padding:16px 20px;margin:16px 0;border:1px solid color-mix(in srgb,var(--season-gold),#fff 30%);border-radius:18px;background:linear-gradient(110deg,var(--season-paper),#fffdf8);color:var(--season-color)}
.season-strip small{display:block;font-size:10px;font-weight:750;letter-spacing:.16em}.season-strip strong{display:block;font-size:clamp(15px,2vw,21px);margin-top:4px}.season-strip .season-mark{font-size:28px}
html.norte-season-unified .norte-season-label{display:none!important}
html.norte-season-unified body.comm-themed>header{background:var(--season-color)!important;border-color:var(--season-gold);color:white}
body.comm-themed>header>*:not(.season-art){position:relative;z-index:1}
html.norte-season-unified body.comm-themed .item.active,html.norte-season-unified body.comm-themed .mobile-nav button.selected,html.norte-season-unified body.comm-themed #compose button{background:var(--season-color)!important;color:white}
html.norte-season-unified body.comm-themed .item.active small{color:#fff9ef}
body.comm-themed .bubble.mine{background:color-mix(in srgb,var(--season-color) 10%,white);border-color:color-mix(in srgb,var(--season-color) 25%,white)}
body.comm-themed #season-strip{flex:none;max-width:none;margin:8px 14px;padding:9px 14px;min-height:52px;border-radius:12px}body.comm-themed #season-strip small{font-size:8px}body.comm-themed #season-strip strong{font-size:14px}
body.comm-themed{display:flex;flex-direction:column;height:100dvh;overflow:hidden}body.comm-themed main{flex:1;min-height:0;height:auto;width:100%}
.calendar-base{max-height:400px;overflow:auto;border:1px solid #d5dce0;border-radius:10px;padding:0 12px}
html.dark.norte-season-unified body,html.dark.norte-season-unified .hub-main,html.dark.norte-season-unified body[data-page=app]{background:#17212e!important}
html.dark.norte-season-unified .season-strip{background:#222d39;color:#f8e7c6}
@media(max-width:650px){body.comm-themed #season-strip{margin:5px 10px;padding:7px 12px;min-height:46px}body.comm-themed #season-strip strong{font-size:12px}body.comm-themed #season-strip .season-mark{font-size:20px}html.norte-season-unified .season-panel .season-art{width:90%;opacity:.3}.calendar-base{max-height:300px}}
@media(prefers-reduced-motion:reduce){html.norte-season-unified *,html.norte-season-unified *::before,html.norte-season-unified *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

body[data-page=access] .access-wrap>#season-strip{grid-column:1/-1;margin:0}
body.comm-themed .my-avatar,body.comm-themed .avatar,body.comm-themed .conversation-avatar{background:var(--season-color);color:#fff}
body.comm-themed .presence,body.comm-themed .chat-head,body.comm-themed .mobile-nav{background:color-mix(in srgb,var(--season-color) 8%,white)}
body.comm-themed .bubble strong,body.comm-themed .conversation-tools button,body.comm-themed #back-contacts{color:var(--season-color)}
body.comm-themed .mobile-nav button.selected{border-color:var(--season-color)}

/* V50: composición estacional en toda la interfaz. */
html.norte-season-unified body{background-image:var(--season-tile)!important;background-size:180px;background-attachment:fixed}
html.norte-season-unified .hub-main{background:linear-gradient(90deg,transparent,var(--season-paper) 12%,var(--season-paper) 88%,transparent)!important}
html.norte-season-unified .app-sidebar,html.norte-season-unified .hub-sidebar{background-image:var(--season-header-tile)!important;background-repeat:repeat!important;background-position:right top!important;background-size:96px!important;border-bottom:4px solid var(--season-gold)}
html.norte-season-unified .app-sidebar nav,html.norte-season-unified .hub-sidebar nav{background:var(--season-color);border-radius:16px}
html.norte-season-unified .panel,html.norte-season-unified .stat,html.norte-season-unified .record,html.norte-season-unified .ranking-filters{border-top:3px solid var(--season-gold);box-shadow:0 8px 24px #16243108;background-color:#fffefb}
html.norte-season-unified .panel>h2,html.norte-season-unified .record-head>h2{border-left:4px solid var(--season-gold);padding-left:12px;color:var(--season-color)}
html.norte-season-unified .stat{background-image:var(--season-tile);background-repeat:no-repeat;background-position:right -18px top -20px;background-size:65px}
html.norte-season-unified .pagehead,html.norte-season-unified .hub-hero{min-height:0!important;padding:28px 32px!important;border-radius:22px;border-left:5px solid var(--season-gold)}
html.norte-season-unified .pagehead h1,html.norte-season-unified .hub-hero h1{font-size:clamp(30px,4vw,48px)!important;line-height:1.15;margin:12px 0}
html.norte-season-unified .pagehead p,html.norte-season-unified .hub-hero p{margin:10px 0 0;max-width:75%}
html.norte-season-unified .season-strip{padding-right:74px;background-image:var(--season-tile),linear-gradient(110deg,var(--season-paper),#fffdf8);background-repeat:no-repeat;background-size:64px,100%;background-position:right 8px center,center}
html.norte-season-unified table{background:#fffefb}html.norte-season-unified thead{background:var(--season-paper);color:var(--season-color)}
html.norte-season-unified .ranking-stage{border-bottom:4px solid var(--season-gold)}
html.norte-season-unified body.comm-themed #messages{background-color:var(--season-paper);background-image:var(--season-tile);background-size:160px}
html.norte-season-unified body.comm-themed .bubble{position:relative;background-color:#fffefb}
html.norte-season-unified footer{border-top:3px solid var(--season-gold);padding:22px;background:var(--season-paper)}
html.dark.norte-season-unified .panel,html.dark.norte-season-unified .stat,html.dark.norte-season-unified .record,html.dark.norte-season-unified table{background-color:#222d39;color:#f8e7c6}
@media(max-width:650px){html.norte-season-unified body{background-size:125px}html.norte-season-unified .pagehead,html.norte-season-unified .hub-hero{padding:22px!important}html.norte-season-unified .pagehead p,html.norte-season-unified .hub-hero p{max-width:85%}html.norte-season-unified .app-sidebar,html.norte-season-unified .hub-sidebar{background-size:76px!important}html.norte-season-unified .season-strip strong{font-size:15px}}
@media print{html.norte-season-unified body{background-image:none!important}#season-backdrop,.season-art{display:none!important}}

/* Decorations occupy existing surfaces, never additional header space. */
html.norte-season-unified .app-sidebar,html.norte-season-unified .hub-sidebar{padding-top:28px}
html.norte-season-unified .app-sidebar .brand,html.norte-season-unified .hub-sidebar .brand{background:var(--season-color);border-radius:12px}
html.norte-season-unified .app-main,html.norte-season-unified .hub-main{background-image:var(--season-tile)!important;background-repeat:repeat!important;background-size:150px!important}
html.norte-season-unified .app-top,html.norte-season-unified .hub-top{background:var(--season-paper)}
html.norte-season-unified .season-strip{box-shadow:inset 4px 0 var(--season-gold)}
@media(max-width:900px){html.norte-season-unified .app-sidebar,html.norte-season-unified .hub-sidebar{padding-top:20px}}
@media print{html.norte-season-unified .app-main,html.norte-season-unified .hub-main,html.norte-season-unified .app-sidebar,html.norte-season-unified .hub-sidebar{background-image:none!important}}
