.app-frame-view{position:fixed;inset:40px 0 0;width:100%;height:calc(100% - 40px);border:0;background:#fff;z-index:5}.frame-close-backdrop{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#00000052;z-index:100}.frame-close-dialog{min-width:320px;max-width:440px;padding:20px 22px 16px;border-radius:10px;background:#fff;box-shadow:0 12px 40px #00000047;color:#1f1f1f}.frame-close-dialog:focus{outline:none}.frame-close-dialog h2{margin:0 0 8px;font-size:15px;font-weight:600}.frame-close-dialog p{margin:0 0 12px;font-size:13px;line-height:1.5;overflow-wrap:anywhere}.frame-close-error{color:#b3261e}.frame-close-actions{display:flex;justify-content:flex-end;gap:8px}.frame-close-actions button{padding:6px 14px;font-size:13px;border-radius:6px;cursor:pointer}.frame-close-secondary{border:1px solid rgba(0,0,0,.18);background:#fff;color:#1f1f1f}.frame-close-primary{border:1px solid transparent;background:#3276cd;color:#fff}.frame-close-primary:disabled{opacity:.6;cursor:default}.onb-overlay{--onb-font-sans: "Arial", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", sans-serif;--onb-btn-primary: #232425;--onb-btn-primary-hover: #393a3b;--onb-brand: #0f7fff;--onb-text-primary: #232425;--onb-text-secondary: #606366;--onb-text-tertiary: #909499;--onb-bg-subtle: #f6f7f8;--onb-border-default: #eaeaea;--onb-border-strong: #d0d3d8;--onb-transition: .15s cubic-bezier(.4, 0, .2, 1);position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#23242566;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);font-family:var(--onb-font-sans)}.onb-card{position:relative;outline:none;display:flex;flex-direction:column;width:540px;min-height:420px;max-width:calc(100vw - 48px);max-height:calc(100vh - 48px);border-radius:20px;background:#fff;box-shadow:0 24px 64px #23242538,0 2px 8px #23242514;padding:41px 32px 25px}.onb-stage{flex:1;display:grid}.onb-slide{grid-area:1 / 1;display:flex;flex-direction:column;align-items:flex-start;text-align:start}.onb-slide.active{animation:onb-slide-in .25s ease-out}.onb-slide:not(.active){visibility:hidden}@keyframes onb-slide-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}.onb-art{display:block;margin-bottom:15px;color:var(--onb-text-primary)}.onb-art-logo{width:60px;height:60px;border-radius:13.5px}.onb-art-badge{display:flex;align-items:center;justify-content:center;width:60px;height:60px;color:var(--onb-text-primary)}.onb-art-badge svg{width:58px;height:58px}.onb-art-gift{margin-left:-6px}.onb-art-check{margin-left:-4px}.onb-title{margin:0;font-size:28px;font-weight:700;letter-spacing:-.5px;line-height:1.5;color:var(--onb-text-primary)}.onb-subtitle{margin:0;font-size:18px;letter-spacing:-.24px;line-height:1.5;color:var(--onb-text-primary)}.onb-body{margin:10px 0 0;font-size:16px;letter-spacing:-.154px;line-height:1.5;color:var(--onb-text-secondary)}.onb-body-dim{color:var(--onb-text-tertiary)}.onb-footer{display:flex;align-items:center;justify-content:space-between;margin-top:20px}.onb-dots{display:flex;gap:6px}.onb-dot{width:6px;height:6px;padding:0;border:none;border-radius:3px;background:var(--onb-border-strong);cursor:pointer;transition:background var(--onb-transition)}.onb-dot.active{background:var(--onb-btn-primary)}.onb-nav{display:flex;align-items:center;gap:10px}.onb-skip{border:none;background:none;padding:10px 6px;font-size:14px;letter-spacing:-.154px;color:var(--onb-text-tertiary);cursor:pointer;transition:color var(--onb-transition)}.onb-skip:hover{color:var(--onb-text-secondary)}.onb-back{min-width:76px;padding:11px 21px;border:none;border-radius:12px;background:var(--onb-bg-subtle);color:var(--onb-text-primary);font-size:14px;letter-spacing:-.154px;text-align:center;cursor:pointer;transition:background var(--onb-transition)}.onb-back:hover{background:var(--onb-border-default)}.onb-next{min-width:84px;padding:11px 20px;border:none;border-radius:12px;background:var(--onb-btn-primary);color:#fff;font-size:14px;letter-spacing:-.154px;text-align:center;cursor:pointer;transition:background var(--onb-transition)}.onb-next:hover{background:var(--onb-btn-primary-hover)}.onb-next:focus,.onb-back:focus,.onb-skip:focus,.onb-dot:focus{outline:none}.onb-next:focus-visible,.onb-back:focus-visible,.onb-skip:focus-visible,.onb-dot:focus-visible{outline:2px solid var(--onb-brand);outline-offset:2px}.lang-toggle-onboarding{position:absolute;top:16px;right:16px;z-index:1;display:inline-flex;align-items:center;gap:1px;padding:1px;border:1px solid var(--onb-border-default);border-radius:999px;font-family:var(--onb-font-sans)}.lang-toggle-onboarding .lang-toggle-option{padding:3px 9px;border:none;border-radius:999px;background:none;font:inherit;font-size:11.5px;font-weight:600;line-height:16px;white-space:nowrap;color:var(--onb-text-secondary);cursor:pointer}.lang-toggle-onboarding .lang-toggle-option:hover:not(.active){background:var(--onb-bg-subtle);color:var(--onb-text-primary)}.lang-toggle-onboarding .lang-toggle-option.active{background:var(--onb-bg-subtle);color:var(--onb-text-primary)}.lang-toggle-onboarding .lang-toggle-option:focus-visible{outline:2px solid var(--onb-brand);outline-offset:1px}.settings-overlay{position:fixed;inset:40px 0 0;display:flex;align-items:center;justify-content:center;padding:28px;background:#11182761;z-index:100}.settings-dialog{display:flex;flex-direction:column;width:min(1080px,100%);height:min(760px,100%);min-height:480px;overflow:hidden;border:1px solid var(--border);border-radius:16px;background:var(--surface);box-shadow:0 24px 70px #0f172a3d;outline:none}.settings-dialog-header{display:flex;align-items:center;justify-content:space-between;flex:0 0 auto;min-height:62px;padding:0 22px 0 26px;border-bottom:1px solid var(--border)}.settings-dialog-header h1{margin:0;font-size:20px;line-height:1.2;letter-spacing:-.01em}.settings-close{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border:0;border-radius:10px;background:transparent;color:var(--text-secondary);cursor:pointer}.settings-close:hover{background:var(--surface-subtle);color:var(--text)}.settings-dialog-body{display:flex;min-height:0;flex:1}.settings-nav{display:flex;flex:0 0 206px;flex-direction:column;gap:3px;padding:22px 12px;border-right:1px solid var(--border);background:var(--surface-subtle)}.settings-nav-item{display:flex;align-items:center;gap:10px;width:100%;min-height:42px;padding:9px 12px;border:0;border-radius:9px;background:transparent;color:var(--text-secondary);font:inherit;font-size:14px;text-align:left;cursor:pointer}.settings-nav-item:hover{background:#2367ec14;color:var(--text)}.settings-nav-item.active{background:#2367ec1f;color:var(--accent);font-weight:600}.settings-nav-icon{display:inline-flex;width:18px;justify-content:center;font-size:17px;line-height:1}.settings-content{min-width:0;flex:1;overflow:hidden}.settings-general{height:100%;overflow-y:auto;padding:36px 40px}.settings-general h2{margin:0 0 8px;font-size:19px}.settings-general p{margin:0;color:var(--text-secondary)}.settings-row{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:28px;padding:16px 18px;border:1px solid var(--border);border-radius:10px;background:var(--surface-subtle)}.settings-row-text{display:flex;flex-direction:column;gap:3px;min-width:0}.settings-row-label{font-size:14px;font-weight:600}.settings-row-hint{font-size:12.5px;color:var(--text-secondary)}.lang-toggle-settings{display:inline-flex;align-items:center;flex-shrink:0;gap:1px;padding:2px;border:1px solid var(--border);border-radius:999px;background:var(--surface)}.lang-toggle-settings .lang-toggle-option{padding:5px 14px;border:none;border-radius:999px;background:none;font:inherit;font-size:13px;font-weight:600;line-height:18px;white-space:nowrap;color:var(--text-secondary);cursor:pointer}.lang-toggle-settings .lang-toggle-option:hover:not(.active){background:var(--surface-subtle)}.lang-toggle-settings .lang-toggle-option.active{background:var(--accent);color:#fff}.lang-toggle-settings .lang-toggle-option:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ai-providers-page{display:flex;height:100%;min-height:0;flex-direction:column;padding:24px 28px 26px;background:linear-gradient(180deg,#fff,#fbfcfe)}.settings-page-intro{display:flex;flex:0 0 auto;justify-content:space-between;gap:18px;margin-bottom:16px}.settings-page-intro h2{margin:0 0 4px;font-size:20px;letter-spacing:-.015em}.settings-page-intro p{max-width:700px;margin:0;color:var(--text-secondary);font-size:12.5px;line-height:1.45}.settings-eyebrow{margin:0;color:var(--text-muted);font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.provider-mode-tabs{display:flex;flex:0 0 auto;gap:4px;min-height:58px;margin-bottom:14px;padding:0 8px;border-bottom:1px solid var(--border)}.provider-mode-tabs>button{position:relative;display:flex;align-items:center;gap:10px;min-width:210px;margin-bottom:-1px;padding:9px 14px 10px;border:1px solid transparent;border-bottom:0;border-radius:11px 11px 0 0;background:transparent;color:var(--text-secondary);font:inherit;text-align:left;cursor:pointer}.provider-mode-tabs>button:hover{background:#2367ec0d;color:var(--text)}.provider-mode-tabs>button.active{border-color:var(--border);background:#fff;color:var(--text);box-shadow:0 -3px 0 var(--accent) inset}.provider-mode-tabs strong,.provider-mode-tabs small{display:block}.provider-mode-tabs strong{font-size:13px;line-height:1.25}.provider-mode-tabs small{margin-top:2px;color:var(--text-muted);font-size:10.5px}.provider-mode-icon{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;flex:0 0 auto;border-radius:9px;background:#edf3ff;color:var(--accent);font-size:12px;font-weight:800}.provider-mode-icon.image{background:#f1edff;color:#6d45dc;font-size:19px}.provider-settings-layout{display:grid;min-height:0;flex:1;grid-template-columns:minmax(235px,.78fr) minmax(390px,1.22fr);gap:16px;overflow:hidden}.provider-list-panel{display:flex;min-width:0;min-height:0;flex-direction:column;overflow:hidden;border:1px solid var(--border);border-radius:13px;background:#f8fafc}.provider-list-header{flex:0 0 auto;padding:13px 12px 10px;border-bottom:1px solid var(--border);background:#ffffffd1}.provider-list-header>div{display:flex;align-items:center;justify-content:space-between;margin:0 2px 10px}.provider-list-header>div>span{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:18px;border-radius:9px;background:#edf1f6;color:var(--text-muted);font-size:10px;font-weight:700}.provider-search{display:flex;align-items:center;gap:7px;min-height:34px;padding:0 9px;border:1px solid #d6dce5;border-radius:8px;background:#fff;color:var(--text-muted)}.provider-search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #2367ec1f}.provider-search input{min-width:0;flex:1;border:0;outline:0;background:transparent;color:var(--text);font:inherit;font-size:12px}.provider-list-scroll{min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain;padding:7px;scrollbar-gutter:stable}.provider-list-item{display:flex;align-items:center;gap:10px;width:100%;min-height:54px;margin:1px 0;padding:8px 9px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--text);font:inherit;text-align:left;cursor:pointer}.provider-list-item:hover{background:#fff}.provider-list-item.active{border-color:#2367ec42;background:#fff;box-shadow:0 1px 3px #0f172a0d,3px 0 0 var(--accent) inset}.provider-list-copy{display:flex;min-width:0;flex:1;flex-direction:column;gap:2px}.provider-list-name{overflow:hidden;font-size:12.5px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.provider-list-protocol{color:var(--text-muted);font-size:11px}.provider-configured-dot{width:7px;height:7px;border-radius:50%;background:#159957;box-shadow:0 0 0 3px #1599571f}.provider-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;overflow:hidden;border:1px solid rgb(15 23 42 / 6%);border-radius:10px;background:#fff;color:#536174;font-size:14px;font-weight:700}.provider-icon svg{width:64%;height:64%}.provider-icon-wordmark{font-size:.68em;font-weight:800;letter-spacing:-.05em}.provider-editor{display:flex;min-width:0;min-height:0;flex-direction:column;overflow:hidden;border:1px solid var(--border);border-radius:13px;background:#fff;box-shadow:0 8px 22px #0f172a0d}.provider-editor-heading{display:flex;flex:0 0 auto;align-items:center;gap:12px;min-height:82px;padding:17px 20px;border-bottom:1px solid var(--border);background:linear-gradient(135deg,#fff,#f8faff)}.provider-editor-heading h3{margin:0;font-size:18px}.provider-editor-heading p{margin:0;color:var(--text-secondary);font-size:12px;line-height:1.35}.provider-heading-line{display:flex;align-items:center;gap:8px;margin-bottom:3px}.active-provider-pill{display:inline-flex;align-items:center;height:19px;padding:0 7px;border-radius:999px;background:#eaf8ef;color:#13713e;font-size:9.5px;font-weight:700;letter-spacing:.02em}.provider-editor-scroll{min-height:0;flex:1;overflow-y:auto;overscroll-behavior:contain;padding:20px 22px 8px;scrollbar-gutter:stable}.settings-field{display:flex;flex-direction:column;gap:6px;margin:0 0 18px;color:var(--text);font-size:13px;font-weight:600}.settings-field input,.settings-field select{width:100%;min-height:42px;padding:9px 11px;border:1px solid #cfd5dd;border-radius:8px;background:#fff;color:var(--text);font:inherit;font-size:13px}.settings-field input:focus-visible,.settings-field select:focus-visible{border-color:var(--accent);box-shadow:0 0 0 3px #2367ec29;outline:none}.settings-field small{color:var(--text-muted);font-size:11px;font-weight:400;line-height:1.35}.model-field-label{display:flex;align-items:center;justify-content:space-between;gap:8px}.model-count{color:var(--text-muted);font-size:10.5px;font-weight:500}.model-control-row,.credential-control{display:flex;align-items:stretch;gap:8px}.model-control-row>select,.model-control-row>input,.credential-control>input{min-width:0;flex:1}.custom-model-field{margin-top:-8px;padding:13px;border:1px solid #dce4f2;border-radius:10px;background:#f7f9fd;box-shadow:inset 3px 0 0 var(--accent)}.custom-model-field input{background:#fff}.model-refresh-button{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;flex:0 0 auto;border:1px solid #ccd3dd;border-radius:8px;background:#fff;color:var(--text-secondary);cursor:pointer}.model-refresh-button svg{width:18px;height:18px}.model-refresh-button:hover:not(:disabled){border-color:#b8c1cf;background:#f7f9fc;color:var(--accent)}.model-refresh-button:disabled{opacity:.45;cursor:default}.credential-control>button{min-width:86px;border:1px solid #d7dde6;border-radius:8px;background:#fff;color:#a3221a;font:inherit;font-size:11px;font-weight:600;cursor:pointer}.credential-control>button:hover:not(:disabled){background:#fff6f5}.local-provider-note{display:flex;align-items:flex-start;gap:10px;padding:12px 13px;border:1px solid #dce5f3;border-radius:9px;background:#f6f9fe;color:#3e5879;font-size:11.5px;line-height:1.45}.local-provider-note p{margin:0}.provider-editor-footer{display:grid;flex:0 0 auto;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px 14px;padding:14px 18px;border-top:1px solid var(--border);background:#fbfcfe}.provider-runtime-summary{min-width:0}.provider-runtime-summary span,.provider-runtime-summary strong{display:block}.provider-runtime-summary span{color:var(--text-muted);font-size:9.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.provider-runtime-summary strong{margin-top:2px;overflow:hidden;font-size:11.5px;text-overflow:ellipsis;white-space:nowrap}.provider-editor-actions{display:flex;justify-content:flex-end;gap:8px}.settings-button{min-height:40px;padding:8px 15px;border:1px solid transparent;border-radius:8px;font:inherit;font-size:13px;font-weight:600;cursor:pointer}.settings-button:disabled{opacity:.55;cursor:default}.settings-button.secondary{border-color:#ccd3dd;background:#fff;color:var(--text)}.settings-button.secondary:hover:not(:disabled){background:var(--surface-subtle)}.settings-button.primary{background:var(--accent);color:#fff}.settings-button.primary:hover:not(:disabled){background:var(--accent-hover)}.settings-status{grid-column:1 / -1;margin:2px 0 0;padding:9px 11px;border-radius:7px;font-size:12px;line-height:1.35}.settings-status.success{background:#edf9f1;color:#126332}.settings-status.error,.settings-alert{color:#a3221a}.settings-alert{margin:0;font-size:12px!important}.settings-close:focus-visible,.settings-nav-item:focus-visible,.provider-mode-tabs>button:focus-visible,.provider-search:focus-within,.provider-list-item:focus-visible,.model-refresh-button:focus-visible,.credential-control>button:focus-visible,.settings-button:focus-visible,.account-menu-item:focus-visible,.account-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media(max-width:760px){.settings-overlay{padding:12px}.settings-dialog{height:min(760px,100%)}.settings-dialog-body{flex-direction:column}.settings-nav{flex:0 0 auto;flex-direction:row;overflow-x:auto;padding:8px;border-right:0;border-bottom:1px solid var(--border)}.settings-nav-item{flex:0 0 auto;width:auto}.provider-settings-layout{grid-template-columns:1fr;grid-template-rows:minmax(160px,.42fr) minmax(320px,1fr)}.provider-list-scroll{display:grid;grid-template-columns:repeat(2,minmax(150px,1fr));align-content:start;gap:3px}.ai-providers-page{padding:18px}.provider-mode-tabs{padding:0}.provider-mode-tabs>button{min-width:0;flex:1}}@media(max-width:520px){.settings-overlay{inset:40px 0 0;padding:0}.settings-dialog{height:100%;min-height:0;border-radius:0}.settings-page-intro p,.provider-mode-tabs small{display:none}.provider-mode-tabs{min-height:46px}.provider-mode-tabs>button{justify-content:center;padding-inline:8px}.provider-settings-layout{grid-template-rows:minmax(150px,.38fr) minmax(330px,1fr)}.provider-list-scroll{grid-template-columns:1fr}.provider-editor-heading{min-height:70px;padding:13px 15px}.provider-editor-scroll{padding:16px 16px 6px}.provider-editor-footer{grid-template-columns:1fr}.provider-editor-actions{justify-content:stretch}.provider-editor-actions .settings-button{flex:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}:root{--accent: #2367ec;--accent-hover: #1b58cf;--surface: #ffffff;--surface-subtle: #f6f7f9;--border: #e3e6ea;--text: #242424;--text-muted: #878e96;--text-secondary: #606366;--radius-6: 6px;--radius-8: 8px;--color-error: #ef4444;--color-border-default: #eaeaea;--color-bg-overlay: rgb(0 0 0 / 50%);--shadow-modal-strong: 0 20px 25px rgb(0 0 0 / 10%);--modal-width-sm: 480px;color-scheme:light}*{box-sizing:border-box}:root{--ui-cjk: "PingFang SC"}:root:lang(ja){--ui-cjk: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Yu Gothic", "Meiryo"}:root:lang(ko){--ui-cjk: "Apple SD Gothic Neo", "Malgun Gothic"}:root:lang(zh-TW){--ui-cjk: "PingFang TC", "Microsoft JhengHei"}body{margin:0;font-family:-apple-system,var(--ui-cjk),"Segoe UI","Microsoft YaHei",sans-serif;background:var(--surface);color:var(--text)}body.vib{background:transparent}body.vib .home{background:var(--surface)}.home{display:flex;height:calc(100vh - 40px)}.sidebar{display:flex;flex-direction:column;flex-shrink:0;width:232px;padding:18px 12px 16px;border-right:1px solid var(--border);overflow-y:auto}.sidebar-logo{display:flex;align-items:center;gap:9px;padding:0 8px;margin-bottom:20px}.logo-mark{display:block;width:26px;height:26px;flex-shrink:0}.logo-word{font-size:19px;font-weight:700;letter-spacing:-.2px;color:var(--text)}.sidebar-nav{display:flex;flex-direction:column;gap:2px}.nav-item{display:flex;align-items:center;gap:9px;width:100%;padding:8px 10px;border:none;border-radius:8px;background:none;font:inherit;font-size:14px;color:var(--text);cursor:pointer;text-align:left}.nav-item:hover{background:#f5f5f5}.nav-item.active{background:#f5f5f5;font-weight:600}.nav-item svg{flex-shrink:0;color:#232425}.nav-label{flex-shrink:0}.nav-count{margin-left:auto;min-width:22px;text-align:center;font-size:12px;color:var(--text-muted);font-variant-numeric:tabular-nums}.lang-menu-item{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;height:34px;margin:2px 0;padding:6px 8px;border:none;border-radius:10px;background:none;font:inherit;font-size:14px;line-height:22px;color:#232425;cursor:pointer;text-align:left}.lang-menu-item:hover{background:#f5f5f5}.lang-menu-item.active{color:var(--accent);font-weight:600}.account-entry{position:relative;margin-top:auto;padding-top:12px;border-top:1px solid #efefef}.account-btn{display:flex;align-items:center;gap:9px;width:100%;padding:7px 8px;border:none;border-radius:10px;background:none;font:inherit;cursor:pointer;text-align:left}.account-btn:hover{background:var(--surface-subtle)}.account-avatar{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;border-radius:50%;background:#e8ebef;color:var(--text-muted);font-size:14px;font-weight:700}.account-avatar.logged-in{background:linear-gradient(135deg,#3d7ff5,#1b58cf);color:#fff}.account-avatar.waiting{color:var(--accent)}.account-spinner{animation:account-spin .9s linear infinite}@keyframes account-spin{to{transform:rotate(360deg)}}.account-text{display:flex;flex-direction:column;min-width:0;line-height:1.25}.account-name{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-sub{font-size:12px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-sub.error{color:#b3261e}.login-hint{position:absolute;left:-8px;bottom:calc(100% + 4px);width:calc(100% + 16px);display:flex;flex-direction:column;gap:2px;padding:8px;border-radius:12px;background:var(--surface);box-shadow:0 4px 20px #00000026;z-index:30}.login-hint button{border:none;border-radius:10px;background:none;font:inherit;font-size:13px;line-height:20px;padding:6px 8px;color:#232425;cursor:pointer;text-align:left}.login-hint button:hover{background:#f5f5f5}.login-hint .login-hint-open,.account-menu-item.login-rescue{color:var(--accent)}.account-menu{position:absolute;left:-8px;bottom:calc(100% + 4px);width:calc(100% + 16px);padding:16px 8px;border:none;border-radius:12px;background:var(--surface);box-shadow:0 4px 20px #00000026;z-index:30}.account-menu-info{display:flex;flex-direction:column;gap:2px;padding:0 8px}.account-menu-email{font-size:14px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu-divider{height:1px;margin:9px 0;background:#efefef}.account-menu-item{display:flex;align-items:center;gap:6px;width:100%;height:34px;margin:2px 0;padding:6px 8px;border:none;border-radius:10px;background:none;font:inherit;font-size:14px;line-height:22px;color:#232425;cursor:pointer;text-align:left}.account-menu-item:hover{background:#f5f5f5}.account-menu-item.danger{color:#d93025}.account-menu-item.danger svg{flex-shrink:0}.account-menu-version{display:flex;align-items:center;gap:6px;width:100%;height:34px;margin:2px 0;padding:6px 8px;font-size:14px;line-height:22px;color:#232425;-webkit-user-select:text;user-select:text}.account-menu-version svg{flex-shrink:0;color:#232425}.version-row-label{flex-shrink:0}.version-row-value{flex:1;min-width:0;text-align:right;font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden}.account-menu-item:disabled{color:var(--text-muted);cursor:default}.account-menu-item.lang-row{display:flex;align-items:center;gap:6px}.lang-row svg{flex-shrink:0;color:#232425}.lang-row-label{flex-shrink:0}.lang-row-current{flex:1;min-width:0;text-align:right;font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lang-row-wrap{width:100%;margin:2px 0}.lang-row-wrap .lang-row{width:100%;margin:0}.lang-flyout{position:fixed;min-width:160px;max-height:320px;overflow-y:auto;padding:8px;border:none;border-radius:12px;background:var(--surface);box-shadow:0 4px 20px #00000026;z-index:40}.content{flex:1;min-width:0;padding:28px 36px 40px;overflow-y:auto;background:#fafafa}.section-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.section-label{font-size:13px;font-weight:600;letter-spacing:.08em;color:var(--text-secondary)}.home-hero{margin:28px 0 20px}.hero-title{margin:0;font-size:28px;font-weight:700;letter-spacing:-.01em;line-height:1.3;color:#232425}.hero-ask{display:block;margin-top:0;color:#232425;font-weight:500}.quick-cards{display:flex;align-items:stretch;gap:10px}.quick-card{position:relative;flex:1;min-width:0;max-width:280px;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding:18px 18px 16px;border:1px solid var(--border);border-radius:12px;background:var(--surface);font:inherit;text-align:left;cursor:pointer;transition:border-color .12s,box-shadow .12s}.quick-card:hover{border-color:#d3d7dd;box-shadow:0 3px 12px #00000014}.quick-card svg{flex-shrink:0}.quick-text{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:2px}.quick-title-row{max-width:100%;min-width:0;display:flex;align-items:center;gap:6px}.quick-title{min-width:0;overflow:hidden;font-size:14px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.quick-sub{display:block;width:100%;overflow:hidden;font-size:12px;color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap}.quick-folder{flex-shrink:0;width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--border);border-radius:8px;color:var(--text-muted)}.ai-chip{padding:1px 6px;border-radius:4px;background:#eaf0fd;color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.03em}@media(max-width:1100px){.quick-cards{flex-wrap:wrap}.quick-card{flex:1 1 calc(50% - 5px);max-width:none}}.recents{margin-top:34px}.recents-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.recents-heading{display:flex;align-items:baseline;gap:10px}.file-count{font-size:13px;font-weight:400;color:var(--text-secondary)}.filter-pills{display:flex;gap:2px;padding:2px;border-radius:10px;background:#ececec}.filter-pill{padding:5px 14px;border:none;border-radius:8px;background:none;font:inherit;font-size:13px;color:#606366;cursor:pointer}.filter-pill:hover{color:var(--text)}.filter-pill.active{background:var(--surface);color:var(--text);font-weight:600;box-shadow:0 1px 3px #0000001a}.empty{color:var(--text-muted);font-size:14px}.load-more{display:flex;justify-content:center;padding:14px 0}.load-more-spinner{width:16px;height:16px;border:2px solid var(--border);border-top-color:var(--text-muted);border-radius:50%;animation:load-more-spin .8s linear infinite}@keyframes load-more-spin{to{transform:rotate(360deg)}}.selection-bar{display:flex;align-items:center;gap:8px}.selection-count{font-size:12px;color:var(--text-muted);margin-right:4px}.selection-action{padding:5px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);font:inherit;font-size:14px;cursor:pointer}.selection-action:hover{background:var(--surface-subtle)}.selection-action.danger{color:#d13438;border-color:#f0c8c9}.selection-action.danger:hover{background:#fdf3f3}.recent-table{border:1px solid var(--border);border-radius:12px;background:var(--surface)}.recent-columns,.recent-item{display:grid;grid-template-columns:18px 24px minmax(0,1fr) 120px 110px 76px 24px 28px;align-items:center;gap:12px;padding:0 16px}.recent-columns{padding-top:11px;padding-bottom:11px;border-bottom:1px solid #efefef;font-size:12px;font-weight:600;letter-spacing:.06em;color:#909499}.recent-columns .col-name{grid-column:2 / 4}.col-size{text-align:right}.recent-list{list-style:none;margin:0;padding:0}.recent-list li+li{border-top:1px solid #efefef}.recent-item{width:100%;padding-top:14px;padding-bottom:14px;cursor:pointer;text-align:left}.recent-list li:last-child .recent-item{border-radius:0 0 12px 12px}.recent-row:hover .recent-item{background:var(--surface-subtle)}.recent-row:has(.row-check:checked) .recent-item{background:#f5f5f5}.recent-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.col-check{display:flex;align-items:center}.col-check input{width:14px;height:14px;margin:0;appearance:none;border:1px solid #d9d9d9;border-radius:4px;background:var(--surface);cursor:pointer}.col-check input:checked{border-color:var(--accent);background:var(--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.5 6.2l2.4 2.4 4.6-5' stroke='%23fff' stroke-width='1.8' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 10px 10px no-repeat}.recent-item .row-check{opacity:1}.recent-icon{display:flex;align-items:center}.recent-name{font-size:14px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.star-btn{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:none;border-radius:6px;background:none;color:#b9bfc7;cursor:pointer}.star-btn:hover{background:#f0f2f5}.recent-item:hover .star-btn,.star-btn.starred{opacity:1}.star-btn:hover{color:#f5a623}.rename-input{min-width:0;padding:3px 7px;border:1.5px solid var(--accent);border-radius:6px;font:inherit;font-size:14px;outline:none;background:var(--surface)}.recent-path{font-size:12px;color:#909499;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-time{font-size:12px;color:#909499;white-space:nowrap}.recent-size{font-size:12px;color:#909499;white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}.recent-actions{position:relative;display:flex;justify-content:flex-end}.more-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:none;border-radius:8px;background:none;color:var(--text-muted);cursor:pointer;transition:background .1s}.more-btn:hover,.more-btn[aria-expanded=true]{background:#e8eaee;color:var(--text)}.row-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:20;min-width:160px;padding:6px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 10px 28px #00000024;animation:menu-in .1s ease}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px)}}.row-menu button{display:block;width:100%;padding:7px 10px;border:none;border-radius:6px;background:none;font:inherit;font-size:14px;text-align:left;cursor:pointer;white-space:nowrap}.row-menu button:hover{background:var(--surface-subtle)}.row-menu button.danger{color:#d13438}.row-menu button.danger:hover{background:#fdf3f3}.row-menu-divider{height:1px;margin:5px 6px;background:#efefef}.btn{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:var(--radius-6);font:inherit;font-size:16px;font-weight:500;cursor:pointer;transition:all .15s cubic-bezier(.4,0,.2,1)}.btn:hover:not(:disabled){filter:brightness(.92)}.btn:active:not(:disabled){filter:brightness(.88);transform:scale(.98)}.btn:focus-visible{outline:none;box-shadow:0 0 0 3px #23242533}.btn-secondary{background:var(--surface);border:1px solid var(--color-border-default);color:var(--text)}.btn-danger{background:var(--color-error);border:none;color:#fff}.modal-overlay{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;background:var(--color-bg-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{min-width:min(var(--modal-width-sm),90vw);max-width:500px;padding:24px;background:var(--surface);border-radius:var(--radius-8);box-shadow:var(--shadow-modal-strong);animation:menu-in .12s ease}.modal h3{margin:0 0 8px;font-size:16px}.modal p{margin:0;font-size:14px;line-height:1.6}.modal-file-list{margin:10px 0 0;padding:10px 12px;list-style:none;background:var(--surface-subtle);border-radius:8px;font-size:12px;color:var(--text-muted);max-height:150px;overflow-y:auto}.modal-file-list li{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.8}.modal-buttons{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.sidebar-divider{height:1px;margin:12px 0;background:#efefef}.proj-panel{display:flex;flex-direction:column;min-height:0;flex:1}.proj-panel-head{display:flex;align-items:center;justify-content:space-between;padding:0 10px 6px}.proj-panel-title{font-size:12px;font-weight:600;letter-spacing:.08em;color:var(--text-muted);text-transform:uppercase}.proj-add-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;border-radius:6px;background:none;color:var(--text-muted);cursor:pointer;transition:background .1s,color .1s}.proj-add-btn:hover{background:var(--surface-subtle);color:var(--text)}.proj-new-row{padding:0 8px 4px}.proj-rename-input{width:100%;padding:4px 8px;border:1.5px solid var(--accent);border-radius:6px;font:inherit;font-size:14px;outline:none;background:var(--surface)}.proj-rename-input.inline{flex:1;min-width:0;width:auto}.proj-list{list-style:none;margin:0;padding:0;overflow-y:auto}.proj-item{position:relative;display:flex;align-items:center;border-radius:8px;margin:0 2px 1px}.proj-item.active{background:#f5f5f5}.proj-item-main{display:flex;align-items:center;gap:9px;flex:1;min-width:0;padding:8px 10px;cursor:pointer;border-radius:8px;-webkit-user-select:none;user-select:none}.proj-item-main:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.proj-item:hover .proj-item-main{background:#f5f5f5}.proj-item.active .proj-item-main{background:none}.proj-item-icon{flex-shrink:0;color:#232425;display:flex;align-items:center}.proj-item-name{flex:1;min-width:0;font-size:14px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.proj-item.active .proj-item-name{font-weight:600}.proj-item-meta{flex-shrink:0;display:flex;align-items:center;gap:4px}.proj-item-count{min-width:22px;text-align:center;font-size:12px;color:var(--text-muted);font-variant-numeric:tabular-nums}.proj-menu-wrap{position:absolute;top:0;bottom:0;right:8px;display:flex;align-items:center;opacity:0;transition:opacity .1s}.proj-item:hover .proj-menu-wrap,.proj-menu-wrap:has([aria-expanded=true]){opacity:1}.proj-item:hover:has(.proj-menu-wrap) .proj-item-meta,.proj-item:has(.proj-more-btn[aria-expanded=true]) .proj-item-meta{opacity:0}.proj-more-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;border-radius:6px;background:none;color:var(--text-muted);cursor:pointer;transition:background .1s,color .1s}.proj-more-btn:hover,.proj-more-btn[aria-expanded=true]{background:#e0e4ea;color:var(--text)}.proj-menu{position:fixed;z-index:30;min-width:140px;padding:5px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #00000021;animation:menu-in .1s ease}.proj-menu button{display:block;width:100%;padding:6px 9px;border:none;border-radius:6px;background:none;font:inherit;font-size:14px;text-align:left;cursor:pointer;white-space:nowrap}.proj-menu button:hover{background:var(--surface-subtle)}.proj-menu button.danger{color:#d13438}.proj-menu button.danger:hover{background:#fdf3f3}.submenu-trigger{display:flex!important;align-items:center;width:100%}.move-menu-wrap{position:relative}.submenu{position:absolute;top:0;left:calc(100% + 4px);z-index:40;min-width:140px;padding:5px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #00000021;animation:menu-in .1s ease}.submenu.submenu-left{left:auto;right:calc(100% + 4px)}.submenu button,.selection-move-menu button{display:block;width:100%;padding:6px 9px;border:none;border-radius:6px;background:none;font:inherit;font-size:14px;text-align:left;cursor:pointer;white-space:nowrap}.submenu button:hover,.selection-move-menu button:hover{background:var(--surface-subtle)}.selection-move-wrap{position:relative;display:inline-flex}.selection-move-menu{position:absolute;top:calc(100% + 4px);right:0;z-index:40;min-width:140px;padding:5px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px #00000021;animation:menu-in .1s ease}.content:has(.proj-empty){display:flex;flex-direction:column}.recents:has(.proj-empty){flex:1;display:flex;flex-direction:column}.proj-empty{flex:1;display:grid;place-content:center;justify-items:center;row-gap:14px;text-align:center;margin:0;padding-bottom:60px;color:#909499;line-height:1.7!important}.empty-hint{font-size:inherit;color:var(--text-secondary)}.timeline-section{margin-top:28px}.timeline-head{display:flex;align-items:center;gap:7px;width:100%;padding:0;border:none;background:none;font:inherit;cursor:pointer;margin-bottom:12px}.timeline-head:hover .section-label{color:var(--text)}.timeline-chevron{flex-shrink:0;color:var(--text-muted);transition:transform .15s;transform:rotate(-90deg)}.timeline-chevron.open{transform:rotate(0)}.timeline-count{margin-left:4px;font-size:12px;color:var(--text-muted);font-variant-numeric:tabular-nums}.timeline-empty{color:var(--text-muted);font-size:14px;padding-left:2px}.timeline-list{list-style:none;margin:0;padding:0;border:1px solid var(--border);border-radius:12px;background:var(--surface);overflow:hidden}.timeline-item{display:flex;align-items:flex-start;gap:10px;padding:10px 14px;cursor:pointer;transition:background .1s}.timeline-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.timeline-list .timeline-item+.timeline-item{border-top:1px solid #efefef}.timeline-item:hover{background:var(--surface-subtle)}.timeline-role{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:6px;font-size:12px;font-weight:700;letter-spacing:-.01em}.timeline-role.user{background:#eef1f5;color:#5a6170}.timeline-role.assistant{background:#eaf0fd;color:var(--accent)}.timeline-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.timeline-filename{font-size:12px;font-weight:600;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timeline-preview{font-size:14px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.timeline-ts{flex-shrink:0;font-size:12px;color:var(--text-muted);white-space:nowrap;font-variant-numeric:tabular-nums;padding-top:1px}.tab-bar{--tabstrip-bg: #ebebeb;--tabstrip-text: #454746;--tabstrip-text-active: #1f1f1f;--tab-separator: rgba(0, 0, 0, .22);position:fixed;top:0;left:0;right:0;height:40px;display:flex;align-items:stretch;background:var(--tabstrip-bg);-webkit-app-region:drag;z-index:10}.tab-bar-drag-spacer{width:78px;flex-shrink:0}.tab-strip{display:flex;align-items:stretch;flex:1 1 auto;min-width:0;padding:0 10px;overflow-x:auto;scrollbar-width:none}.tab-strip::-webkit-scrollbar{display:none}.tab-item{-webkit-app-region:no-drag;position:relative;display:flex;align-items:center;gap:8px;margin-top:6px;padding:0 8px 6px 12px;flex:0 1 240px;min-width:104px;border-radius:10px 10px 0 0;cursor:pointer;color:var(--tabstrip-text);font-size:12.5px;-webkit-user-select:none;user-select:none}.tab-item.tab-home{flex:0 0 auto;min-width:0;gap:6px;padding-right:27px}.tab-item:not(.active):not(:first-child):before{content:"";position:absolute;left:0;top:calc(50% - 3px);width:1px;height:16px;transform:translateY(-50%);background:var(--tab-separator)}.tab-item:not(.active):hover:before,.tab-item:hover+.tab-item:not(.active):before,.tab-item.active+.tab-item:not(.active):before,.tab-item.drag-source+.tab-item:not(.active):before{opacity:0}.tab-new-btn:before{content:"";position:absolute;left:-2.5px;top:50%;width:1px;height:16px;transform:translateY(-50%);background:var(--tab-separator)}.tab-item.active+.tab-new-btn:before,.tab-item:hover+.tab-new-btn:before,.tab-item.drag-source+.tab-new-btn:before,.tab-new-btn:hover:before{opacity:0}.tab-plate{position:absolute;inset:0 3px 6px;border-radius:9px;z-index:-1;pointer-events:none}.tab-item:not(.active):hover .tab-plate{background:#ffffffd9}.tab-item.active{color:var(--tabstrip-text-active);z-index:1}.tab-item.active .tab-plate{inset:0 3px;border-radius:10px 10px 0 0;background:var(--surface)}.tab-item.active .tab-plate:before,.tab-item.active .tab-plate:after{content:"";position:absolute;bottom:0;width:10px;height:10px}.tab-item.active .tab-plate:before{left:-10px;background:radial-gradient(circle at 0 0,transparent 9.5px,var(--surface) 10px)}.tab-item.active .tab-plate:after{right:-10px;background:radial-gradient(circle at 100% 0,transparent 9.5px,var(--surface) 10px)}.tab-item.drag-source .tab-plate{box-shadow:0 1px 6px #0000002e}.tab-strip.dragging .tab-item{transition:transform .15s cubic-bezier(.4,0,.2,1)}.tab-strip.dragging .tab-item.drag-source{transition:none;z-index:2}.tab-icon{flex-shrink:0;display:flex;align-items:center}.tab-title{flex:1 1 auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab-close{-webkit-app-region:no-drag;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:16px;height:16px;border:none;border-radius:50%;background:transparent;color:inherit;font-size:13px;line-height:1;padding:0;cursor:pointer}.tab-close:hover{background:#0000001a}.tab-new-btn{margin-left:4px}.tab-overflow-btn{margin:0 8px 0 2px}.lang-toggle{-webkit-app-region:no-drag;display:inline-flex;align-items:center;align-self:center;flex-shrink:0;gap:1px;margin:0 10px 0 0;padding:1px;border:1px solid var(--tab-separator);border-radius:999px}.lang-toggle-option{padding:3px 9px;border:none;border-radius:999px;background:none;font:inherit;font-size:11.5px;font-weight:600;line-height:16px;white-space:nowrap;color:var(--tabstrip-text);cursor:pointer}.lang-toggle-option:hover:not(.active){background:#0000000f}.lang-toggle-option.active{background:#fff;color:var(--tabstrip-text-active)}.lang-toggle-option:focus-visible{outline:2px solid var(--tabstrip-text-active);outline-offset:1px}.tab-overflow-btn:before{content:"";position:absolute;left:-6px;top:50%;width:1px;height:16px;transform:translateY(-50%);background:var(--tab-separator)}.tab-new-btn,.tab-overflow-btn{-webkit-app-region:no-drag;position:relative;flex-shrink:0;align-self:center;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:50%;background:transparent;color:var(--tabstrip-text);cursor:pointer}.tab-new-btn:hover,.tab-overflow-btn:hover{background:#00000014}.app-frame-content{padding-top:40px}.tab-menu-wrap{-webkit-app-region:no-drag;position:relative;flex-shrink:0;align-self:center;display:flex}.tab-menu{position:absolute;top:100%;left:0;min-width:180px;padding:4px;border-radius:8px;background:#fff;box-shadow:0 6px 24px #00000038;z-index:20}.tab-menu-item{display:block;width:100%;padding:7px 10px;border:none;border-radius:5px;background:transparent;color:#1f1f1f;font-size:13px;text-align:left;white-space:nowrap;cursor:pointer}.tab-menu-item:hover{background:#0000000f}
