:root{color:#172d25;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#fff;--line:#d9dfd5;--muted:#647169;--green:#1f6b4f;--ink:#fff;background:#f7f6f0;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif}[data-theme=dark]{color:#f7f6f0;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#1d3329;--line:#40564a;--muted:#b6c2b8;--green:#b7ce78;--ink:#172d25;background:#14261f}*{box-sizing:border-box}body{margin:0;font-size:15px;line-height:1.7}a{color:inherit;text-decoration:none}button,select{font:inherit;color:inherit;border:1px solid var(--line);background:var(--paper);border-radius:10px;padding:9px 16px}button{cursor:pointer}button:disabled{opacity:.5;cursor:default}:focus-visible{outline:2px solid var(--green);outline-offset:3px}header{border-bottom:1px solid var(--line);background:var(--paper);justify-content:space-between;align-items:center;gap:20px;padding:16px max(20px,50vw - 480px);display:flex}.brand{align-items:center;gap:10px;font-size:21px;font-weight:700;display:flex}.brand img{width:30px;height:30px}main{max-width:620px;margin:44px auto;padding:0 22px}h1{margin:0 0 30px;font-size:26px}form{gap:12px;display:grid}form label{font-weight:600}select{width:100%}.hint{color:var(--muted);margin:0 0 10px}.primary{background:var(--green);color:var(--ink);border-color:var(--green);justify-self:start}.login{margin-left:18px;display:inline-block}p[role=alert]{color:#d93a2b}p[role=status]{color:var(--green)}@media (width<=480px){header{gap:12px;padding:12px 16px}main{margin:30px auto}h1{font-size:23px}}.invites-page{max-width:760px}.invite-toolbar,.invite-line,.invite-friends li{justify-content:space-between;align-items:center;gap:16px;display:flex}.invite-toolbar p{margin:0}.invite-toolbar strong{color:var(--green);font-size:24px}.invite-filters{gap:6px;padding:4px 0 10px;display:flex;overflow:auto}.invite-filters button{white-space:nowrap;padding:6px 12px}.invite-filters [aria-pressed=true]{background:var(--green);color:var(--ink)}.invite-list,.invite-friends{padding:0;list-style:none}.invite-list li{border-bottom:1px solid var(--line);gap:12px;padding:20px 0;display:grid}.invite-code{letter-spacing:3px;font:700 23px ui-monospace,monospace}.available{color:var(--green);font-weight:600}.invite-actions{gap:8px;display:flex}.invite-actions button{padding:6px 10px}.invite-link{font:inherit;border:1px solid var(--line);background:var(--paper);color:inherit;border-radius:8px;width:100%;min-width:0;padding:8px}.feedback{min-height:25px;margin:8px 0}.empty{color:var(--muted);padding:24px 0}h2{margin-top:36px;font-size:20px}.invite-friends li{border-bottom:1px solid var(--line);padding:12px 0}@media (width<=480px){.invite-toolbar{flex-direction:column;align-items:flex-start}.invite-line{flex-wrap:wrap;gap:8px}.invite-actions{margin-left:auto}.invite-code{font-size:21px}}.auth-page{max-width:490px}.auth-page input{font:inherit;width:100%;min-width:0;color:inherit;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:10px 12px}.auth-page form{gap:8px}.auth-page label{margin-top:8px}.auth-page .hint{font-size:14px}.auth-links{flex-wrap:wrap;gap:20px;margin-top:24px;display:flex}.auth-links a,.auth-page p a{color:var(--green);text-underline-offset:4px;text-decoration:underline}.oauth-button{border:1px solid var(--line);background:var(--paper);text-align:center;border-radius:12px;margin-bottom:24px;padding:13px 18px;font-weight:600;display:block}.challenge{min-height:140px;margin:12px 0}.auth-page form .primary{width:100%;margin-top:10px}input:disabled{opacity:.6}.account-page{max-width:760px}.identity-list,.session-list{padding:0;list-style:none}.identity-list li{border-bottom:1px solid var(--line);justify-content:space-between;gap:12px;padding:12px 0;display:flex}.identity-list span{overflow-wrap:anywhere}.account-password{color:var(--green);margin-top:16px;text-decoration:underline;display:inline-block}.session-list li{border-bottom:1px solid var(--line);padding:20px 0}.session-title,.session-bottom{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.session-list p,.session-bottom span{color:var(--muted);font-size:14px}.session-bottom button{padding:6px 10px}.session-exit-all{margin-top:16px}.account-bind{margin-top:20px;display:block}.account-unlink input{font:inherit;width:100%;min-width:0;color:inherit;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:10px 12px}.unlink-actions{flex-wrap:wrap;gap:10px;display:flex}.account-unlink form{max-width:440px}.auth-page strong{overflow-wrap:anywhere}.account-password{margin-right:16px}.ai-guess-check{margin-top:28px}.ai-guess-check summary{cursor:pointer;margin-bottom:12px;font-weight:600}.ai-guess-check label{gap:4px;display:grid}.ai-guess-check input{font:inherit;width:100%;min-width:0;color:inherit;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:9px 12px}.ai-guess-check p{overflow-wrap:anywhere}.merge-summary{border-left:3px solid var(--green);background:var(--paper);padding:8px 18px}.merge-summary>div{gap:2px;display:grid}.merge-summary span{color:var(--muted)}.merge-summary strong{overflow-wrap:anywhere;font-size:18px}.merge-arrow{font-size:24px;line-height:1.4;display:block}.merge-effects{margin:20px 0;padding-left:22px}.merge-effects li{margin:8px 0}.merge-cancel{width:100%;margin-top:12px}.merge-reauth{color:var(--green);text-decoration:underline;display:inline-block}.handle-editor{max-width:440px;margin-top:28px}.handle-editor input{font:inherit;width:100%;min-width:0;color:inherit;background:var(--paper);border:1px solid var(--line);border-radius:10px;padding:10px 12px}.handle-editor button{justify-self:start}.ai-page{max-width:800px}.ai-heading{justify-content:space-between;align-items:center;gap:16px;margin-bottom:26px;display:flex}.ai-heading h1{margin:0}.ai-heading button{white-space:nowrap}.ai-status{border-left:4px solid var(--green);background:var(--paper);flex-wrap:wrap;align-items:center;gap:10px 24px;padding:12px 18px;display:flex}.ai-status strong{color:var(--green)}.ai-status span:last-child{color:var(--muted);font-size:14px}.ai-models{margin:24px 0}.ai-models>div{grid-template-columns:120px 1fr;gap:16px;padding:7px 0;display:grid}.ai-models dt{color:var(--muted)}.ai-models dd{overflow-wrap:anywhere;margin:0}.ai-controls{flex-wrap:wrap;gap:20px;display:flex}.ai-toggle{align-items:center;gap:9px;display:flex}.ai-toggle input{accent-color:var(--green);flex-shrink:0;width:18px;height:18px}.ai-number{align-items:center;gap:12px;display:flex}.ai-number input{font:inherit;color:inherit;background:var(--paper);border:1px solid var(--line);border-radius:8px;width:96px;min-width:0;padding:7px 10px}.ai-page form h2{margin:20px 0 0}.ai-features>div{border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:12px 20px;padding:16px 0;display:flex}.ai-features .ai-toggle{min-width:142px}.ai-page .primary{margin-top:16px}@media (width<=480px){.ai-heading{gap:8px}.ai-heading button{padding:7px 10px}.ai-features .ai-toggle{width:100%}.ai-number{gap:8px}.ai-number input{width:88px}.ai-status{padding:10px 14px}.ai-status span:last-child{width:100%}}.ai-jobs{border-top:1px solid var(--line);margin-top:44px;padding-top:24px}.ai-jobs h2{margin:0}.ai-job-list{padding:0;list-style:none}.ai-job-list li{border-bottom:1px solid var(--line);padding:18px 0}.ai-job-list li>div,.ai-job-pagination{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.ai-job-list a{color:var(--green);text-decoration:underline}.ai-job-list p{color:var(--muted);overflow-wrap:anywhere;margin:6px 0}.ai-job-list span{color:var(--muted);font-size:14px}.ai-job-list button{padding:6px 14px}.ai-job-pagination{justify-content:flex-end}.ai-guess-model{border-top:1px solid var(--line);margin-top:28px}.ai-model-dialog{color:inherit;background:var(--paper);border:1px solid var(--line);border-radius:16px;width:min(620px,100% - 24px);max-height:calc(100dvh - 24px);padding:24px;overflow:auto}.ai-model-dialog::backdrop{background:#0f231b73}.ai-model-dialog-head{justify-content:space-between;align-items:center;gap:16px;display:flex}.ai-model-dialog-head h2{margin:0}.ai-model-current{border-left:3px solid var(--green);overflow-wrap:anywhere;padding-left:12px}.ai-model-dialog form label:not(.ai-toggle){gap:5px;display:grid}.ai-model-dialog input:not([type=checkbox]){width:100%;min-width:0;font:inherit;color:inherit;background:var(--paper);border:1px solid var(--line);border-radius:8px;padding:10px 12px}.ai-model-actions{flex-wrap:wrap;gap:10px;margin:20px 0 12px;display:flex}.ai-model-actions .primary{margin:0}.ai-model-dialog p{overflow-wrap:anywhere}.ai-model-dialog .hint{font-size:14px}.ai-model-dialog form>button{justify-self:start}@media (width<=480px){.ai-model-dialog{padding:18px}.ai-model-dialog-head h2{font-size:20px}.ai-model-actions button{flex:auto}}.ai-task-settings{border-top:1px solid var(--line);margin-top:16px;padding-top:12px}.ai-task-settings h3{margin:0}.ai-task-row{border:1px solid var(--line);border-radius:10px;grid-template-columns:1fr 1.4fr;align-items:end;gap:12px;min-width:0;margin:14px 0;padding:12px;display:grid}.ai-task-row legend{padding:0 6px;font-weight:600}.ai-task-row .ai-toggle{align-self:center}.ai-model-dialog select{font:inherit;color:inherit;background:var(--paper);border:1px solid var(--line);border-radius:8px;width:100%;min-width:0;padding:10px}.ai-model-test-task{grid-template-columns:auto minmax(120px,200px);align-items:center;gap:12px;margin-top:20px;display:grid}@media (width<=480px){.ai-task-row{grid-template-columns:1fr}.ai-model-dialog{max-height:calc(100dvh - 16px)}}.ai-connections-dialog{width:min(960px,100% - 24px)}.ai-connection-tabs{gap:8px;margin:20px 0;display:flex}.ai-connection-tabs button[aria-pressed=true],.ai-connection-list button[aria-pressed=true]{background:var(--wash);border-color:var(--green);color:var(--green)}.ai-connections-dialog .ai-model-dialog-head{background:var(--paper);z-index:2;padding:12px 0;position:sticky;top:-24px}.ai-connection-add{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.ai-connection-add span{color:var(--muted);font-size:14px}.ai-connection-workspace{grid-template-columns:220px minmax(0,1fr);gap:24px;display:grid}.ai-connection-list{flex-direction:column;align-self:start;gap:6px;max-height:480px;display:flex;overflow:auto}.ai-connection-list button{text-align:left;white-space:normal;overflow-wrap:anywhere;gap:4px;min-height:60px;display:grid}.ai-connection-list span{color:var(--muted);font-size:13px;font-weight:400}.ai-connection-editor{min-width:0}.ai-connection-editor label{margin-bottom:14px}.ai-connection-editor h3{margin-top:0}.ai-connection-editor dd{overflow-wrap:anywhere;margin:6px 0 18px}.ai-connection-editor dt{color:var(--muted)}.ai-connection-footer{background:var(--paper);border-top:1px solid var(--line);z-index:1;flex-wrap:wrap;gap:10px;margin-top:20px;padding:16px 0;display:flex;position:sticky;bottom:-24px}.ai-connection-footer .primary{margin:0}.ai-connection-test{align-items:end;gap:12px;margin-top:18px;display:flex}.ai-connection-test label{gap:6px;min-width:150px;display:grid}.ai-legacy-settings{margin-top:24px}.ai-connection-tasks>p{margin-top:0}@media (width<=620px){.ai-connection-workspace{grid-template-columns:1fr;gap:16px}.ai-connection-list{grid-template-columns:1fr 1fr;max-height:210px;display:grid}.ai-connection-list button{padding:10px}.ai-connection-footer{bottom:-18px}.ai-connection-footer button{flex:auto}.ai-connection-test{flex-wrap:wrap}.ai-connections-dialog button{min-height:44px}}@media (width<=480px){.ai-connections-dialog .ai-model-dialog-head{top:-18px}}

/* 2026-11-05 登录页 / 注册 / 账号安全：布局优化（只加样式，不改结构） */
.auth-page,.account-page{max-width:460px}
@media (min-width:700px){.auth-page,.account-page{margin:36px auto;padding:30px 34px 26px;background:var(--paper);border:1px solid var(--line);border-radius:20px;box-shadow:0 10px 34px rgba(23,45,37,.07)}}
.auth-page h1,.account-page h1{margin-bottom:22px}
/* 第三方登录按钮：统一高度，左侧带图标 */
.oauth-button{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:12px;padding:12px 18px;border-radius:14px;transition:transform .12s,box-shadow .15s,border-color .15s}
.oauth-button:hover{border-color:var(--green);box-shadow:0 4px 14px rgba(23,45,37,.08);transform:translateY(-1px)}
.oauth-button:before{content:"";flex:none;width:20px;height:20px;background:center/contain no-repeat}
.oauth-button[href^="/auth/login"]:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cclipath id='c'%3E%3Ccircle cx='12' cy='12' r='11'/%3E%3C/clipath%3E%3Cg clip-path='url(%23c)'%3E%3Crect width='24' height='8' fill='%231c1c1e'/%3E%3Crect y='8' width='24' height='8' fill='%23f0f0f0'/%3E%3Crect y='16' width='24' height='8' fill='%23ffb003'/%3E%3C/g%3E%3C/svg%3E")}
.oauth-button[href*="/auth/github"]:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='%23181717' d='M8 0a8 8 0 0 0-2.53 15.59c.4.07.55-.17.55-.38v-1.34c-2.23.48-2.7-1.07-2.7-1.07-.36-.92-.89-1.17-.89-1.17-.73-.5.06-.49.06-.49.8.06 1.23.83 1.23.83.72 1.22 1.87.87 2.33.66.07-.52.28-.87.5-1.07-1.78-.2-3.65-.89-3.65-3.95 0-.87.31-1.59.83-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82a7.6 7.6 0 0 1 4 0c1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.28.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48v2.2c0 .21.15.46.55.38A8 8 0 0 0 8 0Z'/%3E%3C/svg%3E")}
[data-theme=dark] .oauth-button[href*="/auth/github"]:before{filter:invert(1)}
.oauth-button[href*="/auth/google"]:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill='%23FFC107' d='M43.6 20.1H42V20H24v8h11.3C33.7 32.7 29.2 36 24 36c-6.6 0-12-5.4-12-12s5.4-12 12-12c3.1 0 5.8 1.2 7.9 3l5.7-5.7C34 6.1 29.3 4 24 4 13 4 4 13 4 24s9 20 20 20 20-9 20-20c0-1.3-.1-2.6-.4-3.9z'/%3E%3Cpath fill='%23FF3D00' d='m6.3 14.7 6.6 4.8C14.7 15.1 19 12 24 12c3.1 0 5.8 1.2 7.9 3l5.7-5.7C34 6.1 29.3 4 24 4 16.3 4 9.7 8.3 6.3 14.7z'/%3E%3Cpath fill='%234CAF50' d='M24 44c5.2 0 9.9-2 13.4-5.2l-6.2-5.2C29.2 35.1 26.7 36 24 36c-5.2 0-9.6-3.3-11.3-7.9l-6.5 5C9.5 39.6 16.2 44 24 44z'/%3E%3Cpath fill='%231976D2' d='M43.6 20.1H42V20H24v8h11.3c-.8 2.2-2.2 4.2-4.1 5.6l6.2 5.2C37 39.2 44 34 44 24c0-1.3-.1-2.6-.4-3.9z'/%3E%3C/svg%3E")}
.oauth-button[href*="account-password"]:before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231f6b4f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='7.5' cy='15.5' r='4.5'/%3E%3Cpath d='m10.7 12.3 9.3-9.3M17 6l3 3M14 9l2 2'/%3E%3C/svg%3E")}
/* 邮箱表单和第三方按钮之间加分隔 */
.auth-page>.oauth-button+form,.auth-page>a.oauth-button~form{position:relative;margin-top:26px;padding-top:22px;border-top:1px solid var(--line)}
.auth-page>a.oauth-button~form:before{content:"或者用邮箱";position:absolute;top:-11px;left:50%;transform:translateX(-50%);padding:0 12px;background:var(--paper);color:var(--muted);font-size:13px;line-height:22px}
@media (max-width:699px){.auth-page>a.oauth-button~form:before{background:#f7f6f0}[data-theme=dark] .auth-page>a.oauth-button~form:before{background:#14261f}}
.auth-page .primary{justify-self:stretch;padding:11px 16px;border-radius:12px;font-weight:700}
.auth-links{display:flex;justify-content:center;gap:22px;margin-top:18px}
.auth-links a{color:var(--green)}
/* 账号安全：登录方式做成一张卡片，操作按钮统一成小按钮排一行 */
.account-page h2{font-size:17px;margin:28px 0 10px}
.identity-list,.session-list{list-style:none;margin:0;padding:0;border:1px solid var(--line);border-radius:16px;background:var(--paper);overflow:hidden}
.identity-list li,.session-list li{padding:12px 16px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;gap:12px}
.session-list li{display:block}
.identity-list li:last-child,.session-list li:last-child{border-bottom:0}
.account-bind,.account-password{display:inline-flex;align-items:center;gap:6px;margin:12px 8px 0 0;padding:8px 14px;border:1px solid var(--line);border-radius:12px;background:var(--paper);color:var(--green);font-weight:600;font-size:14px;line-height:1.4;text-decoration:none}
.account-bind:before,.account-password:before{content:"+";font-weight:800}
.account-bind:hover,.account-password:hover{border-color:var(--green)}
.unlink-actions{display:flex;flex-wrap:wrap;gap:8px}
.unlink-actions button,.session-exit-all{border-radius:12px;padding:8px 14px;font-size:14px}
