@font-face{font-family:Allura;src:url('assets/Allura-Regular.ttf') format('truetype');font-display:swap}
@font-face{font-family:Gloock;src:url('assets/Gloock-Regular.ttf') format('truetype');font-display:swap}
:root{--paper:#fcf6f0;--surface:#fffbf7;--ink:#65463e;--muted:#806158;--accent:#aa4058;--wash:#f6e2e4;--line:#dfbfc0;--radius:12px;background:#f0d9db}
body{background:#f0d9db;color:var(--ink)}body[data-palette=blue]{--paper:#faf6ef;--surface:#fffdf7;--ink:#414e59;--muted:#616d76;--accent:#3c637f;--wash:#e2ebee;--line:#bdced5;background:#dce7eb}
.app-shell{display:block;max-width:1320px;margin:28px auto;min-height:calc(100dvh - 56px);background:var(--paper);box-shadow:0 14px 50px #69413a10}
.sidebar{position:relative;height:auto;display:grid;grid-template-columns:1fr auto;padding:28px 48px 0;border:0;background:transparent;gap:0 26px}
.brand{font:48px/1 Allura,cursive;color:var(--accent);gap:15px;width:max-content;max-width:100%}.brand svg{width:42px;height:38px}.brand-caption{font:12px/1.5 Work Sans,Arial,sans-serif;letter-spacing:.06em;margin-top:7px;color:var(--muted)}.postal-waves{display:none}
.sidebar-bottom{grid-column:2;grid-row:1;margin:0;padding:5px 0 0;align-self:center}.sidebar-bottom select{border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;font-size:13px;padding:8px 24px 8px 6px;min-height:44px}
.main-nav{grid-column:1/-1;display:flex;gap:22px;margin-top:25px;border-block:1px solid var(--line);overflow-x:auto;scrollbar-width:thin;scrollbar-color:var(--line) transparent}.main-nav a{border-radius:0;white-space:nowrap;min-height:55px;display:flex;align-items:center;padding:14px 9px;color:var(--muted);font-size:13px;border-bottom:2px solid transparent;margin-bottom:-1px}.main-nav a:first-child{padding-left:0}.main-nav a[aria-current=page]{background:transparent;border-bottom-color:var(--accent);color:var(--accent)}.main-nav a:hover{background:transparent;color:var(--accent)}
.topbar{height:57px;padding:4px 48px;border:0;max-width:1320px;margin:auto}.topbar #save-status{font-size:11px}.topbar #save-status:before{content:'';width:5px;height:5px;border:1px solid currentColor;border-radius:50%;display:inline-block;vertical-align:2px;margin-right:7px}
.plan-menu{position:relative;z-index:8}.plan-menu summary{min-height:44px;cursor:pointer;font-size:12px;display:flex;gap:14px;align-items:center;padding:8px 0 8px 16px;list-style:none}.plan-menu summary::-webkit-details-marker{display:none}.plan-menu summary svg{width:17px;height:17px}.plan-menu-content{position:absolute;right:0;top:46px;width:260px;background:var(--surface);box-shadow:0 10px 32px #59352c20;padding:12px;border-radius:12px}.plan-menu-content button{display:block;width:100%;text-align:left;border:0;background:transparent;font-size:13px}.plan-menu-content button:hover{background:var(--wash)}.plan-menu-content p{padding:0 14px;color:var(--muted);font-size:12px;line-height:1.65}
main{padding:20px 48px 48px;max-width:1320px}.event-overview{grid-template-columns:minmax(0,1fr) minmax(300px,.95fr);gap:20px;min-height:320px;padding-bottom:28px;align-items:center}.welcome-copy{padding:8px 0 15px;position:relative;z-index:1}.event-overview h1{font:400 clamp(32px,3.3vw,46px)/1.16 Gloock,Georgia,serif;max-width:620px;letter-spacing:-.025em;text-wrap:pretty}.event-overview .intro{max-width:40ch;font-size:14px;line-height:1.8;margin:17px 0;color:var(--muted)}.event-place{display:grid;gap:5px;font-size:12px;line-height:1.6;color:var(--muted)}.event-overview .form-actions{margin-top:24px;gap:20px}.button-link{display:inline-flex;gap:25px;align-items:center;text-decoration:none;padding:13px 18px;min-height:46px;font-size:13px;border-radius:6px}.button-link.primary{background:var(--accent);color:var(--surface)}.button-link:hover{filter:brightness(.93)}.hero-art{height:300px;overflow:hidden;position:relative;pointer-events:none}.hero-art img{position:absolute;top:-14%;left:-12%;width:127%;height:auto;max-width:none;mix-blend-mode:multiply}.art-blue{display:none}body[data-palette=blue] .art-rose{display:none}body[data-palette=blue] .art-blue{display:block}
h1,h2,h3{font-family:Gloock,Georgia,serif;font-weight:400}h1{font-size:36px;letter-spacing:-.025em}h2{font-size:24px;line-height:1.25}h3{font-size:21px}.page-heading{margin:7px 0 32px;align-items:center}.page-heading p{font-size:13px;line-height:1.8;max-width:62ch;margin-top:12px}.heading-actions{align-items:center}.heading-actions button{font-size:13px}.page-heading .heading-actions a{font-size:12px}
.stats-row{margin:0 0 40px;background:var(--wash);border:0;position:relative;padding:20px 0}.stat{padding:3px 26px;border-color:var(--line);text-align:center}.stat:first-child{padding-left:26px}.stat strong{font:400 33px/1.3 Gloock,Georgia,serif;margin:0 0 8px;color:var(--accent)}.stat span{display:block;font-size:11px;line-height:1.7}.stat .caption{font-size:12px;color:var(--ink)}.stat .stat-total{font:400 19px/1.3 Gloock,Georgia,serif;display:inline;color:var(--accent)}
.dashboard-columns{grid-template-columns:minmax(0,1.2fr) minmax(300px,.85fr);gap:56px}.section-heading{margin-bottom:9px;align-items:center}.section-heading a{font-size:12px}.section-intro{color:var(--muted);font-size:12px;margin:0 0 15px}.task-preview li{padding:9px 0;gap:20px}.task-preview label{font-size:13px;font-weight:400;gap:13px}.task-preview small{font-size:11px}.task-preview input{border-radius:2px}.celebration-note{padding-left:28px;border-left:1px solid var(--line)}.celebration-note dl{margin:23px 0 0}.celebration-note dl>div{display:grid;grid-template-columns:82px minmax(0,1fr);gap:12px;margin:0 0 18px}.celebration-note dt{font-size:11px;color:var(--muted);line-height:1.8}.celebration-note dd{margin:0;font:500 19px/1.35 Cormorant,Georgia,serif;overflow-wrap:anywhere}.timeline-link{border-top:1px solid var(--line);display:block;padding-top:18px;font-size:12px;line-height:1.6;text-decoration:none}.timeline-link small{display:block;font-size:11px;margin-top:5px}
.app-footer{margin:0 48px;padding:24px 0;display:flex;justify-content:space-between;gap:16px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}.example-banner,.notice{margin:0 48px;padding:12px 16px;border-radius:6px}.example-banner{font-size:12px}.example-banner .text-button{font-size:12px}
button{border-radius:6px;font-size:13px}button.primary{background:var(--accent)}input,select,textarea{background:#ffffff65;border:0;border-bottom:1px solid var(--line);border-radius:3px 3px 0 0;padding:13px 12px;min-height:46px;font-size:14px}input:focus,select:focus,textarea:focus{border-color:var(--accent);background:var(--surface)}label{font-size:12px;font-weight:400;gap:8px}.form-grid{gap:25px 30px}.event-form{max-width:940px;padding:28px 32px 32px;background:var(--surface);border:1px solid var(--line);border-radius:12px}.editor-panel{padding:28px 30px;background:var(--surface);border:1px solid var(--line)}.form-note{font-size:11px;line-height:1.7}.form-actions button{font-size:13px}.form-actions{margin-top:28px}.summary-strip{border-color:var(--line);gap:20px 32px;font-size:12px;padding:18px 0}.summary-strip strong{font:400 24px Gloock,Georgia,serif}.summary-text{font-size:12px;color:var(--muted);line-height:1.75}.table-wrap{border-radius:10px;border:1px solid var(--line);background:transparent}table{font-size:13px}th{background:var(--wash);color:var(--ink);font-size:11px;padding:17px 20px}td{padding:17px 20px}.cell-title{font-weight:500}.badge{font-size:11px;padding:5px 10px}.toolbar{margin-bottom:25px}.toolbar label{font-size:12px}.row-actions button{font-size:11px;background:transparent;border-color:transparent;min-height:44px;min-width:44px}.row-actions button:hover{border-color:var(--line);background:var(--wash)}.empty-state{background:transparent;padding:55px 25px;border-style:dashed}.empty-state h2{margin-bottom:16px}.empty-state p{font-size:13px;line-height:1.8}.checklist-group{margin-top:32px}.checklist-group h2{font-size:22px;margin-bottom:13px}.checklist-row{padding:14px 0}.checklist-row .task-title{font-size:13px}.due{font-size:11px}.timeline-list{background:transparent;border-radius:0;border:0}.timeline-row{padding:20px 0;gap:24px;border-bottom:1px solid var(--line)}.timeline-time{font:400 23px Gloock,Georgia,serif;color:var(--accent)}.timeline-description{font-size:14px;line-height:1.6}dialog{background:var(--paper);color:var(--ink);border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 60px #4b292c30;max-width:550px;padding:30px}dialog h2{font-size:26px}dialog p{font-size:14px;line-height:1.8}dialog::backdrop{background:#412d3255}
*{scrollbar-width:thin;scrollbar-color:var(--line) var(--paper)}
@media(min-width:1500px){.app-shell{margin:40px auto;min-height:calc(100dvh - 80px)}}
@media(max-width:1000px){.app-shell{margin:14px}.sidebar{padding:25px 28px 0}.topbar{padding-inline:28px}main{padding:15px 28px 35px}.main-nav{gap:12px}.main-nav a{font-size:12px}.event-overview{grid-template-columns:minmax(0,1fr) minmax(260px,.8fr)}.hero-art{height:250px}.dashboard-columns{gap:32px;grid-template-columns:minmax(0,1fr) minmax(260px,.8fr)}.stat{padding-inline:16px}.stat strong{font-size:28px}.app-footer{margin-inline:28px}.example-banner,.notice{margin-inline:28px}}
@media(max-width:740px){.app-shell{margin:0;box-shadow:none;min-height:100dvh}.sidebar{display:grid;padding:24px 20px 0;grid-template-columns:minmax(0,1fr) auto;gap:0 10px}.brand{font-size:38px;gap:9px}.brand svg{width:28px}.brand-caption{font-size:11px;letter-spacing:0;max-width:200px}.sidebar-bottom{display:block;padding:0}.sidebar-bottom select{font-size:11px;max-width:95px;padding-right:0}.main-nav{display:flex;grid-column:1/-1;margin-top:22px;gap:20px}.main-nav a{min-height:48px;font-size:12px;padding:12px 0}.topbar{height:53px;padding-inline:20px}.topbar #save-status{font-size:11px}.plan-menu summary{font-size:11px}main{padding:10px 20px 30px}.event-overview{display:flex;flex-direction:column-reverse;gap:0;min-height:0;padding-bottom:28px;align-items:stretch}.hero-art{width:min(100%,380px);height:205px;align-self:center;margin-top:-6px;margin-bottom:3px}.hero-art img{top:-17%;left:-10%;width:123%}.welcome-copy{padding:0}.event-overview h1{font-size:33px;max-width:100%;text-align:center}.event-overview .intro{text-align:center;margin:14px auto;max-width:35ch;font-size:13px}.event-place{text-align:center;font-size:11px}.event-overview .form-actions{justify-content:center;gap:12px;margin-top:20px}.event-overview .form-actions .text-button{font-size:11px}.button-link{font-size:12px;padding:12px 15px;gap:12px}.stats-row{grid-template-columns:1fr 1fr;margin:0 0 30px;padding:4px 0}.stat{padding:17px 12px;border:0}.stat:first-child{padding-left:12px}.stat:nth-child(odd){border-right:1px solid var(--line)}.stat:nth-child(-n+2){border-bottom:1px solid var(--line)}.stat strong{font-size:29px}.stat .caption{font-size:11px}.stat span{font-size:11px}.dashboard-columns{display:grid;grid-template-columns:1fr;gap:32px}.section-heading h2{font-size:22px}.section-heading a{font-size:11px}.task-preview li{gap:12px}.task-preview label{font-size:12px}.task-preview small{font-size:11px}.celebration-note{padding:25px 0 0;border:0;border-top:1px solid var(--line)}.celebration-note dl>div{grid-template-columns:82px 1fr}.celebration-note dd{font-size:19px}.page-heading{display:block;margin-bottom:24px}.page-heading h1{font-size:30px}.page-heading p{font-size:12px}.page-heading .heading-actions{margin-top:18px;gap:10px;display:flex}.form-grid{grid-template-columns:1fr;gap:23px}.event-form,.editor-panel{padding:23px 18px}.summary-strip{gap:15px 23px}.summary-strip strong{font-size:21px}.summary-strip span{font-size:11px}.table-wrap{margin-right:0}table{min-width:600px}.timeline-row{grid-template-columns:80px minmax(0,1fr);gap:12px 15px;padding:20px 0}.timeline-time{font-size:20px}.timeline-description{font-size:13px}.timeline-row .row-actions{grid-column:2;flex-wrap:wrap;justify-content:flex-start}.checklist-row{grid-template-columns:24px minmax(0,1fr) auto;gap:10px}.checklist-row .row-actions{grid-column:2/-1;justify-content:flex-start}.checklist-row .task-title{font-size:12px}.app-footer{margin:0 20px;padding:23px 0;display:grid;gap:6px;font-size:11px}.example-banner,.notice{margin:0 20px;padding:10px 12px}.example-banner{align-items:flex-start;font-size:11px;line-height:1.7}.plan-menu-content{width:250px}dialog{width:calc(100% - 32px);padding:25px}.dialog-actions{gap:10px;flex-wrap:wrap}}
@media(prefers-reduced-motion:no-preference){button,.button-link,.main-nav a{transition:background-color .18s ease-out,color .18s ease-out,border-color .18s ease-out}}
html:has(body[data-palette=blue]){background:#dce7eb}
.hero-art img{top:0;left:0;width:100%;height:100%;object-fit:contain;mix-blend-mode:normal}
.example-banner{background:transparent;border-bottom:1px dashed var(--line);border-radius:0;padding:5px 0 12px;min-height:40px}.example-banner .text-button{min-height:30px}.notice{margin-bottom:12px}
@media(max-width:740px){.brand{font-size:33px}.brand svg{display:none}.brand>span{white-space:nowrap}.brand-caption{display:block;margin-left:0;font-size:11px;max-width:none}.sidebar{gap:0 8px}.sidebar-bottom select{max-width:91px;font-size:11px}.main-nav{padding-bottom:0}.hero-art{height:195px;margin-bottom:12px}.hero-art img{top:0;left:0;width:100%;height:100%}.example-banner{display:flex;flex-direction:column;gap:0;padding-bottom:8px}.notice{margin-bottom:8px}}
@media print{html,html:has(body[data-palette=blue]),body{background:#fff;color:#222}.app-shell{display:none!important}}
