/* Holiday modes decorate the workspace; message and compose content stay readable. */
.holiday-ribbon,.holiday-scene,.holiday-lights{display:none}
.holiday-picker{border:1px solid var(--line);border-radius:14px;padding:18px;margin:0 0 24px;background:var(--surface-soft)}
.holiday-picker-heading .eyebrow{font-size:8px;color:var(--accent-muted);letter-spacing:1.5px}.holiday-picker-heading h3{font-size:20px;letter-spacing:-.6px;margin:8px 0;color:var(--text);font-weight:650}.holiday-picker-heading p{font-size:11px;line-height:1.7;color:var(--secondary);margin:0 0 16px}
.holiday-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}.holiday-option{position:relative;min-width:0;cursor:pointer}.holiday-option>input{position:absolute;opacity:0;width:1px;height:1px}.holiday-preview{position:relative;display:block;aspect-ratio:5/3;border-radius:9px;overflow:hidden;border:2px solid transparent;background:#e9efec}.holiday-preview>img{display:block;width:100%;height:100%;object-fit:cover}.holiday-selected{display:none;position:absolute;right:6px;bottom:6px;background:#fff;color:#174b42;border-radius:50%;width:20px;height:20px;text-align:center;font:normal 12px/20px system-ui}.holiday-option:has(input:checked) .holiday-preview{border-color:var(--green);box-shadow:0 0 0 2px white inset}.holiday-option:has(input:checked) .holiday-selected{display:block}.holiday-option:has(input:focus-visible) .holiday-preview{outline:2px solid var(--green);outline-offset:3px}.holiday-option>strong{display:block;font-size:11px;line-height:1.5;margin-top:9px;color:var(--text)}.holiday-option>small{display:block;font-size:10px;line-height:1.5;color:var(--secondary);margin-top:4px}.everyday-preview{display:grid;grid-template-columns:22% 30% 1fr;gap:4px;padding:12px;height:100%;background:linear-gradient(135deg,#dbe9e1,#edf1ed)}.everyday-preview i{background:#fff;border-radius:4px}.everyday-preview i:first-child{background:#73938a}.holiday-motion{display:flex;align-items:flex-start;gap:9px;font-size:11px;line-height:1.6;color:var(--text);margin-top:19px}.holiday-motion input{accent-color:var(--green);margin-top:2px}.holiday-motion small{display:block;font-size:10px;color:var(--secondary);margin-top:3px}
html[data-holiday=christmas]{--green:#185340;--accent-hover:#23674e;--accent-ink:#1c4b3c;--accent-muted:#557963;--accent-faint:#8c9b82;--accent-soft:#e6efdf;--accent-selected:#edf3e7;--accent-marker:#9b853c;--rail:#163d33;--sidebar:#f6f5e9;--surface-soft:#f7f7ed;--line:#e1e5d6;--holiday-red:#a8323c;--holiday-gold:#f4d17a}
html[data-holiday=thanksgiving]{--green:#8b442a;--accent-hover:#a1532e;--accent-ink:#6b3a26;--accent-muted:#936744;--accent-faint:#b59a6b;--accent-soft:#f9e9cb;--accent-selected:#fff1dc;--accent-marker:#be8539;--rail:#593a2c;--sidebar:#fff7e9;--surface-soft:#fcf4e7;--line:#ecddc3;--holiday-red:#a55231;--holiday-gold:#f1c77a}
html:is([data-holiday=christmas],[data-holiday=thanksgiving]) .app{border-color:#e9ce8b;box-shadow:0 12px 70px #1b302c30}
html:is([data-holiday=christmas],[data-holiday=thanksgiving]) .rail{background:var(--rail);color:#f9ebce;border-color:#ffffff12}
html:is([data-holiday=christmas],[data-holiday=thanksgiving]) .rail button{color:#f5ebd4}
html:is([data-holiday=christmas],[data-holiday=thanksgiving]) .rail .rail-active{background:#ffffff1c;color:#fff6df;border:1px solid #f6d28b44}
html:is([data-holiday=christmas],[data-holiday=thanksgiving]) .sidebar{background:var(--sidebar)}
html:is([data-holiday=christmas],[data-holiday=thanksgiving]) .company-icon{background:var(--green);color:#fff7de;border-color:transparent}
html:is([data-holiday=christmas],[data-holiday=thanksgiving]) .sidebar .compose-btn{background:var(--holiday-red);box-shadow:0 4px 14px #80332a1a;color:white}
html:is([data-holiday=christmas],[data-holiday=thanksgiving]) .folder.active{background:var(--accent-soft);box-shadow:inset 3px 0 var(--green)}
html:is([data-holiday=christmas],[data-holiday=thanksgiving]) .topbar{position:relative;background:var(--rail);color:#fff2d2;border-bottom:1px solid #e5c27a55;padding-top:8px;min-height:76px}
html:is([data-holiday=christmas],[data-holiday=thanksgiving]) .topbar .breadcrumb,html:is([data-holiday=christmas],[data-holiday=thanksgiving]) .topbar .breadcrumb strong,html:is([data-holiday=christmas],[data-holiday=thanksgiving]) .topbar>.icon-btn{color:#f2e6c9}
html:is([data-holiday=christmas],[data-holiday=thanksgiving]) .search{background:#fffdf2;border-color:#fff6de}
html:is([data-holiday=christmas],[data-holiday=thanksgiving]) .topbar .install-button{background:#ffffff15;border-color:#f0d59744;color:#fff2d2}
html:is([data-holiday=christmas],[data-holiday=thanksgiving]) .holiday-ribbon{display:flex;align-items:center;gap:12px;flex:none;min-height:65px;padding:10px 25px;background:#faf6e9;border-bottom:1px solid var(--line);color:var(--green)}
.holiday-ribbon>div{min-width:0}.holiday-ribbon b{display:block;font-size:8px;letter-spacing:2px;font-weight:700;margin-bottom:5px}.holiday-ribbon span>span{font-family:Georgia,serif;font-size:20px;letter-spacing:-.3px}.holiday-ribbon button{margin-left:auto;font-size:10px;white-space:nowrap;color:var(--green);padding:8px 0 8px 12px}.holiday-christmas-copy,.holiday-thanksgiving-copy{display:none}
html[data-holiday=christmas] .holiday-christmas-copy,html[data-holiday=thanksgiving] .holiday-thanksgiving-copy{display:block}
.holiday-ribbon-symbol{display:grid;place-items:center;width:34px;height:34px;flex:none;color:var(--holiday-red)}
html[data-holiday=christmas] .holiday-ribbon-symbol:before{content:'✧';font-size:36px}
html[data-holiday=thanksgiving] .holiday-ribbon-symbol:before{content:'';width:30px;height:32px;background:#bb6333;clip-path:polygon(50% 0,61% 23%,81% 12%,76% 39%,99% 42%,75% 61%,78% 81%,55% 75%,53% 100%,47% 100%,45% 75%,22% 81%,25% 61%,1% 42%,24% 39%,19% 12%,39% 23%)}
html[data-holiday=thanksgiving] .holiday-ribbon{background:linear-gradient(100deg,#fff5df,#f9e4bd)}
html[data-holiday=christmas] .inbox-heading{background:linear-gradient(180deg,#faf7ed,white)}
html[data-holiday=thanksgiving] .inbox-heading{background:linear-gradient(180deg,#fff6e5,white)}
html:is([data-holiday=christmas],[data-holiday=thanksgiving]) .reader-body{background:#fffdf8;border:1px solid var(--line)}
html:is([data-holiday=christmas],[data-holiday=thanksgiving]) .reader-empty{background:#fffcf2ed;min-height:calc(100% - 48px);height:auto;padding:35px 25px;border:1px solid #eddcb766;box-shadow:0 8px 30px #37270c12}
html:is([data-holiday=christmas],[data-holiday=thanksgiving]) .reader-empty>img{display:none}
html:is([data-holiday=christmas],[data-holiday=thanksgiving]) .reader-empty:before{content:'';display:block;flex:none;width:min(360px,100%);aspect-ratio:5/3;background:center/contain no-repeat;border-radius:18px;box-shadow:0 8px 25px #59432215}
html[data-holiday=christmas] .reader-empty:before{background-image:url('/holiday-christmas.svg')}
html[data-holiday=thanksgiving] .reader-empty:before{background-image:url('/holiday-thanksgiving.svg')}
html:is([data-holiday=christmas],[data-holiday=thanksgiving]) .reader-empty h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-.5px;color:var(--green);font-size:27px}
html:is([data-holiday=christmas],[data-holiday=thanksgiving]) .reader-empty p{color:var(--accent-muted)}
html:is([data-holiday=christmas],[data-holiday=thanksgiving]) .sidebar-note>img,html:is([data-holiday=christmas],[data-holiday=thanksgiving]) .sidebar-note>strong,html:is([data-holiday=christmas],[data-holiday=thanksgiving]) .sidebar-note>p{display:none}
html:is([data-holiday=christmas],[data-holiday=thanksgiving]) .sidebar-note{padding:0;border:0}
html:is([data-holiday=christmas],[data-holiday=thanksgiving]) .holiday-scene{display:block;position:relative;overflow:hidden;border-radius:12px;margin-bottom:13px}
/* Twenty-four individual lights, each on a short drop from the cable. */
html[data-holiday=christmas] .holiday-lights{display:flex;position:absolute;left:0;right:0;top:0;height:27px;justify-content:space-around;pointer-events:none;overflow:visible;border-top:2px solid #0b271f;z-index:2}
.holiday-lights i{position:relative;width:8px;height:12px;flex:none;margin-top:6px;border-radius:40% 40% 50% 50%;background:var(--bulb,#f5cf69);box-shadow:0 0 7px 3px color-mix(in srgb,var(--bulb,#f5cf69) 55%,transparent),0 3px 17px 5px color-mix(in srgb,var(--bulb,#f5cf69) 25%,transparent);animation:holiday-color-lights 6s linear infinite}
.holiday-lights i:before{content:'';position:absolute;width:2px;height:7px;left:3px;top:-7px;background:#0a291f}.holiday-lights i:nth-child(4n){--bulb:#f47b6e;animation-delay:-4.5s}.holiday-lights i:nth-child(4n+1){--bulb:#f4d373;animation-delay:0s}.holiday-lights i:nth-child(4n+2){--bulb:#8bd6ac;animation-delay:-1.5s}.holiday-lights i:nth-child(4n+3){--bulb:#a9d9f1;animation-delay:-3s}
@keyframes holiday-color-lights{
  0%,100%{background:#f27169;box-shadow:0 0 8px 3px #f2716988,0 2px 17px 5px #f2716938;opacity:1}
  19%{background:#f27169;box-shadow:0 0 5px 1px #f2716944;opacity:.38}
  25%{background:#f7d575;box-shadow:0 0 8px 3px #f7d57588,0 2px 17px 5px #f7d57538;opacity:1}
  44%{background:#f7d575;box-shadow:0 0 5px 1px #f7d57544;opacity:.38}
  50%{background:#80d5a4;box-shadow:0 0 8px 3px #80d5a488,0 2px 17px 5px #80d5a438;opacity:1}
  69%{background:#80d5a4;box-shadow:0 0 5px 1px #80d5a444;opacity:.38}
  75%{background:#91cafa;box-shadow:0 0 8px 3px #91cafa88,0 2px 17px 5px #91cafa38;opacity:1}
  94%{background:#91cafa;box-shadow:0 0 5px 1px #91cafa44;opacity:.38}
}
html[data-holiday-motion=off] .holiday-lights i{animation:none}html[data-holiday-motion=off] .holiday-weather{display:none}
@media(prefers-reduced-motion:reduce){.holiday-lights i{animation:none!important}.holiday-weather{display:none!important}}
@media(max-height:720px){html:is([data-holiday=christmas],[data-holiday=thanksgiving]) .holiday-scene{max-height:115px}html:is([data-holiday=christmas],[data-holiday=thanksgiving]) .reader-empty:before{width:min(240px,100%)}}
@media(max-width:700px){.holiday-options{gap:8px}.holiday-picker{padding:13px}.holiday-option>strong{font-size:10px}.holiday-option>small{font-size:9px}html:is([data-holiday=christmas],[data-holiday=thanksgiving]) .holiday-ribbon{padding:10px 14px;gap:8px}.holiday-ribbon span>span{font-size:17px}.holiday-ribbon button{font-size:9px}.holiday-ribbon-symbol{width:24px}.holiday-lights i:nth-child(even){display:none}}
@media(max-width:420px){.holiday-options{grid-template-columns:1fr 1fr}.holiday-option.off{grid-column:span 2;display:grid;grid-template-columns:65px 1fr;column-gap:12px}.holiday-option.off .holiday-preview{grid-row:span 2}.holiday-option.off>strong{margin-top:3px}.holiday-ribbon-symbol{display:none}.holiday-ribbon span>span{font-size:15px}.holiday-ribbon b{letter-spacing:1px}}
html:is([data-holiday=christmas],[data-holiday=thanksgiving]) .rail #profile{background:#fff4df;color:var(--green)}

/* A single click-through layer covers navigation, inbox, and reading pane. */
.app{position:relative;isolation:isolate}
.holiday-scene>img{width:100%;height:auto;display:none}
html[data-holiday=christmas] .holiday-christmas-scene,html[data-holiday=thanksgiving] .holiday-thanksgiving-scene{display:block}
.holiday-weather{display:none;position:absolute;inset:0;z-index:30;overflow:hidden;pointer-events:none;user-select:none;contain:strict}
html:is([data-holiday=christmas],[data-holiday=thanksgiving])[data-holiday-motion=on] .holiday-weather{display:block}
.holiday-weather i{position:absolute;top:-32px;left:var(--weather-x);width:var(--weather-size);height:var(--weather-size);border-radius:50%;background:#fffffff2;border:1px solid #8da5b02b;box-shadow:0 0 3px #d8e8ed77;opacity:0;pointer-events:none;animation:workspace-weather-fall var(--weather-speed) linear infinite;animation-delay:var(--weather-delay)}
html[data-holiday=christmas] .holiday-weather i:nth-child(7n){width:13px;height:13px;border:0;box-shadow:none;background:none}
html[data-holiday=christmas] .holiday-weather i:nth-child(7n):before{content:'❄';position:absolute;inset:0;color:#fff;font:14px/1 system-ui;text-shadow:0 0 2px #7295a477}
html[data-holiday=thanksgiving] .holiday-weather i{width:calc(var(--weather-size) + 10px);height:calc(var(--weather-size) + 12px);background:#c36b35;border:0;border-radius:0;box-shadow:none;--weather-opacity:.55;clip-path:polygon(50% 0,61% 23%,81% 12%,76% 39%,99% 42%,75% 61%,78% 81%,55% 75%,53% 100%,47% 100%,45% 75%,22% 81%,25% 61%,1% 42%,24% 39%,19% 12%,39% 23%)}
html[data-holiday=thanksgiving] .holiday-weather i:nth-child(3n){background:#dba345}
html[data-holiday=thanksgiving] .holiday-weather i:nth-child(3n+1){background:#ad5033}
html[data-holiday=thanksgiving] .holiday-weather i:nth-child(n+29){display:none}
@keyframes workspace-weather-fall{
  0%{transform:translate3d(0,0,0) rotate(0deg);opacity:0}
  8%{opacity:var(--weather-opacity,.8)}
  35%{transform:translate3d(calc(var(--weather-drift)*.7),35dvh,0) rotate(calc(var(--weather-turn)*.35))}
  65%{transform:translate3d(calc(var(--weather-drift)*-.3),65dvh,0) rotate(calc(var(--weather-turn)*.65))}
  90%{opacity:var(--weather-opacity,.8)}
  100%{transform:translate3d(var(--weather-drift),calc(100dvh + 64px),0) rotate(var(--weather-turn));opacity:0}
}
html:has(dialog[open]) .holiday-weather{visibility:hidden}
@media(max-width:600px){.holiday-weather i:nth-child(n+25){display:none}html[data-holiday=thanksgiving] .holiday-weather i:nth-child(n+19){display:none}}
