:root{--ink:#182c39;--muted:#78838b;--accent:#236253;--accent-light:#e8f0eb;--paper:#f7f8f5;--line:#e0e6df}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);font-family:Inter,"Microsoft YaHei",system-ui,sans-serif;margin:0}a{color:var(--accent)}button,input,textarea,select{font:inherit}button:disabled{opacity:.5;cursor:wait}.site-header{height:82px;padding:0 5%;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:#fff}.brand-group{display:flex;align-items:center;gap:12px;min-width:0}.brand-home{display:none}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);font-weight:700;font-size:21px;white-space:nowrap;flex-shrink:0}.brand-symbol{display:grid;place-items:center;background:var(--accent);color:#fff;width:34px;height:36px;border-radius:8px;font-size:21px}.brand-logo{display:block;width:34px;height:36px;object-fit:contain;border-radius:8px;background:#fff}.brand-caption{font-size:12px;color:var(--muted);font-weight:400;margin-left:14px}.site-header nav{display:flex;align-items:center;gap:24px;font-size:14px}.site-header nav a{text-decoration:none;color:#52646d}.site-header nav form{margin:0}.nav-account{display:inline-flex;align-items:center;gap:10px;margin-left:4px;padding-left:14px;border-left:1px solid var(--line)}.nav-user{display:inline-flex;align-items:center;gap:8px;text-decoration:none;color:#31464f}.nav-avatar{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#236253;color:#fff;font-size:13px;font-weight:600;flex-shrink:0}.nav-user-meta{display:flex;flex-direction:column;align-items:flex-start;line-height:1.2;gap:2px;min-width:0}.nav-username{font-size:13px;font-weight:600;color:#243a44;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-membership{font-size:11px;color:#5d7a63}.nav-logout-form{margin:0}.nav-logout{appearance:none;border:1px solid #d5e0d7;background:#fff;color:#3d5a48;border-radius:7px;padding:6px 12px;font-size:12px;cursor:pointer;white-space:nowrap}.nav-logout:hover{border-color:#8caf90;background:#eef5f0;color:#236253}.nav-auth{white-space:nowrap}.site-header nav .nav-install{border:1px solid #8caf90;background:#e9f2e4;color:#346745;border-radius:7px;padding:6px 10px;font-size:12px;cursor:pointer;white-space:nowrap}.site-header nav .nav-install:hover{background:#dcead8}.site-footer{text-align:center;color:#98a29d;font-size:12px;padding:40px 15px;line-height:1.8}.site-footer-copy{color:#7d8882}.site-footer-icp a{color:#98a29d;text-decoration:none}.site-footer-icp a:hover{color:var(--accent);text-decoration:underline}.site-footer-note{margin-top:4px;font-size:11px;color:#b0b8b3}.branding-logo-box{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap}.branding-logo-preview{width:88px;height:88px;border:1px solid var(--line);border-radius:10px;background:#fafbf9;display:grid;place-items:center;overflow:hidden;flex:0 0 auto}.branding-logo-preview img{max-width:100%;max-height:100%;object-fit:contain}.workspace{max-width:980px;margin:auto;padding:66px 24px 0}.intro{text-align:center}.eyebrow{color:#719082;font-size:11px;letter-spacing:2px;font-weight:600;margin-bottom:18px}.intro h1{font-size:44px;line-height:1.35;letter-spacing:-1px;font-weight:600}.intro p{color:var(--muted);font-size:15px;margin:22px 0 34px}.shortcuts{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin:0 0 28px}.shortcuts a,.shortcuts button{display:flex;align-items:center;gap:7px;font-size:13px;border:1px solid transparent;background:transparent;color:#5b6b63;border-radius:9px;padding:9px 10px;text-decoration:none}.shortcuts span{font-size:19px;line-height:20px;color:#628678}.shortcuts a:hover,.shortcuts button:hover,.shortcuts button.active{background:var(--accent-light);border-color:#d6e4d9;color:var(--accent)}.composer{border:1px solid #d8e3d9;border-radius:18px;background:#fff;box-shadow:0 12px 35px #203b2910;padding:18px 22px}.composer-top,.composer-bottom{display:flex;align-items:center;gap:12px}.composer-top{justify-content:space-between}.mode-badge{font-size:12px;color:var(--accent);background:var(--accent-light);padding:5px 10px;border-radius:6px}.text-button{background:none;border:0;color:var(--muted);font-size:12px;padding:5px}.composer textarea{resize:vertical;width:100%;min-height:130px;border:0;outline:0;padding:20px 0 10px;line-height:1.8;font-size:16px;color:var(--ink);background:transparent}.composer textarea::placeholder{color:#9da6a2}.composer:focus-within{border-color:#84a892}.composer-bottom{border-top:1px solid #eff2ed;padding-top:16px;flex-wrap:wrap}.upload-button{cursor:pointer;border:1px solid var(--line);border-radius:8px;padding:8px 11px;font-size:13px;color:#617165}.file-hint{font-size:11px;color:#a0aaa3}.primary-button{background:var(--accent);color:#fff;border:0;border-radius:8px;padding:11px 20px;font-size:14px;font-weight:500}.primary-button:hover{background:#194b3f}.primary-button span{margin-left:18px}.composer .primary-button{margin-left:auto}.secondary-button{border:1px solid var(--line);border-radius:7px;padding:9px 14px;background:#fff;color:#496555;font-size:13px}.attachment-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.file-chip{display:flex;align-items:center;gap:8px;padding:5px 9px;background:#f3f6f1;border-radius:6px;font-size:12px;max-width:100%;overflow-wrap:anywhere}.file-chip button{border:0;background:none;color:#7a8980}.prompt-hints{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:18px}.prompt-hints button,.prompt-hints a{display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:#3d5348;background:#fff;border:1px solid #d5e0d6;border-radius:8px;padding:7px 12px;text-decoration:none;cursor:pointer;line-height:1.3;box-shadow:0 1px 2px #203b2908}.prompt-hints button:hover,.prompt-hints a:hover{color:var(--accent,#236253);border-color:#b9cec0;background:#f4f8f5}.setup-note{background:#edf3e9;border:1px solid #dfe9d9;color:#5b6e55;border-radius:9px;padding:12px 15px;font-size:13px;margin-bottom:18px}.workspace-status{font-size:13px;padding:18px 0 0;min-height:32px;color:var(--muted)}.workspace-status.error{color:#b54737}.messages{display:flex;flex-direction:column;gap:18px;margin-top:16px}.message{padding:24px;border:1px solid var(--line);border-radius:12px;background:#fff}.message.user{background:#edf2eb;border-color:#e1e9de}.message-role{font-size:12px;color:#718b7a;margin-bottom:12px;font-weight:600}.message-content{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.9;font-size:14px}.message-actions{display:flex;gap:10px;margin-top:15px}.message-actions a,.message-actions button{background:none;border:1px solid var(--line);border-radius:6px;color:var(--accent);font-size:12px;padding:6px 10px;text-decoration:none}.history{margin-top:35px;color:#718075;font-size:13px}.history summary{cursor:pointer;padding-bottom:14px}.history-item{display:flex;justify-content:space-between;gap:12px;padding:12px;border-bottom:1px solid var(--line)}.history-item button{border:0;background:none;text-align:left;color:#456353}.settings-page{max-width:920px;margin:45px auto;padding:0 24px}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;gap:15px}.page-heading h1{font-size:30px;font-weight:600}.page-heading p{color:var(--muted);font-size:14px}.page-heading a{font-size:13px}.panel{border:1px solid var(--line);background:#fff;border-radius:12px;padding:26px;margin-bottom:20px}.panel h2{font-size:19px;margin-bottom:12px}.muted{font-size:12px;color:var(--muted);line-height:1.7}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid label{font-size:13px;color:#52655a;display:flex;flex-direction:column;gap:8px}.form-grid .full{grid-column:1/-1}.form-grid input,.form-grid textarea{width:100%;border:1px solid var(--line);border-radius:7px;padding:11px;color:var(--ink);background:#fafbf9;outline:0}.form-grid input:focus,.form-grid textarea:focus{border-color:#84a892}.check-label{display:flex;gap:9px;align-items:center;font-size:13px;margin:14px 0}.secret-status{font-size:11px;color:#75926f}.settings-actions{display:flex;align-items:center;gap:16px;font-size:13px}.panel summary{font-size:14px;color:#556b5a;cursor:pointer}#testResult{font-size:12px;margin-left:10px}#paymentResult{margin-top:22px;text-align:center}#paymentResult p{font-size:12px;overflow-wrap:anywhere}.payment-page{max-width:700px}.card{border-color:var(--line);border-radius:10px}.card-header{background:#eff3ed}.btn-primary{background:var(--accent);border-color:var(--accent)}.btn-outline-primary{color:var(--accent);border-color:var(--accent)}.btn-outline-primary:hover{background:var(--accent);border-color:var(--accent)}@media(max-width:700px){.site-header{height:68px;padding:0 18px}.brand-caption{display:none}.brand-home{display:inline-flex;align-items:center;font-size:12px;color:#52646d;text-decoration:none;white-space:nowrap}.brand-group{flex:1;justify-content:space-between;margin-right:12px}.nav-home{display:none}.site-header nav{gap:10px;font-size:12px;flex-wrap:wrap;justify-content:flex-end}.site-header nav .nav-install{padding:5px 8px;font-size:11px}.brand{font-size:18px}.workspace{padding:38px 16px 0}.intro h1{font-size:33px}.intro p{font-size:13px;line-height:1.8}.shortcuts{gap:4px}.shortcuts a,.shortcuts button{font-size:12px;padding:7px}.composer{padding:14px;border-radius:13px}.file-hint{display:none}.composer textarea{font-size:14px}.message{padding:18px}.settings-page{padding:0 16px;margin-top:28px}.panel{padding:20px}.form-grid{grid-template-columns:1fr}.page-heading{align-items:start}.page-heading a{white-space:nowrap}.page-heading h1{font-size:25px}}
.tool-navigation{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}.tool-navigation a{font-size:12px;border:1px solid var(--line);border-radius:7px;background:#fff;padding:8px 11px;text-decoration:none;color:#60775e}.tool-navigation a.active{background:#e8f1e4;border-color:#94b595;color:#346745}.tool-navigation a:hover{border-color:#94b595;color:#346745}
.fwt-dialog-backdrop{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(24,44,57,.28)}.fwt-dialog{width:min(420px,100%);background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 48px rgba(24,44,57,.18);padding:22px 22px 16px}.fwt-dialog p{margin:0 0 18px;font-size:15px;line-height:1.7;color:var(--ink)}.fwt-dialog input{width:100%;border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin:-6px 0 16px;font-size:14px;color:var(--ink)}.fwt-dialog-actions{display:flex;justify-content:flex-end;gap:8px}.fwt-dialog-actions button{border-radius:8px;padding:8px 16px;font-size:14px;cursor:pointer}.fwt-dialog-actions .fwt-dialog-cancel{border:1px solid #d5ddd4;background:#fff;color:#3d5248}.fwt-dialog-actions .fwt-dialog-ok{border:1px solid #1c1c1c;background:#1c1c1c;color:#fff}.fwt-wait-backdrop{z-index:2100;pointer-events:auto}.fwt-wait-dialog .fwt-progress{margin:0 0 12px}.fwt-wait-dialog .fwt-wait-note{margin:0;font-size:12px;color:var(--muted)}
.retention-hint{margin:8px 0 0;font-size:12px;line-height:1.6;color:var(--muted)}
.retention-price{color:var(--accent)}
.retention-hint[hidden]{display:none}
.fwt-progress-track{height:8px;background:#e4ebe6;border-radius:99px;overflow:hidden}
.fwt-progress-bar{height:100%;width:0;background:#236253;border-radius:99px}
.fwt-progress.is-busy .fwt-progress-bar{width:35%;animation:fwt-progress-slide 1.1s ease-in-out infinite}
@keyframes fwt-progress-slide{from{transform:translateX(-120%)}to{transform:translateX(320%)}}
/* Phones zoom the whole page when a focused field is under 16px. Keep text
   fields at 16px on small screens and touch devices so the page stays put.
   !important overrides later page styles that set 12–14px. Desktop is unchanged. */
@media (max-width: 700px), (hover: none) and (pointer: coarse) {
  .site-header nav .nav-mode { display: none; }
  textarea,
  select,
  input:not([type=button]):not([type=submit]):not([type=reset]):not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]):not([type=image]):not([type=hidden]) {
    font-size: 16px !important;
  }
}
