:root{color:#17332f;font-synthesis:none;text-rendering:optimizelegibility;--ink:#17332f;--muted:#687673;--green:#214e48;--green-dark:#153a35;--cream:#f7f5ef;--paper:#fffdf8;--coral:#e06b4f;--sun:#f1b84b;--sky:#74a9c1;--line:#dcded8;--shadow:0 18px 50px #1f3c371c;background:#f7f5ef;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{background:radial-gradient(circle at 92% 8%, #f1b84b21, transparent 22rem), radial-gradient(circle at 4% 80%, #74a9c11f, transparent 25rem), var(--cream);overscroll-behavior:none;min-width:320px;min-height:100vh}button,textarea,input,select{font:inherit}button{touch-action:manipulation}button:focus-visible,textarea:focus-visible,input:focus-visible,select:focus-visible{outline-offset:3px;outline:4px solid #2e827652}.app-shell{min-height:100vh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.app-header{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);z-index:10;background:#f7f5efe6;border-bottom:1px solid #17332f1a;justify-content:space-between;align-items:center;gap:24px;min-height:96px;padding:18px clamp(20px,4vw,54px);display:flex;position:sticky;top:0}.brand{color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:13px;padding:4px;display:flex}.brand-mark{background:var(--green);border-radius:16px 16px 16px 5px;justify-content:center;align-items:center;gap:5px;width:58px;height:50px;display:flex;box-shadow:0 8px 20px #214e4833}.brand-mark span{border-radius:50%;width:8px;height:8px}.brand-mark span:first-child{background:var(--coral)}.brand-mark span:nth-child(2){background:var(--sun)}.brand-mark span:nth-child(3){background:var(--sky)}.brand-words{display:grid}.brand-words strong{font:800 1.35rem/1.05 ui-rounded,SF Pro Rounded,Avenir Next,sans-serif}.brand-words small{color:var(--muted);margin-top:3px;font-size:.81rem}.mode-switcher{background:#e1e3dca6;border-radius:20px;gap:6px;padding:6px;display:flex}.mode-switcher button{color:#5a6966;cursor:pointer;background:0 0;border:0;border-radius:15px;justify-content:center;align-items:center;gap:8px;min-width:92px;min-height:58px;padding:8px 14px;font-weight:700;display:flex}.mode-switcher button.active{color:#fff;background:var(--green);box-shadow:0 6px 16px #214e4838}main{width:100%}.workspace{width:min(1280px,100%);margin:0 auto;padding:clamp(34px,5vw,68px) clamp(20px,4vw,54px) 80px}.section-heading{justify-content:space-between;align-items:end;gap:30px;margin-bottom:34px;display:flex}.section-heading.compact{align-items:start}.eyebrow{color:#52736d;text-transform:uppercase;letter-spacing:.11em;margin-bottom:9px;font:800 .78rem/1 ui-rounded,SF Pro Rounded,Avenir Next,sans-serif;display:block}h1,h2,p{margin-top:0}h1{letter-spacing:-.045em;margin-bottom:8px;font:800 clamp(2.35rem,5vw,4.4rem)/.98 ui-rounded,SF Pro Rounded,Avenir Next,sans-serif}.section-heading p{max-width:720px;color:var(--muted);margin:0;font-size:clamp(1.02rem,1.6vw,1.2rem);line-height:1.45}.privacy-pill{color:#36635b;background:#eef7f3;border:1px solid #c7d9d4;border-radius:999px;flex:none;align-items:center;gap:8px;min-height:44px;padding:10px 15px;font-weight:700;display:flex}.listen-grid{grid-template-columns:minmax(360px,.82fr) minmax(420px,1.18fr);align-items:stretch;gap:24px;display:grid}.control-card,.reader-preview,.reply-composer,.word-bank,.settings-card{background:var(--paper);box-shadow:var(--shadow);border:1px solid #17332f1f;border-radius:28px}.control-card{padding:clamp(22px,3vw,34px)}.card-kicker{color:#53716c;text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:9px;min-height:28px;margin-bottom:22px;font:800 .9rem/1 ui-rounded,SF Pro Rounded,Avenir Next,sans-serif;display:flex}.mic-button{background:var(--coral);color:#fff;cursor:pointer;border:0;border-radius:24px;justify-content:center;align-items:center;gap:14px;width:100%;min-height:94px;font:800 1.28rem/1 ui-rounded,SF Pro Rounded,Avenir Next,sans-serif;display:flex;box-shadow:0 14px 26px #e06b4f3d}.display-choice{background:#e9ece7;border-radius:16px;grid-template-columns:1fr 1fr;gap:5px;margin:-4px 0 16px;padding:5px;display:grid}.display-choice button{color:#5c6c69;background:0 0;border:0;border-radius:12px;min-height:46px;font-weight:700}.display-choice button.active{color:var(--green);background:#fff;box-shadow:0 4px 12px #1f3c371a}.mic-button.listening{background:#bd3f31}.mic-button.preparing{background:#d9866f}.mic-button:disabled{cursor:not-allowed;opacity:.5}.mic-button.listening:disabled,.mic-button.preparing:disabled{cursor:wait;opacity:1}.recording-status{color:#9e372b;align-items:center;gap:9px;margin:14px 4px 0;font-weight:700;display:flex}.recording-status span{background:#c94132;border-radius:50%;width:10px;height:10px;animation:1.3s infinite pulse;box-shadow:0 0 0 7px #c941321f}.recording-status.preparing{color:#7a594f}.recording-status.preparing span{background:#d9866f;box-shadow:0 0 0 7px #d9866f24}.speech-note{color:var(--muted);margin:13px 4px 0;font-size:.88rem;line-height:1.35}.support-note,.error-note{border-radius:13px;margin:14px 0 0;padding:12px 14px;font-weight:700;line-height:1.35}.support-note{color:#465a60;background:#edf2f4}.support-note.iphone-note{font-size:.9rem}.error-note{color:#943a2d;background:#fff0ec}.field-label{margin:25px 0 9px;font-weight:700;display:block}textarea,input,select{color:var(--ink);background:#fff;border:2px solid #d8ddd8;border-radius:17px}textarea{resize:none;width:100%;padding:17px 18px;font-size:1.16rem;line-height:1.45}textarea::placeholder,input::placeholder{color:#8b9996}.button-row,.composer-actions{justify-content:space-between;gap:12px;margin-top:16px;display:flex}.primary-button,.secondary-button,.speak-button,.quiet-button,.reply-next,.close-reader{cursor:pointer;border-radius:15px;justify-content:center;align-items:center;gap:9px;min-height:54px;padding:12px 18px;font-weight:700;display:inline-flex}.primary-button,.speak-button{background:var(--green);color:#fff;border:0}.primary-button:disabled,.secondary-button:disabled,.quiet-button:disabled{opacity:.45;cursor:not-allowed}.secondary-button{color:var(--ink);background:#fff;border:2px solid #d8ddd8}.reader-preview{background:#fffaf0;flex-direction:column;min-height:570px;padding:clamp(24px,4vw,44px);display:flex;position:relative;overflow:hidden}.paper-lines{pointer-events:none;background:repeating-linear-gradient(#0000 0 63px,#51706b14 64px 65px);position:absolute;inset:96px 0 76px}.reader-preview>p{z-index:1;color:var(--ink);letter-spacing:-.025em;white-space:pre-wrap;overflow-wrap:anywhere;flex:1;align-items:center;margin:24px 0 35px;font:700 clamp(2.2rem,5vw,4.7rem)/1.18 -apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;display:flex;position:relative}.reader-preview>p.placeholder{color:#96a29f;font-size:clamp(1.7rem,3.2vw,3rem);font-weight:400;line-height:1.25}.quiet-button{z-index:1;color:var(--green);background:#fffc;border:1px solid #d6ded9;align-self:flex-start;position:relative}.reply-composer{padding:clamp(22px,3vw,36px)}.reply-composer textarea{background:0 0;border:0;min-height:190px;padding:6px;font:700 clamp(2rem,4vw,3.6rem)/1.2 -apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif}.composer-actions{border-top:1px solid #e0e2dc;padding-top:18px}.speak-button{min-width:245px;min-height:68px;font:800 1.2rem/1 ui-rounded,SF Pro Rounded,Avenir Next,sans-serif;box-shadow:0 10px 24px #214e4833}.word-bank{box-shadow:none;margin-top:24px;padding:clamp(22px,3vw,32px)}.bank-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:18px;display:flex}.bank-heading h2{margin:0;font:800 1.35rem/1 ui-rounded,SF Pro Rounded,Avenir Next,sans-serif}.bank-heading button{color:var(--green);background:0 0;border:0;align-items:center;gap:4px;font-weight:700;display:flex}.word-grid{flex-wrap:wrap;gap:10px;display:flex}.word-grid button{min-width:74px;min-height:58px;color:var(--ink);background:#fff;border:2px solid #d9e0dc;border-radius:16px;padding:11px 19px;font-size:1.08rem;font-weight:700}.word-grid button:active{background:#e9f3ef;transform:translateY(1px)}.phrase-layout{grid-template-columns:280px 1fr;gap:22px;display:grid}.category-list{flex-direction:column;gap:9px;display:flex}.category-button{color:#344744;text-align:left;border:2px solid #0000;border-radius:17px;justify-content:space-between;align-items:center;min-height:62px;padding:11px 14px 11px 17px;font-weight:700;display:flex}.category-button.active{border-color:var(--green);box-shadow:0 5px 14px #214e481f}.phrase-panel{border-radius:28px;min-height:540px;padding:clamp(24px,4vw,38px)}.phrase-panel h2{margin-bottom:23px;font:800 1.8rem/1 ui-rounded,SF Pro Rounded,Avenir Next,sans-serif}.phrase-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.phrase-grid button{min-height:98px;color:var(--ink);text-align:left;background:#ffffffdb;border:2px solid #17332f1f;border-radius:19px;justify-content:space-between;align-items:center;gap:14px;padding:18px 20px;font:700 1.25rem/1.28 -apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;display:flex;box-shadow:0 7px 16px #23403a0f}.phrase-grid button:active{transform:translateY(1px)}.color-sun{background-color:#fff1c6}.color-sky{background-color:#dceff6}.color-leaf{background-color:#dfeede}.color-coral{background-color:#fae1d9}.color-plum{background-color:#eee2f1}.color-mint{background-color:#dff2ec}.color-ocean{background-color:#dfe9f2}.color-clay{background-color:#f0e6d9}.color-custom{background-color:#eee9dc}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:22px;display:grid}.settings-card{box-shadow:none;padding:clamp(22px,3vw,32px)}.settings-card h2{margin-bottom:22px;font:800 1.45rem/1.1 ui-rounded,SF Pro Rounded,Avenir Next,sans-serif}.setting-row{border-top:1px solid #e5e6e1;justify-content:space-between;align-items:center;gap:22px;min-height:82px;padding:15px 0;display:flex}.setting-row>span{gap:4px;display:grid}.setting-row small{color:var(--muted)}.setting-row select{width:min(220px,48%);min-height:48px;padding:8px 12px}.setting-row input[type=range]{width:min(230px,48%)}.setting-row input[type=checkbox]{width:28px;height:28px;accent-color:var(--green)}.custom-phrase-card{grid-row:span 2}.custom-phrase-card>label{gap:7px;margin-bottom:15px;font-weight:700;display:grid}.custom-phrase-card input{min-height:52px;padding:11px 14px}.custom-phrase-card .primary-button{width:100%;margin-top:3px}.custom-phrase-list{border-top:1px solid #e1e3de;margin-top:22px}.custom-phrase-list>div{border-bottom:1px solid #e1e3de;justify-content:space-between;align-items:center;gap:15px;min-height:66px;display:flex}.custom-phrase-list span{gap:2px;display:grid}.custom-phrase-list small{color:var(--muted)}.custom-phrase-list button{color:#a23d31;background:#fff0ec;border:0;border-radius:12px;width:42px;height:42px}.data-card p{color:var(--muted);line-height:1.5}.stacked-buttons{gap:10px;display:grid}.text-button{background:0 0;border:0;justify-content:center;align-items:center;gap:8px;min-height:46px;font-weight:700;display:inline-flex}.text-button.danger{color:#a44336}.toast{left:50%;bottom:calc(24px + env(safe-area-inset-bottom));z-index:30;color:#fff;background:#183b36;border-radius:16px;align-items:center;gap:18px;max-width:min(520px,100% - 30px);min-height:52px;padding:12px 12px 12px 18px;font-weight:700;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 14px 34px #122d294d}.toast button{color:#fff;background:#ffffff1f;border:0;border-radius:10px;place-items:center;width:36px;height:36px;display:grid}.reader-overlay{z-index:50;padding:calc(22px + env(safe-area-inset-top)) calc(26px + env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) calc(26px + env(safe-area-inset-left));background:#fffaf0;grid-template-rows:auto 1fr auto;display:grid;position:fixed;inset:0;overflow:auto}.close-reader,.reply-next{border:0;width:fit-content}.close-reader{color:var(--green);background:#e7eeeb}.reply-next{background:var(--green);color:#fff;justify-self:end;min-width:160px}.reader-message{text-align:center;color:#102d29;letter-spacing:-.035em;overflow-wrap:anywhere;max-width:1200px;margin:auto;padding:50px 20px;font:700 clamp(3.3rem,8vw,7.8rem)/1.15 -apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif}.text-extra .reader-preview>p{font-size:clamp(2.7rem,6vw,5.4rem)}.text-extra .reply-composer textarea{font-size:clamp(2.5rem,5vw,4.2rem)}.text-comfortable .reader-preview>p{font-size:clamp(1.8rem,4vw,3.6rem)}.text-comfortable .reply-composer textarea{font-size:clamp(1.7rem,3vw,2.8rem)}.high-contrast{--ink:#000;--muted:#303030;--green:#003c35;--line:#555}.high-contrast .control-card,.high-contrast .reader-preview,.high-contrast .reply-composer,.high-contrast .word-bank,.high-contrast .settings-card{border:3px solid #151515}.high-contrast button,.high-contrast textarea,.high-contrast input,.high-contrast select{border-color:#222}@keyframes pulse{50%{box-shadow:0 0 0 12px #c9413205}}@media (width<=900px){.app-header{align-items:flex-start}.brand-words small{display:none}.mode-switcher button{flex-direction:column;gap:3px;min-width:70px;font-size:.78rem}.listen-grid,.phrase-layout{grid-template-columns:1fr}.category-list{scroll-snap-type:x mandatory;flex-direction:row;padding-bottom:5px;overflow-x:auto}.category-button{scroll-snap-align:start;min-width:190px}.reader-preview{min-height:450px}}@media (width<=650px){.app-header{min-height:80px;padding:12px 14px}.brand-mark{border-radius:13px 13px 13px 4px;width:46px;height:42px}.brand-words strong{font-size:1rem}.mode-switcher{background:0 0;flex:1;justify-content:flex-end;padding:0}.mode-switcher button{flex:1;min-width:0;max-width:68px;min-height:54px;padding:6px}.mode-switcher button span{font-size:.68rem}.workspace{padding:30px 16px 72px}.section-heading{display:block}.privacy-pill{width:fit-content;margin-top:18px}h1{font-size:2.35rem}.button-row,.composer-actions{flex-direction:column-reverse}.button-row button,.composer-actions button{width:100%}.phrase-grid,.settings-grid{grid-template-columns:1fr}.custom-phrase-card{grid-row:auto}.setting-row{flex-direction:column;align-items:flex-start;gap:10px}.setting-row select,.setting-row input[type=range]{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
