/* v0.4.11: future-only color and decorative motion. Existing UI geometry is untouched. */
:root.future-mode {
  --paper:#d7e8ee;--surface:rgba(234,244,247,.16);--ink:#293a40;
  --muted:#50626b;--agenda-time:#52646d;--line:#a8bdc6;
  --accent:#376573;--on-accent:#fff;--selected:#bcd7e1;
  --outside:rgba(200,222,231,.5);--outside-ink:#50626b;
  --chip:#d0e2e8;--chip-ink:#345964;--chip-selected:#d0e2e8;--chip-line:#758a94;
  --sat:#355d86;--sun:#963d37;--hover:#d0e2e8;--input-line:#758a94;--focus:#376573;
  --secondary:#d0e2e8;--future-axis:#758a94;--future-fab:#376573;
}
@media(prefers-color-scheme:dark){
  :root.future-mode {
    --paper:#172a31;--surface:rgba(34,51,59,.16);--ink:#e8f0f3;
    --muted:#b4c5ce;--agenda-time:#b4c5ce;--line:#526b77;
    --accent:#8dbdca;--on-accent:#172a31;--selected:#2d4954;
    --outside:rgba(24,38,45,.65);--outside-ink:#a6bbc5;
    --chip:#2a404a;--chip-ink:#d0e5ed;--chip-selected:#365460;--chip-line:#7b9ca9;
    --sat:#a9c9ed;--sun:#f0b1aa;--hover:#304852;--input-line:#7b9ca9;--focus:#b9e2ed;
    --secondary:#2d444f;--future-axis:#7b9ca9;--future-fab:#376573;
  }
}

/* Three soft bands from an off-screen sun. Gradients soften edges without filters.
   Only transform/opacity animate; no JS frame loop, images, or animated layout. */
.future-scene .app{position:relative;z-index:1}
.future-light-scene{position:fixed;inset:0;z-index:0;pointer-events:none;opacity:0;contain:strict;overflow:hidden;
  background:linear-gradient(35deg,#c8dee7 0%,#d7e8ee 57%,#eaf4f7 100%);--sun-hot:rgba(255,253,245,1);--sun-soft:rgba(255,255,255,.8);--sun-edge:rgba(255,253,245,.18)}
.future-light-scene::after{content:'';position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse 57% 33% at 108% -7%,var(--sun-hot) 0%,var(--sun-soft) 26%,transparent 80%)}
.future-sunbeam{position:absolute;top:-8%;left:82%;width:36%;height:124%;pointer-events:none;transform-origin:50% 0%;
  background:radial-gradient(ellipse 48% 78% at 50% 22%,var(--sun-hot) 0%,var(--sun-hot) 16%,var(--sun-soft) 38%,var(--sun-edge) 68%,transparent 100%);
  transform:rotate(22deg);opacity:.88}
.future-sunbeam:nth-child(2){left:83%;width:44%;height:118%;transform:rotate(37deg);opacity:.78}
.future-sunbeam:nth-child(3){left:91%;width:26%;height:110%;transform:rotate(53deg);opacity:.82}
.future-mode .future-light-scene{opacity:1}
@media(prefers-color-scheme:dark){
  .future-light-scene{background:linear-gradient(35deg,#172a31 0%,#1b3039 57%,#213b45 100%);--sun-hot:rgba(167,210,225,.17);--sun-soft:rgba(157,200,217,.09);--sun-edge:rgba(145,188,205,.025)}
}
.future-mode .month-actions button{color:var(--accent)}
.future-mode .year-nav{background:transparent}
.future-mode .event-list{background:var(--paper)}
.future-mode .year-window::before,.future-mode .year-option::before{background:var(--future-axis)}
.future-mode .add-button{background:var(--future-fab);color:#fff;box-shadow:0 5px 16px #293a402a}

/* Only crossings to/from future receive this temporary class. Past/current
   crossings still use the original 1.6s transition and the unmodified B3. */
@media(prefers-reduced-motion:no-preference){
  .future-transition{transition:background-color .3s ease,color .3s ease}
  .future-transition :is(.month-grid,.day,.day-number,.day-title,.day-more,.weekdays,.weekdays span,.brand-dot,h1,.year,.event-list,.event-row,.event-time,.event-title,.event-memo,.event-chevron,.empty,.prototype,button,dialog,input,textarea,.banner,.form-error,.field-help,.optional,.wheel-option,.wheel-selection,.year-nav,.year-arrow,.year-option,.year-marker){transition:color .3s ease,background-color .3s ease,border-color .3s ease,box-shadow .3s ease}
  .future-transition .year-window::before,.future-transition .year-option::before{transition:background-color .3s ease}
  .future-transition .future-light-scene,.future-transition .past-light-scene{transition:opacity .3s ease}
  .future-light-scene .future-sunbeam{animation:future-sun-a 4.4s ease-in-out infinite}
  .future-light-scene .future-sunbeam:nth-child(2){animation:future-sun-b 5.2s ease-in-out -1.7s infinite}
  .future-light-scene .future-sunbeam:nth-child(3){animation:future-sun-c 5.8s ease-in-out -3.1s infinite}
  .future-paused .future-light-scene .future-sunbeam{animation-play-state:paused}
}
/* Each duration is a full out-and-back cycle, not the duration of one leg. */
@keyframes future-sun-a{
  0%,100%{transform:translate(-4vw,-1vh) rotate(17deg) scale(.96,1);opacity:.6}
  48%{transform:translate(4vw,1vh) rotate(27deg) scale(1.08,1.02);opacity:1}
}
@keyframes future-sun-b{
  0%,100%{transform:translate(3vw,-1vh) rotate(41deg) scale(1.08,1);opacity:1}
  54%{transform:translate(-3vw,1.5vh) rotate(33deg) scale(.96,1.03);opacity:.56}
}
@keyframes future-sun-c{
  0%,100%{transform:translate(-3vw,1vh) rotate(49.5deg) scale(.96,1.02);opacity:.58}
  43%{transform:translate(3vw,-1vh) rotate(56.5deg) scale(1.08,1);opacity:1}
}
@media(prefers-reduced-motion:reduce){.future-transition,.future-transition *{transition:none!important}}
