@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&family=Fredoka:wght@400;500;600;700&display=swap');
:root{--ink:#271e30;--purple:#563d77;--deep:#261636;--orange:#ee7c35;--gold:#ffd66e;--cream:#fff9ee;--lilac:#e9def2;--line:#d7c9dd;--mint:#dbeedb}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:16px/1.5 'DM Sans',system-ui,sans-serif}button,select,textarea,input{font:inherit}button{cursor:pointer}button:focus-visible,select:focus-visible,textarea:focus-visible,input:focus-visible{outline:3px solid #ffb652;outline-offset:3px}h1,h2,h3{font-family:Fredoka,'DM Sans',sans-serif;line-height:1.07;margin:0}h1{font-size:clamp(2.6rem,5vw,5rem)}h2{font-size:clamp(1.7rem,3vw,2.6rem)}p{margin:0}em{font-style:normal;color:var(--orange)}.top{height:90px;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:0 clamp(20px,4vw,70px);background:#fffdf8;border-bottom:2px solid #eee3ec;position:sticky;top:0;z-index:10}.brand{display:flex;gap:10px;align-items:center;color:var(--deep);font:700 1.25rem/1 Fredoka}.brand small{display:block;font:700 .65rem/1.6 'DM Sans';letter-spacing:.15em;color:var(--orange)}.brand-mark{display:grid;place-items:center;background:var(--purple);color:white;width:51px;height:51px;border-radius:16px;transform:rotate(-8deg);box-shadow:4px 4px 0 #f9cc6c;font:700 1.3rem Fredoka}.top nav{display:flex;gap:5px}.nav{border:0;background:none;padding:12px 15px;border-radius:99px;color:#5c5263;font-weight:800;font-size:.9rem}.nav:hover,.nav.active{background:var(--lilac);color:var(--purple)}.menu{display:none;background:none;border:0;font-size:1.7rem}.view{display:none;max-width:1440px;margin:auto;padding:0 clamp(20px,4vw,70px) 85px}.view.active{display:block}.hero{display:grid;grid-template-columns:46% 54%;background:var(--purple);border-radius:0 0 36px 36px;overflow:hidden;min-height:555px;margin-bottom:74px;box-shadow:0 20px 0 #e8d8ec}.hero-copy{color:white;padding:clamp(32px,5vw,78px);align-self:center;position:relative;z-index:1}.hero h1{max-width:580px;margin:18px 0 20px}.hero h1 em{color:var(--gold)}.hero p{font-size:1.25rem;max-width:510px}.hero-art{height:100%;min-height:500px}.hero-art img{width:100%;height:100%;object-fit:cover}.eyebrow{font-weight:800;letter-spacing:.16em;font-size:.76rem;color:var(--gold)}.eyebrow.orange{color:#b74b19}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin:34px 0 27px}.primary,.secondary{border-radius:15px;border:2px solid transparent;padding:13px 21px;font-weight:800;min-height:50px}.primary{background:var(--orange);color:#231429;box-shadow:4px 5px 0 #3a244d}.primary:hover{background:#ffa45b;transform:translateY(-2px)}.secondary{background:white;color:var(--purple);border-color:#d9c9dd}.secondary:hover{background:#f5ecfb}.tiny{font-size:.85rem;color:#e7d9ef}.section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin:0 0 28px}.section-head h2,.section-head h1{color:var(--deep);margin-top:8px}.section-head p{margin-top:12px;font-size:1.12rem}.section-head.intro{padding:58px 0 34px}.filter-label{font-weight:800;display:flex;align-items:center;gap:12px}select{border:2px solid var(--line);padding:10px 14px;border-radius:12px;background:white;color:var(--deep)}.day-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:19px}.day-card{border:2px solid #eadcec;border-radius:24px;background:white;text-align:left;min-height:206px;padding:22px;position:relative;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;box-shadow:4px 5px 0 #ebdfea;transition:transform .15s,box-shadow .15s}.day-card:hover{transform:translateY(-4px) rotate(-1deg);box-shadow:7px 9px 0 #dcc4e5}.day-card:nth-child(4n+2){background:#ffeedc}.day-card:nth-child(4n+3){background:#eaf0e5}.day-card:nth-child(4n+4){background:#eee4f5}.day-card .number{font:700 2.8rem/1 Fredoka;color:var(--purple)}.day-card .art{position:absolute;right:16px;top:12px;font-size:2.5rem;transform:rotate(12deg)}.day-card h3{font-size:1.38rem;margin:19px 0 12px;color:var(--deep)}.day-card .meta{margin-top:auto;color:#6c5977;font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.pill{display:inline-block;background:#f5d0a3;color:#793b1d;padding:5px 10px;border-radius:99px;font-weight:800;font-size:.69rem;letter-spacing:.11em}.game-tabs{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}.game-tab{background:white;border:2px solid var(--line);border-radius:99px;padding:11px 18px;color:var(--purple);font-weight:800}.game-tab.active{background:var(--purple);border-color:var(--purple);color:white}.game-shell{display:grid;grid-template-columns:minmax(260px,350px) 1fr;gap:35px;background:#fff;border:2px solid #e9d9ed;border-radius:30px;padding:30px;min-height:460px}.game-info{background:#eee2f3;border-radius:22px;padding:28px}.game-info h2{margin:12px 0}.game-info p{margin-bottom:22px}.game-info .secondary{box-shadow:3px 4px 0 #c6a7d3}.game-stage{display:grid;place-items:center;padding:12px}.memory-grid{display:grid;grid-template-columns:repeat(4,minmax(65px,95px));gap:12px}.memory-card{height:100px;border:0;border-radius:14px;background:#674886;box-shadow:3px 4px 0 #c6acd6;color:white;font-size:2.3rem}.memory-card.revealed,.memory-card.matched{background:#fff0d5;color:var(--deep)}.memory-card.matched{opacity:.6}.bingo-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;max-width:450px;width:100%}.bingo-cell{border:2px solid #d7c7dc;border-radius:13px;background:#fff8ed;aspect-ratio:1;min-width:0;font-size:2.2rem}.bingo-cell.marked{background:#f5c675;border-color:#9a6630}.called{background:var(--purple);color:white;border-radius:16px;padding:14px 24px;text-align:center;font:600 1.4rem Fredoka;margin-bottom:15px}.story-result{background:#fff5df;border:3px dashed #e5af5e;border-radius:22px;padding:30px;max-width:550px;width:100%;font-size:1.25rem}.story-result strong{color:var(--purple)}.story-result p{margin:18px 0}.story-result .secondary{margin-top:15px}.print-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.print-card{background:white;border:2px solid #eadced;border-radius:26px;padding:26px;min-height:295px;box-shadow:5px 6px 0 #eaddec;display:flex;flex-direction:column;align-items:flex-start}.print-card:nth-child(3n){background:#f9ecdb}.print-card h2{font-size:1.7rem;margin:16px 0 12px}.print-card p{margin-bottom:22px}.print-card button{margin-top:auto}.featured-print{grid-column:span 2;display:grid;grid-template-columns:42% 1fr;align-items:center;gap:25px;background:#e9ddf1}.print-art{height:260px;overflow:hidden;background:white;transform:rotate(-3deg);box-shadow:8px 8px 0 #c7b2d6;border:8px solid white}.print-art img{width:100%;height:100%;object-fit:cover;object-position:center 45%}.print-symbol{font:700 3rem Fredoka;color:var(--purple);line-height:1;margin-bottom:15px}.print-note{margin-top:27px;color:#6e6073}.planner{display:grid;grid-template-columns:1.7fr 1fr;gap:24px}.planner-main,.menu-card{background:white;border:2px solid #e9d9ee;border-radius:27px;padding:25px;box-shadow:5px 6px 0 #e9d9ed}.planner-title{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-bottom:25px}.planner-title span{color:#766982;font-size:.85rem}.calendar{display:grid;grid-template-columns:repeat(7,1fr);gap:7px;margin-bottom:25px}.calendar .week{font-weight:800;text-align:center;color:#674477;padding:5px}.date{border:2px solid #e5d6e8;background:#fffaf3;border-radius:12px;aspect-ratio:1;min-width:0;display:flex;align-items:flex-start;justify-content:flex-start;padding:9px;font-weight:800;color:var(--deep);position:relative}.date.has-note:after{content:'✦';position:absolute;right:8px;bottom:3px;color:var(--orange)}.date.selected{background:#f4d29a;border-color:var(--purple)}.date.empty{border:0;background:transparent}.field-label{display:block;font-weight:800;margin-bottom:8px}.field-label span{color:var(--orange)}textarea,input{width:100%;border:2px solid #ddd0e0;background:#fffaf8;border-radius:13px;padding:12px;resize:vertical;color:var(--ink)}.planner-side{display:grid;gap:23px}.menu-card.lavender{background:#eee2f4}.menu-card h2{margin:12px 0 6px}.menu-card p{margin-bottom:17px}.meal-row{display:grid;grid-template-columns:56px 1fr;gap:8px;align-items:center;margin:7px 0;font-size:.85rem;font-weight:800}.meal-row input{padding:7px 10px}footer{background:var(--deep);color:#eaddf0;padding:35px clamp(20px,4vw,70px);display:flex;justify-content:space-between;gap:22px;font-size:.86rem}footer strong{font:600 1.3rem Fredoka;color:white}footer p{margin-top:5px}dialog{border:0;border-radius:28px;padding:0;max-width:760px;width:calc(100% - 30px);max-height:90vh;box-shadow:0 28px 70px #100c18aa;background:var(--cream)}dialog::backdrop{background:#160d26bb}.close{position:absolute;top:14px;right:15px;background:#fff;border:0;border-radius:99px;width:40px;height:40px;font-size:1.6rem;z-index:1}.detail-top{background:var(--purple);color:white;padding:36px 40px 28px}.detail-top .eyebrow{color:var(--gold)}.detail-top h2{font-size:2.6rem;margin:12px 0}.detail-body{padding:30px 40px 38px}.detail-body h3{font-size:1.2rem;color:var(--purple);margin:20px 0 8px}.detail-body li{margin:10px 0}.detail-body blockquote{background:#eee1f1;border-left:6px solid var(--orange);padding:18px;margin:22px 0;font-size:1.15rem}.detail-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}.done{background:#dcefdc}.empty-state{padding:30px}.print-sheet{display:none}
@media(max-width:1050px){.day-grid{grid-template-columns:repeat(3,1fr)}.hero{grid-template-columns:1fr 1fr}.hero-copy{padding:38px}.hero-art{min-height:450px}.print-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.top{height:auto;min-height:76px;flex-wrap:wrap}.top nav{display:none;width:100%;padding-bottom:15px;flex-wrap:wrap}.top nav.open{display:flex}.menu{display:block}.nav{padding:8px 11px}.view{padding:0 18px 55px}.hero{grid-template-columns:1fr;border-radius:0 0 28px 28px;margin:0 -18px 58px}.hero-copy{padding:36px 25px}.hero-art{min-height:250px;max-height:320px;grid-row:1}.hero h1{font-size:3rem}.hero p{font-size:1.05rem}.section-head{align-items:start;flex-direction:column}.day-grid{grid-template-columns:repeat(2,1fr);gap:11px}.day-card{padding:15px;min-height:178px}.day-card .art{font-size:2rem}.day-card h3{font-size:1.15rem}.day-card .number{font-size:2.1rem}.day-card .meta{font-size:.66rem}.game-shell,.planner{grid-template-columns:1fr}.game-info{padding:20px}.print-grid{grid-template-columns:1fr}.featured-print{grid-column:auto;grid-template-columns:1fr}.print-art{height:220px}.planner-title{display:block}.calendar{gap:3px}.date{padding:4px;border-radius:6px;font-size:.8rem}.date.has-note:after{right:2px;bottom:0}footer{display:block}.detail-top,.detail-body{padding:28px 22px}.detail-top h2{font-size:2rem}}
@media print{@page{size:letter;margin:12mm}body{background:white!important}.top,main,footer,dialog{display:none!important}#print-root{display:block!important}.print-sheet{display:block!important;color:#171717;font:14pt/1.45 Georgia,serif}.print-sheet h1{font:700 28pt Georgia;color:#171717;margin:0 0 12mm}.print-sheet h2{font:700 17pt Georgia;margin:8mm 0 3mm}.print-sheet .sheet-header{border-bottom:3px solid #111;padding-bottom:5mm;margin-bottom:8mm}.print-sheet .sheet-footer{font:9pt Arial;margin-top:10mm}.print-sheet img{display:block;max-width:100%;max-height:245mm;margin:auto}.print-sheet .rule{border-bottom:1px solid #777;height:16mm}.print-sheet .print-calendar{display:grid;grid-template-columns:repeat(7,1fr);border-top:1px solid #555;border-left:1px solid #555}.print-sheet .print-calendar>div{border-bottom:1px solid #555;border-right:1px solid #555;height:24mm;padding:2mm;font:9pt Arial}.print-sheet .print-calendar .dow{height:8mm;font-weight:bold;text-align:center}.print-sheet .tag-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:5mm}.print-sheet .tag{border:2px dashed #555;min-height:42mm;padding:8mm;font:700 18pt Georgia}.print-sheet .sheet-bingo{display:grid;grid-template-columns:repeat(4,1fr);max-width:170mm}.print-sheet .sheet-bingo span{border:1px solid #333;height:36mm;display:grid;place-items:center;font:25pt Arial}.print-sheet .sheet-meals{display:grid;grid-template-columns:30mm 1fr}.print-sheet .sheet-meals>div{border-bottom:1px solid #999;padding:5mm 0}}

.color-actions{display:flex;gap:8px;flex-wrap:wrap}.color-actions button{margin-top:0}.color-head{padding:26px 30px 15px}.color-head h2{margin:10px 0}.color-head p{margin-bottom:15px}.palette{display:inline-flex;gap:8px;flex-wrap:wrap;margin-right:15px;vertical-align:middle}.swatch{width:35px;height:35px;border-radius:50%;border:3px solid white;box-shadow:0 0 0 1px #9d8aab}.swatch.active{box-shadow:0 0 0 3px #241634}.color-board{width:min(100%,600px);position:relative;margin:0 auto 30px;touch-action:none;background:white}.color-board canvas,.color-board img{width:100%;display:block}.color-board img{position:absolute;inset:0;height:100%;object-fit:fill;pointer-events:none;mix-blend-mode:multiply}#color-dialog{max-width:700px}#color-dialog .close{position:sticky;float:right}/* Cover-led opening, based on Priscilla's 2024 magazine composition. */
.top{background:#624a88;border-bottom:0;color:#fff;box-shadow:none}.top .brand{color:#fff}.top .brand small{color:#f7ce68}.top .brand-mark{background:#f1d074;color:#39234f;box-shadow:4px 4px 0 #311a49}.top .nav{color:#f5eafa}.top .nav:hover,.top .nav.active{background:#866daa;color:white}.top .menu{color:#fff}
.cover-hero{display:block;position:relative;min-height:min(820px,calc(100svh - 90px));margin:0 calc(-1 * clamp(20px,4vw,70px)) 76px;border-radius:0;box-shadow:none;background:#624a88;overflow:hidden;text-align:center;color:#fff;isolation:isolate}.cover-hero:before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 50% 26%,#8067a5 0,#624a88 54%,#4e366f 100%);z-index:-2}.cover-copy{position:relative;z-index:2;padding:52px 20px 335px;max-width:850px;margin:auto}.cover-kicker{font:600 clamp(1rem,2vw,1.55rem) Georgia,serif;letter-spacing:.27em;transform:rotate(-3deg);margin:0 0 23px}.cover-hero h1{font:800 clamp(3.4rem,8vw,7.7rem)/.9 Georgia,serif;letter-spacing:-.07em;text-shadow:3px 4px 0 #3c2859,0 0 1px white;margin:0 auto;max-width:920px}.cover-hero h1 span{display:block}.cover-edition{font:700 .92rem/1.4 'DM Sans',sans-serif;letter-spacing:.23em;color:#ffce64;margin:26px 0 9px}.cover-intro{font-size:1.13rem;max-width:550px;margin:auto}.cover-actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:24px auto 14px}.cover-primary,.cover-secondary{min-height:53px;padding:11px 22px;border-radius:99px;font-weight:800;border:2px solid #ffd976}.cover-primary{background:#ffd976;color:#351d4d;box-shadow:4px 5px 0 #28163d}.cover-primary:hover{background:#fff0b5;transform:translateY(-2px)}.cover-secondary{background:#634487;color:white}.cover-secondary:hover{background:#7b5ca0}.cover-note{font-size:.78rem;opacity:.85;letter-spacing:.03em}.cover-art{position:absolute;z-index:1;bottom:-71px;left:50%;transform:translateX(-50%);width:min(1120px,100%);height:auto;pointer-events:none;filter:drop-shadow(0 -12px 25px #30144455)}.cover-bottom{position:absolute;z-index:2;bottom:15px;left:0;right:0;font-size:.68rem;font-weight:800;letter-spacing:.25em;color:#fff3cc}.cover-bottom span{color:#fbc452;padding:0 10px}.cover-sparkles{position:absolute;inset:0;pointer-events:none;color:#fff;z-index:1}.cover-sparkles span{position:absolute;font-size:2.5rem;line-height:1}.cover-sparkles span:nth-child(1){top:10%;left:10%;transform:rotate(-16deg)}.cover-sparkles span:nth-child(2){top:20%;right:13%;font-size:2.9rem}.cover-sparkles span:nth-child(3){top:33%;left:8%;font-size:3.5rem}.cover-sparkles span:nth-child(4){top:42%;right:6%;font-size:1.6rem}.cover-sparkles span:nth-child(5){top:3%;right:33%;font-size:4rem}.cover-sparkles span:nth-child(6){top:55%;left:17%;font-size:1.8rem}
@media(max-width:760px){.cover-hero{margin:0 -18px 55px;min-height:735px}.cover-copy{padding:53px 18px 310px}.cover-kicker{font-size:.9rem;letter-spacing:.17em;margin-bottom:27px}.cover-hero h1{font-size:clamp(2.6rem,12vw,5rem);letter-spacing:-.065em}.cover-edition{font-size:.73rem;letter-spacing:.12em;margin-top:20px}.cover-intro{font-size:.99rem;max-width:345px}.cover-actions{margin-top:18px}.cover-primary,.cover-secondary{font-size:.87rem;min-height:47px;padding:9px 16px}.cover-note{max-width:310px;margin:auto;line-height:1.3}.cover-art{width:700px;max-width:none;bottom:-29px}.cover-bottom{bottom:13px;font-size:.5rem;letter-spacing:.11em}.cover-sparkles span:nth-child(3),.cover-sparkles span:nth-child(6){display:none}}
@media(max-width:420px){.cover-hero{min-height:725px}.cover-copy{padding-top:43px}.cover-art{width:650px;bottom:2px}.cover-note{font-size:.7rem}.cover-actions{gap:8px}}
.cover-web{position:absolute;z-index:3;top:-3px;left:-3px;width:clamp(170px,22vw,300px);pointer-events:none}.cover-web+ .cover-sparkles span:first-child{display:none}
.intro-page{position:relative;display:grid;grid-template-columns:43% 57%;gap:0;max-width:1240px;margin:0 auto 78px;background:#624a88;border-radius:28px;overflow:hidden;min-height:610px;box-shadow:10px 12px 0 #dfcdeb}.intro-left{position:relative;color:white;padding:54px 34px 30px 50px;overflow:hidden}.intro-eyebrow{font-size:.8rem;letter-spacing:.2em;font-weight:800;color:#ffd979}.intro-left h2{font:800 clamp(2.5rem,4.2vw,4.5rem)/.98 Georgia,serif;letter-spacing:-.055em;margin:27px 0 20px}.intro-left h2 em{color:#ffd979}.intro-standfirst{font-size:1.18rem;line-height:1.55;max-width:360px}.intro-art{position:absolute;bottom:-24px;left:-20px;width:min(560px,105%);height:auto;pointer-events:none}.intro-letter{position:relative;align-self:stretch;background:#fff9ed;margin:24px 24px 24px 0;border-radius:20px;padding:33px clamp(24px,3vw,46px);transform:rotate(.4deg);box-shadow:5px 7px 0 #3b2855;color:#30253a}.letter-pin{position:absolute;right:26px;top:13px;color:#ea8139;font-size:1.8rem}.intro-letter .salutation{font:700 1.7rem Georgia,serif;color:#5a3e7b;margin-bottom:15px}.intro-letter p{font-size:1rem;line-height:1.65;margin:0 0 14px}.inside-guide{background:#efdfef;border-left:5px solid #ee873f;border-radius:12px;padding:14px 20px;margin:18px 0}.inside-guide strong{font:700 1.12rem Georgia,serif;color:#563d77}.inside-guide ul{margin:9px 0 0;padding-left:21px;line-height:1.55}.inside-guide li{margin:2px 0}.intro-letter .signoff{font-weight:700;margin:14px 0}.signoff span{font:italic 1.22rem Georgia,serif;color:#684784}.intro-button{border:0;border-radius:99px;background:#f3c960;color:#322044;padding:12px 20px;font-weight:800;box-shadow:3px 4px 0 #6d4d80}.intro-button:hover{background:#ffe39b;transform:translateY(-2px)}
@media(max-width:900px){.intro-page{grid-template-columns:1fr}.intro-left{min-height:260px;padding:35px 34px}.intro-left h2{font-size:3rem;margin:12px 0}.intro-standfirst{max-width:540px}.intro-art{width:350px;left:auto;right:-15px;bottom:-100px;opacity:.78}.intro-letter{margin:0 20px 23px;transform:none}.cover-web{width:170px}}
@media(max-width:560px){.cover-web{width:130px;top:0;left:0}.intro-page{border-radius:18px;margin-bottom:50px}.intro-left{min-height:270px;padding:29px 24px}.intro-left h2{font-size:2.7rem}.intro-standfirst{font-size:1rem;max-width:270px}.intro-art{width:250px;right:-35px;bottom:-75px}.intro-letter{margin:0 12px 14px;padding:27px 22px}.intro-letter p{font-size:.95rem}.inside-guide{padding:13px 16px}}
/* Page three: a playful contents map that echoes the original green page. */
.contents-page{position:relative;max-width:1240px;margin:0 auto 80px;padding:46px clamp(22px,5vw,64px) 28px;background:#087a48;color:#fff9eb;border-radius:28px;overflow:hidden;box-shadow:10px 12px 0 #d9e9cf}.contents-page:before{content:'✦';position:absolute;right:35px;top:18px;color:#fcd56b;font-size:3.2rem;transform:rotate(14deg)}.contents-heading{position:relative;max-width:870px}.contents-kicker{font-size:.83rem;font-weight:800;letter-spacing:.2em;color:#fbd568}.contents-heading h2{font:800 clamp(3.4rem,6.8vw,6.8rem)/.95 Georgia,serif;letter-spacing:-.065em;margin:18px 0 12px;text-shadow:3px 4px 0 #075b37}.contents-heading em{color:#fbd568;font-style:normal}.contents-heading p{font-size:1.12rem;line-height:1.5;max-width:650px}.contents-stars{position:absolute;right:-220px;bottom:-15px;color:#ffb869;font-size:2.1rem;transform:rotate(-12deg)}.contents-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:37px}.contents-card{position:relative;background:#fff8ea;color:#29223b;border-radius:22px;padding:21px 25px 23px;box-shadow:5px 7px 0 #005333;min-height:238px}.contents-card:nth-child(2){transform:rotate(1deg)}.contents-card:nth-child(3){transform:rotate(-.8deg)}.contents-card-head{display:flex;align-items:center;gap:12px;border-bottom:2px dashed #c8b4c8;padding-bottom:13px}.contents-card-head h3{font:800 clamp(1.3rem,2vw,1.75rem)/1.1 Georgia,serif;color:#4b336a;margin:0;flex:1}.contents-card-head>span:last-child{font-size:1.8rem;color:#df7433}.contents-number{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#fbd16c;color:#4b336a;font-weight:900}.contents-card ul{list-style:none;padding:0;margin:11px 0 0}.contents-card li+li{border-top:1px dotted #d5c6cb}.contents-card li button,.contents-card li>span{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:42px;padding:8px 2px;text-align:left;color:#29223b;font:700 1rem/1.25 'DM Sans',sans-serif}.contents-card li button{border:0;background:transparent;text-decoration:underline;text-decoration-color:#efad4d;text-decoration-thickness:2px;text-underline-offset:4px;cursor:pointer}.contents-card li button:hover,.contents-card li button:focus-visible{color:#9c4a1f;background:#fff0c8;border-radius:6px}.contents-card li button span{color:#d46b2d}.contents-card li>span{color:#504958}.contents-card small{font-size:.72rem;font-weight:700;color:#766c7b;text-align:right}.contents-doodle{position:absolute;right:24px;bottom:18px;color:#e98a3a}.contents-footer{text-align:center;font:italic 1.22rem Georgia,serif;margin:29px 0 0}.contents-footer span{color:#ffd36a}@media(max-width:780px){.contents-page{padding:34px 20px;margin-bottom:58px}.contents-grid{grid-template-columns:1fr;gap:15px}.contents-stars{display:none}.contents-card:nth-child(n){transform:none;min-height:0}.contents-heading h2{font-size:clamp(2.8rem,9vw,4.6rem)}.contents-heading p{font-size:1rem}.contents-card li button,.contents-card li>span{font-size:.96rem}.contents-page:before{right:12px;top:11px;font-size:2rem}}@media(max-width:430px){.contents-card{padding:18px}.contents-card-head h3{font-size:1.24rem}.contents-number{width:37px;height:37px;flex:none}.contents-card small{font-size:.65rem}}
/* 2026 activity calendar page and its editable companion. */
.planner-title{align-items:flex-start}.planner-title h2{margin:10px 0 4px}.calendar-stickers{width:145px;height:97px;object-fit:contain;flex:none;margin:-10px -10px -13px 0}.activity-date{aspect-ratio:auto;min-height:105px;display:flex;flex-direction:column;gap:6px;padding:8px;text-align:left;overflow:hidden}.activity-date .date-number{font-size:1.05rem;color:#5d3a8a}.activity-date .date-idea{font-size:.75rem;line-height:1.22;font-weight:800;overflow-wrap:anywhere}.activity-date.local-date{background:#eadfff}.activity-date.local-date.selected{background:#f4d29a}.activity-date .local-tag{font-size:.55rem;letter-spacing:.08em;color:#64438b;font-weight:900;margin-top:auto}.activity-date.has-note:after{content:'✦';right:6px;bottom:2px}.calendar-suggestion{display:grid;gap:4px;background:#eee1f5;border-left:5px solid #e88b42;border-radius:12px;padding:13px 16px;margin:-4px 0 18px}.calendar-suggestion strong{font:700 1.1rem Georgia,serif;color:#513576}.calendar-suggestion span{font-size:.88rem}.download-calendar{display:inline-block;margin-top:14px;color:#573875;font-weight:800;text-underline-offset:4px}.calendar-print-card a.secondary{display:inline-block;margin-top:auto;text-decoration:none}@media(max-width:950px){.activity-date{min-height:83px;padding:6px}.activity-date .date-idea{font-size:.65rem}}@media(max-width:600px){.planner-title{position:relative;min-height:105px;padding-right:95px}.calendar-stickers{position:absolute;right:0;top:0;width:92px;height:68px;margin:0}.planner-title h2{font-size:1.45rem}.calendar .week{font-size:.61rem;padding:3px 0}.activity-date{min-height:51px;gap:0;padding:4px}.activity-date .date-number{font-size:.88rem}.activity-date .date-idea{display:none}.activity-date .local-tag{font-size:.42rem;letter-spacing:0}.activity-date.has-note:after{font-size:.6rem;right:2px;bottom:0}}
/* Calendar art direction: ink-dark October zine, cream squares, lilac interruptions. */
#plan .planner-main{background:#29282a;border-color:#29282a;color:#faf7ee;border-radius:9px;box-shadow:7px 8px 0 #9b82b7;padding:22px 22px 28px;overflow:hidden}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.planner-title{display:block;margin-bottom:14px;padding:0;min-height:0}.calendar-masthead{display:block;width:min(100%,700px);height:auto;max-height:210px;object-fit:contain;margin:0 auto -1px}.planner-subline{display:flex;align-items:center;justify-content:space-between;gap:8px;color:#d3c0ff;font-size:.76rem;letter-spacing:.09em}.planner-subline span{color:#f5f0e6;letter-spacing:.02em}.calendar{position:relative;gap:5px;margin:9px 0 22px}.calendar .week{background:#d3c0ff;color:#251d2d;font-size:.68rem;letter-spacing:.05em;padding:7px 2px}.calendar .week:first-child{border-radius:4px 0 0 4px}.calendar .week:nth-child(7){border-radius:0 4px 4px 0}.calendar .date.empty{background:transparent;border:0}.calendar .activity-date{min-height:94px;border:0;border-radius:0;background:#faf7ee;color:#422451;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:5px 4px;text-align:center;box-shadow:none;overflow:hidden}.calendar .activity-date:nth-child(3n){background:#f3eee4}.calendar .activity-date.local-date{background:#f7f2e8}.calendar .activity-date.selected{outline:3px solid #d3c0ff;outline-offset:-3px;background:#eeddfd}.calendar .activity-date .date-number{position:absolute;top:5px;right:7px;align-self:auto;font:italic 900 1rem Georgia,serif;color:#211923}.calendar .activity-date .date-idea{font:500 .83rem/1.2 Georgia,serif;color:#512477;overflow-wrap:normal;hyphens:auto;padding-top:17px}.calendar .activity-date .local-tag{font-size:.52rem;letter-spacing:.02em;color:#5d3283;margin:2px 0 0}.calendar .activity-date.has-note:after{color:#8a51b4}.calendar-accent,.calendar-boo{position:absolute;pointer-events:none;z-index:2}.calendar-potion{width:10%;height:83px;object-fit:contain;left:1%;top:35px;transform:rotate(-13deg)}.calendar-skull{width:8%;height:64px;object-fit:contain;left:31%;top:51px;transform:rotate(8deg)}.calendar-bat{width:12%;height:72px;object-fit:contain;right:-2%;bottom:-9px;transform:rotate(-12deg)}.calendar-boo{left:17%;top:58px;background:#d4c0ff;color:#291c32;font:italic 900 1rem Georgia,serif;clip-path:polygon(50% 0,62% 17%,78% 6%,82% 25%,100% 28%,88% 50%,100% 73%,79% 77%,76% 95%,58% 84%,48% 100%,37% 84%,18% 94%,18% 76%,0 70%,12% 51%,0 28%,19% 23%,22% 5%,40% 18%);width:91px;height:78px;display:grid;place-items:center;transform:rotate(-8deg)}#plan .field-label{color:#faf7ee}#plan .field-label span{color:#d3c0ff}#plan .calendar-suggestion{background:#ddcafa;color:#26202d;border-left-color:#8d5dba}#plan .calendar-suggestion strong{color:#492269}#plan .download-calendar{color:#d9c5ff}#plan #calendar-note{background:#faf7ee;color:#29232f;border-color:#d1bbec}@media(max-width:900px){.calendar .activity-date{min-height:78px}.calendar .activity-date .date-idea{font-size:.72rem}.calendar-potion{height:66px}.calendar-skull{height:52px}.calendar-bat{height:58px}.calendar-boo{width:70px;height:62px;font-size:.82rem;top:52px}}@media(max-width:600px){#plan .planner-main{padding:16px 10px}.planner-title{padding:0;min-height:0}.calendar-masthead{max-height:140px}.planner-subline{font-size:.55rem;letter-spacing:0}.calendar{gap:3px}.calendar .week{font-size:.53rem;padding:4px 0}.calendar .activity-date{min-height:50px;padding:3px}.calendar .activity-date .date-number{font-size:.8rem;top:2px;right:3px}.calendar .activity-date .date-idea{display:none}.calendar .activity-date .local-tag{font-size:.37rem;margin-top:24px}.calendar-potion{height:37px;top:27px}.calendar-skull{height:32px;top:27px}.calendar-bat{height:34px;bottom:-4px}.calendar-boo{width:36px;height:35px;font-size:.52rem;top:28px}}
.calendar-mode{display:inline-flex;gap:2px;padding:3px;margin-top:15px;border:1px solid #b49ccc;border-radius:99px;background:#211f23}.calendar-mode button{border:0;border-radius:99px;background:transparent;color:#f7eefc;font:800 .81rem/1.2 'DM Sans',sans-serif;padding:9px 15px}.calendar-mode button[aria-pressed="true"]{background:#d3c0ff;color:#231b2b}.calendar-mode button:hover,.calendar-mode button:focus-visible{outline:2px solid #f7d786;outline-offset:2px}.calendar .activity-date.own-date{background:#faf7ee}.calendar .activity-date.own-date:nth-child(3n){background:#f3eee4}.calendar .activity-date.own-date .date-idea{font:600 .71rem/1.15 'DM Sans',sans-serif;color:#502477;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;max-width:100%;overflow-wrap:anywhere}.download-calendar-links{display:flex;flex-wrap:wrap;column-gap:24px;row-gap:3px}@media(max-width:600px){.calendar-mode{width:100%;display:flex}.calendar-mode button{flex:1;font-size:.7rem;padding:8px 7px}.calendar .activity-date.own-date .date-idea{display:-webkit-box;font-size:.48rem;line-height:1.05;-webkit-line-clamp:3;padding-top:15px;max-height:40px}}
/* Page six: Priscilla's orange October market collage. */
.season-page{max-width:1220px;margin:18px auto 75px;background:#f3b343;color:#332323;border-radius:16px;padding:35px clamp(22px,4vw,52px) 28px;overflow:hidden;box-shadow:8px 10px 0 #d7a16d}.season-heading{position:relative;display:flex;align-items:flex-end;min-height:165px}.season-heading>div{margin-left:115px;position:relative;z-index:1}.season-raven{position:absolute;left:-30px;top:-17px;width:150px;height:150px;object-fit:contain;transform:rotate(-6deg)}.season-heading span{font-weight:900;font-size:.87rem;letter-spacing:.16em}.season-heading h1{font:italic 800 clamp(4.2rem,7.3vw,7.4rem)/.9 Georgia,serif;letter-spacing:-.075em;color:#740b8d;margin:10px 0 15px}.season-heading p{font:1.1rem Georgia,serif;margin:0 0 12px}.season-layout{display:grid;grid-template-columns:minmax(300px,49%) 1fr;gap:24px;align-items:start;margin-top:20px}.season-slips{display:grid;gap:10px}.season-slip{position:relative;display:flex;align-items:center;justify-content:center;min-height:61px;background:#f8d4c6;border:2px solid #da8170;border-radius:8px;box-shadow:4px 5px 0 #d58859;color:#a33324;font:1.55rem Georgia,serif;cursor:pointer;transform:rotate(-.4deg)}.season-slip:nth-child(2n){transform:rotate(.4deg)}.season-slip input{position:absolute;opacity:0;width:100%;height:100%;cursor:pointer}.season-slip:focus-within{outline:3px solid #4b2467;outline-offset:3px}.season-slip:hover{background:#ffe4d6;transform:translateY(-2px) rotate(.2deg)}.season-slip:has(input:checked){background:#ffe9cb}.season-slip .slip-check{position:absolute;right:17px;top:50%;transform:translateY(-50%);font:800 1.25rem 'DM Sans',sans-serif;color:#740b8d}.season-side{position:relative;min-height:695px}.season-mission{position:relative;z-index:2;background:#740b8d;color:#fff4dc;border-radius:18px;padding:22px 25px;max-width:350px;margin:0 auto}.season-mission strong{font-size:.78rem;letter-spacing:.12em}.season-mission p{font:1.17rem/1.35 Georgia,serif;margin:13px 0}.season-mission>span{font-size:.77rem;font-weight:900;letter-spacing:.12em}.season-mission #season-picked{border-top:1px solid #b782c3;margin-top:17px;padding-top:14px;line-height:1.5;font-size:.93rem}.season-mission button{border:0;border-radius:99px;background:#f7d884;color:#33203f;font-weight:900;padding:11px 15px;margin-top:14px}.season-mission button:disabled{opacity:.52;cursor:not-allowed}.season-cauldron{position:absolute;z-index:1;width:min(650px,125%);height:auto;right:-13%;bottom:-75px;pointer-events:none}.season-foot{position:relative;z-index:2;background:#fff4d7;border-radius:12px;padding:18px 22px;margin-top:18px;font-size:.89rem;line-height:1.45}.season-foot p{margin:0 0 7px}.season-foot>a{display:inline-block;color:#66217f;font-weight:900;margin:5px 0 8px;text-underline-offset:4px}.season-foot small{display:block;font-size:.72rem}.season-foot small a{color:#66217f}@media(max-width:900px){.season-layout{grid-template-columns:1fr}.season-side{min-height:430px;display:grid;grid-template-columns:1fr 1fr;align-items:start}.season-mission{margin:0;max-width:none}.season-cauldron{width:390px;max-width:100%;right:-5%;bottom:-30px}.season-heading h1{font-size:5rem}}@media(max-width:650px){.season-page{margin:0 -18px 50px;border-radius:0;padding:26px 20px}.season-heading{min-height:150px}.season-raven{width:105px;height:115px;left:-22px;top:-7px}.season-heading>div{margin-left:73px}.season-heading span{font-size:.67rem}.season-heading h1{font-size:clamp(3.5rem,12vw,5.1rem);margin:8px 0}.season-heading p{font-size:.91rem}.season-layout{gap:30px;margin-top:12px}.season-slips{gap:8px}.season-slip{min-height:51px;font-size:1.23rem}.season-side{display:block;min-height:540px}.season-mission{max-width:none}.season-cauldron{width:460px;max-width:120%;right:-15%;bottom:-25px}.season-foot{font-size:.81rem}}
/* October kitchen bucket list */
.kitchen-page{max-width:1140px;margin:20px auto 75px;background:#fffdf9;color:#2d2430;position:relative;overflow:hidden;padding:40px clamp(22px,4vw,54px) 48px;box-shadow:8px 9px 0 #ecdfe8;border:1px solid #f0e5e9}.kitchen-web{position:absolute;top:-9px;left:-20px;width:250px;pointer-events:none}.kitchen-heading{text-align:center;position:relative;z-index:1;margin:10px 0 25px}.kitchen-heading span{font:1.7rem Georgia,serif;letter-spacing:.16em}.kitchen-heading h1{font:700 clamp(5.1rem,10vw,9rem)/.95 Georgia,serif;text-transform:uppercase;letter-spacing:-.06em;color:#f16754;margin:9px 0}.kitchen-heading p{font:1.9rem Georgia,serif;letter-spacing:.14em;margin:0}.kitchen-intro{position:relative;z-index:1;display:flex;align-items:end;justify-content:space-between;gap:30px;margin:40px 0 22px}.kitchen-intro p{font:1.1rem/1.4 Georgia,serif;max-width:430px}.kitchen-tools{display:flex;align-items:center;gap:13px;flex-wrap:wrap;font-size:.83rem;font-weight:800}.kitchen-tools label{display:flex;align-items:center;gap:8px}.kitchen-tools select{width:auto;min-width:145px;padding:8px;border-radius:4px;background:white;border:1px solid #e68175}.kitchen-tools a{color:#703f8c;text-decoration:underline;text-underline-offset:4px}.kitchen-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}.kitchen-tile{height:145px;border:1.5px solid #e8675b;position:relative;background:#fffdf9;cursor:pointer;padding:9px;display:flex;flex-direction:column}.kitchen-tile:hover{background:#fff2ed}.kitchen-tile:focus-within{outline:3px solid #673c83;outline-offset:2px}.kitchen-tile input{position:absolute;inset:0;opacity:0;cursor:pointer}.kitchen-tile.is-made{background:#f9eafa}.kitchen-number{font:4.2rem/.9 Georgia,serif;color:#aa7ada}.kitchen-spark{position:absolute;right:10px;top:8px;color:#d39ad3;font-size:1.2rem}.kitchen-label{font:1.03rem/1.13 Georgia,serif;text-transform:uppercase;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;margin-top:auto;max-width:95%}.kitchen-type{font-size:.63rem;letter-spacing:.14em;text-transform:uppercase;margin-top:6px;color:#86677a}.kitchen-check{position:absolute;right:9px;bottom:7px;color:#724495;font-weight:900}.kitchen-bottom{position:relative;min-height:190px;display:flex;justify-content:end;align-items:end}.kitchen-bottom img{position:absolute;left:18%;bottom:0;width:72%;max-height:180px;object-fit:contain;object-position:bottom}.kitchen-count{position:relative;background:#733f88;color:white;padding:8px 14px;border-radius:99px;font-weight:800;margin:0 0 14px}.kitchen-planner{border-top:2px solid #e7c4d5;padding-top:23px;display:grid;grid-template-columns:1fr 1.1fr;gap:25px;align-items:end}.kitchen-planner .eyebrow{color:#9c6380;font-weight:900}.kitchen-planner h2{font:700 2rem Georgia,serif;margin:6px 0}.kitchen-planner p{line-height:1.45}.kitchen-assign{display:grid;grid-template-columns:1.4fr .65fr;gap:10px;align-items:end}.kitchen-assign label{font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.kitchen-assign select{margin-top:5px;padding:10px;border:1px solid #d8a8b9;background:white;border-radius:5px}.kitchen-assign button{grid-column:1/-1;border:0;background:#75448f;color:white;padding:12px;border-radius:5px;font-weight:900;cursor:pointer}.kitchen-assign button:hover{background:#5a306f}
@media(max-width:850px){.kitchen-grid{grid-template-columns:repeat(4,1fr)}.kitchen-heading h1{font-size:clamp(4rem,10vw,7rem)}.kitchen-web{width:190px}.kitchen-planner{grid-template-columns:1fr}}
@media(max-width:600px){.kitchen-page{margin:0 -18px 50px;padding:40px 18px}.kitchen-heading{padding-top:70px}.kitchen-heading span{font-size:1rem}.kitchen-heading h1{font-size:clamp(3.2rem,14vw,5rem)}.kitchen-heading p{font-size:1.1rem}.kitchen-intro{display:block;margin-top:20px}.kitchen-tools{margin-top:15px}.kitchen-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.kitchen-tile{height:125px}.kitchen-number{font-size:3.4rem}.kitchen-label{font-size:.86rem}.kitchen-bottom{min-height:115px}.kitchen-bottom img{left:0;width:100%;max-height:120px}.kitchen-planner h2{font-size:1.65rem}}
.kitchen-motif{position:absolute;top:23px;right:13px;width:36px;height:36px;pointer-events:none}.kitchen-tile:nth-child(5n+2) .kitchen-spark{color:#ecc09c}.kitchen-tile:nth-child(7n+3) .kitchen-spark{color:#d992ca}
@media(max-width:600px){.kitchen-motif{top:18px;right:9px;width:31px;height:31px}}
/* Family dinner calendar: a vintage typed page that follows the 2026 dates. */
.dinner-page{max-width:1240px;margin:20px auto 75px;background:#f8f4ed;color:#342d29;padding:22px clamp(18px,3vw,38px) 35px;box-shadow:8px 9px 0 #e7d9cb}.dinner-heading{display:grid;grid-template-columns:1.35fr 1fr;border:1px dashed #766b60;min-height:155px}.dinner-heading>div:first-child{padding:13px 30px;display:flex;align-items:center;gap:20px}.dinner-heading h1{font:400 clamp(4.8rem,8vw,8rem)/1 Georgia,serif;letter-spacing:-.085em;color:#cb6938}.dinner-heading>div:first-child span{display:none}.dinner-heading-right{border-left:1px dashed #766b60;text-align:center;display:grid;place-content:center;gap:12px;font-family:'Courier New',monospace;color:#cb6938}.dinner-heading-right strong{letter-spacing:.12em;font-size:1.07rem}.dinner-heading-right p{font-size:.8rem;letter-spacing:.07em}.dinner-heading-right span{color:#996988}.dinner-intro{display:flex;justify-content:space-between;gap:20px;align-items:end;margin:20px 0}.dinner-intro p{max-width:530px;font:1.03rem/1.4 Georgia,serif}.dinner-intro div{display:flex;gap:10px;flex-wrap:wrap;justify-content:end}.dinner-intro a,.dinner-intro button{background:#fffaf3;color:#754062;border:1px solid #cba58d;padding:8px 12px;text-decoration:none;font-size:.82rem;font-weight:800}.dinner-intro button:hover,.dinner-intro a:hover{background:#f6e8da}.dinner-layout{display:grid;grid-template-columns:minmax(0,1fr) 255px;gap:22px;align-items:start}.dinner-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border-left:1px dashed #746960;border-top:1px dashed #746960}.dinner-weekday{padding:8px 2px;color:#be673e;text-align:center;font:800 .91rem 'Courier New',monospace;border-right:1px dashed #746960;border-bottom:1px dashed #746960}.dinner-day{height:132px;min-width:0;text-align:left;position:relative;border:0;border-right:1px dashed #746960;border-bottom:1px dashed #746960;background:transparent;color:#c16537;padding:10px 7px;display:flex;flex-direction:column;align-items:flex-start;gap:15px;font:400 clamp(.75rem,.85vw,.94rem)/1.25 'Courier New',monospace;overflow-wrap:anywhere}.dinner-day:not(.empty):hover{background:#f5e8db}.dinner-day.selected{background:#f2e0cd;outline:2px solid #754062;outline-offset:-3px}.dinner-day.halloween{background:#f4e5da}.dinner-day.empty{pointer-events:none}.dinner-date{color:#8a796e;align-self:flex-end;font-size:.77rem}.dinner-meal{display:block}.dinner-pumpkin{color:#e38b4a;position:absolute;right:7px;bottom:5px;font-size:1.1rem}.dinner-editor{background:#f1e5d9;border:1px solid #cba58d;padding:19px;position:sticky;top:115px}.dinner-editor-kicker{font:800 .72rem 'Courier New',monospace;letter-spacing:.12em;color:#a75631}.dinner-editor h2{font:400 1.8rem Georgia,serif;margin:9px 0 20px}.dinner-editor label{display:block;font-weight:800;font-size:.89rem;margin-bottom:6px}.dinner-editor textarea{background:#fffaf3;border-radius:2px;border:1px solid #b99687;resize:vertical}.dinner-editor-actions{display:flex;gap:8px;flex-wrap:wrap;margin:11px 0}.dinner-editor-actions button{border:1px solid #754062;background:#754062;color:white;padding:9px 12px;font-weight:800;font-size:.8rem}.dinner-editor-actions button+button{background:transparent;color:#754062}.dinner-editor #dinner-status{font-size:.77rem;color:#66574e;margin:14px 0}.dinner-note{border-top:1px dashed #a8837a;padding-top:13px;font:italic .95rem/1.4 Georgia,serif}.dinner-plan-link{border:0;background:transparent;color:#674477;text-decoration:underline;text-underline-offset:3px;font-weight:800;padding:10px 0 0}.dinner-view .dinner-page{font-size:16px}
@media(max-width:1180px){.top .nav{padding:9px 10px;font-size:.83rem}.dinner-layout{grid-template-columns:1fr}.dinner-editor{position:static;display:block}.dinner-day{height:116px}.dinner-heading h1{font-size:clamp(4rem,8vw,7rem)}}
@media(max-width:760px){.dinner-page{margin:0 -18px 50px;padding:18px 12px}.dinner-heading{min-height:102px;grid-template-columns:1fr 155px}.dinner-heading>div:first-child{padding:7px 10px}.dinner-heading h1{font-size:clamp(2.7rem,10vw,5rem)}.dinner-heading-right{gap:4px}.dinner-heading-right strong{font-size:.69rem}.dinner-heading-right p{font-size:.58rem}.dinner-heading-right span{font-size:.8rem}.dinner-intro{display:block}.dinner-intro div{justify-content:flex-start;margin-top:14px}.dinner-grid{overflow:hidden}.dinner-weekday{font-size:.59rem}.dinner-day{height:95px;padding:4px 3px;gap:8px;font-size:.55rem;line-height:1.15}.dinner-date{font-size:.53rem}.dinner-pumpkin{font-size:.72rem;right:3px}.dinner-editor{margin-top:20px}}
@media print{body:has(.dinner-view.active) .top,body:has(.dinner-view.active) footer,body:has(.dinner-view.active) .dinner-intro,body:has(.dinner-view.active) .dinner-editor{display:none!important}body:has(.dinner-view.active) .view:not(.dinner-view){display:none!important}body:has(.dinner-view.active){background:white}body:has(.dinner-view.active) .dinner-view{display:block!important;padding:0;margin:0;max-width:none}body:has(.dinner-view.active) .dinner-page{box-shadow:none;margin:0;padding:0;background:white;max-width:none}body:has(.dinner-view.active) .dinner-heading{min-height:90px}body:has(.dinner-view.active) .dinner-heading h1{font-size:4.3rem}body:has(.dinner-view.active) .dinner-layout{display:block}body:has(.dinner-view.active) .dinner-day{height:105px;font-size:.7rem}body:has(.dinner-view.active) .dinner-day.selected{outline:none;background:transparent}body:has(.dinner-view.active) .dinner-day.halloween{background:#f4e5da}@page{size:letter portrait;margin:.28in}}
/* October movie-night tickets */
.movie-page{position:relative;overflow:hidden;max-width:1250px;margin:20px auto 75px;padding:45px clamp(20px,4vw,55px) 38px;background:#504a63;color:#fff9ed;box-shadow:8px 10px 0 #d8c7d9}.movie-moon{position:absolute;right:7%;top:25px;width:160px;height:160px;background:#81788f;border-radius:50%;opacity:.72}.movie-heading{position:relative;z-index:1;text-align:center}.movie-heading>span{font:800 .78rem 'DM Sans',sans-serif;letter-spacing:.17em;color:#edb75c}.movie-heading h1{font:700 clamp(3.8rem,7vw,7rem)/.93 Georgia,serif;text-transform:uppercase;letter-spacing:-.05em;margin:12px 0 16px}.movie-heading p{font:1.14rem/1.4 Georgia,serif;max-width:620px;margin:auto}.movie-toolbar{position:relative;display:flex;justify-content:space-between;align-items:center;gap:18px;flex-wrap:wrap;margin:40px 0 18px}.movie-filters{display:flex;gap:8px;flex-wrap:wrap}.movie-filter,.movie-toolbar>button{border:1px solid #d4c0d9;border-radius:99px;background:#655c76;color:white;padding:9px 14px;font-size:.84rem;font-weight:800}.movie-filter.active{background:#f4c069;color:#33233e;border-color:#f4c069}.movie-toolbar>button{background:#e27b55;border-color:#e27b55;color:#281c31}.movie-picker{min-height:106px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:#292338;border:1px dashed #dfbf8d;padding:17px 22px;margin-bottom:21px}.movie-picker span{color:#f0bd72;font-weight:800;font-size:.7rem;letter-spacing:.16em}.movie-picker strong{font:700 1.75rem/1.2 Georgia,serif;margin:6px 0}.movie-picker p{font-size:.83rem;color:#e7dce7}.movie-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 15px}.movie-ticket{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:76px;border-radius:25px;background:#faf6ed;color:#3a3040;padding:12px 14px}.movie-ticket:after{content:'';position:absolute;right:-6px;top:calc(50% - 6px);width:12px;height:12px;border-radius:50%;background:#504a63}.movie-ticket-number{display:grid;place-items:center;border-radius:50%;width:38px;height:38px;background:#aa7bd2;font:800 .85rem 'DM Sans',sans-serif}.movie-ticket-number.cozy{background:#f0b553}.movie-ticket-number.preview{background:#e6866a}.movie-ticket h2{font:400 1.13rem/1.18 Georgia,serif;color:#a83a26}.movie-ticket .movie-mood{display:block;font-size:.67rem;letter-spacing:.1em;text-transform:uppercase;margin-top:4px;color:#716774;font-weight:800}.movie-ticket button{border:1px solid #ad879d;background:transparent;color:#694268;border-radius:99px;padding:7px 10px;font-weight:800;font-size:.82rem;white-space:nowrap}.movie-ticket button:hover{background:#eee3f0}.movie-ticket.watched{background:#e8dded}.movie-ticket.watched h2{text-decoration:line-through;text-decoration-thickness:1px}.movie-footer{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:28px 0 15px;padding:20px;border-top:1px dashed #c9afc5;border-bottom:1px dashed #c9afc5}.movie-footer p{font-weight:800}.movie-footer a{color:#ffd58a;text-underline-offset:4px;font-weight:800}.movie-guidance{max-width:700px;font-size:.83rem;color:#eee4ee;line-height:1.45}
@media(max-width:1150px){.top{height:auto;min-height:76px;flex-wrap:wrap}.top nav{display:none;width:100%;padding-bottom:15px;flex-wrap:wrap}.top nav.open{display:flex}.top .menu{display:block}}
@media(max-width:800px){.movie-grid{grid-template-columns:1fr}.movie-heading h1{font-size:clamp(3.5rem,11vw,6rem)}}
@media(max-width:600px){.movie-page{margin:0 -18px 50px;padding:38px 18px}.movie-moon{width:110px;height:110px;right:-20px}.movie-heading h1{font-size:clamp(3rem,12vw,4.4rem)}.movie-heading p{font-size:1rem}.movie-toolbar{margin-top:29px}.movie-ticket{grid-template-columns:34px minmax(0,1fr);gap:10px;min-height:91px;padding:10px 12px}.movie-ticket-number{width:32px;height:32px}.movie-ticket h2{font-size:1rem}.movie-ticket button{grid-column:2;justify-self:start}.movie-footer{align-items:start;flex-direction:column}}

/* Blank weekly planner: two companion moods from the magazine. */
.weekly-page{--paper:#fffbf5;--ink:#2c242b;--tab:#e6d2ba;--line:#bca48d;--ground:#bc9a79;position:relative;max-width:1190px;margin:20px auto 78px;padding:42px clamp(20px,5vw,66px) 45px;background:var(--ground);color:var(--ink);box-shadow:9px 11px 0 #4b3935;overflow:hidden}
.weekly-page:before{content:'';position:absolute;inset:24px;transform:rotate(-.7deg);background:var(--paper);box-shadow:5px 5px 0 #493c3d;pointer-events:none}
.weekly-page>*{position:relative}.weekly-page.theme-moonlight{--paper:#fbf7ff;--ink:#30263c;--tab:#ddcff6;--line:#bca5db;--ground:#d7c6ef;box-shadow:9px 11px 0 #594378}
.weekly-heading{text-align:center;padding:28px 15px 13px}.weekly-heading h1{font:700 clamp(3.1rem,7vw,6.2rem)/.98 Georgia,serif;text-transform:uppercase;letter-spacing:-.055em;margin:0}.weekly-heading p{font:1.06rem/1.45 Georgia,serif;margin:12px 0 0}.weekly-web,.weekly-hat{position:absolute;font-size:2.8rem;color:#7a4e8d}.weekly-web{left:1%;top:-5px}.weekly-hat{right:2%;top:5px;color:#ad633d}.theme-moonlight .weekly-hat{color:#744a91}
.weekly-controls{display:flex;align-items:end;justify-content:space-between;gap:15px;flex-wrap:wrap;margin:26px 0 22px;padding:15px 18px;background:color-mix(in srgb,var(--tab) 55%,white);border:1px dashed var(--line)}.weekly-controls label{font-size:.82rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.weekly-controls select{display:block;min-width:205px;margin-top:5px;padding:10px 12px;border:1px solid var(--line);background:white;color:var(--ink);font:700 1rem Georgia,serif}.weekly-theme-switch{display:flex;gap:7px;flex-wrap:wrap}.weekly-theme-switch button{border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:10px 13px;border-radius:99px;font-size:.88rem;font-weight:800}.weekly-theme-switch button[aria-pressed=true]{background:var(--ink);color:white}
.weekly-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.weekly-day{display:flex;flex-direction:column;min-height:220px;border:2px solid var(--line);border-radius:18px;background:white;overflow:hidden}.weekly-day>span{display:flex;align-items:center;justify-content:space-between;padding:12px 18px;background:var(--tab);font-weight:800;font-size:.9rem;letter-spacing:.12em;text-transform:uppercase}.weekly-day em{font:700 .92rem Georgia,serif;letter-spacing:0;text-transform:none}.weekly-day textarea{flex:1;min-height:160px;width:100%;resize:vertical;border:0;background:transparent;padding:15px 17px;color:var(--ink);font:1rem/1.5 Georgia,serif}.weekly-day textarea:focus,.weekly-notes textarea:focus{outline:3px solid #8054a5;outline-offset:-3px}.weekly-day textarea::placeholder,.weekly-notes textarea::placeholder{color:#837a84;opacity:1}
.weekly-last-row{display:grid;grid-template-columns:1fr 2fr;gap:18px;margin-top:18px}.weekly-sunday .weekly-day{height:100%}.weekly-notes{border:2px solid var(--line);border-radius:18px;background:white;padding:0 0 12px;overflow:hidden}.weekly-notes label{display:block;padding:12px 18px;background:var(--tab);font-weight:800;font-size:.9rem;letter-spacing:.1em;text-transform:uppercase}.weekly-notes textarea{display:block;width:100%;min-height:166px;border:0;resize:vertical;padding:15px 18px;color:var(--ink);font:1rem/1.5 Georgia,serif}.weekly-actions{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:25px;padding:18px 2px;border-top:1px dashed var(--line)}.weekly-actions span{font-size:.88rem}.weekly-actions>div{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.weekly-actions button,.weekly-actions a{display:inline-block;border:1px solid var(--ink);background:var(--ink);color:white;text-decoration:none;padding:11px 15px;border-radius:5px;font-weight:800;font-size:.88rem}.weekly-actions a{background:transparent;color:var(--ink)}
@media(max-width:1380px){.top{height:auto;min-height:76px;flex-wrap:wrap}.top nav{display:none;width:100%;padding-bottom:15px;flex-wrap:wrap}.top nav.open{display:flex}.top .menu{display:block}}
@media(max-width:760px){.weekly-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.weekly-last-row{grid-template-columns:1fr}.weekly-page{margin:0 -18px 55px;padding:20px 34px 30px}.weekly-page:before{inset:13px}.weekly-heading{padding-top:20px}.weekly-day{min-height:180px}}
@media(max-width:520px){.weekly-grid{grid-template-columns:1fr;gap:12px}.weekly-last-row{gap:12px;margin-top:12px}.weekly-day{min-height:150px}.weekly-day textarea{min-height:115px}.weekly-heading h1{font-size:3rem}.weekly-actions>div{width:100%}}
@media print{@page{size:letter portrait;margin:12mm}.weekly-print-sheet h1{margin-bottom:1mm}.weekly-print-range{font:11pt Arial;margin:0 0 5mm}.weekly-print-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:3mm}.weekly-print-day,.weekly-print-notes{border:1.5px solid #555;min-height:49mm;overflow:hidden}.weekly-print-day strong,.weekly-print-notes strong{display:block;background:#e5d8e9;padding:2mm 3mm;font:700 10pt Arial}.weekly-print-day strong span{float:right;font-weight:400}.weekly-print-day p,.weekly-print-notes p{font:10pt/1.35 Georgia;margin:3mm;overflow-wrap:anywhere}.weekly-print-notes{grid-column:2/4}.dinner-print-sheet .print-calendar>div{height:33mm;overflow:hidden;font:8pt/1.2 Arial;overflow-wrap:anywhere}.dinner-print-sheet .print-calendar .dow{height:8mm}.dinner-print-sheet .print-calendar p{margin:2mm 0 0}.dinner-print-sheet h1{font-size:25pt;margin-bottom:6mm}}
.print-card .color-actions a.secondary{display:inline-flex;align-items:center;text-decoration:none;margin-top:0}
/* Priscilla's crystal ball drawing page, kept intact as the artwork. */
.crystal-card{grid-column:span 2;display:grid;grid-template-columns:minmax(190px,36%) 1fr;gap:28px;align-items:center;background:#5b351b;color:#fff4df;border-color:#b47b41;overflow:hidden;padding:20px 28px 20px 20px}.crystal-card .crystal-preview{height:300px;overflow:hidden;border:5px solid #f4dcc0;box-shadow:6px 6px 0 #2d1b14;transform:rotate(-2deg)}.crystal-card .crystal-preview img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.crystal-card h2{color:#ff92c6;margin:11px 0}.crystal-card p{font-size:1rem;max-width:540px;margin:0 0 20px}.crystal-card .pill{background:#f6c67c;color:#352019}.crystal-card .color-actions a.secondary,.costume-tools a.secondary{display:inline-flex;align-items:center;text-decoration:none}.crystal-card .color-actions .secondary{background:#fff5e6}
#costume-dialog{width:min(96vw,850px);max-width:850px;max-height:95vh;padding:0;background:#fff7e9;border:3px solid #503017;overflow:auto}#costume-dialog::backdrop{background:#241028cc}.costume-head{padding:25px 28px 18px}.costume-head h2{margin:8px 0;color:#4b2b19}.costume-head p{margin-bottom:15px}.costume-tools{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.costume-tools .palette{margin-right:8px}.costume-tools .secondary{padding:8px 12px;min-height:40px;border-radius:8px;font-size:.87rem}.costume-paper{position:relative;max-width:720px;margin:0 auto 28px;background:white;box-shadow:0 4px 20px #39211a33}.costume-paper img{display:block;width:100%;height:auto}.costume-paper canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair}
@media(max-width:760px){.crystal-card{grid-column:auto;grid-template-columns:1fr;padding:18px}.crystal-card .crystal-preview{height:250px}.costume-head{padding:22px 18px}.costume-tools .palette{width:100%}}
/* Ghostly expressions keeps Priscilla's purple page as the complete artwork. */
.ghost-card{grid-column:span 2;display:grid;grid-template-columns:minmax(190px,36%) 1fr;gap:28px;align-items:center;background:#8f56bd;color:#fff;overflow:hidden;padding:20px 28px 20px 20px}.ghost-preview{height:300px;overflow:hidden;border:5px solid #fff;box-shadow:6px 6px 0 #432060;transform:rotate(2deg)}.ghost-preview img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}.ghost-copy h2{color:#fff;margin:11px 0}.ghost-copy p{font-size:1rem;max-width:520px;margin:0 0 20px}.ghost-copy .pill{background:#e648ab;color:#fff}.ghost-card .color-actions a.secondary,.ghost-tools a.secondary{display:inline-flex;align-items:center;text-decoration:none}
#ghost-dialog{width:min(96vw,850px);max-width:850px;max-height:95vh;padding:0;background:#f8f0ff;border:3px solid #4a216b;overflow:auto}#ghost-dialog::backdrop{background:#241028cc}.ghost-head{padding:25px 28px 18px}.ghost-head h2{margin:8px 0;color:#4a216b}.ghost-head p{margin-bottom:15px}.ghost-tools{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.ghost-tools .palette{margin-right:8px}.ghost-tools .secondary{padding:8px 12px;min-height:40px;border-radius:8px;font-size:.87rem}.ghost-paper{position:relative;max-width:720px;margin:0 auto 28px;background:white;box-shadow:0 4px 20px #39211a33}.ghost-paper img{display:block;width:100%;height:auto}.ghost-paper canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair}
@media(max-width:760px){.ghost-card{grid-column:auto;grid-template-columns:1fr;padding:18px}.ghost-preview{height:250px}.ghost-head{padding:22px 18px}.ghost-tools .palette{width:100%}}

/* Original craft pages keep the art as the focus. */
.original-activity{display:grid;grid-template-columns:minmax(150px,35%) 1fr;gap:22px;align-items:center;overflow:hidden;padding:18px;background:#fff6e9;border-color:#472448}
.original-preview{height:310px;overflow:hidden;border:5px solid #fff;box-shadow:5px 6px 0 #372735;transform:rotate(-1.5deg)}
.original-activity:nth-of-type(even) .original-preview{transform:rotate(1.5deg)}
.original-preview img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}
.original-info h2{margin:12px 0;color:#422253}.original-info p{margin:0 0 18px;font-size:1rem}
.original-info .color-actions{display:flex;flex-wrap:wrap;gap:10px}.original-info .secondary{display:inline-flex;align-items:center;text-decoration:none}
#activity-dialog{width:min(96vw,850px);max-width:850px;max-height:95vh;padding:0;background:#fff4e5;border:3px solid #472448;overflow:auto}#activity-dialog::backdrop{background:#241028cc}
.activity-head{padding:25px 28px 18px}.activity-head h2{margin:8px 0;color:#472448}.activity-head p{margin-bottom:15px}.activity-tools{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.activity-tools .palette{margin-right:8px}.activity-tools .secondary{padding:8px 12px;min-height:40px;border-radius:8px;font-size:.87rem}
.activity-paper{position:relative;max-width:720px;margin:0 auto 28px;background:#fff;box-shadow:0 4px 20px #39211a33}.activity-paper img{display:block;width:100%;height:auto}.activity-paper canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair}
@media(max-width:760px){.original-activity{grid-template-columns:1fr}.original-preview{height:250px}.activity-head{padding:22px 18px}.activity-tools .palette{width:100%}}

/* The original 31-day plan stays legible and editable at every width. */
#plan .planner-main{overflow-x:auto}.calendar .activity-date{min-height:116px}.calendar .activity-date .date-idea{font-size:.79rem;line-height:1.14;padding-top:17px;hyphens:auto;overflow-wrap:anywhere}.calendar-edit-actions{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0}.calendar-edit-actions [hidden]{display:none}.calendar-edit-actions .secondary{font-size:.9rem}.activity-calendar-print .print-calendar div{min-height:75px}.activity-calendar-print .print-calendar p{font-size:9pt;line-height:1.2}
@media(max-width:900px){.calendar .activity-date{min-height:108px}}
@media(max-width:600px){#plan .calendar{min-width:720px}.calendar .activity-date{min-height:112px;padding:5px}.calendar .activity-date .date-idea{display:block;font-size:.68rem;line-height:1.13;padding-top:17px}.calendar .activity-date .date-number{font-size:.8rem}.calendar-boo{left:17%}}
/* Original game cards and interactive versions. */
.original-info .answer-link{display:inline-block;margin-top:12px;color:#5b357a;font-weight:800;text-underline-offset:3px}.story-play,.word-play{max-width:1100px;margin:16px auto 55px;background:#fff8ef;border:3px solid #49315d;box-shadow:8px 8px 0 #e78b3e;padding:clamp(20px,4vw,40px);color:#2f2436}.story-play-head h2,.word-play-head h2{font:700 clamp(2rem,4vw,3.4rem)/1.05 Georgia,serif;margin:12px 0}.story-play-head p,.word-play-head p{font-size:1rem;max-width:650px}.story-play-head .secondary,.word-play-actions .secondary{display:inline-block;text-decoration:none;margin:8px 8px 0 0}.story-dice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:25px}.story-die{min-height:185px;background:#f0e2f6;border:2px solid #b9398a;padding:16px;text-align:center}.story-die:nth-child(2){background:#fff0d9}.story-die:nth-child(3){background:#e7f0e2}.story-die span{display:block;font-size:.73rem;font-weight:900;letter-spacing:.07em}.story-die strong{display:block;font:700 2.1rem Georgia,serif;margin:13px 0 8px}.story-die p{font:1.16rem Georgia,serif}.story-tell{background:#fff;border:2px dashed #b9398a;margin-top:20px;padding:20px}.story-tell strong{font:700 1.4rem Georgia,serif}.story-tell p{font-size:1.04rem}.story-tell label{display:block;font-weight:800;margin-top:18px}.story-tell textarea{display:block;width:100%;margin-top:7px;padding:12px;font:1rem/1.4 Georgia,serif;border:1px solid #b98cc4}.word-play-head strong{display:block;color:#663895;font-size:1.1rem}.word-play-actions{display:flex;flex-wrap:wrap;gap:8px}.word-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));max-width:620px;margin:25px auto 20px;background:#fff;border:5px solid #f4bd4b;padding:10px;gap:2px}.word-cell{aspect-ratio:1;border:0;background:white;color:#27232b;font:800 clamp(.72rem,1.5vw,1.2rem) monospace;cursor:pointer;min-width:0;padding:0}.word-cell:hover,.word-cell:focus-visible{background:#ede0fc}.word-cell.start{background:#b67fdd;color:#20132e}.word-cell.found{background:#ffe1a1;border-radius:45%}.word-list{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;text-align:center;font-weight:900;font-size:.85rem}.word-list span{padding:7px;border-bottom:2px solid #efb94b}.word-list span.found{text-decoration:line-through;color:#705983}.word-key{max-width:450px;margin:20px auto}.word-key img{display:block;width:100%;height:auto}.print-note a{color:inherit;font-weight:800}
@media(max-width:680px){.story-dice-grid{grid-template-columns:1fr}.story-die{min-height:130px}.word-grid{gap:0;padding:5px}.word-cell{font-size:clamp(.62rem,3vw,1rem)}.word-list{grid-template-columns:repeat(3,1fr);font-size:.7rem}.word-play-actions{display:block}}
/* Monster Mash: the original two pages are the playing surface. */
.monster-pair-card{grid-column:span 2;display:grid;grid-template-columns:minmax(260px,48%) 1fr;gap:25px;align-items:center;background:#fff1e8;border:3px solid #e67d42;padding:22px}.monster-pair-previews{display:flex;align-items:center;justify-content:center;gap:6px;height:310px}.monster-pair-previews img{width:47%;height:100%;object-fit:cover;object-position:top;border:4px solid white;box-shadow:5px 6px 0 #75435b;transform:rotate(-3deg)}.monster-pair-previews img+img{transform:rotate(3deg)}.monster-pair-card .color-actions{display:flex;gap:9px;flex-wrap:wrap}.monster-pair-card .secondary{display:inline-flex;align-items:center;text-decoration:none}.monster-maker{max-width:1250px;margin:17px auto 60px;padding:clamp(18px,3vw,35px);background:#fff8ef;border:4px solid #f08b49;box-shadow:8px 9px 0 #503073}.monster-maker-head h2{font:700 clamp(2.2rem,5vw,4rem)/1 Georgia,serif;margin:10px 0;color:#4c2582}.monster-maker-head p{max-width:780px;font-size:1.03rem}.monster-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:15px 0}.monster-actions a.secondary{display:inline-flex;align-items:center;text-decoration:none}.monster-actions button:disabled{opacity:.68;cursor:default}.monster-maker #monster-status{font-weight:800;color:#652b79}.monster-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;margin-top:20px}.monster-chart-panel,.monster-draw-panel{background:white;padding:15px;border:2px solid #81aeb1}.monster-layout h3{font:700 1.5rem Georgia,serif;margin:2px 0 12px;color:#43245f}.monster-chart-wrap{position:relative;max-width:650px;margin:auto}.monster-chart-wrap img{display:block;width:100%;height:auto}.monster-highlight{position:absolute;box-sizing:border-box;border:4px solid #d82994;background:#f6d65455;box-shadow:0 0 0 1px white inset;pointer-events:none}.monster-chart-panel>a{display:inline-block;margin:10px 0;color:#542975;font-weight:800}.monster-results{padding-left:23px;margin:10px 0 0;font-size:.86rem;line-height:1.6}.monster-results li::marker{color:#e56f35}.monster-draw-panel .palette{margin-bottom:12px}.monster-paper{position:relative;max-width:620px;margin:auto;box-shadow:0 3px 12px #2c1c3026}.monster-paper img{display:block;width:100%;height:auto}.monster-paper canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:none;cursor:crosshair}
@media(max-width:800px){.monster-pair-card{grid-column:auto;grid-template-columns:1fr}.monster-pair-previews{height:260px}.monster-layout{grid-template-columns:1fr}.monster-maker{margin:8px -10px 45px}.monster-chart-panel,.monster-draw-panel{padding:10px}}
.charades-print-card{grid-column:span 2;background:#fff8ec!important;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr);gap:24px;align-items:center}.charades-previews{display:flex;gap:10px;align-items:center}.charades-previews img{width:49%;min-width:0;max-height:320px;object-fit:contain;box-shadow:4px 6px 0 #27202e;transform:rotate(-2deg)}.charades-previews img+img{transform:rotate(2deg)}.charades-archive-note{font-size:.82rem;color:#67546d;margin:16px 0 0!important}.charades-archive-note a{color:#663a8a;text-decoration:underline}.charades-game{display:grid;grid-template-columns:minmax(260px,1fr) minmax(290px,1.25fr);gap:24px;border-radius:28px;padding:24px;background:#21152d;color:white}.charades-copy{padding:18px}.charades-copy h2{margin:15px 0;color:#fff}.charades-copy p{max-width:40ch}.charades-count{font-weight:800;color:#ffda91;margin:18px 0}.charades-actions{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.charades-copy>a{display:inline-block;text-decoration:none}.charades-stage{display:grid;place-items:center;gap:18px;padding:18px;background:#39234f;border-radius:22px}.charades-card{width:min(100%,460px);min-height:310px;background:#b766ef;border:5px solid #161019;border-radius:25px;box-shadow:8px 10px 0 #e6a760;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:25px;color:#1a1024;transform:rotate(-2deg)}.charades-card.revealed{background:#ffca72;transform:rotate(1deg)}.charades-card span:nth-child(2){font:700 clamp(2rem,4vw,4rem)/1.05 Fredoka,system-ui,sans-serif;text-transform:uppercase}.charades-card small{margin-top:34px;letter-spacing:.18em;font-weight:900}.charades-hat{font-size:2.2rem;color:#281435;margin-bottom:12px}.charades-clock{display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap}.charades-clock span{font:700 2rem Fredoka;min-width:76px}.charades-game button:disabled{opacity:.45;cursor:default}.charades-game .secondary{box-shadow:none}@media(max-width:780px){.charades-game,.charades-print-card{grid-template-columns:1fr}.charades-card{min-height:260px}.charades-previews img{max-height:250px}}
.bingo-print-card{grid-column:span 2;display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:25px;background:#fff7ec!important;align-items:center}.bingo-print-previews{display:flex;gap:10px;align-items:center}.bingo-print-previews img{width:48%;max-height:300px;object-fit:contain;box-shadow:3px 4px 0 #332235;transform:rotate(-2deg)}.bingo-print-previews img+img{transform:rotate(2deg)}.bingo-original-game{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(300px,1fr);gap:25px;background:#221922;color:white;border-radius:28px;padding:25px}.bingo-original-info{padding:16px}.bingo-original-info h2{color:#fff;margin:12px 0}.bingo-original-info p{margin-bottom:15px;max-width:47ch}.bingo-board-picks,.bingo-call-actions{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.bingo-board-picks .active{background:#ffca75;color:#24132d;border-color:#ffca75}.bingo-call-actions a{display:inline-flex;align-items:center;text-decoration:none}.bingo-original-stage{background:#3b2a3d;border-radius:20px;padding:18px;display:grid;justify-items:center;align-content:start;gap:13px}.bingo-callout{min-height:65px;background:#f9953a;color:#221724;padding:8px 20px;border-radius:16px;display:flex;flex-direction:column;justify-content:center;text-align:center;min-width:55%;font-weight:900;letter-spacing:.1em}.bingo-callout small{font-size:.7rem}.bingo-callout strong{font:700 1.35rem Fredoka}.bingo-board-image{width:min(100%,440px);position:relative;line-height:0}.bingo-board-image img{width:100%;height:auto;display:block}.bingo-mark-grid{position:absolute;left:14.55%;top:30%;width:71.2%;height:61.5%;display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(4,1fr);column-gap:2%;row-gap:1.5%}.bingo-image-cell{border:0;background:transparent;color:#e24e1f;display:grid;place-items:center;font-size:clamp(1.8rem,5vw,3.6rem);font-weight:900;text-shadow:2px 2px #fff, -2px -2px #fff}.bingo-image-cell.marked{background:#ffdd7370}.bingo-image-cell:hover{outline:3px solid #ffdb6e}.bingo-original-game button:focus-visible{outline:3px solid #ffcd5b;outline-offset:1px}#bingo-status{font-weight:800;color:#ffca75;margin-top:18px}@media(max-width:780px){.bingo-original-game,.bingo-print-card{grid-template-columns:1fr}.bingo-print-previews img{max-height:240px}}

.early-boo-card,.final-pair-card{grid-column:span 2;display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1fr);gap:24px;align-items:center;background:#fff7e9!important}.early-boo-preview img{display:block;width:100%;max-height:360px;object-fit:contain;transform:rotate(-2deg);box-shadow:5px 6px 0 #e0c9e8}.early-boo-card a{display:inline-block;text-decoration:none}.final-pair-previews{display:flex;gap:10px;align-items:center}.final-pair-previews img{width:48%;max-height:340px;object-fit:contain;box-shadow:3px 4px 0 #36263b;transform:rotate(-2deg)}.final-pair-previews img+img{transform:rotate(2deg)}.last-puzzle-game{background:#f9efe2;border:2px solid #d9bbd9;border-radius:28px;padding:clamp(20px,3vw,36px)}.last-puzzle-head h2{margin:14px 0}.last-puzzle-head p{max-width:70ch}.last-puzzle-actions{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0}.last-puzzle-actions a{display:inline-flex;align-items:center;text-decoration:none}#last-puzzle-status{font-weight:800;color:#6b3686;margin-bottom:15px}.last-puzzle-layout{display:grid;grid-template-columns:minmax(300px,1.2fr) minmax(260px,.8fr);gap:24px;align-items:start}.last-puzzle-art{background:#fff;border-radius:16px;padding:10px;box-shadow:4px 5px 0 #cfb6d7}.last-puzzle-art img{display:block;width:100%;height:auto}.last-puzzle-answers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.last-puzzle-answers label{display:flex;flex-direction:column;gap:4px;font-size:.85rem;font-weight:700;color:#483651}.last-puzzle-answers input{width:100%;border:2px solid #d8c8dd;border-radius:10px;padding:9px;background:#fff;letter-spacing:.08em;text-transform:uppercase}.last-puzzle-answers input.right{border-color:#458b52;background:#edfae9}.last-puzzle-answers input.try-again{border-color:#bb712d;background:#fff3e4}@media(max-width:850px){.early-boo-card,.final-pair-card,.last-puzzle-layout{grid-template-columns:1fr}.last-puzzle-answers{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:460px){.last-puzzle-answers{grid-template-columns:1fr}}

/* Magazine ending: original farewell art and new black back cover. */
.ending-print-card{grid-column:span 2;display:grid;grid-template-columns:minmax(0,.75fr) minmax(0,1fr);align-items:center;gap:24px;background:#f1e8fb!important}
.ending-preview{display:flex;align-items:center;gap:12px;min-width:0}
.ending-preview img{display:block;width:48%;max-height:330px;object-fit:contain;box-shadow:3px 4px 0 #674284;transform:rotate(-2deg)}
.back-mini{width:48%;aspect-ratio:8.5/11;min-height:230px;background:#111015;color:#fff4dc;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:12px;box-shadow:3px 4px 0 #674284;transform:rotate(2deg)}
.back-mini span{font-size:.65rem;letter-spacing:.15em;color:#a370ef}.back-mini strong{font:700 clamp(1rem,2vw,1.75rem)/1.2 Georgia,serif;margin:24px 0}.back-mini small{font:italic .75rem Georgia,serif;color:#ff823b}
.ending-print-card a{display:inline-block;text-decoration:none}
footer small{font-size:.75rem;opacity:.78}
@media(max-width:780px){.ending-print-card{grid-template-columns:1fr}.ending-preview img,.back-mini{max-height:230px}.back-mini{min-height:200px}}

/* Keep all seven days visible on a phone; the selected date shows its full event below. */
.calendar .date-short{display:none}
@media(max-width:600px){
 #plan .planner-main{overflow-x:visible;padding:14px}
 #plan .calendar{min-width:0;width:100%;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
 #plan .calendar .week{font-size:.62rem;padding:2px 0}
 #plan .calendar .activity-date{min-height:72px;padding:4px 2px;gap:2px;border-width:1px;align-items:center;text-align:center;overflow:hidden}
 #plan .calendar .activity-date .date-number{font-size:.85rem;line-height:1.1}
 #plan .calendar .activity-date .date-idea{display:none}
 #plan .calendar .activity-date .date-short{display:block;font-size:.62rem;line-height:1.08;font-weight:800;overflow-wrap:anywhere;hyphens:auto;max-width:100%}
 #plan .calendar .calendar-accent,#plan .calendar .calendar-boo{display:none}
}
@media print{
 .activity-calendar-print{width:100%;break-inside:avoid;page-break-inside:avoid}
 .activity-calendar-print h1{font-size:25pt;margin-bottom:6mm}
 .activity-calendar-print .print-calendar>div{height:27mm;min-height:0;padding:2mm;font:9pt/1.16 Arial;overflow-wrap:anywhere}
 .activity-calendar-print .print-calendar .dow{height:8mm;font-weight:bold}
 .activity-calendar-print .print-calendar p{font:8.6pt/1.18 Arial;margin:2mm 0 0}
}

/* Access and planning clarity */
.cover-access{max-width:570px;margin:18px auto 0;padding:11px 16px;border:1px solid #efe0ff99;border-radius:12px;background:#342347bb;color:#fff8ec;font:600 1rem/1.45 'DM Sans',sans-serif}.cover-access strong{color:#ffe09a}
.guide-faq{display:grid;grid-template-columns:minmax(240px,.75fr) minmax(320px,1.25fr);gap:32px;background:#f8ebd2;border:3px solid #422d54;border-radius:24px;padding:30px;margin:0 0 70px;box-shadow:7px 8px 0 #dfc1a0}.guide-faq h2{margin:10px 0 12px}.guide-faq p{line-height:1.55}.faq-hub{display:inline-block;margin-top:18px;color:#512b70;font-weight:800}.faq-list details{background:#fffaf0;border:2px solid #cbb1d7;border-radius:14px;margin-bottom:9px;padding:13px 16px}.faq-list summary{cursor:pointer;font-weight:800}.faq-list details p{margin-top:10px}.plan-backup button{display:inline-block;margin:12px 8px 4px 0}.plan-backup #backup-status{font-size:.875rem;margin-top:8px}
@media(max-width:720px){.guide-faq{grid-template-columns:1fr;padding:22px;gap:20px}.cover-access{margin:14px 6px 0;font-size:.9rem}}

.day-plan-context{background:#fff0d9;border:2px solid #e9bc7f;border-radius:12px;padding:13px 16px;margin-bottom:18px;line-height:1.5}.day-plan-context a{color:#57357c;font-weight:800}

/* One clear choice for the original magazine file or its low-ink companion. */
#print-choice-dialog{max-width:610px;width:min(610px,calc(100% - 28px));border:3px solid #3e2a55;box-shadow:9px 10px 0 #ae8bbb,0 30px 70px #1b1027aa}
.print-choice-inner{padding:32px 30px 35px}.print-choice-inner h2{margin:15px 42px 11px 0;color:#322044}.print-choice-inner>p{margin-bottom:22px;line-height:1.55}
.print-choice-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.print-choice-card{display:flex;flex-direction:column;gap:9px;align-items:flex-start;text-align:left;padding:19px;border:2px solid #5c407e;border-radius:17px;min-height:130px;background:#f5e9fc;color:#2f213e;text-decoration:none;box-shadow:4px 5px 0 #d9c2e5;cursor:pointer;font:inherit}
.print-choice-card:nth-child(even){background:#fff1d8;border-color:#b46931;box-shadow:4px 5px 0 #ecd3aa}.print-choice-card strong{font:800 1.05rem/1.2 'DM Sans',sans-serif}.print-choice-card span{font:.94rem/1.42 'DM Sans',sans-serif}.print-choice-card:hover,.print-choice-card:focus-visible{transform:translateY(-3px)}
.print-choice-card[hidden]{display:none!important}
@media(max-width:570px){.print-choice-inner{padding:27px 19px 23px}.print-choice-actions{grid-template-columns:1fr}.print-choice-card{min-height:0}}
@media print{
 body.printing-color .print-sheet h1{color:#563d77!important}
 body.printing-color .print-sheet .sheet-header{color:#563d77!important;border-color:#ed873d!important}
 body.printing-color .print-sheet .print-calendar .dow,body.printing-color .weekly-print-day strong,body.printing-color .weekly-print-notes strong{background:#e7d7f0!important;color:#422958!important;print-color-adjust:exact;-webkit-print-color-adjust:exact}
 body.printing-friendly .print-sheet,body.printing-friendly .print-sheet *{color:#111!important;background:#fff!important;border-color:#555!important;box-shadow:none!important}
}

/* Readable dinner ideas on screens and on the printed calendar. */
.dinner-grid-scroll{min-width:0;overflow-x:auto}
.dinner-day{color:#542c21;font-weight:700;font-size:clamp(.82rem,.98vw,1rem);line-height:1.3}
.dinner-date{color:#50271e;font-size:.83rem;font-weight:800}
.dinner-weekday{color:#542c21}
@media(max-width:760px){.dinner-grid{min-width:770px}.dinner-day{height:112px;padding:9px 7px;font-size:.82rem;gap:12px}.dinner-date{font-size:.75rem}.dinner-weekday{font-size:.76rem}}
@media print{body:has(.dinner-view.active) .dinner-grid-scroll{overflow:visible}body:has(.dinner-view.active) .dinner-grid{min-width:0}body:has(.dinner-view.active) .dinner-day{color:#312019;font-weight:700;font-size:.8rem}body:has(.dinner-view.active) .dinner-date{color:#312019}}

.cover-buy{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.magazine-buy{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,420px);gap:24px;align-items:center;background:#f0e2f6;border:3px solid #59366f;border-radius:24px;padding:clamp(20px,4vw,36px);margin:0 0 26px;box-shadow:7px 8px 0 #e6c6a9}.magazine-buy h2{font:700 clamp(1.8rem,3vw,2.6rem)/1.1 Georgia,serif;color:#39225a;margin:14px 0}.magazine-buy p{font-size:1rem;line-height:1.5}.magazine-direct{display:inline-block;padding:14px 18px;border-radius:12px;background:#59366f;color:white;text-decoration:none;font-weight:800;margin-top:8px}.magazine-direct:hover,.magazine-direct:focus-visible{background:#39225a}.magazine-widget{min-width:0;background:#fffaf0;border:2px solid #d0b4d9;border-radius:16px;padding:14px}.magazine-widget lulu-buy-button{display:block;max-width:100%;overflow:hidden}.magazine-widget p{font-size:.85rem;margin:8px 0 0}.magazine-widget a{color:#59366f;font-weight:800}@media(max-width:760px){.magazine-buy{grid-template-columns:1fr}.magazine-widget{max-width:100%}}
.print-version{display:flex;flex-direction:column;gap:9px;align-items:flex-start;padding:18px;border:2px solid #5c407e;border-radius:17px;background:#f5e9fc;color:#2f213e;box-shadow:4px 5px 0 #d9c2e5}
.print-version:nth-child(even){background:#fff1d8;border-color:#b46931;box-shadow:4px 5px 0 #ecd3aa}
.print-version[hidden]{display:none!important}
.print-version>strong{font:800 1.05rem/1.2 'DM Sans',sans-serif}
.print-version>span{font:.94rem/1.42 'DM Sans',sans-serif}
.print-file-actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto;padding-top:10px}
.print-file-actions a,.print-file-actions button{border:1.5px solid #51366f;border-radius:8px;background:#fff;color:#30213e;padding:8px 10px;font:700 .86rem 'DM Sans',sans-serif;text-decoration:none;cursor:pointer}
.print-file-actions a:hover,.print-file-actions button:hover{background:#ead7f6}
#print-choice-status{font:700 .9rem/1.4 'DM Sans',sans-serif;margin:14px 0 0;color:#49305d}
.digital-buy{margin-bottom:20px}
