@charset "UTF-8";:root{--paper: #fbfaf7;--paper-deep: #f0ede6;--ink: #181511;--ink-soft: #57524a;--ink-faint: #94908a;--line: #e3e0d8;--vermillion: #c03b1c;--vermillion-deep: #9a2f16;--ochre: #b18a3a;--sage: #6e7361;--white: #ffffff;--day-0: #a8447a;--day-1: #c0451f;--day-2: #b3821f;--day-3: #6f7d3e;--day-4: #2f7f6b;--day-5: #37699c;--day-6: #6a559b;--font-display: "Syne", sans-serif;--font-body: "Archivo", sans-serif;--shadow-card: 0 1px 2px rgba(34, 29, 21, .06), 0 8px 24px -12px rgba(34, 29, 21, .18);--shadow-pop: 0 2px 4px rgba(34, 29, 21, .08), 0 24px 48px -16px rgba(34, 29, 21, .28);--radius: 4px;--topbar-h: 60px;--tabbar-h: 58px;--tap: 44px;--safe-b: env(safe-area-inset-bottom, 0px)}.block--day-0{--day-accent: var(--day-0)}.block--day-1{--day-accent: var(--day-1)}.block--day-2{--day-accent: var(--day-2)}.block--day-3{--day-accent: var(--day-3)}.block--day-4{--day-accent: var(--day-4)}.block--day-5{--day-accent: var(--day-5)}.block--day-6{--day-accent: var(--day-6)}*{box-sizing:border-box}html,body{margin:0;height:100%}body{font-family:var(--font-body);font-size:15px;line-height:1.5;color:var(--ink);background-color:var(--paper);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;overscroll-behavior-y:none}h1,h2,h3,h4{font-family:var(--font-display);font-weight:700;letter-spacing:-.01em;margin:0}a{color:var(--vermillion)}button{font-family:var(--font-body)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.62rem 1.3rem;min-height:40px;border:1px solid var(--ink);border-radius:var(--radius);background:var(--ink);color:var(--paper);font-size:.95rem;font-weight:600;letter-spacing:.01em;cursor:pointer;transition:transform .12s ease,background .12s ease,box-shadow .12s ease}.btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-card)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn--accent{background:var(--vermillion);border-color:var(--vermillion);color:var(--white)}.btn--accent:hover:not(:disabled){background:var(--vermillion-deep);border-color:var(--vermillion-deep)}.btn--ghost{background:transparent;color:var(--ink);border-color:var(--line)}.btn--ghost:hover:not(:disabled){border-color:var(--ink)}.btn--danger{background:transparent;color:var(--vermillion-deep);border-color:var(--vermillion-deep)}.field{display:flex;flex-direction:column;gap:.3rem}.field label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft)}.field input,.field textarea,.field select{font-family:var(--font-body);font-size:.98rem;color:var(--ink);background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:.6rem .75rem;transition:border-color .12s ease,box-shadow .12s ease}.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--ink);box-shadow:0 0 0 3px #d8431f1f}.field__error{font-size:.78rem;color:var(--vermillion-deep);margin:.15rem 0 0}.field input.ng-invalid.ng-touched,.field textarea.ng-invalid.ng-touched,.field select.ng-invalid.ng-touched{border-color:var(--vermillion)}.error-note{font-size:.88rem;color:var(--vermillion-deep);background:#d8431f12;border-left:2px solid var(--vermillion);padding:.5rem .75rem}.scrim{position:fixed;inset:0;background:#221d1540;z-index:30;animation:fade-in .2s ease both}.sheet{position:fixed;top:0;right:0;bottom:0;width:min(400px,92vw);background:var(--paper);border-left:1px solid var(--line);box-shadow:var(--shadow-pop);padding:2.4rem 1.8rem;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;z-index:31;animation:slide-in .24s ease both}.sheet__close{position:absolute;top:.5rem;right:.6rem;width:var(--tap);height:var(--tap);display:grid;place-items:center;background:none;border:none;font-size:1.6rem;line-height:1;color:var(--ink-faint);cursor:pointer}.sheet__close:hover{color:var(--ink)}.sheet-when{color:var(--ink-soft);font-size:.95rem;margin:0 0 .6rem}.sheet-title{font-size:1.8rem;margin-bottom:.4rem}.sheet-sub{color:var(--ink-soft);margin:.3rem 0 1.4rem}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-in{0%{transform:translate(40px);opacity:0}to{transform:translate(0);opacity:1}}@keyframes sheet-up{0%{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}@media (max-width: 767px){.field input,.field textarea,.field select{font-size:16px}.btn{min-height:var(--tap);padding:.75rem 1.2rem}.sheet{inset:auto 0 0;width:100%;max-height:92vh;max-height:92dvh;border-left:none;border-top:1px solid var(--line);border-radius:14px 14px 0 0;padding:2.6rem 1.1rem calc(1.6rem + var(--safe-b));animation:sheet-up .26s ease both}.sheet:before{content:"";display:block;width:38px;height:4px;margin:-.7rem auto 1rem;border-radius:999px;background:var(--line)}.sheet-title{font-size:1.5rem}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important;transition-duration:.01ms!important;transition-delay:0s!important}}.tag{display:inline-block;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:.18rem .5rem;border:1px solid currentColor;border-radius:999px}@keyframes rise-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
