*,*:before,*:after{box-sizing:border-box}*{margin:0}html{interpolate-size:allow-keywords}body{line-height:1.5;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p{overflow-wrap:break-word;text-wrap:pretty}h1,h2,h3,h4,h5,h6{overflow-wrap:break-word;text-wrap:balance}#root,#app{isolation:isolate}:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;color-scheme:light dark;--color-bg: #f7f5f2;--color-surface: #ffffff;--color-mist: #d7e4ea;--color-lavender: #e6dff2;--color-sage: #dfe8de;--color-text: #34343c;--color-text-soft: #6f6f7a;--color-accent: #5c9aa6;--color-accent-secondary: #8489c9;--color-border: rgba(52, 52, 60, .12);--shadow-soft: 0 8px 24px rgba(52, 52, 60, .07);--radius-lg: 22px;--radius-md: 14px;--radius-pill: 999px;--space-1: .5rem;--space-2: 1rem;--space-3: 1.5rem;--space-4: 2.5rem}@media(prefers-color-scheme:dark){:root{--color-bg: #1f2027;--color-surface: #282a34;--color-mist: #33424a;--color-lavender: #38344c;--color-sage: #303b30;--color-text: #e9e8f0;--color-text-soft: #a7a6b4;--color-accent: #8fd0dc;--color-accent-secondary: #aab0e8;--color-border: rgba(255, 255, 255, .1);--shadow-soft: 0 8px 24px rgba(0, 0, 0, .32)}}body{min-height:100dvh;background-color:var(--color-bg);color:var(--color-text)}.page{max-width:80ch;margin-inline:auto;padding:2rem}.page-shell{max-width:640px;margin-inline:auto;padding:var(--space-4) var(--space-2) calc(var(--space-4) * 2);display:flex;flex-direction:column;gap:var(--space-4)}.page-header{display:flex;flex-direction:column;gap:var(--space-1);text-align:center}.page-header h1{font-size:clamp(1.75rem,4vw,2.25rem);font-weight:600;letter-spacing:-.02em}.page-header__tagline{max-width:42ch;margin-inline:auto;color:var(--color-text-soft);font-size:1.05rem;line-height:1.7}.composer{display:flex;flex-direction:column;gap:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:var(--space-3);animation:rise-in .5s ease both}.composer__field{display:flex;flex-direction:column;gap:.5rem}.composer__field label{font-weight:500;font-size:.95rem}.composer__field textarea,.composer__field input{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text);padding:.75rem 1rem;font-size:1rem;line-height:1.6;resize:vertical}.composer__field textarea:focus-visible,.composer__field input:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.composer__row{display:flex;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2)}.composer__field--date input{max-width:12rem}.button{border:none;border-radius:var(--radius-pill);padding:.75rem 1.75rem;font-size:1rem;font-weight:500;font-family:inherit;cursor:pointer;transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease,color .25s ease}.button--primary{background:var(--color-accent-secondary);color:#fff}.button--primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-soft)}.button--primary:disabled{opacity:.5;cursor:not-allowed}.button--ghost{background:transparent;border:1px solid var(--color-accent);color:var(--color-accent)}.button--ghost:hover{background:var(--color-accent);color:#fff}.capsule-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-2)}.capsule-list__empty{text-align:center;color:var(--color-text-soft);padding:var(--space-3) var(--space-2)}.capsule{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-2) var(--space-3);animation:rise-in .5s ease both}.capsule--sealed{background:linear-gradient(135deg,var(--color-mist),var(--color-lavender))}.capsule--ready{background:var(--color-sage)}.capsule--opened{background:var(--color-surface);box-shadow:var(--shadow-soft)}.capsule__meta{color:var(--color-text-soft);font-size:.9rem}.capsule__message{font-size:1.05rem;line-height:1.7;white-space:pre-wrap}@keyframes rise-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;transition-duration:.01ms!important}}
