:root{--bg:#f7f7f5;--surface:#ffffff;--surface-soft:#fbfbfa;--text:#111111;--muted:#6f6f6f;--muted-strong:#4d4d4d;--border:#dededb;--border-soft:#ececea;--accent:#111111;--success:#16774b;--danger:#b42318;--focus:#2f6fed;--shadow:0 18px 44px rgba(0,0,0,0.08)}*{box-sizing:border-box}html{background:var(--bg);color:var(--text)}body,html{max-width:100%;overflow-x:hidden}body{margin:0;width:100%;font-family:Noto Sans SC,PingFang SC,Microsoft YaHei,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.58}input,select,textarea{min-width:0}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.app-shell{min-height:100vh;max-width:100%;overflow-x:hidden;padding-top:64px;background:var(--bg)}.app-header{position:fixed;top:0;right:0;left:0;z-index:1000;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;grid-gap:16px;gap:16px;min-height:64px;padding:10px clamp(16px,4vw,44px);border-bottom:1px solid var(--border-soft);background:rgba(247,247,245,.96);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 10px 26px rgba(20,20,20,.05)}@media (min-width:781px){.app-header{pointer-events:none}.app-header .brand,.app-header .header-actions,.app-header .tab-nav{position:fixed;top:10px;z-index:1001;pointer-events:auto}.app-header .brand{left:clamp(16px,4vw,44px)}.app-header .tab-nav{left:50%;transform:translateX(-50%)}.app-header .header-actions{right:clamp(16px,4vw,44px)}}.brand{display:inline-flex;align-items:center;gap:10px;justify-self:start}.brand-mark{display:grid;width:34px;height:34px;place-items:center;border-radius:8px;background:var(--text);color:#fff;font-weight:800}.brand-copy small,.brand-copy strong{display:block}.brand-copy strong{font-size:15px}.brand-copy small{color:var(--muted);font-size:11px}.tab-nav{gap:4px;padding:4px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.tab-nav,.tab-nav a{display:inline-flex;align-items:center}.tab-nav a{justify-content:center;gap:7px;min-width:90px;min-height:36px;padding:0 14px;border-radius:8px;color:var(--muted-strong);font-size:14px}.tab-nav a.active{background:var(--text);color:#fff}.header-actions{justify-content:flex-end;justify-self:end}.assistant-header-actions,.header-actions,.header-actions-slot{display:inline-flex;align-items:center;gap:8px;min-width:0}.header-action-button,.header-icon{position:relative;display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text)}.header-action-button:focus-visible,.header-action-button:hover,.header-icon:focus-visible,.header-icon:hover{border-color:rgba(17,17,17,.26);background:#fff}.header-action-badge{position:absolute;right:-5px;top:-5px;border:2px solid var(--surface);font-size:10px}.app-main{min-height:calc(100vh - 64px);max-width:100%;overflow-x:hidden}.bottom-tabs{position:fixed;right:12px;bottom:12px;left:12px;z-index:35;display:none;grid-template-columns:repeat(3,1fr);overflow:hidden;border:1px solid var(--border);border-radius:12px;background:rgba(255,255,255,.96);box-shadow:var(--shadow)}.bottom-tabs a{display:grid;min-height:58px;place-items:center;grid-gap:3px;gap:3px;color:var(--muted);font-size:12px}.bottom-tabs a.active{color:var(--text);font-weight:700}.api-error-toast{position:fixed;right:auto;left:50%;bottom:calc(var(--chat-bottom-space, 0px) + max(22px, env(safe-area-inset-bottom)));z-index:1305;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:12px;gap:12px;width:min(560px,calc(100vw - 32px));padding:14px 14px 14px 15px;border:1px solid rgba(180,35,24,.22);border-radius:10px;background:rgba(255,250,248,.98);color:var(--danger);box-shadow:0 18px 48px rgba(20,20,20,.18);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transform:translateX(-50%)}.api-error-toast-copy{display:grid;min-width:0;grid-gap:3px;gap:3px}.api-error-toast-copy strong{color:var(--text);font-size:14px}.api-error-toast-copy span{color:var(--muted-strong);font-size:13px;line-height:1.45}.api-error-toast-actions{display:flex;align-items:center;gap:8px}.api-error-toast-actions a{display:inline-flex;min-height:34px;align-items:center;justify-content:center;white-space:nowrap;border-radius:999px;padding:0 12px;background:var(--text);color:#fff;font-size:12px;font-weight:800}.api-error-toast-actions button{display:inline-grid;width:34px;height:34px;place-items:center;border:1px solid var(--border);border-radius:999px;background:#fff;color:var(--muted-strong)}.api-status{position:-webkit-sticky;position:sticky;top:64px;z-index:25;border-bottom:1px solid var(--border-soft);background:rgba(247,247,245,.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.api-status-main{display:flex;width:min(980px,calc(100% - 32px));min-height:36px;align-items:center;gap:9px;margin:0 auto;border:0;background:transparent;color:var(--muted);text-align:left}.api-status-main span{color:var(--text);font-size:13px;font-weight:700}.api-status-main em{overflow:hidden;flex:1 1;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-style:normal}.api-config-panel{display:grid;width:min(980px,calc(100% - 32px));grid-gap:12px;gap:12px;margin:0 auto 12px;padding:14px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.api-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.api-panel-heading span,.api-panel-heading strong{display:block}.api-panel-heading span{margin-top:3px;color:var(--muted);font-size:12px}.config-grid,.form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:12px;gap:12px;align-items:end}.ask-panel label,.config-grid label,.drawer-form,.form-grid label{display:grid;grid-gap:7px;gap:7px;color:var(--muted);font-size:12px;font-weight:700}.config-grid label.wide,.form-grid label.wide{grid-column:span 2}input,select,textarea{width:100%;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-size:16px;outline:0;padding:10px 12px}textarea{resize:vertical;line-height:1.6}.ghost-button,.icon-button,.primary-button,.secondary-button,.send-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:8px;white-space:nowrap}.ghost-button,.primary-button,.secondary-button{min-height:40px;padding:0 14px;border:0}.primary-button{background:var(--text);color:#fff}.secondary-button{border:1px solid var(--border);background:var(--surface);color:var(--text)}.ghost-button{background:transparent;color:var(--muted)}.icon-button,.send-button{width:38px;height:38px;border:1px solid var(--border);background:var(--surface);color:var(--text)}.icon-button.recording{border-color:rgba(190,45,35,.36);background:#fff1ef;color:var(--danger)}.send-button{border-color:var(--text);background:var(--text);color:#fff}.danger-text,.icon-button.danger{color:var(--danger)}.button-badge{display:inline-grid;min-width:18px;height:18px;place-items:center;border-radius:999px;background:var(--text);color:#fff;font-size:11px}.api-last,.empty-state,.surface-alert{border-radius:8px;padding:11px 13px}.api-last{display:flex;flex-wrap:wrap;gap:8px;align-items:center;background:var(--surface-soft);color:var(--muted);font-size:13px}.api-last.success strong{color:var(--success)}.api-last.error strong,.surface-alert.error{color:var(--danger)}.empty-state,.surface-alert{width:min(760px,calc(100% - 32px));margin:12px auto;border:1px solid var(--border);background:var(--surface);color:var(--muted-strong);line-height:1.55}.surface-alert.error{border-color:rgba(180,35,24,.28);background:#fff7f6}.surface-alert.subtle{background:var(--surface-soft);color:var(--muted);font-size:13px}.empty-state{display:flex;align-items:center;gap:9px;border-style:dashed}.chat-page{min-height:calc(100vh - 101px);max-width:100%;overflow-x:hidden;padding-bottom:var(--chat-bottom-space,190px)}.chat-top,.page-heading{display:flex;width:min(980px,calc(100% - 32px));align-items:center;justify-content:space-between;gap:16px;margin:0 auto;padding:18px 0 10px}.chat-top{position:-webkit-sticky;position:sticky;top:64px;z-index:40;background:rgba(247,247,245,.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.chat-top h1,.page-heading h1{margin:0;font-size:22px;line-height:1.2}.chat-top p,.page-heading p{margin:5px 0 0;color:var(--muted);font-size:13px}.chat-top-actions,.composer-tools,.inline-actions,.page-actions{display:flex;align-items:center;gap:8px}.chat-thread{width:min(920px,calc(100% - 32px));min-height:calc(100vh - 250px);margin:0 auto;padding:18px 0 0;scroll-padding-bottom:var(--chat-bottom-space,190px)}.chat-thread-bottom-spacer{height:var(--chat-bottom-space,190px);scroll-margin-bottom:var(--chat-bottom-space,190px)}.chat-empty{display:grid;min-height:44vh;place-content:center;text-align:center}.chat-empty h2{margin:0;font-size:clamp(26px,5vw,42px);font-weight:650}.chat-empty p{max-width:440px;margin:12px auto 0;color:var(--muted);line-height:1.65}.chat-message{display:flex;margin:22px 0}.chat-message.latest-assistant{scroll-margin-bottom:calc(var(--chat-bottom-space, 190px) + 16px)}.chat-message.user{justify-content:flex-end}.message-bubble{max-width:min(100%,720px);color:var(--text);line-height:1.72}.chat-message.user .message-bubble{max-width:min(82%,620px);padding:12px;border:1px solid #e7e7e3;border-radius:8px;background:#fff}.chat-message.assistant .message-bubble{width:min(100%,760px);padding:2px 0}.auth-loading,.login-page{display:grid;min-height:100vh;place-items:center;padding:24px 16px;background:var(--bg)}.auth-loading{min-height:calc(100vh - 101px);gap:10px;color:var(--muted)}.login-shell{display:grid;width:min(440px,100%);grid-gap:18px;gap:18px;padding:22px;border:1px solid var(--border);border-radius:10px;background:var(--surface);box-shadow:var(--shadow)}.login-brand{justify-self:start}.login-heading h1{margin:0;font-size:26px;line-height:1.2}.login-heading p{margin:8px 0 0;color:var(--muted);line-height:1.6}.login-mode-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:6px;gap:6px;padding:4px;border:1px solid var(--border);border-radius:10px;background:var(--surface-soft)}.login-mode-tabs button{display:grid;min-height:52px;place-items:center;grid-gap:4px;gap:4px;border:0;border-radius:8px;background:transparent;color:var(--muted-strong);font-size:12px}.login-mode-tabs button.selected{background:var(--text);color:#fff}.login-advanced-panel,.login-form{display:grid;grid-gap:12px;gap:12px}.login-advanced-panel label,.login-form label{display:grid;grid-gap:7px;gap:7px;color:var(--muted);font-size:12px;font-weight:700}.login-mode-copy{display:grid;grid-gap:4px;gap:4px;padding:12px;border:1px solid var(--border-soft);border-radius:8px;background:var(--surface-soft)}.login-mode-copy span{color:var(--muted);font-size:13px;line-height:1.5}.field-error{color:var(--danger);font-size:12px;font-weight:700;line-height:1.35}input[aria-invalid=true]{border-color:rgba(180,35,24,.56);background:#fff7f6}.code-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:8px;gap:8px}.password-row{position:relative;display:grid}.password-row input{padding-right:44px}.password-toggle{position:absolute;top:50%;right:8px;display:grid;width:32px;height:32px;place-items:center;border:0;border-radius:999px;background:transparent;color:var(--muted);cursor:pointer}.password-toggle:focus-visible,.password-toggle:hover{background:var(--surface-soft);color:var(--text);outline:none}.login-submit{width:100%}.login-advanced{display:grid;grid-gap:10px;gap:10px;padding-top:4px;border-top:1px solid var(--border-soft)}.login-links{display:flex;flex-wrap:wrap;gap:12px;color:var(--muted);font-size:12px}.message-bubble p{margin:0;white-space:pre-wrap}.user-message-text{display:block;white-space:pre-wrap}.inline-confirm{display:grid;grid-gap:12px;gap:12px;margin-top:12px;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.delete-candidate-list{display:grid;grid-gap:8px;gap:8px}.delete-candidate-item{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:center;padding:10px;border:1px solid var(--border-soft);border-radius:8px;background:var(--surface-soft)}.delete-candidate-item div{display:grid;grid-gap:3px;gap:3px;min-width:0}.delete-candidate-item small,.delete-candidate-item strong{overflow:hidden;text-overflow:ellipsis}.inline-confirm small,.inline-confirm span,.inline-confirm strong{display:block}.inline-confirm span{margin-top:3px;color:var(--text);font-weight:700}.inline-confirm small{margin-top:4px;color:var(--muted);line-height:1.55}.danger-confirm{border-color:rgba(190,45,35,.28);background:#fff7f6}.danger-button{border-color:var(--danger)!important;background:var(--danger)!important;color:#fff!important}.source-list,.tag-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}.source-list a,.tag-row span,.type-pill{display:inline-flex;align-items:center;min-height:26px;border-radius:999px;background:var(--surface-soft);color:var(--muted-strong);font-size:12px}.source-list a,.tag-row span{padding:0 9px;border:1px solid var(--border-soft)}.quoted-message{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;grid-gap:7px;gap:7px;margin-bottom:8px;padding:8px 10px;border-left:3px solid var(--border);border-radius:6px;background:var(--surface-soft);color:var(--muted-strong);font-size:12px;line-height:1.45}.quoted-message span{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3}.reply-tools{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.reply-tools button{display:inline-flex;min-height:28px;align-items:center;gap:5px;padding:0 9px;border:1px solid var(--border-soft);border-radius:999px;background:transparent;color:var(--muted-strong);cursor:pointer;font-size:12px}.reply-tools button:hover{border-color:var(--border);color:var(--text);background:var(--surface-soft)}.tag-row button{min-height:26px;padding:0 9px;border:1px solid var(--border-soft);border-radius:999px;background:var(--surface-soft);color:var(--muted-strong);font-size:12px}.type-pill{padding:0 10px;border:1px solid var(--border);font-weight:700}.type-pill.file{border-color:rgba(22,119,75,.24);background:rgba(22,119,75,.08);color:var(--success)}.chat-composer-shell{position:fixed;right:0;bottom:0;left:0;z-index:40;display:grid;justify-items:center;grid-gap:6px;gap:6px;width:100%;padding:18px 16px 22px;background:linear-gradient(0deg,rgba(247,247,245,.98) 72%,rgba(247,247,245,0));pointer-events:none}.chat-composer{display:grid;grid-template-columns:1fr;width:min(920px,100%);max-width:calc(100vw - 32px);grid-gap:8px;gap:8px;padding:10px;border:1px solid #d9d9d5;border-radius:18px;background:var(--surface);box-shadow:0 14px 36px rgba(18,18,16,.1);pointer-events:auto}.composer-body{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;grid-gap:8px;gap:8px;padding-right:42px}.composer-input-row{display:block;min-width:0}.composer-quote{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;grid-gap:8px;gap:8px;padding:8px 10px;border:1px solid var(--border-soft);border-radius:8px;background:var(--surface-soft);color:var(--muted-strong);font-size:12px}.composer-quote span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-quote button{display:grid;width:24px;height:24px;place-items:center;border:0;border-radius:999px;background:transparent;color:var(--muted);cursor:pointer}.chat-jump-tools{position:fixed;right:max(24px,calc((100vw - 920px) / 2 + 24px));bottom:calc(var(--chat-bottom-space, 190px) + 12px);z-index:35;display:inline-grid;grid-template-columns:28px;overflow:hidden;border:1px solid var(--border-soft);border-radius:999px;background:var(--surface);box-shadow:0 10px 26px rgba(15,15,15,.08)}.chat-jump-tools button{display:grid;width:28px;height:30px;place-items:center;border:0;background:transparent;color:var(--muted-strong);cursor:pointer}.chat-jump-tools button+button{border-top:1px solid var(--border-soft)}.chat-jump-tools button:hover{background:var(--surface-soft);color:var(--text)}.chat-composer textarea{width:100%;max-height:180px;min-height:48px;border:0;padding:12px 10px;background:transparent;resize:none}.composer-attachments{display:flex;max-width:100%;gap:8px;overflow-x:auto;padding:2px 2px 4px}.composer-attachment{position:relative;display:grid;width:min(280px,76vw);min-width:220px;grid-template-columns:46px minmax(0,1fr);align-items:center;grid-gap:10px;gap:10px;padding:8px 34px 8px 8px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.composer-attachment.failed{border-color:rgba(190,45,35,.28);background:#fff7f6}.attachment-preview{position:relative;display:grid;width:46px;height:46px;place-items:center;overflow:hidden;border-radius:8px;background:#111;color:#fff}.attachment-preview img{width:100%;height:100%;object-fit:cover}.attachment-error,.attachment-loading,.attachment-ready{position:absolute;right:3px;bottom:3px;display:grid;width:21px;height:21px;place-items:center;border:2px solid var(--surface);border-radius:999px;background:#fff;color:var(--text)}.attachment-progress{position:absolute;inset:4px;display:grid;place-items:center;border-radius:7px;background:rgba(17,17,17,.44);color:#fff}.attachment-progress svg{width:40px;height:40px;transform:rotate(-90deg)}.attachment-progress-track,.attachment-progress-value{fill:none;stroke-width:3.2}.attachment-progress-track{stroke:rgba(255,255,255,.28)}.attachment-progress-value{stroke:#fff;stroke-linecap:round;transition:stroke-dashoffset .16s ease}.attachment-progress span{position:absolute;font-size:10px;font-weight:800;line-height:1}.attachment-ready{background:var(--success);color:#fff}.attachment-error{background:var(--danger);color:#fff}.attachment-meta{display:grid;min-width:0;grid-gap:1px;gap:1px}.attachment-meta small,.attachment-meta span,.attachment-meta strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-meta strong{font-size:14px;line-height:1.25}.attachment-meta span{color:var(--muted-strong);font-size:12px}.attachment-meta small{color:var(--muted);font-size:11px}.composer-attachment.failed .attachment-meta small{color:var(--danger)}.attachment-remove{position:absolute;top:5px;right:5px;display:grid;width:22px;height:22px;place-items:center;border:0;border-radius:999px;background:#111;color:#fff;cursor:pointer}.composer-hint{display:block;width:min(920px,100%);max-width:calc(100vw - 32px);color:var(--muted);pointer-events:auto}.composer-hint.error{color:var(--danger);font-weight:700}.message-attachments{display:grid;grid-gap:10px;gap:10px}.moment-record{display:grid;grid-gap:8px;gap:8px;min-width:0}.moment-record.compact{gap:8px}.moment-text-wrap{display:grid;grid-gap:3px;gap:3px;min-width:0}.moment-text{margin:0;color:var(--text);font-size:15px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.moment-text.collapsed{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:5}.moment-expand{justify-self:start;padding:0;border:0;background:transparent;color:#576b95;font-size:14px;font-weight:700}.moment-media-grid{display:grid;--moment-cell:clamp(82px,22vw,112px);max-width:min(360px,100%);grid-gap:4px;gap:4px}.moment-media-grid.count-1{grid-template-columns:minmax(0,min(320px,100%))}.moment-media-grid.count-2{grid-template-columns:repeat(2,var(--moment-cell))}.moment-media-grid.count-3{grid-template-columns:repeat(3,var(--moment-cell))}.moment-media-grid.count-4{grid-template-columns:repeat(2,var(--moment-cell))}.moment-media-grid.count-5,.moment-media-grid.count-6,.moment-media-grid.count-7,.moment-media-grid.count-8,.moment-media-grid.count-9{grid-template-columns:repeat(3,var(--moment-cell))}.moment-media{position:relative;display:grid;aspect-ratio:1/1;place-items:center;overflow:hidden;padding:0;border:0;border-radius:2px;background:#f0f1f2;color:var(--muted-strong);cursor:pointer}.moment-media.image,.moment-media.video{background:#111}.moment-media-grid.count-1 .moment-media.image{display:block;width:min(320px,100%);max-height:360px;aspect-ratio:auto;background:transparent}.moment-media-grid.count-1 .moment-media.video{width:min(320px,100%);aspect-ratio:16/9}.moment-media img,.moment-media video{width:100%;height:100%;object-fit:cover}.moment-media-grid.count-1 .moment-media.image img{display:block;width:auto;max-width:100%;height:auto;max-height:360px;object-fit:cover}.moment-video-play{position:absolute;inset:0;display:grid;place-items:center;color:#fff;text-shadow:0 1px 10px rgba(0,0,0,.36)}.moment-video-play svg{filter:drop-shadow(0 1px 4px rgba(0,0,0,.3))}.moment-video-duration{position:absolute;right:4px;bottom:3px;padding:1px 4px;border-radius:2px;background:rgba(0,0,0,.55);color:#fff;font-size:11px;line-height:1.35}.moment-more-overlay{position:absolute;inset:0;display:grid;place-items:center;background:rgba(0,0,0,.42);color:#fff;font-size:22px;font-weight:800}.moment-media-empty{color:#fff}.moment-file-list{display:grid;grid-gap:6px;gap:6px;max-width:min(420px,100%)}.moment-file-row{display:grid;grid-template-columns:32px minmax(0,1fr);grid-gap:9px;gap:9px;align-items:center;width:100%;min-height:48px;padding:7px 8px;border:1px solid #ececea;border-radius:4px;background:#f7f7f5;color:var(--text);text-align:left}.moment-file-row:focus-visible,.moment-file-row:hover{border-color:#d8d8d2;background:#f1f1ee;outline:none}.moment-file-icon{display:grid;width:32px;height:32px;place-items:center;border:1px solid #deded8;border-radius:4px;background:#fff;color:var(--muted-strong)}.moment-file-copy{display:grid;min-width:0;grid-gap:1px;gap:1px}.moment-file-copy strong{overflow:hidden;font-size:14px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.moment-file-copy small,.moment-time{color:var(--muted);font-size:12px}.moment-time{justify-self:start;margin-top:1px;line-height:1.4}.memory-processing-tag{justify-self:start;padding:4px 9px;border-radius:999px;background:#fff7d8;color:#7a5500;font-size:12px;font-weight:800}.attachment-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:10px;gap:10px}.attachment-gallery.compact{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),320px))}.attachment-card{display:grid;grid-gap:8px;gap:8px;width:100%;max-width:100%;min-width:0;overflow:hidden;padding:8px;border:1px solid #deded9;border-radius:8px;background:var(--surface)}.attachment-card-main{display:grid;grid-template-columns:48px minmax(0,1fr);grid-gap:10px;gap:10px;align-items:center;width:100%;padding:0;border:0;background:transparent;color:var(--text);text-align:left;cursor:pointer}.attachment-card:hover{border-color:var(--accent)}.attachment-card-preview{display:grid;width:48px;height:48px;place-items:center;overflow:hidden;border-radius:10px;background:#f2f2ef;color:var(--muted-strong)}.attachment-card-preview img{width:100%;height:100%;object-fit:cover}.attachment-card-meta{display:grid;min-width:0;grid-gap:2px;gap:2px}.attachment-card-meta small,.attachment-card-meta span,.attachment-card-meta strong{overflow:hidden;text-overflow:ellipsis;overflow-wrap:anywhere}.attachment-card-meta strong{display:-webkit-box;font-size:14px;white-space:normal;-webkit-box-orient:vertical;-webkit-line-clamp:2}.attachment-card-meta small,.attachment-card-meta span{color:var(--muted);font-size:12px;white-space:nowrap}.attachment-card-actions{display:flex;flex-wrap:wrap;gap:6px}.attachment-card-actions a,.attachment-card-actions button{display:inline-flex;align-items:center;gap:4px;min-height:28px;padding:5px 8px;border:1px solid var(--border-soft);border-radius:8px;background:var(--surface-soft);color:var(--muted-strong);font-size:12px;cursor:pointer;white-space:nowrap}.attachment-card-actions button:disabled{cursor:wait;opacity:.7}.attachment-card-actions a:hover,.attachment-card-actions button:hover{border-color:var(--accent);color:var(--text)}.attachment-modal-backdrop{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:calc(env(safe-area-inset-top, 0px) + 16px) 16px calc(env(safe-area-inset-bottom, 0px) + 16px);background:rgba(17,17,17,.52)}.attachment-modal{display:grid;grid-template-rows:auto minmax(0,1fr) auto;width:min(960px,100%);max-height:min(86dvh,760px);overflow:hidden;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:0 24px 80px rgba(0,0,0,.26)}.attachment-modal-actions,.attachment-modal-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-bottom:1px solid var(--border-soft)}.attachment-modal-actions{justify-content:flex-start}.attachment-modal-top>div{display:grid;min-width:0;grid-gap:2px;gap:2px}.attachment-modal-top span,.attachment-modal-top strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-modal-top span{color:var(--muted);font-size:13px}.attachment-modal-body{position:relative;display:grid;min-height:280px;min-width:0;overflow:auto;background:var(--surface-soft)}.attachment-modal-content{display:grid;min-width:0;min-height:100%}.attachment-modal-nav{position:absolute;top:50%;z-index:3;display:grid;width:42px;height:56px;place-items:center;border:0;border-radius:8px;background:rgba(17,17,17,.52);color:#fff;transform:translateY(-50%)}.attachment-modal-nav.prev{left:12px}.attachment-modal-nav.next{right:12px}.attachment-modal-nav:focus-visible,.attachment-modal-nav:hover{background:rgba(17,17,17,.72)}.attachment-modal-frame,.attachment-modal-media{display:block;width:100%;height:100%;min-height:420px}.attachment-modal-media{object-fit:contain;background:#111}.attachment-modal-audio{width:min(520px,calc(100% - 32px));margin:auto}.attachment-modal-frame{border:0;background:#fff}.attachment-modal-placeholder{display:grid;place-items:center;align-content:center;grid-gap:10px;gap:10px;min-height:320px;padding:28px;color:var(--muted);text-align:center}.attachment-mobile-open-note{flex:1 1 100%;color:var(--muted);font-size:12px;line-height:1.5}.attachment-modal-placeholder svg{width:44px;height:44px;color:var(--muted-strong)}.attachment-modal-placeholder strong{color:var(--text)}.attachment-modal-actions{justify-content:flex-end;border-top:1px solid var(--border-soft);border-bottom:0}.pdf-preview{display:grid;grid-gap:16px;gap:16px;justify-items:center;width:100%;min-height:420px;padding:18px;overflow:auto;background:#ececea}.pdf-preview-page{width:min(100%,820px);overflow:auto;border:1px solid #d9d9d4;border-radius:4px;background:#fff;box-shadow:0 8px 28px rgba(0,0,0,.08)}.pdf-preview-page canvas{display:block;width:100%;height:auto}.pdf-preview-state{display:flex;min-height:320px;align-items:center;justify-content:center;gap:8px;padding:24px;color:var(--muted);text-align:center}.pdf-preview-state.error{display:grid}.pdf-preview-state.error strong{color:var(--text)}.pdf-preview-more{color:var(--muted);font-size:13px}.spreadsheet-preview{display:grid;grid-template-rows:auto minmax(0,1fr) auto;grid-gap:10px;gap:10px;width:100%;min-height:420px;padding:14px;overflow:hidden;background:#f4f4f1}.spreadsheet-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px}.spreadsheet-tabs button{min-height:34px;padding:0 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--muted-strong);font:inherit;font-size:13px;white-space:nowrap;cursor:pointer}.spreadsheet-tabs button.active{border-color:#111;background:#111;color:#fff}.spreadsheet-table-wrap{min-height:0;overflow:auto;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.spreadsheet-table{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:13px}.spreadsheet-table td,.spreadsheet-table th{min-width:120px;max-width:240px;height:34px;padding:7px 10px;overflow:hidden;border-right:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);text-align:left;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.spreadsheet-table thead th{top:0;z-index:2}.spreadsheet-table .row-index,.spreadsheet-table thead th{position:-webkit-sticky;position:sticky;background:#eeeeeb;color:var(--muted);font-weight:700}.spreadsheet-table .row-index{left:0;z-index:1;min-width:52px;max-width:52px;text-align:center}.spreadsheet-table thead .row-index{z-index:3}.spreadsheet-meta{display:flex;flex-wrap:wrap;gap:8px 14px;color:var(--muted);font-size:13px}.spreadsheet-meta strong{color:#8a5a00;font-weight:700}.spreadsheet-preview-state{display:grid;place-items:center;align-content:center;grid-gap:10px;gap:10px;min-height:360px;padding:28px;background:var(--surface-soft);color:var(--muted);text-align:center}.spreadsheet-preview-state strong{color:var(--text)}.spreadsheet-preview-state.error{color:#9f2f2f}.attachment-modal-body .pdf-preview,.attachment-modal-body .spreadsheet-preview{min-height:0;height:100%}.attachment-modal-body .pdf-preview-state,.attachment-modal-body .spreadsheet-preview-state{min-height:220px}.reminder-page{position:relative;width:min(1180px,calc(100% - 32px));margin:0 auto;padding:18px 0 96px}.reminder-hero{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;padding:8px 0 18px}.reminder-hero .back-link{gap:4px;margin:0 0 14px}.reminder-title-row{display:flex;align-items:center;gap:12px}.reminder-title-icon{display:grid;width:44px;height:44px;place-items:center;border:1px solid rgba(22,119,75,.18);border-radius:8px;background:#edf7f0;color:var(--success)}.reminder-title-row h1{margin:0;font-size:clamp(28px,4vw,40px);letter-spacing:0}.reminder-title-row p{margin:6px 0 0;color:var(--muted)}.reminder-hero-actions{display:flex;align-items:center;gap:10px}.reminder-search{display:inline-flex;align-items:center;gap:8px;min-width:210px;height:40px;padding:0 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--muted)}.reminder-search input{padding:0;border:0;background:transparent;font-size:14px}.reminder-green-button{border-color:#16774b;background:#16774b;color:#fff}.reminder-calendar-shell,.reminder-detail-shell{border:1px solid var(--border);border-radius:8px;background:rgba(255,255,255,.86);box-shadow:0 14px 34px rgba(33,45,38,.05)}.reminder-calendar-shell{overflow:hidden}.reminder-calendar-toolbar,.reminder-detail-heading,.reminder-form-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.reminder-calendar-toolbar{padding:14px;border-bottom:1px solid var(--border-soft)}.reminder-month-controls{display:flex;align-items:center;gap:8px}.reminder-month-controls strong{min-width:112px;font-size:16px}.reminder-calendar-grid,.reminder-weekdays{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.reminder-weekdays{border-bottom:1px solid var(--border-soft);background:#fbfbf8;color:var(--muted-strong);font-size:13px;font-weight:700}.reminder-weekdays span{padding:10px 12px;text-align:center}.reminder-calendar-grid{background:var(--border-soft);gap:1px}.reminder-day{display:grid;grid-template-rows:auto 1fr;grid-gap:8px;gap:8px;min-width:0;min-height:106px;padding:12px 10px;border:0;border-radius:0;background:#fff;color:var(--text);text-align:left}.reminder-day:hover{background:#fbfdf9}.reminder-day.muted{background:#fafaf8;color:#b0b0ac}.reminder-day.selected{background:#eef8f1;box-shadow:inset 0 0 0 1px rgba(22,119,75,.25)}.reminder-day-number{display:flex;align-items:center;justify-content:space-between;gap:6px;font-weight:800}.reminder-day-number em{display:inline-grid;min-width:20px;height:20px;place-items:center;border-radius:999px;background:#16774b;color:#fff;font-size:11px;font-style:normal}.reminder-day-items{display:grid;align-content:start;grid-gap:5px;gap:5px;min-width:0}.reminder-day-chip{display:flex;align-items:center;min-width:0;gap:5px;overflow:hidden;color:var(--muted-strong);font-size:12px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.reminder-day-chip i,.reminder-time-dot i{flex:0 0 auto;width:6px;height:6px;border-radius:999px;background:#16774b}.reminder-agenda-item:nth-child(2n) .reminder-time-dot i,.reminder-day-chip:nth-child(2n) i{background:#e88921}.reminder-day-chip.done{color:#9a9a94;text-decoration:line-through}.reminder-day-more{color:var(--muted);font-size:12px;font-weight:700}.reminder-detail-shell{display:grid;grid-gap:14px;gap:14px;margin-top:14px;padding:16px}.reminder-detail-heading h2{margin:0;font-size:22px}.reminder-detail-heading p{margin:6px 0 0;color:var(--muted);font-size:14px}.reminder-form-panel{display:grid;grid-gap:14px;gap:14px;padding:14px;border:1px solid rgba(22,119,75,.18);border-radius:8px;background:#fbfdf9}.reminder-form-grid{display:grid;grid-template-columns:minmax(0,1fr) 220px;grid-gap:12px;gap:12px}.reminder-form-grid label{display:grid;grid-gap:6px;gap:6px;color:var(--muted-strong);font-size:13px;font-weight:700}.reminder-form-grid label.wide{grid-column:1/-1}.reminder-agenda{display:grid;grid-gap:10px;gap:10px}.reminder-agenda-item{display:grid;grid-template-columns:96px minmax(0,1fr) auto;align-items:center;grid-gap:14px;gap:14px;min-height:78px;padding:12px 14px;border:1px solid var(--border-soft);border-radius:8px;background:var(--surface)}.reminder-agenda-item.done{background:#fcfcfb}.reminder-time-dot{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:800}.reminder-agenda-main{display:flex;align-items:center;justify-content:space-between;min-width:0;gap:12px}.reminder-agenda-main h3{margin:0;overflow:hidden;font-size:16px;text-overflow:ellipsis;white-space:nowrap}.reminder-agenda-main p{margin:5px 0 0;color:var(--muted);font-size:13px;line-height:1.45}.reminder-status-pill{flex:0 0 auto;padding:5px 10px;border:1px solid var(--border);border-radius:999px;background:#f7f7f5;color:var(--muted-strong);font-size:12px;font-weight:700}.reminder-status-pill.done{border-color:rgba(22,119,75,.2);background:#edf7f0;color:var(--success)}.reminder-status-pill.snoozed{border-color:rgba(232,137,33,.28);background:#fff6e8;color:#b7650c}.reminder-row-actions{display:flex;align-items:center;gap:8px}.reminder-edit-panel{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr) 220px;grid-gap:10px;gap:10px}.reminder-edit-panel .inline-actions,.reminder-edit-panel textarea{grid-column:1/-1}.reminder-empty{display:grid;justify-items:center;grid-gap:8px;gap:8px;padding:38px 16px;color:var(--muted);text-align:center}.reminder-empty strong{color:var(--text)}.reminder-mobile-create{display:none}.reminder-floating-summary{position:fixed;right:20px;bottom:20px;z-index:5;display:none;min-width:58px;padding:8px;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:var(--shadow);text-align:center}.reminder-floating-summary small,.reminder-floating-summary span{display:block}.reminder-floating-summary span{font-size:18px;font-weight:800}.reminder-floating-summary small{color:var(--muted);font-size:11px}.detail-page,.legal-layout,.memory-page,.settings-page{width:min(980px,calc(100% - 32px));margin:0 auto;padding:8px 0 72px}.memory-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:center;margin:12px 0 14px}.memory-heading-title{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.memory-quota{display:inline-flex;min-height:28px;align-items:center;padding:0 10px;border:1px solid var(--border-soft);border-radius:999px;background:var(--surface);color:var(--muted-strong);font-size:13px;font-weight:800}.filter-row{display:grid;grid-template-columns:repeat(3,minmax(0,180px));grid-gap:10px;gap:10px;margin:0 0 14px}.search-input{display:flex;align-items:center;gap:9px;min-height:42px;padding:0 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.search-input input{border:0;padding-inline:0}.ask-panel,.create-panel,.edit-panel,.settings-section{display:grid;grid-gap:14px;gap:14px;margin:14px 0;padding:16px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.memory-create-composer{display:grid;grid-gap:10px;gap:10px}.memory-create-composer textarea{width:100%;min-height:96px;resize:vertical}.memory-attachment-editor{display:grid;grid-gap:10px;gap:10px;color:var(--text)}.attachment-edit-row,.attachment-editor-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.attachment-editor-head span{font-weight:700}.attachment-editor-head small,.attachment-editor-head span{color:var(--muted);font-size:12px}.attachment-edit-list{display:grid;grid-gap:6px;gap:6px}.attachment-edit-row{min-height:34px;padding:6px 8px;border:1px solid var(--border-soft);border-radius:6px;background:var(--surface-soft)}.attachment-edit-row span{min-width:0;overflow:hidden;font-size:13px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.memory-create-attachments{display:flex;gap:8px;overflow-x:auto;padding:2px}.memory-create-attachment{position:relative;display:grid;min-width:132px;grid-template-columns:42px minmax(0,1fr);align-items:center;grid-gap:8px;gap:8px;padding:8px 30px 8px 8px;border:1px solid var(--border-soft);border-radius:8px;background:var(--surface-soft)}.memory-create-attachment strong{overflow:hidden;font-size:13px;text-overflow:ellipsis;white-space:nowrap}.memory-create-tools{justify-content:flex-end}.attachment-progress.simple{position:absolute;inset:4px;display:grid;place-items:center;border-radius:7px;background:rgba(17,17,17,.58);color:#fff;font-size:11px;font-weight:800}.memory-list{width:100%;grid-gap:0;gap:0;margin:12px 0 0;border-top:1px solid var(--border-soft);z-index:1}.file-section,.memory-list{display:grid;position:relative}.file-section{grid-gap:12px;gap:12px;margin-top:22px;padding-top:18px;border-top:1px solid var(--border);z-index:2}.file-list{display:grid;grid-gap:10px;gap:10px}.file-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:12px;gap:12px;align-items:center;padding:14px;border:1px solid var(--border);border-radius:8px;background:var(--surface);position:relative;z-index:1;overflow:hidden}.file-row .inline-actions{position:relative;z-index:2;flex-wrap:wrap;justify-content:flex-end}.file-row span,.file-row strong{display:block;min-width:0;overflow:hidden;overflow-wrap:anywhere;text-overflow:ellipsis}.file-row strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.file-row span{margin-top:4px;color:var(--muted);font-size:13px}.file-row p{display:-webkit-box;overflow:hidden;margin:8px 0 0;color:var(--muted-strong);line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:2}.memory-row{position:relative;display:grid;grid-template-columns:minmax(0,680px) 34px;justify-content:center;grid-column-gap:18px;column-gap:18px;align-items:start;padding:16px 0 46px;border:0;border-bottom:1px solid var(--border-soft);border-radius:0;background:var(--surface);overflow:visible}.memory-row.highlighted{background:rgba(17,17,17,.025);box-shadow:inset 2px 0 0 var(--accent)}.memory-row-main{display:grid;grid-gap:10px;gap:10px;min-width:0;padding-right:0}.memory-row-content{display:grid;min-width:0;grid-gap:8px;gap:8px}.memory-row h2{display:-webkit-box;overflow:hidden;margin:0;font-size:16px;line-height:1.45;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}.memory-card-summary{display:grid;grid-gap:6px;gap:6px;padding:10px 0 0;border-top:1px solid var(--border-soft)}.memory-card-summary p{margin:0}.memory-card-summary p span{margin-right:8px;color:var(--muted);font-size:12px}.memory-card-summary.expanded p{display:block;overflow:visible;-webkit-line-clamp:unset}.memory-card-summary button{justify-self:start;min-height:30px;padding:0 10px;border:1px solid var(--border-soft);border-radius:999px;background:var(--surface-soft);color:var(--text);font-size:12px;font-weight:700}.memory-row small{color:var(--muted)}.memory-row.with-attachments{align-items:start}.memory-row-footer{position:absolute;top:8px;right:0;gap:10px;align-items:center;z-index:2}.memory-row-actions,.memory-row-footer{display:flex;flex-wrap:wrap;justify-content:flex-end}.memory-row-actions{gap:8px}.memory-row-actions .icon-button{width:34px;min-width:34px;height:34px;border-color:transparent;background:transparent;color:var(--muted)}.memory-row-actions .icon-button:focus-visible,.memory-row-actions .icon-button:hover{border-color:var(--border-soft);background:var(--surface-soft);color:var(--text)}.memory-row-delete-action,.memory-row-edit-action{position:absolute;right:0;z-index:2;display:flex}.memory-row-edit-action{top:8px}.memory-row-delete-action{bottom:8px}.memory-row-delete-action .icon-button,.memory-row-edit-action .icon-button{width:34px;min-width:34px;height:34px;border-color:transparent;background:transparent;color:var(--muted)}.memory-row-edit-action .icon-button:focus-visible,.memory-row-edit-action .icon-button:hover{border-color:var(--border-soft);background:var(--surface-soft);color:var(--text)}.memory-delete-button{color:var(--danger)!important}.memory-delete-button:focus-visible,.memory-delete-button:hover{border-color:rgba(180,35,24,.28)!important;background:#fff1ef!important;color:var(--danger)!important}.memory-inline-edit{display:grid;grid-gap:10px;gap:10px}.memory-inline-edit textarea{width:100%;min-height:96px;padding:12px 13px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font:inherit;line-height:1.6;resize:vertical}.memory-inline-edit textarea:focus{border-color:rgba(17,17,17,.36);outline:none;box-shadow:0 0 0 3px rgba(17,17,17,.08)}.memory-inline-edit-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.memory-inline-edit-actions .primary-button,.memory-inline-edit-actions .secondary-button{min-height:38px;padding:0 14px}.memory-card-chips{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.memory-card-chips span{display:inline-flex;align-items:center;min-height:26px;max-width:100%;padding:4px 9px;overflow:hidden;border:1px solid var(--border-soft);border-radius:999px;background:var(--surface-soft);color:var(--muted-strong);font-size:12px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.memory-card-chips span.file{border-color:#bfe1d3;background:#edf8f4;color:#16724e}.memory-card-meta{overflow-wrap:anywhere}.settings-page{max-width:860px}.account-summary{display:grid;grid-template-columns:1.2fr 1fr 1.2fr;grid-gap:12px;gap:12px;margin:14px 0;padding:16px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.account-summary>div{display:grid;grid-gap:4px;gap:4px;min-width:0}.account-summary strong{overflow:hidden;color:var(--text);font-size:18px;text-overflow:ellipsis;white-space:nowrap}.account-summary small,.summary-label{color:var(--muted);font-size:12px}.summary-label{font-weight:800}.summary-usage{grid-template-columns:repeat(3,minmax(0,1fr))}.summary-usage span{display:grid;grid-gap:2px;gap:2px;padding:8px 10px;border:1px solid var(--border-soft);border-radius:8px;background:var(--surface-soft)}.summary-usage span strong{font-size:17px}.settings-section-title h2{margin:0;font-size:18px}.settings-section-title p{margin:5px 0 0;color:var(--muted);font-size:13px}.security-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:12px;gap:12px;align-items:start}.security-actions{display:grid;grid-gap:8px;gap:8px}.security-panel{display:grid;grid-gap:12px;gap:12px;min-width:0;padding:14px;border:1px solid var(--border-soft);border-radius:8px;background:var(--surface-soft)}.security-panel-title{display:flex;align-items:center;gap:8px}.security-panel label{display:grid;grid-gap:7px;gap:7px;color:var(--muted);font-size:12px;font-weight:700}.segmented-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:8px;gap:8px}.segmented-grid button{display:grid;grid-gap:5px;gap:5px;min-height:78px;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-soft);color:var(--text);text-align:left}.segmented-grid button.selected{border-color:var(--text);background:var(--text);color:#fff}.segmented-grid span{color:inherit;font-size:12px;line-height:1.45;opacity:.72}.subscription-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;border:1px solid var(--border-soft);border-radius:8px;background:var(--surface-soft)}.subscription-row h3{margin:8px 0 4px}.subscription-row p{margin:0;color:var(--muted)}.subscription-current{align-items:stretch}.billing-toggle{display:inline-grid;grid-template-columns:repeat(2,minmax(88px,1fr));gap:4px;align-self:center;padding:4px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}.billing-toggle button{display:grid;min-height:42px;place-items:center;grid-gap:2px;gap:2px;border:0;border-radius:8px;background:transparent;color:var(--muted-strong)}.billing-toggle button.selected{background:var(--text);color:#fff}.billing-toggle span{font-size:11px;font-weight:700;opacity:.78}.plan-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.plan-card,.plan-grid{display:grid;grid-gap:12px;gap:12px}.plan-card{align-content:start;min-width:0;padding:14px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.plan-card.current{border-color:var(--text);box-shadow:0 10px 24px rgba(17,17,17,.08)}.plan-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.plan-card-top h3{margin:12px 0 4px;font-size:24px;line-height:1.15}.plan-card-top p,.plan-saving{color:var(--muted);line-height:1.45}.plan-card-top p{margin:0;font-size:13px}.plan-saving{display:block;min-height:18px;font-size:12px;font-weight:700}.recommend-pill{margin-left:5px;border-color:var(--text);background:var(--text);color:#fff}.plan-feature-list{display:grid;grid-gap:8px;gap:8px;padding:0;margin:0;list-style:none}.plan-feature-list li{display:grid;grid-gap:3px;gap:3px;padding-top:8px;border-top:1px solid var(--border-soft)}.plan-feature-list span,.plan-feature-list strong{display:block;min-width:0;overflow-wrap:anywhere}.plan-feature-list strong{font-size:13px;line-height:1.35}.plan-feature-list span{color:var(--muted);font-size:12px;line-height:1.45}.subscription-usage-panel{display:grid;grid-gap:12px;gap:12px;padding:14px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.subscription-usage-panel h3{margin:0;font-size:16px}.subscription-usage-panel p{margin:4px 0 0;color:var(--muted);font-size:13px;line-height:1.55}.usage-meter-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:10px;gap:10px}.usage-meter{display:grid;grid-gap:7px;gap:7px;min-width:0;padding:10px;border:1px solid var(--border-soft);border-radius:8px;background:var(--surface-soft)}.usage-meter>div{display:flex;justify-content:space-between;gap:10px}.usage-meter small,.usage-meter span,.usage-meter strong{min-width:0;overflow-wrap:anywhere}.usage-meter strong{font-size:13px}.usage-meter span{color:var(--text);font-size:13px;font-weight:800}.usage-meter small{color:var(--muted);font-size:12px;line-height:1.45}.usage-progress{width:100%;height:8px;overflow:hidden;border-radius:999px;background:var(--border-soft)}.usage-progress span{display:block;height:100%;min-width:2px;border-radius:inherit;transition:width .18s ease,background-color .18s ease}.usage-progress.good span{background:#108a2e}.usage-progress.warning span{background:#d89614}.usage-progress.danger span{background:#d92d20}.usage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:10px;gap:10px}.usage-grid div{padding:12px;border:1px solid var(--border-soft);border-radius:8px;background:var(--surface-soft)}.usage-grid span,.usage-grid strong{display:block}.usage-grid strong{font-size:22px}.usage-grid span{margin-top:2px;color:var(--muted);font-size:12px}.settings-list{display:grid;grid-gap:8px;gap:8px}.setting-panel{display:grid;grid-gap:14px;gap:14px;margin:-2px 0 8px;padding:14px;border:1px solid var(--border-soft);border-radius:8px;background:var(--surface-soft)}.form-note{color:var(--muted);font-size:12px}.settings-link{display:grid;grid-template-columns:24px 1fr 18px;align-items:center;grid-gap:10px;gap:10px;min-height:46px;padding:0 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);text-align:left}.settings-link.selected{border-color:var(--text);background:var(--surface)}.settings-link span{display:grid;min-width:0;grid-gap:2px;gap:2px}.settings-link strong{font-size:14px}.settings-link small{overflow:hidden;color:var(--muted);font-size:12px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.rotate-icon{transform:rotate(90deg)}button.settings-link{width:100%}.settings-confirm-backdrop{position:fixed;inset:0;z-index:1300;display:grid;place-items:center;padding:calc(env(safe-area-inset-top, 0px) + 18px) 18px calc(env(safe-area-inset-bottom, 0px) + 18px);background:rgba(17,17,17,.46)}.settings-confirm-dialog{display:grid;grid-gap:16px;gap:16px;width:min(430px,100%);padding:18px;border:1px solid var(--border);border-radius:8px;background:var(--surface);box-shadow:0 24px 70px rgba(0,0,0,.22)}.settings-confirm-header{display:grid;grid-template-columns:28px 1fr;grid-gap:10px;gap:10px;align-items:start}.settings-confirm-header svg{margin-top:2px;color:#b42318}.settings-confirm-header h3{margin:0 0 6px;font-size:18px;line-height:1.3}.settings-confirm-header p{margin:0;color:var(--muted);font-size:13px;line-height:1.7}.consent-confirm-header svg{color:var(--accent)}.consent-review-list{display:grid;grid-gap:10px;gap:10px;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-soft)}.consent-review-list div{display:grid;grid-template-columns:90px 1fr;grid-gap:10px;gap:10px;align-items:start;font-size:13px;line-height:1.6}.consent-review-list strong{color:var(--muted)}.consent-review-list span{min-width:0;overflow-wrap:anywhere;color:var(--text)}.settings-confirm-field{display:grid;grid-gap:8px;gap:8px;font-size:13px;font-weight:700}.settings-confirm-field input{width:100%;min-height:44px;padding:0 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-soft);color:var(--text);font:inherit}.settings-confirm-field input:focus{border-color:var(--accent);background:var(--surface);outline:none}.settings-confirm-actions{display:flex;justify-content:flex-end;gap:10px}.settings-confirm-actions .danger-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:0 14px;border:1px solid #d92d20!important;border-radius:8px;background:#d92d20!important;color:#fff!important;font:inherit;font-weight:800;white-space:nowrap;box-shadow:0 8px 18px rgba(217,45,32,.2)}.settings-confirm-actions .danger-button:focus-visible:not(:disabled),.settings-confirm-actions .danger-button:hover:not(:disabled){border-color:#b42318!important;background:#b42318!important;outline:none;transform:translateY(-1px)}.settings-confirm-actions .danger-button:disabled{border-color:#ef9a93!important;background:#ef9a93!important;color:rgba(255,255,255,.86)!important;box-shadow:none;cursor:not-allowed}.checkout-dialog .settings-confirm-header svg{color:var(--text)}.payment-method-list{display:grid;grid-gap:10px;gap:10px}.payment-method-list button{display:grid;grid-template-columns:24px 1fr 20px;grid-gap:10px;gap:10px;align-items:center;width:100%;min-height:62px;padding:10px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface-soft);color:var(--text);text-align:left}.payment-method-list button.selected{border-color:#111;background:#fff;box-shadow:inset 0 0 0 1px #111}.payment-method-list button>svg{color:var(--text)}.payment-method-list button>svg:last-child{color:#108a2e}.payment-method-list small,.payment-method-list strong{display:block}.payment-method-list small{margin-top:2px;color:var(--muted);font-size:12px;line-height:1.4}.payment-qr-dialog{width:min(420px,calc(100vw - 32px))}.payment-qr-panel{display:grid;justify-items:center;grid-gap:9px;gap:9px;padding:14px;border:1px solid var(--border-soft);border-radius:8px;background:var(--surface-soft);text-align:center}.payment-qr-panel img{display:block;width:220px;height:220px;max-width:100%;border:10px solid #fff;border-radius:8px;background:#fff;box-shadow:0 10px 24px rgba(17,17,17,.08)}.payment-qr-panel strong{margin-top:4px;font-size:16px}.payment-qr-panel small,.payment-qr-panel span{color:var(--muted);font-size:12px;line-height:1.5}.export-box{overflow:auto;max-height:360px;padding:14px;border:1px solid var(--border);border-radius:8px;background:#181818;color:#f5f5f5;font-size:12px}.detail-page{max-width:820px}.back-link{display:inline-flex;align-items:center;gap:7px;margin:18px 0 12px;min-height:38px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font-weight:700;box-shadow:0 8px 20px rgba(24,24,24,.06)}.back-link:focus-visible,.back-link:hover{border-color:var(--accent);background:var(--surface-soft);outline:none;transform:translateY(-1px)}.detail-surface,.legal-copy{padding:18px;border:1px solid var(--border);border-radius:8px;background:var(--surface)}.detail-surface h1,.section-heading h1{margin:12px 0 8px;font-size:clamp(24px,4vw,34px);overflow-wrap:anywhere}.detail-surface>p,.legal-copy p,.legal-copy ul{color:var(--muted-strong);line-height:1.72}.legal-copy ul{margin:0;padding-left:20px}.legal-copy li+li{margin-top:6px}.memory-original-post,.memory-original-record{display:grid;grid-gap:12px;gap:12px;margin:14px 0 16px;padding:14px;border:1px solid var(--border-soft);border-radius:8px;background:var(--surface-soft)}.memory-original-post p,.memory-original-text{margin:0;color:var(--text);line-height:1.72;white-space:pre-wrap}.memory-original-record.compact{margin:4px 0 0;padding:0;border:0;background:transparent}.memory-original-record.compact .memory-original-text{display:-webkit-box;overflow:hidden;white-space:normal;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}.memory-original-text.muted{color:var(--muted)}.memory-parse-snippet{display:-webkit-box;overflow:hidden;margin:0;color:var(--muted-strong);line-height:1.6;-webkit-box-orient:vertical;-webkit-line-clamp:2}.memory-parse-snippet span{margin-right:8px;color:var(--muted);font-size:12px}.detail-summary{display:grid;grid-gap:8px;gap:8px;margin:14px 0;padding:14px;border:1px solid var(--border-soft);border-radius:8px;background:var(--surface-soft)}.detail-summary h2{margin:0;font-size:16px}.detail-summary p{margin:0;color:var(--muted-strong);line-height:1.7;overflow-wrap:anywhere;white-space:pre-wrap}.detail-meta{display:block;margin-top:8px}.detail-list{display:grid;grid-gap:0;gap:0;margin:18px 0 0}.detail-list div{display:grid;grid-template-columns:86px 1fr;grid-gap:12px;gap:12px;padding:12px 0;border-top:1px solid var(--border-soft)}.detail-list dt{color:var(--muted)}.detail-list dd{margin:0;line-height:1.6;overflow-wrap:anywhere}.file-detail-surface{display:grid;grid-gap:14px;gap:14px}.file-preview{overflow:hidden;border:1px solid var(--border-soft);border-radius:8px;background:var(--surface-soft)}.file-preview-frame,.file-preview-media{display:block;width:100%;max-height:560px}.file-preview-media{object-fit:contain;background:#111}.file-preview-frame{min-height:520px;border:0;background:#fff}.file-preview-audio{display:block;width:min(560px,calc(100% - 32px));margin:80px auto}.file-preview-placeholder{display:grid;min-height:220px;place-items:center;grid-gap:10px;gap:10px;padding:24px;color:var(--muted);text-align:center}.file-chunk-section{display:grid;grid-gap:10px;gap:10px;margin-top:4px}.file-chunk-section h2{margin:0;font-size:18px}.file-chunk-list{display:grid;grid-gap:10px;gap:10px}.file-chunk{padding:12px;border:1px solid var(--border-soft);border-radius:8px;background:var(--surface-soft)}.file-chunk small,.file-chunk strong{display:block}.file-chunk p{margin:8px 0;color:var(--text);line-height:1.55}.file-chunk small{color:var(--muted-strong);line-height:1.6;white-space:pre-wrap}.legal-layout{max-width:820px}.section-heading{padding:16px 0 12px}.eyebrow{color:var(--muted);font-size:12px;font-weight:800;text-transform:uppercase}.legal-copy p+p{margin-top:16px}@media (max-width:780px){.app-header{grid-template-columns:1fr auto}.brand-copy small,.tab-nav{display:none}.bottom-tabs{display:grid}.api-error-toast{right:12px;left:auto;bottom:calc(var(--chat-bottom-space, 76px) + max(14px, env(safe-area-inset-bottom)));width:calc(100vw - 24px);transform:none}.app-main{padding-bottom:76px}.api-config-panel,.api-status-main{width:calc(100% - 24px)}.config-grid,.form-grid{grid-template-columns:1fr}.config-grid label.wide,.form-grid label.wide{grid-column:span 1}.chat-top,.page-heading{align-items:stretch;flex-direction:column}.chat-top-actions,.page-actions{flex-wrap:wrap}.api-panel-heading,.code-row{align-items:stretch;grid-template-columns:1fr}.api-panel-heading{display:grid}.chat-message.user .message-bubble{max-width:92%}.chat-composer-shell{bottom:72px;padding-bottom:10px}.chat-page{padding-bottom:var(--chat-bottom-space,320px)}.chat-thread{scroll-padding-bottom:var(--chat-bottom-space,320px)}.chat-thread-bottom-spacer{height:var(--chat-bottom-space,320px);scroll-margin-bottom:var(--chat-bottom-space,320px)}.composer-body{grid-template-columns:1fr;padding-right:0}.composer-input-row,.composer-tools{grid-column:1/-1}.composer-tools{flex-wrap:wrap;justify-content:flex-end;padding-right:0}.chat-jump-tools{right:18px;bottom:calc(var(--chat-bottom-space, 320px) + 8px)}.chat-composer textarea{min-height:56px;max-height:160px}.file-row,.filter-row,.memory-toolbar{grid-template-columns:1fr}.file-row .inline-actions{justify-content:flex-start}.memory-row{grid-template-columns:1fr;row-gap:6px}.memory-row-main{padding-right:40px}.memory-card-chips{padding-right:64px}.memory-row-footer,.memory-row-main{grid-column:1/-1}.memory-row-footer{position:absolute;top:8px;right:0}.attachment-gallery,.attachment-gallery.compact{grid-template-columns:1fr}.attachment-card-actions{padding-left:0}.attachment-modal-backdrop{align-items:start;padding:calc(env(safe-area-inset-top, 0px) + 78px) 10px calc(env(safe-area-inset-bottom, 0px) + 92px)}.attachment-modal{width:calc(100vw - 20px);max-height:calc(100dvh - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px) - 178px)}.attachment-modal-top{flex-shrink:0}.attachment-modal-frame,.attachment-modal-media{min-height:0;max-height:100%}.attachment-modal-actions{justify-content:flex-start;flex-wrap:wrap;padding-bottom:calc(env(safe-area-inset-bottom, 0px) + 12px)}.segmented-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.segmented-grid button{min-height:58px;place-items:center;padding:10px 6px;text-align:center}.segmented-grid span{display:none}.usage-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.account-summary,.security-grid{grid-template-columns:1fr}.subscription-row{align-items:stretch;flex-direction:column}.billing-toggle,.plan-grid,.usage-meter-list{grid-template-columns:1fr}.billing-toggle{width:100%}.detail-list div{grid-template-columns:1fr}.reminder-page{width:min(100% - 24px,620px);padding-top:8px;padding-bottom:132px}.reminder-hero{align-items:stretch;flex-direction:column}.reminder-title-row h1{font-size:28px}.reminder-hero-actions{align-items:stretch;flex-direction:column}.reminder-search{width:100%}.reminder-hero-actions .primary-button{display:none}.reminder-calendar-toolbar{align-items:stretch;flex-direction:column}.reminder-month-controls{display:grid;grid-template-columns:auto 38px 38px 1fr}.reminder-month-controls strong{align-self:center;justify-self:end;min-width:0}.reminder-weekdays span{padding:9px 4px;font-size:12px}.reminder-day{min-height:72px;padding:9px 6px}.reminder-day-number{justify-content:center;font-size:14px}.reminder-day-number em{position:absolute;transform:translate(18px,-8px)}.reminder-day-items{display:flex;justify-content:center;gap:3px;overflow:hidden}.reminder-day-chip{width:6px;height:6px;gap:0;overflow:visible;color:transparent;font-size:0}.reminder-day-chip i{width:5px;height:5px}.reminder-day-more{font-size:11px;line-height:1}.reminder-detail-heading{align-items:stretch;flex-direction:column}.reminder-detail-heading>button{display:none}.reminder-agenda-item,.reminder-edit-panel,.reminder-form-grid{grid-template-columns:1fr}.reminder-agenda-item{align-items:stretch;gap:10px}.reminder-time-dot{font-size:16px}.reminder-agenda-main{align-items:flex-start;flex-direction:column}.reminder-row-actions{justify-content:flex-end}.reminder-mobile-create{position:fixed;right:16px;bottom:88px;left:16px;z-index:40;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;border:0;border-radius:8px;background:#16774b;color:#fff;font-weight:800;box-shadow:0 18px 34px rgba(22,119,75,.22)}}@media (max-width:480px){.delete-candidate-item{grid-template-columns:1fr}.delete-candidate-item button{width:100%}.chat-composer{grid-template-columns:1fr}.composer-body{gap:10px}.composer-tools{justify-content:flex-end}.inline-actions{flex-wrap:wrap}.reminder-page{width:calc(100% - 18px)}.reminder-title-icon{width:38px;height:38px}.reminder-title-row p{font-size:13px}.reminder-calendar-shell,.reminder-detail-shell{border-radius:8px}.reminder-calendar-toolbar{padding:10px}.reminder-day{min-height:62px;padding:8px 4px}.reminder-detail-shell{padding:12px}.reminder-row-actions .icon-button{width:36px;height:36px}}