:root{--lime:#a3e635;--lime-ink:#365314;--ink:#111827;--muted:#6b7280;--line:#e5e7eb;--grey-soft:#f3f4f6;--page:#fff;--card:#fff;--shadow:0 2px 10px #11182714;--field-edge:#858c97;--lime-pale:#f7fee7;--lime-light:#d9f99d;--danger-line:#fecaca;--danger-soft:#fee2e2;--danger-ink:#991b1b;--on-dark:#fff;--overlay:#111827eb;--badge:#111827bf}*{box-sizing:border-box}body{background:var(--page);max-width:60rem;color:var(--ink);margin:0 auto;padding:1.25rem 1rem 2rem;font-family:system-ui,Segoe UI,Roboto,sans-serif;line-height:1.5}h1,h2{text-wrap:balance}h1{letter-spacing:-.02em;margin:0;font-size:2.25rem;font-weight:800;line-height:1.1}h2{letter-spacing:-.01em;margin:2.25rem 0 .75rem;font-size:1.5rem;font-weight:800}.top-bar{z-index:20;background:var(--page);border-bottom:1px solid var(--line);justify-content:flex-end;align-items:center;gap:.5rem;margin:-1.25rem -1rem 1rem;padding:.6rem 1rem;display:flex;position:sticky;top:0}.review-button{min-height:2.25rem;color:var(--muted);align-items:center;gap:.4rem;padding:0 .8rem;font-size:.9rem;display:inline-flex}.review-button.has-items{border-color:var(--field-edge);color:var(--ink)}.review-count{background:var(--lime);min-width:1.35rem;height:1.35rem;color:var(--lime-ink);border-radius:999px;place-items:center;padding:0 .3rem;font-size:.8rem;font-weight:700;display:inline-grid}button.icon.add-button{border-color:var(--lime);background:var(--lime);color:var(--lime-ink)}#add-event{scroll-margin-top:6rem}.account{justify-content:flex-end;display:flex;position:relative}.account-menu{z-index:10;background:var(--card);border:1px solid var(--line);min-width:14rem;box-shadow:var(--shadow);border-radius:14px;flex-direction:column;padding:.5rem;display:flex;position:absolute;top:calc(100% + .4rem);right:0}.account-email{color:var(--muted);overflow-wrap:anywhere;margin:.25rem .5rem .5rem;font-size:.8rem}.account-menu button{color:var(--ink);text-align:left;background:0 0;border:0;border-radius:10px;padding:.55rem .75rem;font-weight:500}.account-menu button:hover,.account-menu button:focus-visible{background:var(--grey-soft)}.change-password{margin-bottom:1.5rem}.change-password h2{margin-top:0}.change-password [role=status]{min-height:1.5em;color:var(--muted)}button{border:1px solid var(--line);background:var(--card);color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;padding:.55rem 1.1rem;font-weight:600}button.primary{border-color:var(--lime);background:var(--lime);color:var(--lime-ink);font-weight:700}button:active:not(:disabled){filter:brightness(.94);transform:translateY(1px)}button:disabled,button.primary:disabled{border-color:var(--line);background:var(--grey-soft);color:var(--muted);opacity:.7;cursor:not-allowed}button.icon{background:var(--card);place-items:center;width:2.25rem;height:2.25rem;padding:0;display:inline-grid}button.icon.danger{border-color:var(--danger-line);background:var(--danger-soft);color:var(--danger-ink)}form{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;flex-wrap:wrap;align-items:end;gap:.75rem;padding:1rem 1.25rem;display:flex}label{color:var(--muted);flex-direction:column;gap:.25rem;font-size:.875rem;display:flex}input{border:1px solid var(--field-edge);color:var(--ink);font:inherit;border-radius:10px;padding:.55rem .7rem}label.name-field{flex:16rem}label.name-field input{width:100%}#form-message{min-height:1.5em;color:var(--muted)}ul.events{grid-template-columns:repeat(auto-fill,minmax(16rem,1fr));gap:1rem;margin:0;padding:0;list-style:none;display:grid}li.event-card{background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px;padding:0 1.25rem 1rem;scroll-margin-top:4.5rem;position:relative;overflow:hidden}li.event-card strong{font-size:1.2rem;font-weight:800;line-height:1.25;display:block}li.event-card time{background:var(--grey-soft);color:var(--ink);border-radius:999px;margin-top:.5rem;padding:.15rem .6rem;font-size:.875rem;font-weight:600;display:inline-block}li.event-card .countdown{text-wrap:balance;font-variant-numeric:tabular-nums;letter-spacing:-.02em;margin:.75rem 0 0;font-size:clamp(1.5rem,7.2vw,2rem);font-weight:800;line-height:1.1}li.event-card .countdown-hours{color:var(--muted);margin:0}form.edit-event{box-shadow:none;background:0 0;border:0;align-items:flex-start;padding:0}.card-actions{align-items:center;gap:.5rem;width:100%;display:flex}.save-status{min-height:1.5em;color:var(--muted);margin:0;font-size:.875rem}.card-actions .danger{margin-left:auto}ul.people{gap:.35rem;margin:.75rem 0 0;padding:0;list-style:none;display:flex}.person{background:var(--grey-soft);width:1.9rem;height:1.9rem;color:var(--ink);cursor:default;-webkit-user-select:none;user-select:none;border-radius:50%;place-items:center;font-size:.8rem;font-weight:700;display:inline-grid}.people-picker .person{cursor:pointer}.people-picker{border:0;flex-wrap:wrap;gap:.75rem;margin:0;padding:0;display:flex}.people-picker legend{color:var(--muted);margin-bottom:.25rem;font-size:.875rem}.people-picker label{cursor:pointer;flex-direction:row;align-items:center}.people-picker input{opacity:0;position:absolute}.people-picker input:checked+.person{box-shadow:0 0 0 3px var(--lime)}.people-picker input:not(:checked)+.person{color:var(--muted)}.people-picker input:focus-visible+.person{outline:2px solid var(--ink);outline-offset:5px}.person-name{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.view-switch{background:var(--grey-soft);border-radius:999px;margin:0;display:inline-flex}.view-switch button{color:var(--muted);background:0 0;border:0;padding:.4rem 1.1rem;font-size:.9rem}.view-switch button[aria-pressed=true]{background:var(--lime);color:var(--lime-ink)}footer{color:var(--muted);text-align:center;margin-top:3rem;font-size:.875rem}li.event-card .cover{aspect-ratio:16/9;object-fit:cover;background:var(--grey-soft);width:calc(100% + 2.5rem);max-width:none;margin:0 -1.25rem 1rem;display:block}li.event-card .cover-placeholder,.event-page-cover.cover-placeholder{background:linear-gradient(135deg, var(--lime-pale), var(--lime-light) 55%, var(--lime));color:var(--lime-ink);place-items:center;display:grid}.photo-count{color:var(--muted);margin:.5rem 0 0;font-size:.8rem}.photo-manager{border:0;flex-direction:column;gap:.5rem;width:100%;margin:0;padding:0;display:flex}.photo-manager legend{color:var(--muted);margin-bottom:.25rem;font-size:.875rem}.photo-grid{grid-template-columns:repeat(auto-fill,minmax(6rem,1fr));gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.photo-grid li{flex-direction:column;gap:.25rem;display:flex;position:relative}.photo-grid img{aspect-ratio:1;object-fit:cover;background:var(--grey-soft);border-radius:10px;width:100%}.photo-grid .cover-choice{flex-direction:row;align-items:center;gap:.25rem;font-size:.8rem}.photo-grid .danger{width:1.9rem;height:1.9rem;position:absolute;top:.3rem;right:.3rem}.add-photos{border:1px solid var(--line);color:var(--ink);cursor:pointer;border-radius:999px;flex-direction:row;align-self:flex-start;align-items:center;gap:.4rem;padding:.45rem 1rem;font-weight:600}.add-photos input{opacity:0;width:1px;height:1px;position:absolute}.photo-manager [role=status]{min-height:1.5em;color:var(--muted);margin:0;font-size:.875rem}.card-link{color:inherit;text-decoration:none}.card-link:hover{text-decoration:underline}.back-link{color:var(--ink);align-items:center;gap:.35rem;font-weight:600;text-decoration:none;display:inline-flex}.event-page-cover{object-fit:cover;background:var(--grey-soft);border-radius:16px;width:100%;max-height:24rem;margin-bottom:1.25rem;display:block}.event-page .name-field input{font-size:clamp(1.15rem,4vw,1.5rem);font-weight:800}.photo-grid.big{grid-template-columns:repeat(auto-fill,minmax(6.5rem,1fr))}.photo-grid.big img{border-radius:12px}.muted{color:var(--muted)}.note-list{flex-direction:column;gap:.75rem;margin:0 0 1rem;padding:0;list-style:none;display:flex}.note{border:1px solid var(--line);border-radius:14px;padding:.9rem 1rem;position:relative}.note-meta{color:var(--muted);margin:0 0 .35rem;padding-right:5rem;font-size:.85rem}.note-meta strong{color:var(--ink)}.note-body{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.note-actions{gap:.35rem;display:flex;position:absolute;top:.6rem;right:.6rem}.note-form{flex-direction:column;align-items:stretch}form.note-form{box-shadow:none;border:0;padding:0}.note-form button{align-self:flex-start}textarea{border:1px solid var(--field-edge);width:100%;color:var(--ink);font:inherit;resize:vertical;border-radius:10px;padding:.6rem .7rem}.event-page-cover{aspect-ratio:16/9}.photo-open{background:0 0;border:0;border-radius:12px;width:100%;padding:0;display:block}.photo-viewer{z-index:50;background:var(--overlay);color:var(--on-dark);place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.photo-viewer img{object-fit:contain;border-radius:8px;max-width:calc(100vw - 2rem);max-height:calc(100dvh - 2rem)}.photo-viewer-close{width:2.75rem;height:2.75rem;position:absolute;top:1rem;right:1rem}.prompt-library ::placeholder{color:var(--muted);opacity:.55}.filters{flex-wrap:wrap;gap:.5rem;margin:1.25rem 0 0;display:flex}.filters+h2{margin-top:1rem}.cover-placeholder{position:relative}.drawing-note{text-align:center;padding:0 1rem;font-size:.85rem;font-weight:600;position:absolute;bottom:.6rem}.ai-badge{background:var(--badge);color:var(--on-dark);border-radius:6px;padding:.05rem .4rem;font-size:.7rem;font-weight:700;position:absolute;top:.35rem;left:.35rem}.photo-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.draw-picture{align-items:center;gap:.4rem;display:inline-flex}.ai-count{font-size:.85rem}label.description-field{flex:100%}.add-photos,.photo-actions button{box-sizing:border-box;border:1px solid var(--line);align-items:center;gap:.4rem;height:2.5rem;padding:0 1.1rem;line-height:1;display:inline-flex}input[type=radio]{accent-color:var(--lime-ink)}.event-page .ai-count{margin:0}.event-page h2+.muted{margin-top:0}.photo-manager [role=status]:empty{display:none}.event-page-top{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.prompt-library .back-link{margin-bottom:1rem}.top-bar-status{min-width:0;color:var(--muted);flex:1;margin:0;font-size:.85rem}label.repeat-field{color:var(--ink);flex-direction:row;flex:100%;align-items:center;gap:.5rem;font-size:.95rem}label.repeat-field input{width:1.1rem;height:1.1rem;accent-color:var(--lime-ink)}.repeat-icon{vertical-align:-.1em;margin-left:.35rem}.forwarded-emails .back-link{margin-bottom:1rem}.forwarded-list{margin:0;padding:0;list-style:none}.forwarded-list>li{border-bottom:1px solid var(--line);padding:1.5rem 0}.forwarded-list p{overflow-wrap:anywhere;margin:0}.forwarded-subject{font-weight:600}.forwarded-list .muted{margin-bottom:.4rem;font-size:.875rem}.forwarded-list a{color:var(--ink)}.forwarded-details{white-space:pre-wrap;color:var(--muted)}.review-actions{flex-wrap:wrap;gap:.5rem;margin-top:.6rem;display:flex}.review-add{margin-top:.75rem}.event-delete{margin-bottom:1.5rem}.event-delete [role=alert]{color:var(--danger-ink);margin:.5rem 0 0}.forwarded-emails h2{margin-top:0}.event-emails ul{margin:0;padding:0;list-style:none}.event-emails li{border-bottom:1px solid var(--line);padding:.75rem 0}.event-emails p{overflow-wrap:anywhere;margin:0}.event-emails .muted{font-size:.875rem}.event-email-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.event-email-row button{flex:none}.event-email-file{overflow-wrap:anywhere;margin:.75rem .5rem 0 0}.event-email-file svg{vertical-align:-.15em}.event-email-frame{border:1px solid var(--line);background:var(--card);border-radius:10px;width:100%;height:70vh;margin-top:.75rem;display:block}.ask-events{max-width:44rem;margin-inline:auto}.ask-events .back-link{margin-bottom:1rem}.ask-events h2{margin-top:0;margin-bottom:.25rem}.ask-events h2+.muted{margin-top:0}.ask-conversation{flex-direction:column;gap:1.25rem;margin:1.5rem 0;padding:0;list-style:none;display:flex}.ask-conversation:empty{display:none}.ask-conversation p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.ask-user{background:var(--grey-soft);border-radius:14px;align-self:flex-end;max-width:85%;padding:.6rem .9rem}.ask-thinking{color:var(--muted)}.ask-steps{color:var(--muted);flex-wrap:wrap;gap:.25rem .9rem;margin-top:.5rem;font-size:.8rem;display:flex}.ask-steps svg{vertical-align:-.15em}.ask-proposal{border:1px solid var(--line);background:var(--card);border-radius:14px;margin-top:.75rem;padding:.9rem 1rem}.ask-conversation .ask-proposal-name{font-weight:700}.ask-proposal-people{margin-top:.75rem}.ask-conversation .ask-proposal-guess{color:var(--muted);margin-top:.25rem;font-size:.875rem}.ask-proposal-actions{gap:.5rem;margin-top:.75rem;display:flex}.ask-conversation .ask-proposal-result{margin-top:.5rem;font-weight:600}.ask-proposal [role=alert]{color:var(--danger-ink);margin-top:.5rem}.ask-compose{padding-block:.5rem max(.75rem, env(safe-area-inset-bottom));background:var(--page);position:sticky;bottom:0}.ask-compose [role=alert]{color:var(--danger-ink);margin:0 0 .5rem}form.ask-form{border-color:var(--field-edge);box-shadow:none;flex-wrap:nowrap;gap:.5rem;padding:.4rem .4rem .4rem .9rem}form.ask-form:focus-within{outline:2px solid var(--ink);outline-offset:-1px}.boo-panel{border:1px solid var(--field-edge);background:var(--page);text-align:center;border-radius:14px;flex-direction:column;align-items:center;gap:.6rem;padding:1rem;display:flex}.boo-panel p{margin:0}.boo-panel button{align-items:center;gap:.4rem;display:inline-flex}.boo-ghost{line-height:0;display:block}.boo-ghost.listening{animation:2.4s ease-in-out infinite boo-float}@keyframes boo-float{50%{transform:translateY(-4px)}}@media (prefers-reduced-motion:reduce){.boo-ghost.listening{animation:none}}button.boo-switch{color:var(--muted);background:0 0;border:0;align-items:center;gap:.35rem;margin:.5rem auto 0;font-size:.9rem;text-decoration:underline;display:flex}.library-section{margin-top:2rem}.library-section h3{margin-bottom:.25rem}.library-section>.muted{margin-top:0}.setting-box{margin-top:1rem}.setting-box label+label{margin-top:.5rem}.setting-status{min-height:1.25rem;color:var(--muted);margin:.15rem 0 0;font-size:.85rem}.ask-compose audio{display:none}.ask-form label{flex:1;align-self:center;min-width:0}.ask-label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.ask-form textarea{field-sizing:content;resize:none;border:0;outline:0;max-height:9rem;padding:.25rem 0;display:block}.ask-form button{flex:none;min-height:2.75rem;padding-inline:1.25rem}
