:root{--paper:#f5f5ef;--card:#fff;--ink:#213b3b;--muted:#7b8986;--green:#477a64;--mint:#eaf2e9;--line:#e4e8df;--amber:#ac7841;--soft:#eef0e8;--danger:#a25c51;--shadow:0 16px 55px #213b3b10;color-scheme:light;font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button{cursor:pointer;touch-action:manipulation;color:inherit;border:0;background:none}button:disabled{opacity:.45;cursor:wait}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #a3bdaa;outline-offset:2px}input,textarea,select{min-width:0;border:1px solid var(--line);border-radius:12px;padding:12px;background:#fafbf7;color:var(--ink);width:100%}textarea{resize:none}a{color:var(--green)}h1,h2,h3,p{margin-top:0}h1{font-size:32px;line-height:1.35;letter-spacing:-.8px;margin:4px 0 20px}h2{font-size:19px;line-height:1.4}h3{font-size:16px}.hidden{display:none!important}.shell{max-width:580px;margin:0 auto;padding:0 24px;min-height:100dvh}.app-header{height:96px;display:flex;align-items:center;justify-content:space-between;padding-top:env(safe-area-inset-top)}.brand{display:flex;align-items:center;gap:11px;padding:0;text-align:left;font-size:22px;font-weight:650;line-height:1.1;letter-spacing:2px}.brand img{width:39px;height:39px}.brand small{display:block;font-size:10px;letter-spacing:2px;font-weight:400;color:var(--muted);margin-top:7px}.header-actions{display:flex;align-items:center;gap:13px}.connection{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:5px}.connection i{width:5px;height:5px;background:var(--green);border-radius:50%}.connection.offline i{background:var(--amber)}.icon-button{width:38px;height:38px;background:var(--soft);border-radius:50%;display:inline-grid;place-items:center;font-size:17px}.navigation{display:flex;gap:6px;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:27px}.nav-button{display:flex;gap:8px;justify-content:center;align-items:center;flex:1;padding:9px 0;min-height:44px;border-radius:30px;color:var(--muted);font-size:14px}.nav-button.active{background:var(--ink);color:white}.nav-button>span:first-child{font-size:17px}.count{font-size:10px;border-radius:8px;padding:0 5px;background:#e7e8dd;color:var(--ink)}.page{padding-bottom:70px}.chat-page{padding-bottom:220px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--muted);display:block;text-transform:uppercase}.welcome{padding:25px 2px 0}.welcome h1{font-weight:500;font-size:40px;line-height:1.5;margin-top:20px;margin-bottom:20px}.welcome>p{font-size:14px;color:var(--muted);line-height:1.9;margin-bottom:27px}.brief-preview{display:flex;align-items:center;gap:9px;padding:14px 16px;border:1px solid var(--line);border-radius:13px;background:#f9faf5;font-size:12px;color:var(--green);margin-bottom:22px}.soft-dot{width:6px;height:6px;background:var(--green);border-radius:50%;flex-shrink:0}.prompt-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}.prompt-grid button{padding:14px 14px;border:1px solid var(--line);border-radius:12px;text-align:left;font-size:12px;background:#fff9;display:flex;justify-content:space-between;align-items:center;min-height:48px}.prompt-grid span{color:var(--muted)}.prompt-grid button:hover{border-color:var(--green)}.install-tip{display:flex;gap:9px;align-items:flex-start;font-size:11px;color:var(--muted);margin-top:22px}.install-tip p{margin-bottom:0}.install-tip button{padding:0;font-size:11px;color:var(--green);margin-left:6px}.composer-dock{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,580px);padding:18px 24px calc(8px + env(safe-area-inset-bottom));background:linear-gradient(transparent,var(--paper) 22%);z-index:4}.composer{background:white;border:1px solid #d9e2d4;border-radius:21px;box-shadow:0 7px 32px #213b3b08;padding:12px 14px 9px}.composer textarea{padding:0 2px;background:transparent;border:0;border-radius:0;line-height:1.7;max-height:150px;min-height:35px;outline:0;display:block;overflow:auto;font-size:15px}.composer textarea::placeholder{color:#8e9892}.composer-tools{display:flex;justify-content:space-between;align-items:center;margin-top:3px}.composer-tools>div{display:flex;gap:7px}.tool-button{border-radius:50%;width:34px;height:34px;color:var(--muted);font-size:23px}.tool-button.recording{background:#f2e1dc;color:var(--danger)}.send-button{width:36px;height:36px;border-radius:50%;background:var(--green);color:white;font-size:22px;line-height:1}.send-button.stop{background:var(--ink);font-size:14px}.composer-note{text-align:center;color:#9da59e;font-size:9px;margin:9px 0 0}.chat-status{font-size:11px;color:var(--green);padding:4px 8px 8px}.messages{display:flex;flex-direction:column;gap:24px}.message{max-width:100%;animation:enter .16s ease-out}.message.user{align-self:flex-end;max-width:87%;background:var(--mint);padding:13px 17px;border-radius:19px 19px 4px 19px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px}.message.assistant{align-self:stretch}.message-heading{display:flex;align-items:center;gap:7px;font-size:10px;color:var(--muted);margin-bottom:8px}.message-heading img{width:19px;height:19px}.message-text{font-size:15px;line-height:1.95;white-space:pre-wrap;overflow-wrap:anywhere}.message-text.typing::after{content:"";display:inline-block;width:5px;height:14px;background:var(--green);margin-left:4px;animation:blink .7s infinite}.message-actions{display:flex;gap:12px;margin-top:10px}.message-actions button{font-size:10px;color:var(--muted);padding:4px 0}.action-card{display:flex;align-items:flex-start;gap:10px;background:white;border:1px solid var(--line);border-radius:13px;padding:14px;margin-top:11px;font-size:12px}.action-card>span{background:var(--mint);border-radius:8px;padding:4px 8px;color:var(--green)}.action-card strong{display:block;font-weight:550}.action-card small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.new-chat{display:block;margin:30px auto 0;border:1px solid var(--line);border-radius:22px;font-size:11px;padding:7px 18px;color:var(--muted)}.attachment-list{display:flex;gap:7px;flex-wrap:wrap;margin:0 6px 9px}.attachment-chip{font-size:10px;background:white;padding:6px 10px;border-radius:10px;border:1px solid var(--line);max-width:100%;overflow-wrap:anywhere}.attachment-chip button{margin-left:8px}.page-title{display:flex;align-items:center;justify-content:space-between;padding:16px 0 10px}.page-title h1{margin-bottom:13px;font-size:29px;font-weight:500}.primary,.secondary{padding:12px 18px;border-radius:13px;min-height:45px}.primary{background:var(--green);color:white}.primary.small{padding:8px 12px;font-size:12px;min-height:40px}.secondary{border:1px solid var(--line);background:white;font-size:13px}.text-button{font-size:12px;color:var(--muted);display:block;padding:15px 0 0}.filter-row{display:flex;gap:6px;margin:10px 0 23px;overflow:auto}.filter-row button{padding:6px 12px;font-size:12px;border-radius:19px;color:var(--muted);white-space:nowrap;min-height:34px}.filter-row button.selected{background:var(--soft);color:var(--ink)}.card-list{display:flex;flex-direction:column;gap:12px}.record-card{border:1px solid var(--line);background:white;border-radius:17px;padding:18px;box-shadow:0 2px 12px #213b3b02}.record-top{display:flex;justify-content:space-between;gap:10px;margin-bottom:10px;align-items:center}.record-top .tag{font-size:9px;letter-spacing:1px;text-transform:uppercase;color:var(--muted)}.badge{font-size:9px;white-space:nowrap;padding:2px 8px;border-radius:12px;color:var(--green);background:var(--mint)}.badge.amber{color:var(--amber);background:#f6eddf}.badge.done{color:var(--muted);background:var(--soft)}.record-card h3{font-weight:550;margin:0 0 7px;line-height:1.55;overflow-wrap:anywhere}.record-card .body{font-size:13px;color:#63716e;white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 10px}.record-time{font-size:11px;color:var(--muted);display:flex;gap:8px;align-items:center}.record-buttons{display:flex;gap:8px;flex-wrap:wrap;margin-top:15px}.record-buttons button{border:1px solid var(--line);border-radius:10px;padding:7px 11px;font-size:11px;min-height:35px}.record-buttons .confirm{background:var(--mint);color:var(--green);border-color:var(--mint)}.record-buttons .text{border-color:transparent;color:var(--muted);padding-left:2px}.record-source{font-size:10px;color:var(--muted);border-top:1px solid var(--line);padding-top:11px;margin-top:12px}.help-card{font-size:11px;color:var(--muted);padding:18px 4px;line-height:1.8}.empty-state{text-align:center;padding:48px 20px;border:1px dashed #dce2d7;border-radius:18px}.empty-state>span{font-size:30px;color:#a9bbb0}.empty-state h3{font-size:15px;font-weight:500;margin:14px 0 6px}.empty-state p{font-size:12px;color:var(--muted);margin-bottom:0}.search-field{display:flex;gap:10px;align-items:center;background:white;border:1px solid var(--line);border-radius:14px;padding:6px 14px}.search-field input{border:0;background:none;font-size:12px;padding:8px 0;outline:none}.search-field>span{font-size:23px;color:var(--muted)}.settings-form>.primary{width:100%;margin-bottom:20px}.settings-card{background:white;border:1px solid var(--line);border-radius:17px;padding:21px;margin-bottom:17px}.settings-card h2{font-size:15px;font-weight:600;margin-bottom:19px}.settings-card>p{font-size:12px;color:var(--muted)}label{display:block;font-size:12px;margin-bottom:14px;color:#526763}label>input,label>textarea,label>select{display:block;margin-top:6px}label input{font-size:14px}.settings-card label:last-child{margin-bottom:0}.switch-row{display:flex;gap:18px;align-items:flex-start;border-bottom:1px solid var(--line);padding-bottom:15px;margin-bottom:16px}.switch-row:last-of-type{border-bottom:0}.switch-row span{flex:1}.switch-row strong{font-size:13px;font-weight:550;display:block}.switch-row small{display:block;font-size:11px;color:var(--muted);line-height:1.7;margin-top:6px}.switch-row>input{appearance:none;display:block;width:37px;height:23px;min-width:37px;border:0;background:#d5dbd1;border-radius:20px;padding:0;position:relative;margin-top:3px}.switch-row>input:after{content:"";display:block;width:17px;height:17px;border-radius:50%;position:absolute;top:3px;left:3px;background:white;transition:transform .15s}.switch-row>input:checked{background:var(--green)}.switch-row>input:checked:after{transform:translateX(14px)}.settings-card details{font-size:11px;color:var(--muted)}.settings-card details>label{margin-top:15px}.subtle{font-size:10px!important;color:var(--muted);margin-top:18px}.sheet{border:0;border-radius:25px;width:min(94%,500px);max-height:90dvh;padding:0;box-shadow:var(--shadow);color:var(--ink);background:var(--card)}.sheet::backdrop{background:#183b354b;backdrop-filter:blur(4px)}.sheet-content{padding:28px}.sheet-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.sheet-heading h2{margin:0;font-size:21px;font-weight:500}.sheet form>.primary{width:100%;margin-top:9px}.sheet p{font-size:13px;color:var(--muted)}.sheet ul{padding-left:20px;font-size:13px;line-height:2}.pair-sheet{max-width:420px}.pair-icon{width:54px;height:54px;display:block;margin-bottom:28px}.pair-sheet h2{font-size:26px;font-weight:500;margin-top:11px;margin-bottom:13px}.pair-sheet form{margin-top:25px}.error-text{color:var(--danger)!important;font-size:11px!important;margin-top:12px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.toast{position:fixed;bottom:220px;left:50%;transform:translateX(-50%);max-width:85%;padding:11px 18px;border-radius:15px;background:var(--ink);color:white;font-size:12px;z-index:30;box-shadow:var(--shadow);text-align:center}.demo-banner{font-size:10px;text-align:center;padding:7px;background:#ecdebd;color:#725a2c}.info-box{padding:13px;border:1px solid var(--line);border-radius:12px;white-space:pre-wrap;font-size:13px;margin:15px 0}.offline-bar{color:var(--amber)}
@keyframes blink{50%{opacity:.2}}@keyframes enter{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:950px){.shell{max-width:760px;padding:0 50px}.composer-dock{width:760px;padding-left:50px;padding-right:50px}.welcome{padding-top:42px}.welcome h1{font-size:47px}.welcome>p{font-size:15px}.app-header{height:108px}.messages{padding:7px 0}.navigation{margin-bottom:35px}}
@media(max-width:370px){.shell{padding:0 18px}.composer-dock{padding-left:18px;padding-right:18px}.welcome h1{font-size:34px}.welcome{padding-top:9px}.connection{display:none}.sheet-content{padding:22px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
/* Keep iPhone input readable and tap targets large enough for everyday use. */
input,textarea,select,label input,.composer textarea,.search-field input{font-size:16px}
.icon-button,.tool-button,.send-button{min-width:44px;min-height:44px}
.record-buttons button,.filter-row button,.primary.small{min-height:44px}

.voice-entry{font-size:12px;min-height:44px;padding:0 10px;color:var(--green);border-radius:22px;background:var(--mint)}.voice-sheet{max-width:440px}.voice-orb{width:92px;height:92px;margin:12px auto 24px;display:grid;place-items:center;background:var(--mint);color:var(--green);border-radius:50%;font-size:38px}.voice-orb.active{animation:voice-pulse 1.7s ease-in-out infinite}.voice-status{text-align:center;color:var(--ink)!important;min-height:42px;margin-bottom:0}.voice-duration{text-align:center;font-variant-numeric:tabular-nums;font-size:12px!important;min-height:18px}.voice-transcripts{border-top:1px solid var(--line);padding-top:17px;max-height:170px;overflow:auto;margin:20px 0}.voice-transcripts p{font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere;margin:9px 0}.voice-transcripts #voice-answer{color:var(--ink)}.voice-controls{display:flex;gap:8px;flex-wrap:wrap}.voice-controls .primary,.voice-end{width:100%}.voice-controls .secondary{flex:1}.voice-end{margin-top:7px;padding:12px;border-radius:13px;background:#f4e9e5;color:var(--danger);min-height:46px}@keyframes voice-pulse{50%{box-shadow:0 0 0 14px #eaf2e960;transform:scale(1.035)}}
