/* /calendar, the launch calendar: MacPip's calendar rules (style.css, read only) ported 1:1 to iPip, only on that page.
   MacPip's .wbar is iPip's .cl-wbar; its side-spot and submit-path rules are left out. Dark themes get their own fills below. */
.dayarrow{position:absolute;top:4px;width:22px;height:20px;display:flex;align-items:center;justify-content:center;background:var(--paper);border:1.500px solid var(--ink);border-radius:3px;font-size:9px;line-height:1;transition:background .15s,color .15s,transform .15s}.dayarrow:hover{background:var(--ink);color:var(--paper)}.dayarrow:active{transform:scale(.9)}
.cl-wbar .dayarrow.next{right:8px}.cl-wbar .dayarrow.prev{right:36px}
.calwin{background:var(--paper);border:1.500px solid var(--ink);border-radius:9px;box-shadow:6px 7px 0 rgba(29,27,23,.82);overflow:hidden;margin-bottom:22px}
.cgrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.chead{padding:8px;font:10px var(--pixel);text-align:center;color:var(--mute);border-bottom:1px solid var(--line)}
.cday,.cblank{min-height:108px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.cday{display:flex;flex-direction:column;gap:5px;padding:8px;transition:background .18s}.cday:hover{background:var(--box)}.cday b{font:500 20px/1 var(--serif)}.cday.past b{color:var(--faint)}.cday.now b{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--ink);color:var(--paper);border-radius:6px;font-size:17px}
.cicons{display:flex;align-items:center;flex-wrap:wrap;gap:3px}.cicons .icon{border-width:1px}.cicons .icon.letter{font-size:12px}.cicons em{font:normal 11px var(--sans);color:var(--mute)}.cday small{font-size:11px;color:var(--mute)}.cday small.open{color:var(--g)}
@media (max-width:640px){.cday,.cblank{min-height:64px}.cday{padding:5px}.cday b{font-size:15px}.cday.now b{width:22px;height:22px;font-size:13px}.cicons .icon{width:16px!important;height:16px!important}.cicons .icon:nth-child(n+3),.cday small{display:none}.chead{padding:6px 0;font-size:8px}.cl-wbar .dayarrow.prev{right:32px}.cl-wbar h2{font-size:9px;margin-right:30px}}
.dayarrow.off{visibility:hidden}
.calhead{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap}
@media (min-width:901px){
.calhead{padding-top:18px;padding-bottom:12px}.calhead h1{font-size:38px;line-height:1.05}.calhead p{font-size:14px;margin-top:2px}
.calwin{margin-bottom:24px}
.calwin .cgrid>.cday,.calwin .cgrid>.cblank{min-height:110px}
.calwin .cday b{font-size:17px;line-height:1.1}.calwin .chead{padding:4px 0}
}
.cday.far:hover{background:none}.cday.far b{color:var(--faint)}
.cgrid>.cday,.cgrid>.cblank{min-height:108px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.cgrid>:nth-child(7n){border-right:0}.cgrid>:nth-last-child(-n+7):not(.chead){border-bottom:0}
.cblank{display:block;background:repeating-linear-gradient(135deg,transparent 0 7px,rgba(29,27,23,.035) 7px 8px)}
.cgrid .cday,.calwin .cgrid .cday{display:grid;grid-template-rows:28px 26px auto;align-content:start;row-gap:4px;padding:7px 8px;overflow:hidden}
.cgrid .cday b,.calwin .cgrid .cday b{display:flex;align-items:center;justify-self:start;min-width:28px;width:auto;height:28px;margin-left:-7px;padding:0 7px;border-radius:7px;font:500 18px/1 var(--serif);transition:transform .3s cubic-bezier(.3,1.5,.5,1),background .2s}
.cgrid .cday.now b{background:var(--ink);color:var(--paper);font-size:17px;box-shadow:2px 2px 0 var(--r)}
.cgrid .cday:hover b{transform:translateY(-2px)}
.cgrid .cicons{display:flex;align-items:center;flex-wrap:nowrap;gap:3px;height:26px;min-width:0;overflow:hidden}
.cgrid .cicons em{line-height:1}
.cgrid .cday small.ccount{display:block;font-size:11px;line-height:1.2;color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cgrid .cicons small.open{display:inline-flex;align-items:center;gap:4px;max-width:100%;height:20px;padding:0 7px 0 6px;border:1px solid color-mix(in srgb,var(--g) 60%,var(--ink));border-radius:999px;background:color-mix(in srgb,var(--g) 13%,var(--paper));color:#2c7d45;font-size:11px;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cgrid .cicons small.open:before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--g)}
@media (max-width:640px){
.cgrid>.cday,.cgrid>.cblank{min-height:66px}
.cgrid .cday,.calwin .cgrid .cday{grid-template-rows:22px 18px;row-gap:4px;padding:5px 4px 5px 5px}
.cgrid .cday b,.calwin .cgrid .cday b{min-width:22px;height:22px;margin-left:-5px;padding:0 5px;border-radius:5px;font-size:15px}.cgrid .cday.now b{font-size:13px;box-shadow:1.500px 1.500px 0 var(--r)}
.cgrid .cicons{height:18px;gap:1px}.cgrid .cicons .icon{width:15px!important;height:15px!important;border-radius:4px}.cgrid .cicons .icon.letter{font-size:9px}.cgrid .cicons em{font-size:0}.cgrid .cicons em:after{content:attr(data-m);font-size:10px}.cgrid .cicons:has(em) .icon:nth-child(2){display:none}
.cgrid .cicons small.open{height:15px;padding:0 4px;gap:0;font-size:9px}.cgrid .cicons small.open:before{display:none}
.cgrid .cday small.ccount{display:none}
}
@media (prefers-reduced-motion:reduce){.cgrid .cday b{transition:none}.cgrid .cday:hover b{transform:none}}

/* The calendar's seat meter, from today on. Five squares for a day's free spots, filled in the rainbow as they are taken, with
   "3 free left". When all five are taken the squares close into one bar and three dots show the Featured launch spots, filled when taken.
   A day with every spot taken is a quiet grey bar. Open days light up on hover, full ones darken. */
.cgrid .cday,.calwin .cgrid .cday{grid-template-rows:28px auto 26px auto}
.cgrid .cday:not(:has(.cmeter)){grid-template-rows:28px 26px auto}
.cmeter{display:flex;flex-wrap:wrap;align-items:center;gap:3px 6px;justify-self:start;min-width:0;max-width:100%;padding:1px 0 1px}
.cmeter>small{flex:1 0 100%;font:8.5px/1.25 var(--pixel);letter-spacing:0;color:var(--mute);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cmsq{display:flex;gap:3px}
.cmsq i{display:block;width:8px;height:8px;border-radius:1px;box-shadow:inset 0 0 0 1px var(--box2)}
.cmsq i.t{box-shadow:none}
.cmsq i.t:nth-child(1){background:var(--g)}.cmsq i.t:nth-child(2){background:var(--y)}.cmsq i.t:nth-child(3){background:var(--o)}.cmsq i.t:nth-child(4){background:var(--r)}.cmsq i.t:nth-child(5){background:var(--v)}
.cbar .cmsq{gap:0;border-radius:2px;overflow:hidden}
.cbar .cmsq i{width:10px;border-radius:0}
.cmdots{display:flex;gap:3px}
.cmdots u{display:block;width:8px;height:8px;border-radius:50%;box-shadow:inset 0 0 0 1px #c9a548}
.cmdots u.t{background:#e3a91c;box-shadow:inset 0 0 0 1px #9a7006}
.cday.sold:not(.all) .cmeter>small{color:#7a5a06}
.call .cmsq i.t,.call .cmdots u,.call .cmdots u.t{background:#cfc6b1;box-shadow:none}
.clive>small:before{content:"";display:inline-block;width:6px;height:6px;margin:0 5px 1px 0;border-radius:50%;background:var(--g);vertical-align:middle}
.cday.all{background:#efe9da}
.cday.all>b{color:var(--mute)}
.cday.all .cicons .icon{opacity:.72}
.cgrid .cday.free:hover,.cgrid .cday.free:focus-visible{background:#fffdf8}
.cgrid .cday.sold:hover,.cgrid .cday.sold:focus-visible{background:#e2dac6}
.cgrid .cday.all:hover,.cgrid .cday.all:focus-visible{background:#ddd4bf}
.cgrid a.cday:focus-visible{outline:2.5px solid var(--b);outline-offset:-3px;border-radius:3px}
.clegend{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin:12px 2px 0;font-size:12.5px;color:var(--mute)}
.ckey{display:inline-flex;align-items:center;gap:7px}
.ckey .cmeter{flex-wrap:nowrap;padding:0}
@media (prefers-reduced-motion:no-preference){
.cmsq i.t,.cmdots u.t{animation:cmfill .42s var(--spring) both}
.cmsq i.t:nth-child(2){animation-delay:.05s}.cmsq i.t:nth-child(3){animation-delay:.1s}.cmsq i.t:nth-child(4){animation-delay:.15s}.cmsq i.t:nth-child(5){animation-delay:.2s}
.cbar .cmsq{animation:cmmerge .5s var(--ease) .32s both}
.cmdots u.t{animation-delay:.45s}.cmdots u.t+u.t{animation-delay:.5s}.cmdots u.t+u.t+u.t{animation-delay:.55s}
.cgrid .cmeter>small{animation:cmfade .5s var(--ease) .3s both}
.clive>small:before{animation:cmpulse 2.4s ease-out infinite}
.cday.free:hover .cmsq i.t{animation:cmhop .45s var(--spring) both}
.cday.free:hover .cmsq i:nth-child(2){animation-delay:.04s}.cday.free:hover .cmsq i:nth-child(3){animation-delay:.08s}.cday.free:hover .cmsq i:nth-child(4){animation-delay:.12s}
}
@keyframes cmfill{from{opacity:0;transform:scale(.3)}}
@keyframes cmmerge{from{gap:3px}}
@keyframes cmfade{from{opacity:0}}
@keyframes cmhop{40%{transform:translateY(-3px)}}
@keyframes cmpulse{0%{box-shadow:0 0 0 0 rgba(79,176,106,.55)}70%,100%{box-shadow:0 0 0 6px rgba(79,176,106,0)}}
@media (max-width:640px){.cgrid .cday,.calwin .cgrid .cday{grid-template-rows:22px auto 18px;row-gap:3px}.cgrid .cday:not(:has(.cmeter)){grid-template-rows:22px 18px}
.cmeter{gap:2px;padding:0}.cmeter>small{display:none}.clive>small{display:block;font-size:0}.clive>small:before{margin:0}
.cmsq{gap:1px}.cmsq i{width:4px;height:4px}.cbar .cmsq i{width:5px}.cmdots{gap:1px}.cmdots u{width:4px;height:4px;box-shadow:inset 0 0 0 1px #b8860b}
.ckey .cmsq i{width:6px;height:6px}.ckey .cbar .cmsq i{width:8px}.ckey .cmdots u{width:6px;height:6px}.clegend{gap:6px 14px;font-size:12px}}

/* iPip: the month name sits in the window bar's stripe, the arrows on its right. Dark themes: the fixed light fills become tokens. */
.calwin .cl-wbar>span{margin-inline-end:0}
.calhead>div{flex:1 1 auto;min-width:0}
.calhead h1{margin:0}.cl .calhead p,.calhead p{max-width:none;color:var(--mute);margin:6px 0 0}
/* MacPip's .btn, the light one: paper box, ink line, the bevel; it lifts on hover and goes ink when pressed */
.calgo{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 20px;border:1.5px solid var(--ink);border-radius:9px;background:var(--box);color:var(--ink);font:13.5px/1 var(--sans);text-decoration:none;cursor:pointer;box-shadow:var(--bevel);transition:transform .22s var(--ease),background .2s,color .2s,box-shadow .2s}
.calgo:hover{background:var(--paper);transform:translateY(-1px)}.calgo:active{background:var(--ink);color:var(--paper);box-shadow:none}
.calgo:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.pb{padding-bottom:40px}
:root[data-theme=dark] .cday.all,:root[data-theme=crt] .cday.all{background:var(--box)}
:root[data-theme=dark] .cgrid .cday.free:hover,:root[data-theme=crt] .cgrid .cday.free:hover{background:var(--paper)}
:root[data-theme=dark] .cgrid .cday.sold:hover,:root[data-theme=dark] .cgrid .cday.all:hover,:root[data-theme=crt] .cgrid .cday.sold:hover,:root[data-theme=crt] .cgrid .cday.all:hover{background:var(--box2)}
:root[data-theme=dark] .cday.sold:not(.all) .cmeter>small{color:#e3a91c}
:root[data-theme=dark] .cblank{background:repeating-linear-gradient(135deg,transparent 0 7px,rgba(255,236,200,.05) 7px 8px)}
