@charset "UTF-8";
@font-face{font-family:Studio;src:url('assets/fonts/BarlowSemiCondensed-SemiBold.ttf') format('truetype');font-style:normal;font-weight:600;font-display:swap}
@font-face{font-family:Fredoka;src:url('assets/fonts/Fredoka.ttf') format('truetype');font-style:normal;font-weight:300 700;font-display:swap}
:root{color-scheme:light;--bg:#c3ccca;--paper:#f4eedc;--ink:#323b3d;--red:#a84637;--hand:Studio,"Trebuchet MS",sans-serif}
*{box-sizing:border-box}body{margin:0;min-height:100svh;background:linear-gradient(180deg,#afc2c7 0%,#cbd1cb 57%,#d5c7ae 100%);color:var(--ink);font:15px/1.5 "Segoe UI",Arial,sans-serif;-webkit-font-smoothing:antialiased}button,select{font:inherit}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}button,a,select{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #b33931;outline-offset:4px}::selection{background:var(--red);color:white}.site-shell{position:relative;z-index:1;width:min(1320px,100%);min-height:100svh;margin:auto;padding:62px 58px;display:flex;align-items:center}.site-shell main{width:100%}.schedule-board{display:grid;grid-template-columns:minmax(0,1fr) 306px;gap:17px;padding:17px;background:#656a62;border:2px solid #343b3c;border-radius:9px;box-shadow:0 5px 0 #343b3c,0 20px 50px #34464d33;position:relative}.schedule-board:before{content:"";position:absolute;inset:6px;border:1px solid #a4a89580;pointer-events:none;border-radius:8px}.calendar-section{min-width:0}.paper-calendar{height:100%;position:relative;color:var(--ink);background-color:var(--paper);background-image:radial-gradient(#8f704612 .65px,transparent .65px);background-size:5px 5px;border-radius:4px 6px 7px 4px;padding:23px 18px 0;box-shadow:0 4px 0 -1px #dfcba9,0 8px 0 -3px #a98a69;min-width:0}.binder{position:absolute;top:-11px;left:3%;right:3%;display:flex;justify-content:space-around;pointer-events:none}.binder i{width:8px;height:24px;border:3px solid #5e5751;border-bottom-color:#aaa095;border-radius:8px;background:#ece0ce;box-shadow:2px 2px 0 #0002}.month-header{position:relative;display:flex;align-items:center;justify-content:center;min-height:86px;padding:0 90px 11px;gap:12px}.month-title{text-align:center;min-width:0}.month-title h1{font-family:var(--hand);font-size:clamp(35px,3.2vw,48px);letter-spacing:-1px;line-height:1.05;margin:0;color:#a84637;font-weight:600}.month-title>span{display:block;color:#a18568;font-family:var(--hand);font-size:14px;line-height:1.5;margin-top:4px}.month-controls{position:absolute;right:0;top:18px;display:flex;align-items:center;gap:7px}.month-controls button{border:1px solid #d4bfa1;background:#fffdf3;color:#85674c;border-radius:9px;padding:6px 9px;font-size:10px;font-weight:600;box-shadow:0 2px 0 #ddcbae}.month-controls button:hover{background:#ffeac4;transform:translateY(-1px)}.arrow-controls{display:flex;gap:4px}.arrow-controls button{font-size:17px;line-height:1;padding:7px 8px}.calendar-options{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:13px}.sample-label{display:inline-block;font-size:8px;line-height:1.4;letter-spacing:.8px;text-transform:uppercase;border:1px solid #c8ac8d;border-radius:4px;color:#94785d;padding:3px 5px;white-space:nowrap}.timezone-control{display:flex;align-items:center;gap:7px;font-size:10px;color:#876e55;min-width:0}.timezone-control select{font-size:10px;background:#fffbed;color:#6d5743;border:1px solid #d8c7ac;border-radius:6px;padding:6px 7px;max-width:205px;min-width:0}.weekday-row,.calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.weekday-row{border-top:1px solid #d0bda04d;border-bottom:1px solid #d0bda066;padding:10px 0}.weekday-row span{text-align:center;font-family:var(--hand);font-size:11px;font-weight:500;color:#a58a70;letter-spacing:1px}.day{position:relative;min-width:0;height:87px;border:0;border-right:1px solid #cdb58e33;border-bottom:1px solid #cdb58e33;background:none;color:#514038;padding:0;display:grid;place-items:center;isolation:isolate}.day:nth-child(7n){border-right:0}.day:before{content:"";position:absolute;width:79%;height:72%;border-radius:var(--blob-shape,48%);background:var(--mark,transparent);transform:rotate(var(--rotation,-3deg)) scale(var(--blob-scale,1));z-index:-1;transition:transform .22s,filter .22s}.day.has-event:hover:before{transform:rotate(0) scale(calc(var(--blob-scale,1)*1.08));filter:saturate(1.1)}.day:not(.has-event):hover{background:#dfc8a326}.day-number{font-family:var(--hand);font-size:31px;line-height:1;position:relative;font-weight:550;transition:transform .2s}.day:hover .day-number{transform:rotate(-6deg) scale(1.09)}.day.today .day-number:after{content:"";position:absolute;inset:-6px -10px;border:2px solid #a82c29;border-radius:48% 46% 40% 49%;transform:rotate(-12deg);box-shadow:1px 1px 0 #a82c2922}.day.today .day-number{color:#a52f2a}.day.stream{--mark:#dc8b70}.day.special{--mark:#e9bb51}.day.off{--mark:#93b5a2}.day.past.has-event:before{opacity:.85}.day.outside{color:#baa48b}.day.outside:before{opacity:.55}.day:focus-visible{outline:2px solid #a43831;outline-offset:-4px;z-index:2}.paper-footer{display:flex;align-items:center;justify-content:center;min-height:48px;padding:12px 0}.legend{display:flex;list-style:none;padding:0;margin:0;gap:19px}.legend li{display:flex;align-items:center;gap:6px;font-size:10px;color:#8f7055;white-space:nowrap}.legend i{height:10px;width:12px;border-radius:42% 58% 61% 39% / 54% 47% 53% 46%;transform:rotate(-12deg)}.stream-dot{background:#dc8b70}.special-dot{background:#e9bb51}.off-dot{background:#93b5a2}
.corkboard{position:relative;min-width:0;padding:25px 17px 22px;border:4px solid #d8b18a;border-right-color:#bb916a;border-bottom-color:#b88c65;border-radius:5px;background-color:#c8a77f;background-image:radial-gradient(ellipse at 25% 35%,#87613b25 0 1px,transparent 1.8px),radial-gradient(ellipse at 75% 65%,#fff0ce65 0 1.4px,transparent 2.2px),radial-gradient(#a3794930 .8px,transparent 1px),radial-gradient(#fff1d04a 1px,transparent 1.5px);background-size:7px 9px,11px 13px,3px 5px,5px 7px;box-shadow:inset 0 2px 8px #8e61342b}.corkboard #upcoming-list{display:flex;flex-direction:column;gap:23px}.pinned-note{--note:#e6c16c;position:relative;display:block;width:100%;text-align:left;border:1px solid #4c453552;background:var(--note);color:#51432c;box-shadow:3px 5px 0 #4c45352b;border-radius:1px 3px 6px 1px;padding:17px 16px 15px;transform:rotate(var(--tilt,-1.4deg));transition:transform .22s,box-shadow .22s;font-family:var(--hand);font-weight:400}.pinned-note:nth-child(2){--tilt:1.4deg;--note:#d6a18b;color:#4c3931}.pinned-note:nth-child(3){--tilt:-.9deg;--note:#b0c3c7;color:#30454b}.pinned-note:hover{transform:rotate(0) translateY(-4px);box-shadow:3px 10px 9px #79502f38}.pinned-note:before{content:"";position:absolute;width:62px;height:19px;top:-11px;left:calc(50% - 31px);background:#fff9eaa8;transform:rotate(4deg);border-left:2px dashed #c1a67b33;border-right:2px dashed #c1a67b33}.pinned-note:after{content:"";position:absolute;right:0;bottom:0;width:17px;height:17px;background:linear-gradient(135deg,#00000008 50%,#fff6 51%);border-radius:0 0 11px 0}.pinned-top{display:flex;justify-content:space-between;align-items:center;gap:9px;font-size:11px;margin-bottom:8px}.pinned-heading{font-size:20px;line-height:1.1;font-weight:500}.pinned-date{font-size:10px;white-space:nowrap;opacity:.8}.pinned-kind{display:block;font-size:9px;letter-spacing:.7px;text-transform:uppercase;opacity:.8}.pinned-title{display:block;font-size:23px;line-height:1.12;letter-spacing:-.2px;font-weight:500;margin:7px 0 9px}.pinned-description{display:block;font:11px/1.6 "Segoe UI",Arial,sans-serif;opacity:.88;margin:0 0 12px}.pinned-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #5b402326;padding-top:9px;font-size:12px}.pinned-bottom .arrow{font-size:17px}.feature-note .pinned-title{font-size:26px}.empty-upcoming{color:#795839;font-family:var(--hand);font-size:19px;padding:20px 6px}
dialog{width:min(510px,calc(100% - 32px));padding:0;border:1px solid #ddc9a8;border-radius:14px 20px 12px 17px;color:var(--ink);background:var(--paper);box-shadow:0 30px 100px #604a4a55;max-height:85dvh;overflow:auto}dialog::backdrop{background:#55433d80;backdrop-filter:blur(5px)}dialog[open]{animation:note-in .2s ease-out}.dialog-inner{padding:34px 32px 30px;position:relative}.eyebrow{font-size:9px;font-weight:650;letter-spacing:1.5px;margin:0 0 14px;color:#a08465}.eyebrow .sample-label{margin-left:7px}.close-dialog{position:absolute;right:15px;top:11px;border:0;background:transparent;color:#8a6b56;font-size:28px;padding:0 8px;border-radius:5px}.close-dialog:hover{background:#dec6a744}.dialog-inner>h2{font-family:var(--hand);font-weight:500;font-size:29px;margin:0 25px 25px 0;line-height:1.2}.detail-event+.detail-event{border-top:1px solid #ddc9a8;padding-top:20px;margin-top:24px}.detail-kind{font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:#956d54}.detail-event h3{font-family:var(--hand);font-weight:500;font-size:26px;margin:8px 0 12px;line-height:1.15}.detail-time{color:#a43831;font-size:14px;font-weight:600;display:block}.detail-secondary{font-size:11px;color:#88725e;margin-top:4px;display:block}.detail-event p{font-size:14px;line-height:1.7;color:#736050;margin:17px 0}.detail-status{display:inline-block;font-size:10px;border:1px solid #b5a58d;border-radius:6px;color:#806747;padding:3px 7px;margin-top:11px}.detail-link{display:flex;justify-content:space-between;padding:12px 14px;border-radius:9px;background:#b33931;color:#fff8f0;font-size:12px;margin-top:20px}.detail-link:hover{background:#c64c3e}.detail-footnote{font-size:10px!important;color:#96816c!important}.empty-day{padding:4px 0 0}.empty-day strong{font-family:var(--hand);font-weight:500;font-size:24px}.empty-day p{color:#89735e;font-size:13px;line-height:1.8}.handwritten{font-family:var(--hand)}.empty-day .handwritten{margin-top:22px;font-size:17px;color:#a16d55}.skip-link{position:absolute;left:16px;top:-80px;background:white;color:black;padding:12px;z-index:10}.skip-link:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@keyframes note-in{from{opacity:0;transform:translateY(12px) rotate(-1deg)}to{opacity:1;transform:none}}@keyframes cloud-drift{from{transform:translateX(-20px)}to{transform:translateX(90px)}}@keyframes sun-turn{to{transform:rotate(360deg)}}@keyframes leaf-wave{from{transform:rotate(-5deg)}to{transform:rotate(6deg)}}@keyframes star-float{from{translate:0 -4px}to{translate:0 7px}}
@media(min-width:1600px){.site-shell{width:min(1440px,100%);padding:80px 65px}.schedule-board{grid-template-columns:minmax(0,1fr) 330px}.day{height:99px}.pinned-title{font-size:25px}.feature-note .pinned-title{font-size:29px}.pinned-description{font-size:12px}.corkboard #upcoming-list{gap:29px}}
@media(max-width:1100px){.site-shell{padding:50px 35px}.schedule-board{grid-template-columns:minmax(0,1fr) 257px;padding:13px;gap:13px}.paper-calendar{padding-left:10px;padding-right:10px}.month-header{padding-left:80px;padding-right:80px}.month-title h1{font-size:36px}.month-controls{gap:4px}.month-controls button{padding:5px 6px;font-size:9px}.arrow-controls button{font-size:15px}.corkboard{padding-left:13px;padding-right:13px}.day{height:81px}.day-number{font-size:28px}.pinned-note{padding:17px 12px 14px}.pinned-top{display:block}.pinned-date{display:block;margin-top:5px}.pinned-title{font-size:21px}.feature-note .pinned-title{font-size:24px}.pinned-heading{font-size:19px}.timezone-control select{max-width:185px}.controller-doodle{width:130px}.desk-plant{width:125px}}
@media(max-width:820px){.site-shell{padding:70px 30px}.schedule-board{grid-template-columns:1fr;padding:16px;gap:23px}.month-title h1{font-size:44px}.month-controls{top:15px}.month-controls button{padding:7px 9px;font-size:10px}.arrow-controls button{font-size:17px}.corkboard{padding:24px 17px 20px}.corkboard #upcoming-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.pinned-title,.feature-note .pinned-title{font-size:20px}.pinned-description{display:none}.pinned-bottom{font-size:11px;min-height:43px;align-items:flex-start}.pinned-heading{font-size:17px}.day{height:84px}.timezone-control select{max-width:240px}.sun-doodle{width:85px;right:9px;top:8px}.controller-doodle{width:110px;right:-12px}.desk-plant{width:110px;left:-13px}}
@media(max-width:540px){.site-shell{padding:58px 12px 72px}.schedule-board{padding:10px;gap:21px;border-radius:11px}.paper-calendar{padding:21px 5px 0}.binder i{width:7px;height:20px;border-width:2px}.binder i:nth-child(even){display:none}.month-header{min-height:102px;padding:0 35px 32px}.month-title h1{font-size:37px}.month-title>span{font-size:12px}.month-controls{top:auto;bottom:8px;left:0;right:0;justify-content:center;gap:8px}.month-controls button{font-size:9px;padding:4px 9px}.arrow-controls button{font-size:14px;padding:4px 10px}.calendar-options{padding:0 4px 10px;gap:7px}.sample-label{font-size:6px;letter-spacing:.5px;padding:3px 4px}.timezone-control{font-size:0;gap:0}.timezone-control select{max-width:177px;font-size:9px;padding:6px 4px}.weekday-row{padding:9px 0}.weekday-row span{font-size:8px;letter-spacing:.7px}.day{height:66px}.day-number{font-size:24px}.day:before{width:88%;height:68%}.day.today .day-number:after{inset:-5px -7px;border-width:1.7px}.paper-footer{min-height:43px;padding:10px 3px}.legend{gap:12px}.legend li{font-size:8px;gap:4px}.legend i{width:9px;height:8px}.corkboard{padding:25px 20px 23px}.corkboard #upcoming-list{display:flex;gap:25px}.pinned-note{padding:18px 18px 15px}.pinned-top{display:flex}.pinned-date{font-size:11px;margin-top:0}.pinned-heading{font-size:20px}.pinned-description{display:block;font-size:11px}.pinned-title,.feature-note .pinned-title{font-size:24px}.pinned-bottom{min-height:0;font-size:12px;align-items:center}.cloud-one{width:130px;left:-30px;top:10px}.cloud-two{display:none}.sun-doodle{width:60px;top:2px;right:8px}.little-star{display:none}.desk-plant{width:95px;bottom:0}.controller-doodle{width:95px;bottom:0}.dialog-inner{padding:30px 23px 24px}.dialog-inner>h2{font-size:25px}.detail-event h3{font-size:24px}}
@media(max-width:350px){.site-shell{padding-left:7px;padding-right:7px}.schedule-board{padding:7px}.timezone-control select{max-width:150px}.month-title h1{font-size:33px}.day{height:60px}.day-number{font-size:22px}.corkboard{padding-left:15px;padding-right:15px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.pinned-note:hover{transform:rotate(var(--tilt,-1.4deg))}.day:hover .day-number{transform:none}}

/* Inked studio-cartoon direction: retain the friendly layout without nursery styling. */
.month-title h1{text-transform:uppercase;font-size:clamp(42px,4vw,58px);letter-spacing:.3px;line-height:1}
.month-title>span{font-family:Studio,"Trebuchet MS",sans-serif;font-size:15px;color:#788079;letter-spacing:2px}
.month-header{min-height:90px}
.day-number{font-weight:600;font-size:34px;color:#364042}
.day.outside .day-number{color:#aaa896}
.weekday-row span{color:#7d8074;letter-spacing:1.2px}
.day.has-event:before{box-shadow:inset 0 0 0 1px #38404216}
.pinned-heading{font-size:22px;font-weight:600;letter-spacing:.2px}
.pinned-title{font-size:25px;font-weight:600;letter-spacing:0;line-height:1.04}
.feature-note .pinned-title{font-size:30px}
.pinned-kind,.pinned-date{font-family:"Segoe UI",Arial,sans-serif}
.pinned-description{font-size:11px;line-height:1.65;opacity:1}
.pinned-bottom{font-family:Studio,"Trebuchet MS",sans-serif;font-size:14px}
.cloud{fill:#e5e8da;stroke:#516970;stroke-width:2;opacity:.72;filter:drop-shadow(0 4px 0 #40566012)}
.sun-doodle circle{fill:#dcb66a;stroke:#586568;stroke-width:2}
.sun-rays{stroke:#a48249;stroke-width:3}
.little-star{color:#53666c;opacity:.7}
.playground:before{content:"";position:absolute;inset:0;background-image:radial-gradient(#334c5a33 .6px,transparent .7px);background-size:5px 5px;opacity:.23;mask-image:linear-gradient(to right,#000,transparent 25%,transparent 75%,#000);pointer-events:none}
.playground:after{background:#8b977c29}
@media(max-width:1100px){.month-title h1{font-size:43px}.day-number{font-size:30px}.pinned-title{font-size:23px}.feature-note .pinned-title{font-size:27px}}
@media(max-width:820px){.month-title h1{font-size:51px}.pinned-title,.feature-note .pinned-title{font-size:23px}.pinned-heading{font-size:20px}}
@media(max-width:540px){.month-title h1{font-size:43px}.month-header{min-height:106px}.day-number{font-size:27px}.pinned-title,.feature-note .pinned-title{font-size:27px}.pinned-heading{font-size:22px}}

/* Simple, bright landscape. Calendar and upcoming notes retain their side-by-side layout. */
:root{--paper:#fff8e5;--ink:#283943;--red:#be403a}
body{position:relative;background:linear-gradient(#7dc7ef 0%,#bce5f8 64%,#e5f5fc 100%);overflow-x:hidden}
.site-shell{width:min(1620px,100%);padding:70px 245px 145px 65px;min-height:100svh}
.schedule-board{grid-template-columns:minmax(0,1fr) 285px;gap:23px;background:transparent;border:0;box-shadow:none;padding:0;border-radius:0}
.schedule-board:before{display:none}
.paper-calendar{padding:26px 18px 0;border:1px solid #a58b63;border-radius:3px;box-shadow:0 4px 0 #dccba4,0 7px 0 #a48f6d,5px 12px 0 #28526b16;background-image:radial-gradient(#bb9c6710 .7px,transparent .7px);background-size:5px 5px}
.binder{top:-13px;left:4%;right:4%}.binder i{height:27px;width:9px;border-color:#53616a;border-bottom-color:#a9aca3;background:#f9f2dc;box-shadow:2px 2px 0 #0002}
.month-title h1{font-family:Fredoka,Studio,sans-serif;text-transform:none;font-size:clamp(38px,3.3vw,54px);font-weight:600;color:#bd403a;letter-spacing:-1px}
.month-title>span{color:#867553;letter-spacing:1.2px}
.month-header{min-height:91px}
.month-controls button{border-radius:4px;border-color:#b4a58b;color:#4f5e63;background:#fffdf5;box-shadow:1px 2px 0 #c4b89d}
.month-controls button:hover{background:#ffdb77}
.weekday-row span{color:#6c766e}.day{height:86px;color:#283943;border-color:#bda87933}.day-number{color:#283943;font-size:32px}.day.outside .day-number{color:#b4afa0}
.day.stream{--mark:#ff886f}.day.off{--mark:#74c59a}.day.special{--mark:#ffca42}.day.past.has-event:before{opacity:.9}
.day.today .day-number{color:#ad292d}.day.today .day-number:after{border-color:#bd3333}
.stream-dot{background:#ff886f}.off-dot{background:#74c59a}.special-dot{background:#ffca42}.legend li{color:#6b705e}
.corkboard{background-color:#ca9f66;border:8px solid #a2764e;border-right-color:#87613f;border-bottom-color:#87613f;border-radius:2px;padding:25px 15px 24px;box-shadow:4px 6px 0 #28526b16}
.corkboard #upcoming-list{gap:27px}
.pinned-note{--note:#ffdb71;color:#514024;box-shadow:3px 4px 0 #62442233;border-color:#b18b4d55}
.pinned-note:nth-child(2){--note:#ffa58c;color:#57392f}.pinned-note:nth-child(3){--note:#8ed3b5;color:#274d43}
.pinned-heading{font-size:22px}.pinned-title{font-size:25px}.feature-note .pinned-title{font-size:30px}.pinned-description{font-size:11px}.pinned-bottom{font-size:14px}
.landscape{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0}
.landscape svg{display:block}.cloud{position:absolute;fill:#fffef5;width:190px;opacity:.95;animation:cloud-drift 35s ease-in-out infinite alternate}
.cloud-one{left:-35px;top:6%}.cloud-two{right:3%;top:13%;width:160px;animation-delay:-18s}
.mountains{position:absolute;bottom:120px;left:0;width:100%;height:370px;opacity:.85}
.ground{position:absolute;bottom:0;left:0;width:100%;height:200px}
.blossom-tree{position:absolute;right:-25px;bottom:25px;width:345px;pointer-events:auto;transform-origin:60% 95%}
.tree-art{width:100%;height:auto;overflow:visible}.blossom-tree:hover .tree-art{animation:tree-breeze 3s ease-in-out infinite}
.petal-field{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:2}
.petal{position:absolute;display:block;width:var(--size);height:calc(var(--size)*.6);border-radius:80% 15% 75% 30%;background:var(--petal-colour);animation:petal-left var(--duration) linear forwards;will-change:transform;opacity:0}
@keyframes petal-left{0%{transform:translate3d(0,0,0) rotate(20deg);opacity:0}8%{opacity:.9}45%{transform:translate3d(calc(var(--drift)*.45),calc(var(--fall)*.3),0) rotate(190deg)}88%{opacity:.8}100%{transform:translate3d(var(--drift),var(--fall),0) rotate(390deg);opacity:0}}
@keyframes tree-breeze{0%,100%{transform:rotate(0)}50%{transform:rotate(-1deg)}}
@media(min-width:1700px){.site-shell{padding-right:290px;padding-left:55px}.schedule-board{grid-template-columns:minmax(0,1fr) 300px}.day{height:96px}.blossom-tree{right:max(0px,calc((100vw - 1740px)/2));width:385px}.ground{height:230px}.mountains{height:420px}}
@media(max-width:1200px){.site-shell{padding:65px 140px 130px 30px}.schedule-board{grid-template-columns:minmax(0,1fr) 250px;gap:18px}.day{height:80px}.blossom-tree{width:275px;right:-60px}.pinned-title{font-size:23px}.feature-note .pinned-title{font-size:27px}.month-title h1{font-size:40px}}
@media(max-width:950px){.site-shell{padding:60px 30px 175px}.schedule-board{grid-template-columns:minmax(0,1fr) 235px}.blossom-tree{width:250px;bottom:0;right:-45px}.mountains{height:300px;bottom:90px}.ground{height:170px}.day{height:76px}.day-number{font-size:29px}.paper-calendar{padding-left:10px;padding-right:10px}.corkboard{padding-left:11px;padding-right:11px}.pinned-description{font-size:10px}.cloud-two{top:1%}}
@media(max-width:760px){.site-shell{padding:55px 22px 255px}.schedule-board{grid-template-columns:1fr;gap:31px}.corkboard{padding:24px 17px 22px}.corkboard #upcoming-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.pinned-note{padding:16px 10px 12px}.pinned-title,.feature-note .pinned-title{font-size:22px}.pinned-description{display:none}.pinned-top{display:block}.pinned-date{display:block;margin-top:5px}.pinned-heading{font-size:19px}.pinned-kind{font-size:8px}.day{height:81px}.month-title h1{font-size:46px}.month-header{min-height:95px}.blossom-tree{right:0;width:250px;bottom:0}.mountains{height:300px;bottom:80px}.ground{height:180px}.pinned-bottom{font-size:12px}.cloud-one{width:135px;top:0}}
@media(max-width:540px){.site-shell{padding:46px 14px 265px}.paper-calendar{padding:24px 7px 0}.month-title h1{font-size:42px}.month-header{min-height:111px}.month-controls{top:auto;bottom:10px}.day{height:64px}.day-number{font-size:26px}.corkboard #upcoming-list{display:flex;gap:25px}.pinned-note{padding:18px 17px 14px}.pinned-top{display:flex}.pinned-date{margin-top:0}.pinned-title,.feature-note .pinned-title{font-size:27px}.pinned-description{display:block;font-size:11px}.pinned-heading{font-size:22px}.corkboard{padding:25px 20px}.blossom-tree{width:245px;right:-4px}.cloud-two{display:none}.mountains{height:340px;bottom:55px}.ground{height:165px}}
@media(prefers-reduced-motion:reduce){.petal{display:none}.blossom-tree:hover .tree-art{animation:none}}

/* Larger centred calendar, framed by a tall open blossom tree. */
.site-shell{width:min(1400px,calc(100% - 210px));padding:145px 0 115px;margin-inline:auto;min-height:100svh}
.schedule-board{grid-template-columns:minmax(0,1fr) 285px;gap:24px}
.day{height:90px}.paper-calendar{padding-inline:20px}
.landscape{z-index:0}.tree-stage{position:absolute;inset:0;z-index:2;overflow:hidden;pointer-events:none}
.blossom-tree{right:-38px;bottom:14px;width:min(1240px,80vw);height:calc(100% - 25px);pointer-events:none;transform:none;aspect-ratio:auto}
.tree-art{width:100%;height:100%;overflow:visible;animation:none!important}
.tree-blossoms{opacity:.86}.flower-spray{transform-box:fill-box;transform-origin:center}
.sun-left{position:absolute;left:35px;top:35px;width:124px;height:124px}.sun-left .sun-rays{transform-origin:80px 80px;stroke:#f3b83e;animation:sun-turn 100s linear infinite}
.cloud-one{left:6%;top:22%;width:140px}.cloud-two{right:8%;top:3%;width:140px;opacity:.7}
.petal-field{z-index:3}.petal{opacity:0}
@media(min-width:1700px){.site-shell{width:min(1450px,calc(100% - 340px));padding:150px 0 110px}.schedule-board{grid-template-columns:minmax(0,1fr) 300px}.day{height:97px}.blossom-tree{right:-24px;width:min(1310px,76vw);height:calc(100% - 20px)}}
@media(max-width:1200px){.site-shell{width:calc(100% - 150px);padding:145px 0 115px}.schedule-board{grid-template-columns:minmax(0,1fr) 250px;gap:20px}.day{height:83px}.blossom-tree{width:90vw;right:-35px}.sun-left{left:10px;top:30px;width:102px;height:102px}}
@media(max-width:950px){.site-shell{width:calc(100% - 90px);padding:140px 0 105px}.schedule-board{grid-template-columns:minmax(0,1fr) 235px}.day{height:78px}.blossom-tree{right:-44px;width:99vw}.sun-left{width:95px;height:95px}.paper-calendar{padding-inline:10px}}
@media(max-width:760px){.site-shell{width:calc(100% - 36px);padding:125px 0 225px}.schedule-board{grid-template-columns:1fr;gap:31px}.blossom-tree{width:760px;height:760px;right:-260px;top:-40px;bottom:auto}.tree-art{opacity:.5}.tree-stage{z-index:0}.sun-left{width:85px;height:85px;left:7px;top:15px}.cloud-one{top:23px;left:20%;width:110px}.cloud-two{display:none}.day{height:81px}}
@media(max-width:540px){.site-shell{width:calc(100% - 28px);padding-top:120px;padding-bottom:170px}.day{height:64px}.paper-calendar{padding-inline:7px}.blossom-tree{width:650px;height:680px;right:-300px;top:-35px}.tree-art{opacity:.5}.sun-left{width:77px;height:77px;left:2px;top:18px}}

/* Fuller blossom sprays retain open gaps rather than a solid canopy. */
.tree-blossoms{opacity:.94}.blossom-foliage{pointer-events:none}


/* The preferred original tree stays in front; its canopy is positioned above the information. */
.site-shell{z-index:1;padding-top:330px;padding-bottom:100px}
.paper-calendar{z-index:auto}.month-header,.calendar-options,.weekday-row,.calendar-days,.paper-footer{z-index:auto;background-color:transparent}
.corkboard,.binder{z-index:auto}.tree-stage{z-index:2}.petal-field{z-index:3}
.blossom-tree{width:min(1650px,80vw);height:calc(100% + 245px);right:-30px;top:-260px;bottom:auto;pointer-events:none}
.tree-art{display:block;width:100%;height:100%;object-fit:fill;opacity:1}
@media(min-width:1700px){.site-shell{padding-top:330px;padding-bottom:95px}.blossom-tree{width:min(1650px,80vw);right:-20px}}
@media(max-width:1200px){.site-shell{width:calc(100% - 170px);padding-top:350px;padding-bottom:100px}.blossom-tree{width:90vw;right:-80px;top:-300px;height:calc(100% + 285px)}}
@media(max-width:950px){.site-shell{width:calc(100% - 90px);padding-top:360px}.blossom-tree{width:102vw;right:-110px;top:-360px;height:calc(100% + 345px)}}
@media(max-width:760px){.site-shell{width:calc(100% - 36px);padding-top:230px;padding-bottom:170px}.blossom-tree{width:900px;height:650px;right:-360px;top:-160px}.sun-left{top:30px}}
@media(max-width:540px){.site-shell{width:calc(100% - 28px);padding-top:225px;padding-bottom:150px}.blossom-tree{width:780px;height:600px;right:-405px;top:-160px}}

/* Reserve room for the trunk on medium screens rather than hiding the artwork. */
@media(min-width:1201px) and (max-width:1699px){.site-shell{width:calc(100% - 350px);margin-left:45px;margin-right:auto}}
@media(min-width:951px) and (max-width:1200px){.site-shell{width:calc(100% - 190px);margin-left:40px;margin-right:auto}}

/* Reference-composed animated valley. The calendar remains live HTML. */
:root{--board-height:730px;--scene-height:max(100svh,calc(var(--board-height)*1.82))}
body{background:#58afe0}
.site-shell{width:min(1600px,65vw);height:var(--scene-height);min-height:var(--scene-height);padding:0;margin:0 auto;align-items:flex-start;z-index:1}
.site-shell main{padding-top:calc(var(--scene-height)*.30)}
.schedule-board{grid-template-columns:minmax(0,1fr) 285px;gap:24px}
.landscape{background:#58afe0;z-index:0;overflow:hidden}
.scene-art{position:absolute;left:0;top:-8%;width:100%;height:108%;object-fit:fill;display:block}
.scene-floor{display:none}
.tree-stage{z-index:2;pointer-events:none}.blossom-tree{left:26%;top:0;right:auto;bottom:auto;width:74%;height:30%;pointer-events:none}
.petal-field{z-index:3}.petal{filter:none}
@media(min-width:1700px){.site-shell{width:min(1600px,65vw);height:var(--scene-height);min-height:var(--scene-height);margin:0 auto;padding:0}.schedule-board{grid-template-columns:minmax(0,1fr) 300px}}
@media(max-width:1200px){.site-shell{width:78vw;height:var(--scene-height);min-height:var(--scene-height);margin:0 auto;padding:0}.schedule-board{grid-template-columns:minmax(0,1fr) 250px;gap:20px}}
@media(max-width:950px){.site-shell{width:84vw;height:var(--scene-height);min-height:var(--scene-height);margin:0 auto;padding:0}.schedule-board{grid-template-columns:minmax(0,1fr) 235px}}
@media(max-width:760px){.site-shell{width:calc(100% - 36px);height:auto;min-height:100svh;margin:0 auto;padding:0 0 190px}.site-shell main{padding-top:250px}.schedule-board{grid-template-columns:1fr;gap:31px}.landscape{background:linear-gradient(#58afe0,#b5ddeb 60%,#92bbaf)}.scene-art{top:0;height:570px;object-fit:cover;object-position:73% 0}.blossom-tree{left:28%;top:0;width:72%;height:230px}.scene-floor{display:block;position:absolute;bottom:0;width:100%;height:210px;overflow:hidden}.scene-floor img{position:absolute;bottom:0;left:50%;height:650px;width:auto;min-width:100%;transform:translateX(-50%)} }
@media(max-width:540px){.site-shell{width:calc(100% - 28px);padding-bottom:180px}.site-shell main{padding-top:235px}.scene-art{height:510px;object-position:70% 0}.blossom-tree{left:28%;top:0;width:72%;height:215px}}

/* Calendar-first framing and a single connected paper/cork board. */
:root{--scene-height:max(100svh,calc(var(--board-height)*1.18))}
html{background:#344d32}body{background:#344d32}
.sr-only{margin:0;top:0;left:0}
.site-shell{width:min(1780px,72vw)}.site-shell main{padding-top:calc(var(--scene-height)*.075)}
.schedule-board{gap:0;border:7px solid #9b704a;border-top-color:#bc9368;border-left-color:#bc9368;border-radius:3px;background:#a77a50;box-shadow:0 5px 0 #694c34,0 12px 30px #18342925;padding:0}
.paper-calendar{border:0;border-right:2px solid #77553866;border-radius:0;box-shadow:none;padding:27px 20px 0}
.day{height:clamp(84px,calc((100svh - 310px)/5),170px)}.day-number{font-size:clamp(32px,2.2vw,42px)}
.corkboard{border:0;border-left:7px solid #9b704a;border-radius:0;background-color:#bf955f;background-image:url('assets/art/cork-grain-v8.svg');background-size:300px 300px;box-shadow:inset 3px 0 8px #65401d38;padding:29px 18px 25px}
.corkboard #upcoming-list{height:100%;justify-content:space-between;gap:26px}
.pinned-note{padding:21px 17px 18px}.pinned-description{font-size:12px;line-height:1.65}.pinned-title{font-size:27px}.feature-note .pinned-title{font-size:32px}
.scene-art{top:0;height:100%}.landscape{background:#344d32}
.valley-sun{position:absolute;z-index:1;left:5.4%;top:8.5%;width:clamp(125px,10vw,235px);aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,#fff5dc 0 25%,#fff1d9e8 30%,#ffe9d18c 40%,#ffe6cd28 58%,transparent 72%);pointer-events:none}
.drifting-cloud{position:absolute;z-index:1;pointer-events:none;overflow:visible;width:39%;height:auto;animation:valley-cloud-drift 55s ease-in-out infinite alternate;will-change:transform}
.cloud-a{left:-6%;top:26%}.cloud-b{right:-10%;top:42%;width:36%;animation-duration:68s;animation-delay:-25s}
@keyframes valley-cloud-drift{from{transform:translate3d(-18px,0,0)}to{transform:translate3d(30px,-4px,0)}}
@media(min-width:1700px){.site-shell{width:min(1780px,72vw)}.schedule-board{gap:0;grid-template-columns:minmax(0,1fr) 330px}}
@media(max-width:1200px){.site-shell{width:86vw}.schedule-board{gap:0;grid-template-columns:minmax(0,1fr) 270px}.pinned-title{font-size:24px}.feature-note .pinned-title{font-size:28px}.pinned-description{font-size:11px}.pinned-note{padding:19px 13px 16px}}
@media(max-width:950px){.site-shell{width:91vw}.schedule-board{gap:0;grid-template-columns:minmax(0,1fr) 245px}.paper-calendar{padding-inline:10px}.corkboard{padding-inline:12px}.pinned-title{font-size:23px}.feature-note .pinned-title{font-size:26px}.day-number{font-size:30px}}
@media(max-width:760px){.site-shell{width:calc(100% - 28px);padding-bottom:155px}.site-shell main{padding-top:115px}.schedule-board{grid-template-columns:1fr;gap:0;border-width:5px}.paper-calendar{padding-top:22px;border-right:0;border-bottom:6px solid #9b704a}.corkboard{border-left:0;padding:26px 18px}.corkboard #upcoming-list{height:auto;gap:24px}.day{height:77px}.valley-sun{left:9%;top:55px;width:120px}.cloud-a{top:210px;width:65%;left:-20%}.cloud-b{display:none}.landscape{background:linear-gradient(#58afe0,#b5ddeb 60%,#92bbaf)}}
@media(max-width:540px){.site-shell{width:calc(100% - 22px);padding-bottom:150px}.site-shell main{padding-top:110px}.day{height:64px}.day-number{font-size:26px}.paper-calendar{padding-inline:6px}.corkboard{padding-inline:19px}.pinned-note{padding:20px 17px 17px}.pinned-title,.feature-note .pinned-title{font-size:27px}.pinned-description{font-size:11px}.valley-sun{left:9%;top:48px;width:110px}}
@media(prefers-reduced-motion:reduce){.drifting-cloud{animation:none;will-change:auto}}

/* Let the three pinned notes fill the taller board evenly. */
.corkboard #upcoming-list{display:grid;grid-template-columns:1fr;grid-template-rows:repeat(3,minmax(0,1fr));gap:26px}
.pinned-note{display:flex;flex-direction:column}.pinned-bottom{margin-top:auto}
@media(max-width:760px){.corkboard #upcoming-list{display:flex;flex-direction:column;height:auto;gap:25px}.pinned-note{display:block}.pinned-bottom{margin-top:0}}

/* A single shared palette links each date mark to its corresponding note. */
:root{--stream-event:#74c59a;--video-event:#ffca42}
.day.stream{--mark:var(--stream-event)}.day.video{--mark:var(--video-event)}
.stream-dot{background:var(--stream-event)}.video-dot{background:var(--video-event)}
.corkboard .pinned-note[data-kind="stream"]{--note:var(--stream-event);color:#1b4234}
.corkboard .pinned-note[data-kind="video"]{--note:var(--video-event);color:#4b3915}
.day.past.has-event:before{opacity:1}
/* Today is a simple underline, so empty days do not acquire another event circle. */
.day.today .day-number{color:var(--ink)}.day.today .day-number:after{inset:auto 0 -9px;border:0;border-bottom:3px solid currentColor;border-radius:0;transform:none;box-shadow:none;height:0}
.month-title h1{font-size:clamp(52px,3.4vw,76px)}.month-title>span{font-size:22px;margin-top:7px}
.month-header{min-height:121px;padding:0 175px 19px}
.month-controls{top:28px;gap:10px}.month-controls button{font-size:16px;padding:9px 13px;min-height:42px}.arrow-controls{gap:7px}.arrow-controls button{font-size:25px;min-width:43px;padding:7px 11px}
.calendar-options{padding-bottom:18px;gap:16px}.sample-label{font-size:11px;padding:4px 7px;letter-spacing:.7px}
.timezone-control{font-size:14px;gap:10px}.timezone-control select{font-size:14px;padding:9px 10px;max-width:280px}
.weekday-row{padding:13px 0}.weekday-row span{font-size:16px;letter-spacing:1.2px;font-weight:600}
.day-number{font-size:clamp(38px,2.5vw,56px)}
.paper-footer{min-height:64px;padding:16px 0}.legend{gap:26px;flex-wrap:wrap;justify-content:center}.legend li{font-size:16px;gap:9px}.legend i{width:15px;height:13px}
.corkboard #upcoming-list{grid-template-rows:repeat(3,minmax(min-content,1fr));gap:28px}
.pinned-note{padding:24px 20px 20px;min-width:0}.pinned-top{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:10px}
.pinned-date{order:-1;font-family:Studio,"Trebuchet MS",sans-serif;font-size:28px;line-height:1.1;white-space:normal;font-weight:600;opacity:1;color:inherit}
.pinned-heading{font-size:23px;line-height:1.2}.pinned-kind{font-size:15px;line-height:1.3;letter-spacing:.6px;opacity:1}
.pinned-title,.feature-note .pinned-title{font-size:36px;line-height:1.08;margin:10px 0 14px}
.pinned-description{font-size:17px;line-height:1.5;margin-bottom:18px;opacity:1}
.pinned-bottom{font-size:23px;line-height:1.2;padding-top:12px;gap:10px}.pinned-bottom .arrow{font-size:25px}
.dialog-inner{padding:38px 32px 30px}.dialog-inner>h2{font-size:36px}.eyebrow{font-size:12px}.detail-kind{font-size:14px}.detail-event h3{font-size:32px}.detail-time{font-size:20px}.detail-secondary{font-size:15px}.detail-event p{font-size:17px;line-height:1.6}.detail-status{font-size:13px}.detail-link{font-size:17px;padding:14px 16px}.detail-footnote{font-size:12px!important}.close-dialog{font-size:34px}.empty-day strong{font-size:29px}.empty-day p{font-size:17px}
@media(min-width:1700px){.schedule-board{grid-template-columns:minmax(0,1fr) 360px}}
@media(max-width:1200px){.schedule-board{grid-template-columns:minmax(0,1fr) 305px}.month-title h1{font-size:54px}.month-title>span{font-size:20px}.month-header{padding-inline:145px}.month-controls{gap:5px}.month-controls button{font-size:14px;padding:8px 10px}.arrow-controls button{font-size:22px;min-width:36px}.pinned-note{padding:22px 16px 18px}.pinned-date{font-size:26px}.pinned-title,.feature-note .pinned-title{font-size:32px}.pinned-description{font-size:16px}.pinned-kind{font-size:14px}.pinned-bottom{font-size:21px}.day-number{font-size:40px}.weekday-row span{font-size:14px}.legend li{font-size:14px}.timezone-control select{max-width:225px}}
@media(max-width:950px){.schedule-board{grid-template-columns:minmax(0,1fr) 280px}.month-header{flex-direction:column;min-height:164px;padding:0 8px 18px;gap:12px}.month-controls{position:static;margin-top:0}.month-title h1{font-size:53px}.month-title>span{font-size:19px}.calendar-options{flex-wrap:wrap;justify-content:center;gap:10px}.timezone-control{font-size:13px}.timezone-control select{font-size:13px;max-width:220px}.pinned-date{font-size:25px}.pinned-title,.feature-note .pinned-title{font-size:31px}.pinned-description{font-size:16px}.pinned-heading{font-size:21px}.pinned-bottom{font-size:20px}.day-number{font-size:36px}.legend{gap:16px}.legend li{font-size:13px}}
@media(max-width:760px){.schedule-board{grid-template-columns:1fr}.month-header{min-height:160px}.month-controls{position:static;justify-content:center;gap:10px}.month-controls button{font-size:16px;padding:9px 14px}.arrow-controls button{font-size:24px}.month-title h1{font-size:56px}.day-number{font-size:37px}.weekday-row span{font-size:14px}.corkboard #upcoming-list{gap:28px}.pinned-note{padding:24px 22px 20px}.pinned-date{font-size:29px}.pinned-title,.feature-note .pinned-title{font-size:35px}.pinned-description{display:block;font-size:17px}.pinned-kind{font-size:15px}.pinned-heading{font-size:23px}.pinned-bottom{font-size:23px}.legend li{font-size:14px}.sample-label{font-size:10px}}
@media(max-width:540px){.month-title h1{font-size:51px}.month-title>span{font-size:19px}.month-header{padding-bottom:16px}.calendar-options{padding:0 6px 14px}.timezone-control{font-size:12px;gap:7px}.timezone-control select{font-size:13px;max-width:215px;padding:8px}.weekday-row span{font-size:12px;letter-spacing:.5px}.day-number{font-size:32px}.legend{gap:12px}.legend li{font-size:12px;gap:6px}.legend i{width:12px;height:11px}.paper-footer{padding:14px 3px;min-height:59px}.pinned-date{font-size:27px}.pinned-title,.feature-note .pinned-title{font-size:33px}.pinned-description{font-size:17px}.pinned-kind{font-size:14px}.pinned-heading{font-size:22px}.pinned-bottom{font-size:22px}.dialog-inner{padding-inline:24px}.dialog-inner>h2{font-size:31px}.detail-event h3{font-size:29px}}

/* Larger notes can make the shared board taller; let date rows use that space too. */
.paper-calendar{display:flex;flex-direction:column}.calendar-days{flex:1;grid-auto-rows:1fr}
.day{height:auto;min-height:clamp(84px,calc((100svh - 310px)/5),170px)}
@media(max-width:760px){.day{min-height:77px}}
@media(max-width:540px){.day{min-height:64px}}

@media(min-width:1201px) and (max-width:1699px){.schedule-board{grid-template-columns:minmax(0,1fr) 330px}}
