:root{color:#112b4d;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#edf4dc;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{min-width:320px;min-height:100%}body{min-width:320px;min-height:100svh;margin:0}button,input,textarea{font:inherit}.porch{--navy:#073b82;--blue:#0c5dc0;--green:#35a83a;--ink:#112b4d;box-sizing:border-box;height:100svh;min-height:100svh;color:var(--ink);background-color:#e6f0d4;background-image:url(/assets/porch-yard.webp);background-position:50%;background-size:cover;background-attachment:fixed;padding:42px 24px;position:relative;overflow:hidden}.scene-shade{pointer-events:none;background:#fff7e214;position:fixed;inset:0}.chatterbox-perch{z-index:2;pointer-events:none;filter:drop-shadow(0 18px 18px #293d2738);width:clamp(210px,24vw,370px);position:fixed;bottom:132px;left:clamp(8px,2vw,30px)}.chatterbox-perch img{width:100%;height:auto;display:block}.porch-content{z-index:3;flex-direction:column;width:min(760px,100vw - 44px);height:calc(100svh - 84px);min-height:0;margin:0 auto;display:flex;position:relative}.porch-heading{text-align:center;text-shadow:0 2px 16px #fffceeeb;margin:0 auto 22px}.heading-flourish{background:var(--green);border-radius:99px;width:72px;height:5px;margin:0 auto 13px;display:block;box-shadow:0 2px 8px #fffc}.porch h1{color:var(--navy);letter-spacing:-.055em;margin:0;font-family:Georgia,Times New Roman,serif;font-size:clamp(3.2rem,7.2vw,6.2rem);font-weight:700;line-height:.95}.porch-heading p{color:#123b6c;max-width:720px;margin:12px auto 0;font-size:clamp(1rem,1.7vw,1.25rem);font-weight:650;line-height:1.45}.conversation{overscroll-behavior:contain;scrollbar-gutter:stable;touch-action:pan-y;text-align:left;-webkit-backdrop-filter:none;backdrop-filter:none;min-height:0;box-shadow:none;scrollbar-color:#073b8261 transparent;background:0 0;border:0;border-radius:0;flex:auto;padding:12px 22px 20px;scroll-padding-bottom:24px;overflow-y:auto}.conversation:focus-visible{outline-offset:4px;outline:3px solid #55c64be6}.conversation-entry{flex-direction:column;width:min(72%,560px);margin:0 0 17px;display:flex}.conversation-entry.user{align-items:flex-end;margin-left:auto}.conversation-entry.assistant{align-items:flex-start;margin-right:auto}.speaker-name{border-radius:99px;margin:0 12px 5px;padding:3px 10px;font-size:.78rem;font-weight:800;line-height:1.35}.assistant .speaker-name{color:#064b27;background:#d9f1d8}.user .speaker-name{color:#fff;background:#073b82}.message-bubble{white-space:pre-wrap;border-radius:19px;width:fit-content;padding:14px 17px;font-size:.98rem;line-height:1.55;box-shadow:0 5px 16px #102c481f}.assistant .message-bubble{color:#153151;background:#ecf6fff7;border:1px solid #1e6fd929;border-bottom-left-radius:6px}.user .message-bubble{color:#fff;background:#0d5dbf;border:1px solid #fff3;border-bottom-right-radius:6px}.save-spot-card{box-sizing:border-box;color:#173f27;background:#e8f9e2f5;border:1px solid #31973d59;border-radius:18px;width:min(620px,100vw - 102px);margin-top:10px;padding:17px;box-shadow:0 7px 22px #235b2e1f}.save-spot-copy{flex-direction:column;gap:3px;margin-bottom:12px;display:flex}.save-spot-copy strong{color:#0c5526;font-size:1.03rem}.save-spot-copy span{font-size:.9rem;line-height:1.45}.save-spot-row{gap:10px;display:flex}.save-spot-row input{color:#16314f;min-width:0;font:inherit;background:#fff;border:2px solid #b7cfaf;border-radius:12px;outline:none;flex:1;padding:12px 14px}.save-spot-row input:focus{border-color:var(--green);box-shadow:0 0 0 3px #35a83a2e}.save-spot-row button{color:#fff;min-height:46px;font:inherit;cursor:pointer;background:#238f37;border:0;border-radius:12px;padding:11px 18px;font-weight:800}.save-spot-status{color:#155a2c;margin:10px 0 0;font-size:.88rem;font-weight:700}.thinking{color:#19405e;background:#ebf6fff5;border-radius:15px;align-items:center;gap:8px;margin:2px 0 6px;padding:10px 15px;font-size:.9rem;font-weight:700;display:inline-flex}.thinking-dots{color:var(--green);letter-spacing:2px}.composer{z-index:20;box-sizing:border-box;-webkit-backdrop-filter:blur(13px);backdrop-filter:blur(13px);background:#053575f0;border:1px solid #ffffff73;border-radius:22px;flex:none;align-items:stretch;gap:12px;width:100%;margin-top:12px;padding:12px;display:flex;position:relative;box-shadow:0 15px 45px #10274159}.composer textarea{box-sizing:border-box;resize:none;color:#172f4d;min-width:0;min-height:86px;font:inherit;background:#fffffffa;border:2px solid #36a83bb3;border-radius:15px;outline:none;flex:1;padding:15px 17px;font-size:1rem;line-height:1.45}.composer textarea:focus{border-color:#55c64b;box-shadow:0 0 0 3px #55c64b3b}.composer-actions{flex-direction:column;flex:0 0 225px;justify-content:center;align-items:stretch;gap:7px;width:225px;display:flex}.composer button{min-height:44px;font:inherit;cursor:pointer}.primary-action{color:#fff;background:#35a83a;border:1px solid #ffffff80;border-radius:999px;padding:12px 18px;font-weight:850;box-shadow:0 6px 18px #154e1f40}.primary-action:hover:not(:disabled){background:#258f31}.primary-action:disabled{cursor:not-allowed;opacity:.58}.think-through-link{color:#f5fbff;text-underline-offset:3px;background:0 0;border:0;border-radius:8px;padding:6px 8px;font-size:.86rem;font-weight:650;text-decoration:underline}.think-through-link:hover,.think-through-link:focus-visible{color:#d9ffd6;background:#ffffff14}button:focus-visible,input:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #75e260}.sr-only{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<=980px){.porch{background-position:58%;padding-top:30px}.chatterbox-perch{opacity:.96;width:clamp(155px,25vw,235px);bottom:155px}.porch-content{width:min(720px,100vw - 30px)}}@media (width<=700px){.porch{background-position:54%;background-attachment:scroll;padding:18px 14px}.porch-content{height:calc(100svh - 36px)}.porch h1{font-size:clamp(2.65rem,13vw,4.1rem)}.porch-heading p{max-width:90%;font-size:.98rem}.chatterbox-perch{width:155px;position:absolute;top:152px;bottom:auto;left:-28px}.conversation{overscroll-behavior:contain;scrollbar-gutter:stable;touch-action:pan-y;border-radius:0;min-height:0;max-height:none;margin-top:105px;padding:13px 11px 16px;overflow-y:auto}.conversation-entry{width:88%;margin-bottom:14px}.message-bubble{padding:12px 14px;font-size:.94rem}.save-spot-card{width:calc(100vw - 72px);padding:14px}.save-spot-row{flex-direction:column}.save-spot-row button{width:100%}.composer{border-radius:18px;flex-direction:column;gap:9px;width:100%;margin-top:9px;padding:10px}.composer textarea{min-height:82px}.composer-actions{flex:none;width:100%}.primary-action{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important}}#root{min-height:100svh}.landing-page{--navy:#073b82;--blue:#0c5dc0;--green:#35a83a;--ink:#112b4d;box-sizing:border-box;min-height:100svh;color:var(--ink);background-color:#e6f0d4;background-image:url(/assets/porch-yard.webp);background-position:50%;background-size:cover;place-items:center;padding:40px 24px;display:grid;position:relative;overflow:hidden}.landing-shade{pointer-events:none;background:linear-gradient(90deg,#fffaee2e 0%,#fffaee61 48%,#fffaee2e 100%);position:fixed;inset:0}.landing-chatterbox{z-index:1;pointer-events:none;filter:drop-shadow(0 18px 18px #293d2738);width:clamp(210px,25vw,380px);position:fixed;bottom:clamp(18px,5vh,70px);left:clamp(6px,2vw,30px)}.landing-chatterbox img{width:100%;height:auto;display:block}.landing-card{z-index:2;box-sizing:border-box;text-align:center;-webkit-backdrop-filter:blur(10px)saturate(112%);backdrop-filter:blur(10px)saturate(112%);background:#fffaeec7;border:1px solid #ffffffdb;border-radius:30px;width:min(760px,100vw - 48px);margin-left:clamp(0px,10vw,150px);padding:clamp(30px,5vw,58px);position:relative;box-shadow:0 24px 65px #1b392a3d}.landing-flourish{background:var(--green);border-radius:99px;width:72px;height:5px;margin:0 auto 15px;display:block}.landing-kicker{color:#0f5a2d;letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px;font-size:.88rem;font-weight:850}.landing-card h1{max-width:690px;color:var(--navy);letter-spacing:-.045em;text-wrap:balance;margin:0 auto;font-family:Georgia,Times New Roman,serif;font-size:clamp(2.5rem,6vw,5.2rem);font-weight:700;line-height:.98}.landing-lead{color:#123b6c;margin:22px auto 0;font-size:clamp(1.15rem,2vw,1.4rem);font-weight:800}.landing-copy{color:#27445f;max-width:650px;margin:12px auto 0;font-size:clamp(1rem,1.6vw,1.15rem);line-height:1.65}.landing-points{color:#173f27;gap:5px;margin:20px auto 0;font-weight:750;line-height:1.45;display:grid}.landing-cta{color:#fff;background:var(--blue);border-radius:999px;justify-content:center;align-items:center;min-height:52px;margin-top:27px;padding:0 28px;font-size:1.05rem;font-weight:850;text-decoration:none;transition:transform .16s,box-shadow .16s,background .16s;display:inline-flex;box-shadow:0 10px 24px #0c5dc042}.landing-cta:hover{background:#084fa5;transform:translateY(-1px);box-shadow:0 14px 30px #0c5dc04d}.landing-cta:focus-visible{outline-offset:4px;outline:3px solid #35a83ae6}.landing-beta{color:#426078;margin:17px 0 0;font-size:.9rem}@media (width<=760px){.landing-page{background-position:50%;align-items:start;padding:28px 16px 230px;overflow-y:auto}.landing-card{border-radius:24px;width:min(100%,620px);margin:0;padding:28px 20px 30px}.landing-chatterbox{width:clamp(180px,56vw,270px);bottom:8px;left:50%;transform:translate(-50%)}.landing-card h1{font-size:clamp(2.35rem,12vw,4rem)}}@media (prefers-reduced-motion:reduce){.landing-cta{transition:none}}
