:root{color:#263226;font-synthesis:none;text-rendering:optimizelegibility;--font-body:ui-rounded, "SF Pro Rounded", "Avenir Next", system-ui, sans-serif;--font-whimsy:"Bradley Hand", "Marker Felt", "Chalkboard SE", "Comic Sans MS", cursive;--paper:#fffaf0;--paper-deep:#f7edda;--ink:#243024;--green:#3e6b3b;--sage:#dce8d3;--blue:#1d5b93;--blue-soft:#dcebf7;--coral:#d95f4b;--coral-soft:#ffe4dc;--butter:#f7d982;--butter-soft:#fff3c9;--lavender:#dcd2f2;--line:#463f3033;--shadow:0 18px 50px #503d232e;background:#efe2c7;font-family:ui-rounded,SF Pro Rounded,Avenir Next,system-ui,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(circle at 10% 0,#d95f4b29,#0000 30%),linear-gradient(145deg,#efe2c7,#d8e2cf 58%,#cbdceb);min-width:320px;min-height:100vh;margin:0}button,input,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}.app-shell{background:linear-gradient(#ffffff54 1px, transparent 1px), linear-gradient(90deg, #fff3 1px, transparent 1px), var(--paper);max-width:440px;min-height:100vh;box-shadow:var(--shadow);background-size:100% 32px,32px 100%,auto;margin:0 auto;position:relative;overflow:hidden}.paper-edge{background:radial-gradient(circle at 10px 16px, transparent 12px, #8b6f4629 13px), var(--paper-deep);background-size:28px 18px;height:16px}.app-header{border-bottom:1px solid var(--line);grid-template-columns:44px 1fr 48px;align-items:center;gap:10px;padding:14px 18px 12px;display:grid}h1,h2,h3,p{margin:0}h1{color:var(--green);font-family:var(--font-whimsy);letter-spacing:0;text-align:center;font-size:clamp(1.7rem,8vw,2.25rem);font-weight:700;line-height:1.04}h2{color:var(--green);font-family:var(--font-whimsy);font-size:1.35rem;font-weight:700;line-height:1.15}h3{color:var(--ink);font-family:var(--font-whimsy);font-size:1rem;font-weight:700;line-height:1.2}.location-pill{color:#4c604b;background:0 0;border:0;justify-content:center;align-items:center;gap:4px;width:100%;margin-top:5px;font-size:.88rem;display:flex}.icon-button,.soft-button,.primary-button,.placeholder-chip,.round-add{border:1px solid var(--line);color:var(--green);cursor:pointer;background:#fffaf0db;justify-content:center;align-items:center;gap:8px;display:inline-flex}button:disabled{cursor:default;opacity:.62}.icon-button{border-radius:14px;width:42px;height:42px}.header-spacer{width:42px;height:42px}.avatar-pair{color:#fff;background:var(--green);min-width:46px;height:46px;font-family:var(--font-whimsy);cursor:pointer;border:3px solid #dce8d3;border-radius:999px;justify-content:center;align-items:center;font-size:1.25rem;font-weight:800;display:flex;box-shadow:0 5px #d95f4b38}.avatar-pair span+span{color:#ffe4dc;margin-left:-3px}.top-tabs{border:1px solid var(--line);background:#fffaf0c7;border-radius:20px;grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;margin:14px 18px 10px;padding:4px;display:grid}.top-tabs a,.overview-toggle button,.day-tabs button{color:#394538;cursor:pointer;background:0 0;border:0}.top-tabs a{min-height:48px;font-family:var(--font-whimsy);border-radius:16px;justify-content:center;align-items:center;gap:6px;font-size:1rem;font-weight:700;text-decoration:none;display:flex}.top-tabs .active,.overview-toggle .active,.day-tabs .active{color:#fff;background:var(--green);box-shadow:inset 0 -3px #0000001f}.signed-in-bar{color:#536150;justify-content:space-between;align-items:center;gap:10px;margin:0 18px 10px;font-size:.82rem;display:flex}.signed-in-bar span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.screen-stack{min-height:calc(100vh - 178px);padding-bottom:28px;overflow:auto}.screen{gap:18px;padding:12px 18px 22px;display:grid}.section-title{justify-content:space-between;align-items:center;gap:12px;display:flex}.section-title.compact{align-items:center}.eyebrow{color:var(--coral);font-family:var(--font-body);letter-spacing:0;text-transform:uppercase;font-size:.78rem;font-weight:800}.soft-button,.primary-button{min-height:44px;font-family:var(--font-whimsy);border-radius:15px;padding:0 15px;font-size:1rem;font-weight:800}.primary-button{color:#fff;background:var(--green);border-color:#2f5630}.timeline-card,.note-card,.input-card,.placeholder-editor,.preview-panel,.day-card,.bottom-sheet,.calendar-board,.auth-panel,.wishlist-item,.empty-card{background:#fffaf0c2;border:1px dashed #534b3942;border-radius:22px;box-shadow:0 8px 24px #503d2312}.timeline-card{gap:0;padding:12px 10px;display:grid}.event-row{grid-template-columns:74px 18px 1fr;align-items:center;gap:8px;min-height:86px;display:grid}.event-row time{color:#314031;font-family:var(--font-whimsy);font-size:.92rem;font-weight:750}.timeline-dot{background:var(--green);border-radius:999px;width:12px;height:12px;box-shadow:0 0 0 5px #3e6b3b1f}.event-card{border:1px solid var(--line);background:#fff;border-radius:18px;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:68px;padding:10px;display:grid}.event-actions{gap:6px;display:grid}.event-actions button{width:32px;height:32px;color:var(--green);background:#fffaf0b8;border:1px solid #434e3c29;border-radius:11px;justify-content:center;align-items:center;display:inline-flex}.event-card p,.ticket p,.list-event p{color:#536150;font-family:var(--font-body);align-items:center;gap:4px;margin-top:4px;font-size:.83rem;display:flex}.event-icon,.mini-icon{border-radius:14px;justify-content:center;align-items:center;display:inline-flex}.event-icon{width:42px;height:42px;color:var(--green);background:var(--sage)}.focus .event-card,.calendar-event.focus,.placeholder-chip.focus,.mini-icon.focus{background:var(--blue-soft);border-color:#1d5b9342}.date .event-card,.calendar-event.date,.placeholder-chip.date,.mini-icon.date{background:var(--coral-soft);border-color:#d95f4b42}.outdoors .event-card,.calendar-event.outdoors,.placeholder-chip.outdoors,.mini-icon.outdoors{background:var(--sage);border-color:#3e6b3b47}.food .event-card,.calendar-event.food,.placeholder-chip.food,.mini-icon.food{background:var(--butter-soft);border-color:#b8801440}.note-card{gap:10px;padding:16px;display:grid}.note-heading{color:var(--green);align-items:center;gap:8px;margin-bottom:8px;display:flex}.note-card p,.day-note{color:var(--blue);font-family:var(--font-whimsy);font-size:1rem;font-weight:650;line-height:1.45}.placeholder-strip{gap:10px;display:grid}.placeholder-row{gap:10px;padding-bottom:4px;display:flex;overflow-x:auto}.placeholder-chip{color:#234223;min-width:max-content;min-height:52px;font-family:var(--font-whimsy);border-radius:16px;padding:0 14px;font-size:1rem;font-weight:800}.empty-card{padding:18px}.empty-card p,.loading-text,.status-text,.error-text{color:#536150;line-height:1.4}.loading-text,.status-text,.error-text{background:#fffaf0d1;border-radius:15px;margin:12px 18px;padding:12px 14px}.status-text{color:var(--blue)}.inline-status,.validation-text{color:var(--blue);font-family:var(--font-body);margin:8px 0 0;font-size:.88rem;line-height:1.35}.validation-text{color:#a63c2f}.error-text{color:#a63c2f;background:#ffe4dcc7}.input-card,.placeholder-editor,.preview-panel,.day-card,.bottom-sheet,.auth-panel,.wishlist-item{padding:16px}.auth-panel{gap:14px;margin:18px;display:grid}.auth-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.wide{width:100%}.input-card label,.text-field span{color:var(--green);font-family:var(--font-whimsy);font-size:1.05rem;font-weight:850}textarea,input,select{width:100%;color:var(--ink);font-family:var(--font-whimsy);background:#ffffffad;border:1px solid #434e3c3d;border-radius:16px;outline:none;font-weight:650}textarea:focus,input:focus,select:focus{border-color:#3e6b3bad;box-shadow:0 0 0 3px #3e6b3b1f}.input-card textarea{resize:vertical;min-height:112px;margin-top:10px;padding:16px;font-size:1.18rem;line-height:1.45}.note-entry-card textarea{min-height:clamp(120px,24vh,190px)}.wishlist-form{gap:10px;display:grid}.wishlist-form input{min-height:46px;padding:0 14px}.wishlist-form textarea{min-height:104px}.wishlist-list{gap:12px;display:grid}.wishlist-item{gap:14px;display:grid}.wishlist-item p{color:#536150;font-family:var(--font-body);margin-top:6px;font-size:.92rem;line-height:1.45}.wishlist-actions{grid-template-columns:minmax(0,1fr) 44px;gap:10px;display:grid}.wishlist-actions .icon-button{border-radius:15px}.input-actions,.sticky-actions,.add-placeholder{align-items:center;gap:10px;margin-top:12px;display:flex}.input-actions .primary-button,.sticky-actions .primary-button{flex:1}.placeholder-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px;display:grid}.add-placeholder input{min-height:44px;padding:0 12px}.preview-panel{gap:14px;display:grid}.preview-page-panel{gap:12px}.preview-screen{gap:8px;padding:8px 12px 14px}.preview-screen .section-title{align-items:end}.preview-screen h2{font-size:1.18rem}.preview-screen .soft-button,.preview-screen .primary-button{min-height:38px;padding:0 12px}.ticket{background:#fffdf7;border:1px solid #534b3940;border-radius:18px;grid-template-columns:104px 1fr;gap:12px;padding:12px;display:grid}.preview-page-panel .ticket{grid-template-columns:88px 1fr;padding:8px}.ticket h2{color:var(--blue);margin-top:4px}.ticket-image{min-height:118px;color:var(--green);background:linear-gradient(#ffffff73, #fff3), var(--butter-soft);border-radius:15px;align-content:center;place-items:center;display:grid}.preview-page-panel .ticket-image{min-height:76px}.preview-page-panel .ticket h2{font-size:1.15rem}.preview-page-panel .ticket p{margin-top:2px}.ticket-image span{color:var(--coral);margin-top:8px;font-size:.76rem;font-weight:900}.field-list{gap:10px;display:grid}.compact-field-list{grid-template-columns:1fr 1fr;gap:7px}.compact-field-list .text-field:first-child,.compact-field-list .text-field:nth-child(2),.compact-field-list .notes-field{grid-column:1/-1}.text-field{gap:6px;display:grid}.text-field input,.text-field select{min-height:42px;padding:0 12px}.text-field textarea{resize:vertical;min-height:74px;padding:12px}.preview-screen .text-field{gap:3px}.preview-screen .text-field span{font-size:.92rem}.preview-screen .text-field input,.preview-screen .text-field select{border-radius:12px;min-height:34px}.preview-screen .text-field textarea{border-radius:12px;min-height:46px;padding:8px 10px}.preview-screen .sticky-actions{margin-top:4px}.field-pair{grid-template-columns:1fr 1fr;gap:10px;display:grid}.week-top{grid-template-columns:44px 1fr 44px;align-items:center;gap:10px;display:grid}.week-top h2{border:1px solid var(--line);background:#fffaf0c2;border-radius:16px;justify-content:center;align-items:center;min-height:48px;font-size:1.1rem;display:flex}.day-tabs{grid-template-columns:repeat(7,minmax(44px,1fr));gap:6px;display:grid;overflow-x:auto}.day-tabs button{border:1px solid var(--line);min-width:48px;min-height:58px;font-family:var(--font-whimsy);white-space:pre-line;background:#fffaf0c2;border-radius:15px;font-size:1rem;font-weight:850}.today-date-row{align-items:center;gap:8px;min-height:44px;display:flex}.today-date-row .icon-button{border-radius:13px;width:38px;height:38px}.today-date-row .eyebrow{margin:0}.small-status{color:var(--coral);font-family:var(--font-whimsy);align-items:center;gap:7px;font-size:1.02rem;font-weight:850;display:flex}.calendar-board{gap:12px;padding:14px 10px 16px;display:grid}.calendar-day-label{color:var(--coral);font-family:var(--font-body);letter-spacing:0;text-transform:uppercase;font-size:.8rem;font-weight:850}.calendar-timeline{grid-template-columns:48px minmax(0,1fr);gap:8px;display:grid}.time-axis{color:#536150;font-family:var(--font-whimsy);grid-template-rows:repeat(17,64px);font-size:.76rem;font-weight:800;display:grid}.time-axis div{transform:translateY(-.35em)}.day-grid{border-left:2px solid #3e6b3b33;min-height:1088px;position:relative}.hour-line{border-top:1px solid #463f3021;height:64px}.calendar-event{border:1px solid var(--line);cursor:pointer;border-radius:14px;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:54px;padding:8px;display:grid;position:absolute;left:8px;right:0;overflow:hidden;box-shadow:0 8px 18px #46321a1a}.calendar-event>svg{justify-self:center}.calendar-event-copy{min-width:0}.calendar-event-copy h3,.calendar-event-copy p,.calendar-event-copy span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.calendar-event-actions{gap:4px;display:grid}.calendar-event-actions button{width:30px;height:30px;color:var(--green);background:#fffaf0c2;border:1px solid #434e3c2e;border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.calendar-empty{position:absolute;inset:18px 0 auto 8px}.draggable-placeholder{gap:6px;display:grid}.draggable-placeholder .placeholder-chip{width:100%}.add-to-day{min-height:34px;font-size:.86rem}.calendar-event h3{font-size:1.05rem}.calendar-event p{color:#435142;font-family:var(--font-whimsy);margin-top:3px;font-weight:750}.calendar-event span{color:#536150;font-family:var(--font-body);margin-top:1px;font-size:.78rem;display:block}.bottom-sheet{position:relative}.sheet-handle{background:#463f3042;border-radius:999px;width:56px;height:5px;margin:-3px auto 14px}.round-add{color:#fff;background:var(--green);border-radius:999px;width:44px;height:44px}.overview-toggle{border:1px solid var(--line);background:#fffaf0c2;border-radius:18px;grid-template-columns:1fr 1fr;padding:4px;display:grid}.overview-toggle button{min-height:46px;font-family:var(--font-whimsy);border-radius:14px;font-size:1.05rem;font-weight:850}.day-card{gap:12px;display:grid}.full-week-card{grid-column:1/-1}.day-card-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.day-card-head p{color:var(--green);font-family:var(--font-whimsy);font-weight:850}.day-card-head span{color:#345433;background:var(--sage);border-radius:999px;padding:6px 10px;font-size:.78rem;font-weight:900}.day-card-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.day-note{background:#dce8d3b3;border-radius:14px;gap:7px;padding:10px;font-size:.9rem;display:flex}.list-event{border-top:1px solid #463f301f;grid-template-columns:66px 36px 1fr;align-items:center;gap:8px;padding-top:10px;display:grid}.list-event time{color:var(--green);font-family:var(--font-whimsy);font-size:.85rem;font-weight:900}.mini-icon{width:34px;height:34px}@media (width>=720px){body{padding:24px}.app-shell{border:1px solid #463f3038;border-radius:32px;min-height:calc(100vh - 48px)}}@media (width>=900px){body{padding:32px}.app-shell{border-radius:34px;max-width:1120px;min-height:calc(100vh - 64px)}.app-header{grid-template-columns:56px 1fr 58px;padding:18px 28px 14px}h1{font-size:2.6rem}.top-tabs,.signed-in-bar{max-width:760px;margin-left:auto;margin-right:auto}.signed-in-bar{color:#536150;justify-content:space-between;align-items:center;gap:18px;padding:0 4px 12px;font-size:.92rem;display:flex}.screen-stack{min-height:auto;max-height:none;padding:10px 26px 34px;overflow:visible}.screen{max-width:1040px;margin:0 auto;padding:14px 0 28px}.today-screen{grid-template-columns:minmax(520px,1.35fr) minmax(320px,.85fr);align-items:start}.today-screen>.section-title,.today-screen>.placeholder-strip{grid-column:1/-1}.add-screen{grid-template-columns:minmax(420px,1fr) minmax(360px,.8fr);align-items:start}.add-screen>.section-title{grid-column:1/-1}.note-entry-card textarea{min-height:220px}.compact-templates{position:sticky;top:18px}.preview-screen{max-width:860px}.preview-page-panel{grid-template-columns:minmax(320px,.9fr) minmax(420px,1.1fr);align-items:start}.preview-page-panel>.section-title,.preview-page-panel>.sticky-actions{grid-column:1/-1}.preview-page-panel .ticket{grid-template-columns:112px 1fr}.preview-page-panel .field-list{grid-column:2}.week-screen{grid-template-columns:minmax(560px,1fr) minmax(320px,.5fr);align-items:start}.week-top,.day-tabs,.small-status{grid-column:1/-1}.week-screen .bottom-sheet{position:sticky;top:18px}.overview-screen{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.wishlist-screen{grid-template-columns:minmax(360px,.72fr) minmax(420px,1fr);align-items:start}.wishlist-screen>.section-title{grid-column:1/-1}.wishlist-form{position:sticky;top:18px}.overview-screen>.section-title,.overview-screen>.overview-toggle{grid-column:1/-1}.auth-panel{max-width:520px;margin:40px auto}}
