:root{--canvas:#2a2318;--canvas-text:#f0e4d4;--canvas-muted:#f0e4d4b8;--panel:#fff9f0;--panel-text:#3d2914;--panel-muted:#3d2914bf;--cracker-red:#b4232c;--holly-green:#166534;--gold:#d4a017;--gold-dim:#9a720f;--border:#b4232c73;--tap-min:44px;--font-title:"Mountains of Christmas", Georgia, serif;--font-script:"Caveat", "Segoe Print", "Bradley Hand", cursive;--font-body:"Crimson Pro", Georgia, "Times New Roman", serif;font-family:var(--font-body);color:var(--canvas-text);background-color:var(--canvas);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-weight:400;line-height:1.55}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}*{box-sizing:border-box}body{background:radial-gradient(ellipse 120% 80% at 50% -20%, #d4a0171f, transparent 55%), radial-gradient(ellipse 80% 50% at 100% 50%, #16653414, transparent 45%), radial-gradient(ellipse 80% 50% at 0% 80%, #b4232c0f, transparent 50%), var(--canvas);min-height:100dvh;margin:0}#root{min-height:100dvh}.app-shell{width:min(920px,100%);max-width:100%;padding:1rem max(1rem, env(safe-area-inset-right)) 2rem max(1rem, env(safe-area-inset-left));padding-top:max(1rem, env(safe-area-inset-top));padding-bottom:max(2rem, env(safe-area-inset-bottom));margin:0 auto}@media (width>=640px){.app-shell{padding:2rem max(1rem, env(safe-area-inset-right)) 3rem max(1rem, env(safe-area-inset-left));padding-top:max(2rem, env(safe-area-inset-top));padding-bottom:max(3rem, env(safe-area-inset-bottom))}}header{text-align:center;margin-bottom:1.25rem}header h1{font-family:var(--font-title);color:var(--gold);text-shadow:0 2px #00000059,0 0 28px #d4a01738;letter-spacing:.02em;margin:0 0 .4rem;font-size:clamp(2.4rem,8vw,3.75rem);font-weight:700;line-height:1.05}header p{max-width:38ch;margin:0 auto}.body-copy{font-family:var(--font-body);font-style:normal;font-weight:400;line-height:1.55}header .body-copy{color:var(--canvas-muted);font-size:clamp(1rem,2.8vw,1.15rem)}header p+p{margin-top:.5rem}.app-how-it-works{letter-spacing:.02em;opacity:.92;max-width:42ch;font-size:clamp(.9rem,2.4vw,1rem);font-style:normal}.punchline-label{font-family:var(--font-body);font-variant:small-caps;letter-spacing:.1em;text-align:center;color:var(--holly-green);margin:0 0 .65rem;font-size:clamp(.85rem,2.2vw,.95rem)}.punchline-hint{text-align:center;color:var(--panel-muted);margin:.75rem 0 0;font-size:clamp(.95rem,2.5vw,1.05rem)}.date-toolbar{flex-wrap:wrap;justify-content:center;align-items:center;margin:.75rem 0 0;display:flex}.date-toolbar-label{font-family:var(--font-body);font-variant:small-caps;letter-spacing:.12em;color:var(--canvas-muted);text-align:center;margin:0;font-size:clamp(.95rem,2.6vw,1.05rem)}.comments-with-side-nav{align-items:stretch;gap:.35rem;margin:.75rem 0 1rem;display:flex}@media (width>=640px){.comments-with-side-nav{gap:.5rem;margin:1rem 0}}.comments-with-side-nav .comments-panel{flex:auto;min-width:0;margin:0}button.day-nav-arrow{width:min(2.75rem,11vw);min-width:max(min(2.75rem, 11vw), var(--tap-min));min-height:var(--tap-min);color:var(--gold);background:linear-gradient(165deg,#fff9f024 0%,#fff9f00a 100%);border:2px dashed #d4a01780;border-radius:.85rem;flex:none;justify-content:center;align-self:stretch;align-items:center;padding:0;font-size:clamp(1.5rem,5vw,2rem);font-weight:400;line-height:1;display:flex;box-shadow:inset 0 1px #ffffff1f}button.day-nav-arrow:hover:not(:disabled){color:#fceaa3;background:#fff9f01f;border-color:#d4a017d9}button.day-nav-arrow:disabled{opacity:.32;cursor:not-allowed}.panel{border:2px dashed var(--cracker-red);padding:1.15rem max(.95rem, env(safe-area-inset-right)) 1.2rem max(.95rem, env(safe-area-inset-left));background:var(--panel);color:var(--panel-text);overflow-wrap:anywhere;border-radius:.9rem;margin:1rem 0;box-shadow:inset 0 1px #ffffffb3,0 12px 32px #0003}.panel h2,.comments-section-title{font-variant:small-caps;color:var(--holly-green);letter-spacing:.08em;text-align:center;margin:0 0 .75rem;font-size:clamp(1.35rem,4vw,1.85rem);font-weight:600}.comment-gate-lead{max-width:52ch;color:var(--panel-muted);text-align:center;margin:0 auto 1rem;font-size:1.05rem;line-height:1.5}.button-skip{width:100%;max-width:100%;font-family:var(--font-body);color:var(--panel-muted);background:#ffffff73;border:2px dashed #b4232c8c;align-self:flex-start;margin-top:.75rem;font-style:italic}.button-skip:hover:not(:disabled){border-color:var(--cracker-red);color:var(--panel-text);background:#b4232c14}@media (width>=480px){.button-skip{width:auto;min-width:6rem;max-width:none}}blockquote{font-family:var(--font-script);color:var(--panel-text);overflow-wrap:anywhere;word-break:break-word;text-align:center;margin:0;font-size:clamp(1.9rem,5.5vw,2.75rem);font-weight:600;line-height:1.3}.comment-form{flex-direction:column;gap:.6rem;margin-top:1rem;display:flex}.comment-form label{font-variant:small-caps;letter-spacing:.08em;color:var(--holly-green);font-weight:600}textarea{width:100%;max-width:100%;min-height:6.5rem;color:var(--panel-text);font:inherit;resize:vertical;appearance:none;background:#ffffff8c;border:2px dashed #3d291447;border-radius:.55rem;padding:.75rem;line-height:1.45}@media (width<=480px){textarea{font-size:16px}}button{width:fit-content;min-height:var(--tap-min);color:var(--panel-text);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;font-family:var(--font-body);background:#ffffff8c;border:2px solid #16653466;border-radius:.55rem;padding:.55rem .9rem;font-size:1rem}button:hover:not(:disabled){border-color:var(--holly-green);background:#1665341a}.comment-form button[type=submit]{border-color:var(--holly-green);background:linear-gradient(#1665342e,#1665340f);align-self:stretch;width:100%;max-width:100%;font-weight:600}@media (width>=480px){.comment-form button[type=submit]{align-self:flex-start;width:auto;max-width:none}}.comment-list{flex-direction:column;gap:.85rem;margin:0;padding:0;list-style:none;display:flex}.comment-item{padding:.85rem max(.75rem, env(safe-area-inset-right)) .85rem max(.75rem, env(safe-area-inset-left));background:#ffffff6b;border:1px dashed #3d291452;border-radius:.55rem}.comment-body{overflow-wrap:anywhere;word-break:break-word;margin:0 0 .65rem;line-height:1.45}.comment-meta{flex-direction:column;align-items:stretch;gap:.65rem;display:flex}.comment-meta small{opacity:.82;min-width:0;color:var(--panel-muted);font-size:.85rem;line-height:1.35}@media (width>=520px){.comment-meta{flex-direction:row;justify-content:space-between;align-items:center;gap:.75rem}}.vote-controls{flex-wrap:nowrap;flex-shrink:0;justify-content:flex-end;align-self:flex-end;align-items:center;gap:.35rem;display:inline-flex}@media (width>=520px){.vote-controls{align-self:auto}}.vote-controls button{box-sizing:border-box;width:var(--tap-min);min-width:var(--tap-min);max-width:var(--tap-min);min-height:var(--tap-min);white-space:nowrap;color:var(--cracker-red);background:#fffef9;border:2px solid #b4232c59;justify-content:center;align-items:center;padding:0;font-size:1.2rem;line-height:1;display:inline-flex}.vote-controls button:hover:not(:disabled){border-color:var(--cracker-red);background:#b4232c14}.vote-score{text-align:center;font-variant-numeric:tabular-nums;min-width:1.75rem;color:var(--panel-text);padding:0 .15rem;font-weight:600}.error{color:#9f1239;font-weight:600}.comment-notice{color:#7c2d12;background:#ffedd5d9;border:1px solid #b4530973;border-radius:.55rem;margin:0 0 .75rem;padding:.75rem .85rem;font-weight:600;line-height:1.45}.panel.error{background:linear-gradient(#fff5f5 0%,#fff9f0 100%);border-style:solid;border-color:#9f1239a6}.empty-state{color:var(--panel-muted);text-align:center;margin:.25rem 0 .5rem;font-style:italic;line-height:1.45}.feedback-widget{right:max(.75rem, env(safe-area-inset-right));bottom:max(.75rem, env(safe-area-inset-bottom));z-index:40;pointer-events:none;flex-direction:column;align-items:flex-end;gap:.5rem;display:flex;position:fixed}.feedback-widget--open{pointer-events:auto}.feedback-fab{pointer-events:auto;min-height:var(--tap-min);color:var(--panel-text);font-family:var(--font-body);font-variant:small-caps;letter-spacing:.06em;background:linear-gradient(165deg,#fff9f0f5 0%,#ffedd2eb 100%);border:2px solid #d4a017a6;border-radius:999px;margin:0;padding:.5rem .85rem;font-size:.95rem;font-weight:600;box-shadow:0 4px 16px #00000047,inset 0 1px #ffffffd9}.feedback-fab:hover:not(:disabled){border-color:var(--gold);color:var(--panel-text);background:linear-gradient(165deg,#fffef9 0%,#fff4dc 100%)}.feedback-widget--open .feedback-fab{border-color:var(--holly-green);background:#1665341f}.feedback-panel{pointer-events:auto;width:min(18rem, calc(100vw - 1.5rem - env(safe-area-inset-left) - env(safe-area-inset-right)));border:2px dashed var(--cracker-red);background:var(--panel);color:var(--panel-text);border-radius:.85rem;padding:.85rem .9rem .95rem;box-shadow:0 8px 28px #00000059,inset 0 1px #ffffffb3}.feedback-panel-header{justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.35rem;display:flex}.feedback-panel-title{font-variant:small-caps;letter-spacing:.06em;color:var(--holly-green);margin:0;font-size:1.05rem;font-weight:600;line-height:1.2}.feedback-panel-lead{color:var(--panel-muted);margin:0 0 .65rem;font-size:.9rem;line-height:1.4}.feedback-close{width:var(--tap-min);min-width:var(--tap-min);min-height:var(--tap-min);color:var(--panel-muted);background:#ffffff80;border:1px solid #3d291433;border-radius:.45rem;flex-shrink:0;padding:0;font-size:1.35rem;line-height:1}.feedback-close:hover:not(:disabled){color:var(--panel-text);border-color:var(--cracker-red)}.feedback-form{flex-direction:column;gap:.5rem;display:flex}.feedback-form textarea{width:100%;min-height:5.5rem;margin:0;font-size:.95rem}.feedback-error{color:#9f1239;margin:0;font-size:.9rem;font-weight:600}.feedback-submit{border-color:var(--holly-green);background:linear-gradient(#1665342e,#1665340f);align-self:stretch;width:100%;font-weight:600}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width>=640px){.feedback-widget{right:max(1rem, env(safe-area-inset-right));bottom:max(1rem, env(safe-area-inset-bottom))}.feedback-panel{width:min(20rem,100vw - 2rem)}}.newsletter{text-align:center;margin-top:1.5rem}.newsletter-title{font-variant:small-caps;color:var(--holly-green);letter-spacing:.08em;margin:0 0 .35rem;font-size:clamp(1.35rem,4vw,1.65rem);font-weight:600}.newsletter-lead{max-width:36ch;color:var(--panel-muted);margin:0 auto 1rem;font-size:1rem;font-style:italic;line-height:1.45}.newsletter-form label{font-variant:small-caps;letter-spacing:.08em;color:var(--holly-green);margin-bottom:.45rem;font-weight:600;display:block}.newsletter-fields{flex-direction:column;gap:.5rem;max-width:22rem;margin:0 auto;display:flex}.newsletter-form input[type=email]{width:100%;min-height:var(--tap-min);color:var(--panel-text);font:inherit;background:#ffffff8c;border:2px dashed #3d291447;border-radius:.55rem;padding:.65rem .75rem;font-size:1rem}.newsletter-form input[type=submit]{border-color:var(--holly-green);background:linear-gradient(#1665342e,#1665340f);width:100%;font-weight:600}.newsletter-powered{margin:.75rem 0 0;font-size:.85rem}.newsletter-powered a{color:var(--panel-muted)}.newsletter-powered a:hover{color:var(--cracker-red)}@media (width>=480px){.newsletter-fields{flex-direction:row;align-items:stretch;max-width:28rem}.newsletter-form input[type=email]{flex:auto;min-width:0}.newsletter-form input[type=submit]{flex:none;width:auto;min-width:7rem}}.suggestion-widget{left:max(.75rem, env(safe-area-inset-left));bottom:max(.75rem, env(safe-area-inset-bottom));z-index:40;pointer-events:none;flex-direction:column;align-items:flex-start;gap:.5rem;display:flex;position:fixed}.suggestion-widget--open{pointer-events:auto}.suggestion-fab{pointer-events:auto;min-height:var(--tap-min);color:var(--panel-text);font-family:var(--font-body);font-variant:small-caps;letter-spacing:.06em;background:linear-gradient(165deg,#fff9f0f5 0%,#ffedd2eb 100%);border:2px solid #d4a017a6;border-radius:999px;margin:0;padding:.5rem .85rem;font-size:.95rem;font-weight:600;box-shadow:0 4px 16px #00000047,inset 0 1px #ffffffd9}.suggestion-fab:hover:not(:disabled){border-color:var(--gold);color:var(--panel-text);background:linear-gradient(165deg,#fffef9 0%,#fff4dc 100%)}.suggestion-widget--open .suggestion-fab{border-color:var(--holly-green);background:#1665341f}.suggestion-panel{pointer-events:auto;width:min(18rem, calc(100vw - 1.5rem - env(safe-area-inset-left) - env(safe-area-inset-right)));border:2px dashed var(--cracker-red);background:var(--panel);color:var(--panel-text);border-radius:.85rem;padding:.85rem .9rem .95rem;box-shadow:0 8px 28px #00000059,inset 0 1px #ffffffb3}.suggestion-panel-header{justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.35rem;display:flex}.suggestion-panel-title{font-variant:small-caps;letter-spacing:.06em;color:var(--holly-green);margin:0;font-size:1.05rem;font-weight:600;line-height:1.2}.suggestion-panel-lead{color:var(--panel-muted);margin:0 0 .65rem;font-size:.9rem;line-height:1.4}.suggestion-close{width:var(--tap-min);min-width:var(--tap-min);min-height:var(--tap-min);color:var(--panel-muted);background:#ffffff80;border:1px solid #3d291433;border-radius:.45rem;flex-shrink:0;padding:0;font-size:1.35rem;line-height:1}.suggestion-close:hover:not(:disabled){color:var(--panel-text);border-color:var(--cracker-red)}.suggestion-form{flex-direction:column;gap:.5rem;display:flex}.suggestion-form textarea{width:100%;min-height:5.5rem;margin:0;font-size:.95rem}.suggestion-error{color:#9f1239;margin:0;font-size:.9rem;font-weight:600}.suggestion-submit{border-color:var(--holly-green);background:linear-gradient(#1665342e,#1665340f);align-self:stretch;width:100%;font-weight:600}@media (width>=640px){.suggestion-widget{left:max(1rem, env(safe-area-inset-left));bottom:max(1rem, env(safe-area-inset-bottom))}.suggestion-panel{width:min(20rem,100vw - 2rem)}}
