:root{--navy:#192d4a;--cream:#fcfaf4;--tan:#f4eddc;--gold:#d8a329;--line:#ddd0b9;--green:#215a51;--muted:#526077}*{box-sizing:border-box}body{margin:0;background:var(--cream);color:var(--navy);font:16px/1.5 Arial,Helvetica,sans-serif}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.2;margin:0}h1{font-size:clamp(2rem,4vw,2.8rem)}h2{font-size:1.55rem}h3{font-size:1.1rem}p{margin:0 0 12px}button,input{font:inherit}button{cursor:pointer;min-height:44px;border-radius:8px;border:1px solid var(--line);padding:8px 12px;color:var(--navy);background:var(--cream)}button:disabled{cursor:wait;opacity:.6}button:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--gold);outline-offset:3px}a{color:inherit}input{width:100%;min-height:48px;padding:10px;border:1px solid var(--line);border-radius:8px;background:white;color:var(--navy)}label{display:block;margin:12px 0 6px}.primary{padding:12px 22px;background:var(--navy);color:white;border-color:var(--navy)}.text-button{background:none;border:0;color:var(--green);text-decoration:underline;text-underline-offset:4px;padding:6px 4px;font-size:.875rem}.quiet{font-size:.875rem;line-height:1.5;color:var(--muted)}.message{color:#8b283e;min-height:1.5em;margin:12px 0}.planner-header{padding:10px max(20px,4vw);display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.planner-header img{width:150px;height:65px;object-fit:contain}.planner-header span{font-size:.875rem}.planner-footer{text-align:center;padding:25px 16px;color:var(--gold);background:var(--navy);font:1rem Georgia,serif}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:12px;top:12px;background:white;padding:12px;z-index:10}.access-main{padding:40px 16px}.access-card{max-width:590px;margin:auto;text-align:center;border-radius:220px 220px 16px 16px;padding:65px 42px 32px;background:var(--tan);border:1px solid var(--line)}.small-star{font-size:2rem;color:var(--gold)}.access-card h1{margin:16px 0}.access-tagline{font-family:Georgia,serif;font-style:italic;font-size:1.15rem}.access-card form{text-align:left;margin:25px 0}.access-card .primary{width:100%;margin-top:16px}.planner-main{max-width:1320px;padding:26px 28px 32px;margin:auto}.planner-heading>p{margin-top:10px}.save-bar{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:.875rem;margin:6px 0 15px}.planning-table{display:grid;grid-template-columns:350px minmax(0,1fr);gap:30px;align-items:start}.section-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.notes-area,.plan-area{min-width:0}.notes-area{background:var(--tan);padding:20px;border-radius:20px 20px 12px 12px}.sets-line{font-size:.875rem;display:flex;align-items:center;gap:6px 12px;flex-wrap:wrap;margin:4px 0 12px}.sets-line>span:first-child{width:100%;color:var(--muted)}.sets-line .text-button{margin-left:auto}.card-tray{display:grid;gap:15px;padding:5px 5px 12px;max-height:440px;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#cdbb97 transparent}.visual-card{display:block;width:100%;padding:0;border:0;min-height:0;background:white;border-radius:8px;box-shadow:0 2px 6px #192d4a12;overflow:hidden;transition:outline-color .12s;touch-action:pan-y;position:relative}.visual-card img{display:block;width:100%;height:auto;aspect-ratio:263.34/155.34;object-fit:contain;user-select:none;-webkit-user-drag:none}.visual-card[aria-pressed=true]{outline:3px solid var(--gold);outline-offset:3px}.visual-card:hover{box-shadow:0 2px 8px #192d4a20}.visual-card[draggable=true]{cursor:grab}.visual-card:active{cursor:grabbing}.own-note-area{padding:15px 5px 5px}.own-card{display:flex;align-items:center;justify-content:center;flex-direction:column;aspect-ratio:263.34/155.34;border:1px solid var(--gold);background:#fff;outline:1px solid #ead39d;outline-offset:-8px;padding:18px}.own-card>span:not(.blank-star){font:1.4rem Georgia,serif}.own-card small{font-size:.875rem;color:var(--muted);margin-top:8px}.blank-star{color:var(--gold);font-size:1.4rem}.closing-area{margin:22px 5px 0;padding-top:18px;border-top:1px solid var(--line)}.closing-area h3{margin-bottom:12px}.closing-area .quiet{margin-bottom:5px}.closing-area .visual-card{opacity:.95}.month-nav{display:flex;align-items:center;gap:12px;margin-bottom:14px}.month-nav h3{margin-right:auto}.month-nav>button:not(.text-button){font-size:1.5rem;width:44px;padding:0;background:transparent;border-color:var(--line)}.date-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-height:690px;overflow:auto;padding:4px 7px 12px 4px;scrollbar-width:thin;scrollbar-color:#cdbb97 transparent;overscroll-behavior:contain}.date-slot{border:1px solid var(--line);border-radius:12px;min-height:100px;background:#fff;position:relative;padding:10px;display:flex;flex-direction:column;gap:9px;transition:background .12s;scroll-margin-top:90px}.date-slot.today{border-color:var(--gold)}.date-slot:focus-visible{outline-offset:0}.date-slot.drop-target{outline:2px solid var(--gold);background:var(--tan)}.date-label{display:block;font-size:.875rem;line-height:1.4;color:var(--navy)}.date-label strong{font-weight:400}.empty-date{display:flex;align-items:center;justify-content:center;font-size:1.3rem;color:#b2a182;flex:1;min-height:45px;pointer-events:none}.date-slot .visual-card{align-self:center}.date-slot .own-card{min-height:115px}.date-slot .own-card small{display:none}.reminder{min-height:44px;padding:7px;font-size:.875rem;border:0;border-bottom:1px solid var(--line);border-radius:0;background:#fff}.selection-bar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:12px;border:1px solid #d6b964;border-radius:12px;padding:9px 14px;background:#fff9e8;margin-bottom:15px;box-shadow:0 2px 6px #192d4a12;font-size:.875rem}.selection-bar #selected-preview{width:90px;flex-shrink:0}.selection-bar img{width:90px;height:53px;object-fit:contain;border-radius:4px;display:block}.selection-bar #selection-help{flex:1}.selection-bar button{flex-shrink:0}.mobile-hint{display:none}#set-selector{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}#set-selector button{font-size:.875rem;padding:6px 10px;min-height:36px;border-radius:18px;background:white}#set-selector button[aria-pressed=true]{border-color:var(--gold);background:#fff9e8}dialog{width:min(470px,calc(100% - 30px));border:1px solid var(--line);border-radius:20px;padding:25px;background:var(--cream);color:var(--navy);max-height:90vh;overflow:auto}dialog::backdrop{background:#192d4a70}.dialog-top{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:16px}[hidden]{display:none!important}.empty-tray{font-size:.875rem;padding:15px 5px;color:var(--muted)}@media(min-width:1400px){.date-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:1050px) and (min-width:701px){.planning-table{grid-template-columns:300px minmax(0,1fr);gap:20px}.date-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.notes-area{padding:16px}}@media(max-width:700px){.planner-header{padding:8px 16px}.planner-header img{width:125px;height:52px}.planner-main{padding:22px 16px}.planner-heading h1{font-size:2rem}.planner-heading>p{font-size:1rem}.planning-table{display:flex;flex-direction:column;gap:23px}.notes-area,.plan-area{width:100%}.notes-area{padding:16px 12px}.card-tray{display:flex;overflow-x:auto;overflow-y:hidden;max-height:none;gap:14px;scroll-snap-type:x proximity;padding:7px 5px 12px;touch-action:pan-x}.card-tray .visual-card{width:280px;min-width:280px;scroll-snap-align:start;touch-action:pan-x}.own-note-area{padding-top:12px}.own-card{max-width:280px;margin:auto}.closing-area{margin-top:15px;display:grid;grid-template-columns:1fr 135px;column-gap:12px;align-items:center}.closing-area p,.closing-area h3{grid-column:1;margin:0}.closing-area #closing-note{grid-column:2;grid-row:1/3}.closing-area .visual-card{width:135px}.date-grid{display:flex;flex-direction:column;max-height:none;padding:4px 0 12px;overflow:visible}.date-slot{display:grid;grid-template-columns:92px minmax(0,1fr);align-items:center;padding:12px;min-height:72px;gap:12px}.date-label{font-size:.875rem}.date-label strong{display:block}.date-slot .visual-card{grid-column:2;width:100%;max-width:270px}.date-slot .empty-date{grid-column:2;min-height:35px}.date-slot .reminder{grid-column:2}.date-slot .own-card{min-height:110px}.date-slot .own-card>span:not(.blank-star){font-size:1rem}.date-slot .own-card .blank-star{font-size:1rem}.selection-bar{gap:8px;padding:8px;flex-wrap:wrap;scroll-margin-top:10px}.selection-bar #selected-preview{width:64px}.selection-bar img{width:64px;height:38px}.selection-bar #selection-help{min-width:150px}.selection-bar #return-note{margin-left:auto}.mobile-hint{display:block}.access-card{padding:50px 25px 25px;border-radius:160px 160px 14px 14px}.access-card h1{font-size:2rem}.section-top .quiet{font-size:.875rem}.month-nav{gap:8px}.month-nav h3{font-size:1.1rem}}
@media(max-width:700px){.notes-area{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.notes-area>.section-top,.sets-line,#set-selector,.card-tray{grid-column:1/-1}.card-tray .visual-card{width:260px;min-width:260px}.own-note-area{grid-column:1;padding:8px 0 0;align-self:end}.own-note-area .own-card{width:100%;aspect-ratio:263.34/155.34;padding:9px}.own-note-area .own-card>span:not(.blank-star){font-size:1rem}.own-note-area .own-card small{display:none}.own-note-area .blank-star{font-size:1rem}.closing-area{grid-column:2;display:block;padding:8px 0 0;border:0;margin:0}.closing-area .quiet{display:none}.closing-area h3{font-size:.875rem;line-height:1.4;margin:0 0 5px}.closing-area .visual-card{width:100%}.planner-heading .quiet{margin-bottom:0}.planning-table{gap:18px}.sets-line{margin-bottom:4px}}

/* Preserve the original logo artwork and render it in the brand navy. */
.planner-logo{display:block;width:150px;height:65px;background:var(--navy);-webkit-mask:url("/assets/logo.png") center/contain no-repeat;mask:url("/assets/logo.png") center/contain no-repeat}.planner-logo img{opacity:0}@media(max-width:700px){.planner-logo{width:125px;height:52px}}

.save-bar{gap:8px;flex-wrap:wrap}.save-bar #save-status{margin-right:auto}.save-bar #save-for-later:disabled{opacity:1;cursor:default;text-decoration:none}#recovery-dialog{max-width:520px}#recovery-dialog .quiet{margin-top:12px}

.planner-header .planner-label{font-family:Georgia,"Times New Roman",serif;font-style:italic}
