:root{--c-bg:#f3f4f6;--c-surface:#fff;--c-border:#e5e7eb;--c-border-light:#f3f4f6;--c-text:#111827;--c-text-dim:#6b7280;--c-text-muted:#9ca3af;--c-primary:#2563eb;--c-primary-hover:#1d4ed8;--c-primary-light:#eff6ff;--c-danger:#ef4444;--c-canvas:#e5e7eb;--font-sans:"Inter", system-ui, -apple-system, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", monospace;--font-page:"Arial", "Noto Sans JP", sans-serif;--shadow-sm:0 1px 2px #0000000f;--shadow-md:0 4px 12px #0000001a;--radius-sm:6px;--radius-md:10px;--radius-lg:14px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100vh;font-family:var(--font-sans);color:var(--c-text);background:var(--c-bg);-webkit-font-smoothing:antialiased;overflow:hidden}#root:has(.ide){color:#ccc;background:#1e1e1e}button,input,select,textarea{font-family:inherit}.spin{animation:.75s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.fade-in{animation:.15s ease-out fadein}@keyframes fadein{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.shell{flex-direction:column;height:100vh;display:flex}.header{border-bottom:1px solid var(--c-border);background:var(--c-surface);z-index:10;flex-shrink:0;align-items:center;gap:12px;height:48px;padding:0 16px;display:flex}.header__logo{cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;align-items:center;gap:8px;padding:4px 8px;display:flex}.header__logo:hover{background:var(--c-border-light)}.header__logo-icon{background:var(--c-primary);border-radius:8px;justify-content:center;align-items:center;width:28px;height:28px;display:flex}.header__logo-icon svg{color:#fff;width:16px;height:16px}.header__logo-text{color:var(--c-text-dim);font-size:13px;font-weight:500}.header__sep{color:var(--c-border);font-size:13px}.header__title{color:var(--c-text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.header__right{align-items:center;gap:8px;margin-left:auto;display:flex}.header__badge{border-radius:20px;align-items:center;gap:5px;padding:3px 10px;font-size:11px;font-weight:500;display:flex}.header__badge--cloud{background:var(--c-primary-light);color:var(--c-primary)}.header__badge--local{background:var(--c-border-light);color:var(--c-text-dim)}.header__user{cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;align-items:center;gap:6px;padding:4px 8px;font-size:13px;display:flex}.header__user:hover{background:var(--c-border-light)}.header__avatar{background:var(--c-primary-light);width:28px;height:28px;color:var(--c-primary);border-radius:50%;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.header__username{color:var(--c-text-dim)}.dropdown{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:50;min-width:200px;margin-top:4px;position:absolute;top:100%;right:0}.dropdown__item{cursor:pointer;width:100%;color:var(--c-text);text-align:left;background:0 0;border:none;align-items:center;gap:8px;padding:8px 14px;font-size:13px;display:flex}.dropdown__item:hover{background:var(--c-border-light)}.dropdown__item--danger{color:var(--c-danger)}.dropdown__divider{background:var(--c-border-light);height:1px;margin:4px 0}.dropdown__header{border-bottom:1px solid var(--c-border-light);padding:8px 14px}.dropdown__header p{color:var(--c-text);font-size:13px;font-weight:500}.dropdown__header small{color:var(--c-text-muted);font-size:11px}.content{position:absolute;inset:48px 0 0}.auth{background:linear-gradient(135deg,#eff6ff,#fff,#eef2ff);justify-content:center;align-items:center;min-height:100vh;display:flex}.auth__card{width:100%;max-width:400px;padding:0 24px}.auth__header{text-align:center;margin-bottom:32px}.auth__logo{background:var(--c-primary);border-radius:16px;justify-content:center;align-items:center;width:56px;height:56px;margin:0 auto 16px;display:flex;box-shadow:0 4px 12px #2563eb4d}.auth__logo svg{color:#fff;width:28px;height:28px}.auth__header h1{color:var(--c-text);font-size:28px;font-weight:700}.auth__header p{color:var(--c-text-dim);margin-top:6px;font-size:14px}.auth__body{background:var(--c-surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);border:1px solid var(--c-border-light);padding:32px}.auth__local-btn{background:var(--c-border-light);border:1px solid var(--c-border);border-radius:var(--radius-md);width:100%;color:var(--c-text);cursor:pointer;justify-content:center;align-items:center;gap:10px;margin-bottom:20px;padding:12px;font-size:14px;font-weight:500;display:flex}.auth__local-btn:hover{background:var(--c-border)}.auth__or{text-align:center;margin:20px 0;position:relative}.auth__or:before{content:"";border-top:1px solid var(--c-border);position:absolute;top:50%;left:0;right:0}.auth__or span{background:var(--c-surface);color:var(--c-text-muted);padding:0 10px;font-size:12px;position:relative}.auth__form{flex-direction:column;gap:16px;display:flex}.auth__field label{color:var(--c-text);margin-bottom:4px;font-size:13px;font-weight:500;display:block}.auth__field input{border-radius:var(--radius-sm);border:1px solid var(--c-border);outline:none;width:100%;padding:10px 14px;font-size:14px}.auth__field input:focus{border-color:var(--c-primary);box-shadow:0 0 0 3px #2563eb1a}.auth__submit{background:var(--c-primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;width:100%;padding:10px;font-size:14px;font-weight:500;display:flex}.auth__submit:hover{background:var(--c-primary-hover)}.auth__submit:disabled{opacity:.5;cursor:not-allowed}.auth__error{color:var(--c-danger);font-size:13px}.auth__toggle{text-align:center;margin-top:16px}.auth__toggle button{color:var(--c-primary);cursor:pointer;background:0 0;border:none;font-size:13px;text-decoration:underline}.modal-overlay{z-index:50;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--c-surface);border-radius:var(--radius-lg);flex-direction:column;width:100%;max-width:600px;max-height:80vh;margin:0 16px;display:flex;box-shadow:0 24px 48px #00000026}.modal__head{border-bottom:1px solid var(--c-border-light);padding:20px 24px}.modal__head h2{color:var(--c-text);font-size:18px;font-weight:700}.modal__head p{color:var(--c-text-dim);margin-top:2px;font-size:13px}.modal__tabs{gap:8px;margin-top:14px;display:flex}.modal__tab{border-radius:var(--radius-sm);cursor:pointer;border:none;padding:7px 16px;font-size:13px;font-weight:500}.modal__tab--active{background:var(--c-primary);color:#fff}.modal__tab--inactive{background:var(--c-border-light);color:var(--c-text-dim)}.modal__body{color:#374151;flex:1;padding:24px;font-size:14px;line-height:1.7;overflow:auto}.modal__foot{border-top:1px solid var(--c-border-light);padding:16px 24px}.modal__accept{background:var(--c-primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;width:100%;padding:12px;font-size:14px;font-weight:500}.modal__accept:hover{background:var(--c-primary-hover)}.dashboard{max-width:800px;margin:0 auto;padding:32px}.dashboard__head{margin-bottom:32px}.dashboard__head h1{color:var(--c-text);font-size:24px;font-weight:700}.dashboard__head p{color:var(--c-text-dim);margin-top:4px;font-size:14px}.dashboard__actions{gap:12px;margin-bottom:32px;display:flex}.dashboard__new{background:var(--c-primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;border:none;align-items:center;gap:6px;padding:10px 20px;font-size:13px;font-weight:500;display:flex;box-shadow:0 1px 3px #2563eb4d}.dashboard__new:hover{background:var(--c-primary-hover)}.dashboard__search{flex:1;max-width:400px;position:relative}.dashboard__search-icon{color:var(--c-text-muted);position:absolute;top:50%;left:12px;transform:translateY(-50%)}.dashboard__search input{border:1px solid var(--c-border);border-radius:var(--radius-md);background:var(--c-surface);outline:none;width:100%;padding:10px 12px 10px 36px;font-size:13px}.dashboard__search input:focus{border-color:var(--c-primary);box-shadow:0 0 0 3px #2563eb1a}.dashboard__section-title{color:var(--c-text-muted);text-transform:uppercase;letter-spacing:1px;align-items:center;gap:6px;margin-bottom:12px;font-size:12px;font-weight:600;display:flex}.doc-list{background:var(--c-surface);border-radius:var(--radius-md);border:1px solid var(--c-border);overflow:hidden}.doc-row{cursor:pointer;align-items:center;gap:12px;padding:10px 16px;transition:background .1s;display:flex}.doc-row:hover{background:var(--c-border-light)}.doc-row__icon{color:var(--c-primary);flex-shrink:0}.doc-row__info{flex:1;min-width:0}.doc-row__name{color:var(--c-text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.doc-row__meta{color:var(--c-text-muted);font-size:11px}.doc-row__badge{color:var(--c-primary);background:var(--c-primary-light);border-radius:12px;flex-shrink:0;align-items:center;gap:3px;padding:2px 8px;font-size:11px;display:flex}.doc-row__btn{border-radius:var(--radius-sm);cursor:pointer;color:var(--c-text-muted);opacity:0;background:0 0;border:none;padding:6px;transition:opacity .15s}.doc-row:hover .doc-row__btn{opacity:1}.doc-row__btn:hover{color:var(--c-primary)}.doc-row__btn--danger:hover{color:var(--c-danger)}.empty-state{text-align:center;border:2px dashed var(--c-border);border-radius:16px;padding:60px 0}.empty-state__icon{color:var(--c-border);margin:0 auto 12px}.empty-state p{color:var(--c-text-dim);font-weight:500}.empty-state small{color:var(--c-text-muted);font-size:13px}.editor-shell{flex-direction:column;height:100%;display:flex}.toolbar{border-bottom:1px solid var(--c-border);background:var(--c-surface);flex-wrap:wrap;flex-shrink:0;align-items:center;gap:2px;padding:4px 8px;display:flex}.tb{cursor:pointer;color:#4b5563;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:6px;transition:background .1s;display:flex}.tb:hover{background:var(--c-border-light)}.tb--on{background:var(--c-primary-light);color:var(--c-primary)}.tb-sep{background:var(--c-border);flex-shrink:0;width:1px;height:20px;margin:0 2px}.tb-select{border:1px solid var(--c-border);cursor:pointer;background:#fff;border-radius:4px;outline:none;padding:4px 6px;font-size:13px}.tb-dropdown{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);z-index:50;min-width:160px;margin-top:4px;padding:4px;position:absolute;top:100%;left:0}.tb-dropdown__item{text-align:left;cursor:pointer;color:#374151;background:0 0;border:none;border-radius:4px;width:100%;padding:6px 12px;font-size:13px;display:block}.tb-dropdown__item:hover{background:var(--c-border-light)}.tb-dropdown__item--active{background:var(--c-primary-light);color:var(--c-primary);font-weight:500}.tb-dropdown__label{color:var(--c-text-muted);padding:4px 12px 6px;font-size:11px;font-weight:500}.tb-dropdown__danger{color:var(--c-danger)}.color-grid{grid-template-columns:repeat(8,1fr);gap:3px;display:grid}.color-grid--small{grid-template-columns:repeat(6,1fr);gap:4px}.color-swatch{border:1px solid var(--c-border);cursor:pointer;border-radius:3px;width:20px;height:20px}.color-swatch:hover{transform:scale(1.2)}.subbar{border-bottom:1px solid var(--c-border);background:var(--c-surface);flex-shrink:0;align-items:center;gap:8px;padding:8px 16px;display:flex}.subbar__input{border:1px solid var(--c-border);border-radius:4px;outline:none;flex:1;padding:4px 8px;font-size:13px}.subbar__input:focus{border-color:var(--c-primary)}.subbar__btn{cursor:pointer;border:none;border-radius:4px;padding:4px 12px;font-size:13px}.subbar__btn--primary{background:var(--c-primary);color:#fff}.subbar__btn--ghost{color:var(--c-text-dim);background:0 0}.viewer-banner{color:#92400e;background:#fffbeb;border-bottom:1px solid #fde68a;flex-shrink:0;align-items:center;gap:8px;padding:8px 16px;font-size:13px;display:flex}.canvas{background:var(--c-canvas);flex:1;justify-content:center;display:flex;overflow:auto}.canvas__page{justify-content:center;padding:24px 0;display:flex}.paper-stack{padding:24px 0;position:relative}.paper-stack__papers{flex-direction:column;align-items:center;gap:72px;display:flex}.paper--sheet{height:1123px;min-height:1123px;padding:0 96px}.paper-stack__content{width:794px;margin-left:-397px;padding:72px 96px;position:absolute;top:24px;left:50%}.paper-stack__content .ProseMirror{min-height:0}.paper{width:794px;min-height:1123px;font-family:var(--font-page);color:#1a1a1a;transform-origin:top;background:#fff;border-radius:2px;flex-shrink:0;padding:72px 96px;position:relative;box-shadow:0 1px 3px #0000001f,0 1px 2px #0000003d}.paper__title{width:100%;font-size:2em;font-weight:700;line-height:1.3;font-family:var(--font-page);background:0 0;border:none;outline:none;margin-bottom:16px}.paper__title::placeholder{color:#9ca3af}.statusbar{border-top:1px solid var(--c-border);color:var(--c-text-muted);background:var(--c-surface);flex-shrink:0;align-items:center;gap:16px;padding:6px 16px;font-size:11px;display:flex}.statusbar__right{color:var(--c-border);margin-left:auto}.panel{border-left:1px solid var(--c-border);background:var(--c-surface);z-index:20;flex-direction:column;width:320px;display:flex;position:absolute;top:0;bottom:0;right:0}.panel--wide{width:288px}.panel__head{border-bottom:1px solid var(--c-border-light);justify-content:space-between;align-items:center;padding:12px;display:flex}.panel__head h3{color:#374151;font-size:13px;font-weight:600}.panel__close{cursor:pointer;color:var(--c-text-muted);background:0 0;border:none;padding:0 4px;font-size:18px}.panel__body{flex-direction:column;flex:1;gap:10px;padding:12px;display:flex;overflow:auto}.panel__foot{border-top:1px solid var(--c-border-light);gap:8px;padding:12px;display:flex}.panel__empty{color:var(--c-text-muted);text-align:center;padding:16px 0;font-size:13px}.ai-doc-overlay{z-index:60;border-left:1px solid var(--c-border);background:#fff;flex-direction:column;width:340px;display:flex;position:absolute;top:0;bottom:0;right:0;box-shadow:-4px 0 12px #0000000f}.docai{width:100%;height:100%;font-family:var(--font-sans);flex-direction:column;display:flex}.docai__header{border-bottom:1px solid var(--c-border);background:#fff;flex-shrink:0;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.docai__header-left{color:var(--c-text);align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.docai__title{font-weight:600}.docai__status{background:var(--c-border-light);color:var(--c-text-muted);border-radius:3px;padding:2px 6px;font-size:11px}.docai__status--loading{color:#b45309}.docai__status--ready{color:#15803d}.docai__status--generating{color:#1d4ed8}.docai__status--error{color:#dc2626}.docai__actions{gap:2px;display:flex}.docai__btn{width:26px;height:26px;color:var(--c-text-muted);cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;display:flex}.docai__btn:hover{background:var(--c-border-light);color:var(--c-text)}.docai__messages{flex-direction:column;flex:1;gap:12px;min-height:0;padding:16px;display:flex;overflow-y:auto}.docai__empty{color:var(--c-text-dim);text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:10px;padding:20px;display:flex}.docai__empty-title{color:var(--c-text);font-size:14px;font-weight:600}.docai__empty-desc{color:var(--c-text-muted);font-size:12px;line-height:1.6}.docai__empty-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:6px;display:flex}.docai__suggestions{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:10px;display:flex}.docai__suggestions button{background:var(--c-border-light);border:1px solid var(--c-border);color:var(--c-text-dim);cursor:pointer;border-radius:16px;padding:6px 12px;font-size:12px}.docai__suggestions button:hover{background:var(--c-primary-light);border-color:var(--c-primary);color:var(--c-primary)}.docai__msg{align-items:flex-start;gap:8px;display:flex}.docai__msg--user{flex-direction:row-reverse}.docai__avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;font-size:10px;font-weight:600;display:flex}.docai__msg--user .docai__avatar{background:var(--c-primary);color:#fff}.docai__msg--assistant .docai__avatar{background:var(--c-primary-light);color:var(--c-primary)}.docai__bubble{white-space:pre-wrap;word-break:break-word;border-radius:12px;max-width:85%;padding:9px 13px;font-size:13px;line-height:1.6}.docai__msg--user .docai__bubble{background:var(--c-primary);color:#fff;border-bottom-right-radius:4px}.docai__msg--assistant .docai__bubble{color:var(--c-text);background:#f3f4f6;border-bottom-left-radius:4px}.docai__bubble--loading{color:var(--c-text-muted);align-items:center;gap:8px;display:flex}.docai__input{border-top:1px solid var(--c-border);background:#fff;flex-shrink:0;gap:8px;padding:10px 14px;display:flex}.docai__input textarea{border:1px solid var(--c-border);color:var(--c-text);resize:none;font-size:13px;font-family:var(--font-sans);background:#f9fafb;border-radius:8px;outline:none;flex:1;min-height:40px;max-height:120px;padding:8px 12px}.docai__input textarea:focus{border-color:var(--c-primary)}.docai__input textarea:disabled{opacity:.5}.docai__send{background:var(--c-primary);color:#fff;cursor:pointer;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.docai__send:hover{background:var(--c-primary-hover)}.docai__send:disabled{opacity:.5;cursor:not-allowed}.docai__btn-primary{background:var(--c-primary);color:#fff;cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;display:inline-flex}.docai__btn-primary:hover{background:var(--c-primary-hover)}.docai__btn-ghost{background:var(--c-border-light);color:var(--c-text-dim);border:1px solid var(--c-border);cursor:pointer;border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;display:inline-flex}.comment{border-radius:var(--radius-md);border:1px solid var(--c-border-light);background:#f9fafb;padding:12px}.comment__head{justify-content:space-between;margin-bottom:4px;display:flex}.comment__user{color:#374151;font-size:11px;font-weight:500}.comment__date{color:var(--c-text-muted);font-size:11px}.comment__text{color:#4b5563;font-size:13px}.comment__actions{gap:12px;margin-top:8px;display:flex}.comment__action{cursor:pointer;background:0 0;border:none;font-size:11px;text-decoration:underline}.comment__action--resolve{color:var(--c-primary)}.comment__action--delete{color:var(--c-danger)}.version{border-radius:var(--radius-md);border:1px solid var(--c-border-light);background:#f9fafb;padding:12px}.version__head{justify-content:space-between;align-items:center;display:flex}.version__label{color:#374151;font-size:13px;font-weight:500}.version__restore{color:var(--c-primary);cursor:pointer;background:0 0;border:none;font-size:11px;text-decoration:underline}.version__date{color:var(--c-text-muted);margin-top:2px;font-size:11px}.toc{border-left:1px solid var(--c-border);background:var(--c-surface);flex-direction:column;flex-shrink:0;width:256px;display:flex}.toc__item{color:var(--c-text-dim);cursor:pointer;padding:4px 0;font-size:13px}.toc__item:hover{color:var(--c-primary)}.share{width:100%;max-width:480px}.share__link{gap:8px;margin-bottom:20px;display:flex}.share__link input{border:1px solid var(--c-border);border-radius:var(--radius-sm);background:#f9fafc;outline:none;flex:1;padding:8px 12px;font-family:monospace;font-size:13px}.share__link button{background:var(--c-border-light);border-radius:var(--radius-sm);cursor:pointer;border:none;flex-shrink:0;align-items:center;gap:6px;padding:8px 12px;font-size:13px;display:flex}.share__add{margin-bottom:20px}.share__add-row{gap:8px;margin-bottom:8px;display:flex}.share__people{border:1px solid var(--c-border);border-radius:var(--radius-sm);overflow:hidden}.share__person{border-bottom:1px solid var(--c-border-light);align-items:center;gap:10px;padding:10px 12px;display:flex}.share__person:last-child{border-bottom:none}.share__person-avatar{background:var(--c-border-light);width:32px;height:32px;color:var(--c-text-dim);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:13px;font-weight:600;display:flex}.share__person-info{flex:1;min-width:0}.share__person-name{color:var(--c-text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500;overflow:hidden}.share__person-email{color:var(--c-text-muted);font-size:11px}.share__person-role{border-radius:12px;flex-shrink:0;padding:2px 8px;font-size:11px}.share__person-role--editor{background:var(--c-primary-light);color:var(--c-primary)}.share__person-role--viewer{background:var(--c-border-light);color:var(--c-text-dim)}.share__person-remove{cursor:pointer;color:var(--c-text-muted);background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:4px}.share__person-remove:hover{color:var(--c-danger)}.settings{width:100%;max-width:400px}.settings__modes{gap:8px;display:flex}.settings__mode{border-radius:var(--radius-md);border:2px solid var(--c-border);cursor:pointer;color:var(--c-text-dim);background:#fff;flex-direction:column;flex:1;align-items:center;gap:4px;padding:12px;font-size:13px;font-weight:500;display:flex}.settings__mode--active{border-color:var(--c-primary);background:var(--c-primary-light);color:var(--c-primary)}@media print{.no-print{display:none!important}.canvas{background:#fff;overflow:visible}.paper-stack{padding:0}.paper-stack__papers{display:none}.paper-stack__content{width:100%;margin:0;padding:0;position:static}.paper,.paper--sheet{box-shadow:none;width:100%;min-height:auto;padding:0}}.ProseMirror{min-height:600px;font-size:16px;line-height:1.75;font-family:var(--font-page);color:#1a1a1a;outline:none}.ProseMirror>*+*{margin-top:.5em}.ProseMirror p{margin:0;line-height:1.75}.ProseMirror h1{margin:.67em 0 .33em;font-size:2em;font-weight:700;line-height:1.3}.ProseMirror h2{margin:.5em 0 .25em;font-size:1.5em;font-weight:600;line-height:1.3}.ProseMirror h3{margin:.5em 0 .25em;font-size:1.25em;font-weight:600;line-height:1.4}.ProseMirror h4{margin:.4em 0 .2em;font-size:1.1em;font-weight:600;line-height:1.4}.ProseMirror ul,.ProseMirror ol{margin:.25em 0;padding-left:1.5em}.ProseMirror li{margin:.125em 0;line-height:1.75}.ProseMirror ul[data-type=taskList]{padding-left:0;list-style:none}.ProseMirror ul[data-type=taskList] li{align-items:flex-start;gap:.5em;display:flex}.ProseMirror ul[data-type=taskList] li label{margin-top:.25em}.ProseMirror ul[data-type=taskList] li label input[type=checkbox]{width:16px;height:16px;accent-color:var(--c-primary);cursor:pointer}.ProseMirror blockquote{color:#6b7280;background:#f9fafb;border-left:4px solid #d1d5db;border-radius:0 4px 4px 0;margin:.5em 0;padding:.5em 1em;font-style:italic}.ProseMirror pre{color:#e2e8f0;font-family:var(--font-mono);background:#1e293b;border-radius:8px;margin:.75em 0;padding:1em 1.25em;font-size:.875em;line-height:1.5;overflow-x:auto}.ProseMirror pre code{color:inherit;font-size:inherit;background:0 0;border-radius:0;padding:0}.ProseMirror code{color:#e11d48;font-family:var(--font-mono);background:#f1f5f9;border-radius:4px;padding:.15em .4em;font-size:.9em}.ProseMirror hr{border:none;border-top:1px solid #d1d5db;margin:1.5em 0}.ProseMirror table{border-collapse:collapse;table-layout:fixed;width:100%;margin:1em 0}.ProseMirror table th,.ProseMirror table td{text-align:left;border:1px solid #d1d5db;min-width:60px;padding:.5em .75em;position:relative}.ProseMirror table th{color:#374151;background:#f3f4f6;font-weight:600}.ProseMirror table .selectedCell:after{z-index:2;content:"";pointer-events:none;background:#3b82f61a;position:absolute;inset:0}.ProseMirror table .column-resize-handle{pointer-events:none;background:#3b82f6;width:4px;position:absolute;top:0;bottom:-2px;right:-2px}.ProseMirror img{border-radius:4px;max-width:100%;height:auto;margin:.5em 0}.ProseMirror a{color:#2563eb;cursor:pointer;text-decoration:underline}.ProseMirror a:hover{color:#1d4ed8}.ProseMirror mark{background:#fef08a;border-radius:2px;padding:0 2px}.ProseMirror .is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:#9ca3af;pointer-events:none;height:0;font-style:italic}.ProseMirror .ProseMirror-selectednode,.ProseMirror .ProseMirror-selectednode img{border-radius:4px;outline:2px solid #3b82f6}.page-break{page-break-after:always;border:none;border-top:2px dashed #94a3b8;height:0;margin:1.5em 0;position:relative}.page-break:after{content:"Page Break";background:var(--c-canvas);color:#94a3b8;white-space:nowrap;padding:0 .75em;font-size:.75em;position:absolute;top:-.75em;left:50%;transform:translate(-50%)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#94a3b8}.ide{color:#ccc;height:100vh;font-family:var(--font-sans);background:#1e1e1e;flex-direction:column;font-size:13px;display:flex;overflow:hidden}.ide__body{flex:1;min-height:0;display:flex;overflow:hidden}.ide--zen .activity-bar,.ide--zen .side-panel,.ide--zen .terminal-panel,.ide--zen .status-bar,.ide--zen .ai-sidebar,.ide--zen .live-preview{display:none!important}.activity-bar{background:#333;border-right:1px solid #252526;flex-direction:column;flex-shrink:0;align-items:center;width:48px;padding:4px 0;display:flex}.activity-bar__btn{color:#858585;cursor:pointer;background:0 0;border:none;border-left:2px solid #0000;justify-content:center;align-items:center;width:40px;height:40px;transition:color .1s;display:flex;position:relative}.activity-bar__btn:hover{color:#ccc}.activity-bar__btn--active{color:#fff;border-left-color:#fff}.activity-bar__badge{color:#fff;background:#007acc;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:600;display:flex;position:absolute;top:6px;right:6px}.activity-bar__spacer{flex:1}.side-panel{background:#252526;border-right:1px solid #3c3c3c;flex-direction:column;flex-shrink:0;width:260px;min-height:0;display:flex;overflow:hidden}.side-panel__header{text-transform:uppercase;letter-spacing:.8px;color:#bbb;-webkit-user-select:none;user-select:none;flex-shrink:0;padding:8px 16px;font-size:11px;font-weight:600}.side-panel__body{flex:1;min-height:0;overflow:hidden auto}.explorer__toolbar{flex-shrink:0;justify-content:space-between;align-items:center;height:32px;padding:0 8px;display:flex}.explorer__sync{color:#75beff;z-index:2;background:#0e1e2e;border-bottom:1px solid #3c3c3c;flex-shrink:0;align-items:center;gap:6px;padding:4px 8px;font-size:11px;display:flex;position:sticky;top:0}.explorer__sync-name{text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-mono);flex:1;overflow:hidden}.explorer__sync--reconnect{color:#e2c08d;background:#2a241a}.explorer__sync--reconnect button{white-space:nowrap;padding:1px 8px}.explorer__toolbar-title{text-transform:uppercase;color:#bbb;letter-spacing:.8px;font-size:11px;font-weight:600}.explorer__toolbar-actions{gap:2px;display:flex}.explorer__toolbar-btn{color:#999;cursor:pointer;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.explorer__toolbar-btn:hover{color:#fff;background:#2a2d2e}.explorer__item{cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:4px;padding:2px 0;display:flex;overflow:hidden}.explorer__item:hover{background:#2a2d2e}.explorer__item--active{background:#094771}.explorer__chevron{color:#ccc;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;transition:transform .1s;display:flex}.explorer__chevron--open{transform:rotate(90deg)}.explorer__icon{flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:flex}.explorer__name{text-overflow:ellipsis;font-size:13px;overflow:hidden}.explorer__rename-input{color:#ccc;background:#3c3c3c;border:1px solid #007acc;outline:none;flex:1;padding:0 4px;font-family:inherit;font-size:13px}.context-menu{z-index:100;background:#252526;border:1px solid #454545;border-radius:4px;min-width:160px;padding:4px 0;position:fixed;box-shadow:0 4px 12px #0000004d}.context-menu__item{color:#ccc;cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:8px;width:100%;padding:5px 16px;font-size:13px;display:flex}.context-menu__item:hover{background:#094771}.context-menu__item--danger{color:#f48771}.context-menu__item--danger:hover{background:#5a1d1d}.tab-bar{background:#252526;border-bottom:1px solid #3c3c3c;flex-shrink:0;display:flex;overflow-x:auto}.tab-bar::-webkit-scrollbar{height:0}.tab{color:#969696;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;text-overflow:ellipsis;border-right:1px solid #252526;align-items:center;gap:6px;max-width:200px;padding:6px 12px;font-size:13px;display:flex;overflow:hidden}.tab:hover{background:#2d2d2d}.tab--active{color:#fff;background:#1e1e1e;border-top:1px solid #007acc}.tab__close{color:#969696;cursor:pointer;background:0 0;border:none;border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;width:16px;height:16px;display:flex}.tab:hover .tab__close{color:#ccc}.tab__close:hover{color:#fff;background:#ffffff1a}.tab__dot{background:#e8e8e8;border-radius:50%;flex-shrink:0;width:8px;height:8px}.tab--selected{background:#1f2733;box-shadow:inset 0 0 0 1px #0e639c}.tab--dragging{opacity:.45}.editor-area{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.editor-area__empty{color:#858585;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;font-size:14px;display:flex}.editor-area__empty kbd{font-size:11px;font-family:var(--font-mono);background:#333;border:1px solid #555;border-radius:3px;padding:2px 6px}.breadcrumb{color:#969696;background:#1e1e1e;border-bottom:1px solid #252526;flex-shrink:0;align-items:center;gap:4px;padding:2px 16px;font-size:12px;display:flex}.breadcrumb__sep{color:#555}.breadcrumb__item{cursor:pointer}.breadcrumb__item:hover{color:#ccc}.toolbar-actions{gap:4px;margin-left:auto;display:flex}.toolbar-btn{color:#ccc;cursor:pointer;background:#3c3c3c;border:1px solid #555;border-radius:3px;padding:2px 10px;font-size:11px}.toolbar-btn:hover{background:#4b4b4b}.toolbar-btn--run{color:#fff;background:#0e639c;border-color:#0e639c}.toolbar-btn--run:hover{background:#17b}.code-editor{flex:1;min-height:0;position:relative;overflow:hidden}.code-editor .cm-editor{height:100%!important}.code-editor .cm-scroller{overflow:auto}.code-editor .cm-gutters{background:#1e1e1e;border-right:1px solid #3c3c3c}.code-editor .cm-activeLineGutter{background:#2a2d2e}.code-editor .cm-activeLine{background:#ffffff0a}.code-editor .cm-foldGutter{width:14px}.code-editor .cm-foldGutter .cm-gutterElement{color:#858585;cursor:pointer}.code-editor .cm-foldGutter .cm-gutterElement:hover{color:#ccc}.code-editor .cm-matchingBracket{background:#61afef33;outline:1px solid #61afef66}.find-replace{background:#252526;border-bottom:1px solid #3c3c3c;flex-shrink:0;padding:6px 12px}.find-replace__row{align-items:center;gap:4px;margin-bottom:4px;display:flex}.find-replace__row:last-child{margin-bottom:0}.find-replace__input{color:#ccc;max-width:260px;font-size:13px;font-family:var(--font-mono);background:#3c3c3c;border:1px solid #3c3c3c;border-radius:2px;outline:none;flex:1;padding:3px 8px}.find-replace__input:focus{border-color:#007acc}.find-replace__btn{color:#999;cursor:pointer;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.find-replace__btn:hover{color:#fff;background:#2a2d2e}.find-replace__btn--active{color:#007acc;background:#007acc26}.find-replace__count{color:#858585;white-space:nowrap;margin:0 4px;font-size:11px}.terminal-panel{background:#1e1e1e;border-top:1px solid #3c3c3c;flex-direction:column;flex-shrink:0;height:200px;display:flex}.terminal-panel--collapsed{height:26px}.terminal__header{-webkit-user-select:none;user-select:none;background:#252526;border-bottom:1px solid #3c3c3c;flex-shrink:0;align-items:center;height:26px;padding:0 12px;display:flex}.terminal__tabs{gap:0;height:100%;display:flex}.terminal__tab{text-transform:uppercase;color:#969696;cursor:pointer;border-bottom:1px solid #0000;align-items:center;gap:6px;padding:0 12px;font-size:11px;font-weight:500;display:flex}.terminal__tab--active{color:#fff;border-bottom-color:#007acc}.terminal__spacer{flex:1}.terminal__actions{gap:4px;display:flex}.terminal__action{color:#969696;cursor:pointer;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.terminal__action:hover{color:#fff;background:#ffffff1a}.terminal__body{font-family:var(--font-mono);flex:1;min-height:0;padding:8px 12px;font-size:13px;line-height:1.5;overflow:auto}.terminal__line{white-space:pre-wrap;word-break:break-all}.terminal__line--error{color:#f48771}.terminal__line--warn{color:#e2c08d}.terminal__input-row{align-items:center;gap:0;display:flex}.terminal__prompt{color:#6a9955;white-space:nowrap}.terminal__input{color:#ccc;font-family:var(--font-mono);caret-color:#aeafad;background:0 0;border:none;outline:none;flex:1;font-size:13px}.status-bar{color:#fff;-webkit-user-select:none;user-select:none;background:#007acc;flex-shrink:0;align-items:center;gap:0;height:22px;padding:0;font-size:12px;display:flex}.status-bar__item{cursor:pointer;white-space:nowrap;align-items:center;gap:4px;height:100%;padding:0 8px;display:flex}.status-bar__item:hover{background:#ffffff1f}.status-bar__spacer{flex:1}.search-panel{padding:8px 12px}.search-panel__input{color:#ccc;background:#3c3c3c;border:1px solid #3c3c3c;border-radius:2px;outline:none;width:100%;padding:4px 8px;font-size:13px}.search-panel__input:focus{border-color:#007acc}.search-panel__results{color:#969696;margin-top:8px;font-size:12px}.git-panel{padding:8px 12px}.git-panel__section{margin-bottom:12px}.git-panel__title{text-transform:uppercase;color:#bbb;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:11px;font-weight:600;display:flex}.git-panel__file{align-items:center;gap:6px;padding:2px 0;font-size:13px;display:flex}.git-panel__file-status{text-align:center;width:16px;font-size:11px;font-weight:600}.git-panel__file-status--M{color:#e2c08d}.git-panel__file-status--A{color:#73c991}.git-panel__file-status--D{color:#f48771}.git-panel__btn{color:#fff;cursor:pointer;background:#0e639c;border:none;border-radius:2px;justify-content:center;align-items:center;gap:6px;width:100%;margin-top:6px;padding:6px;font-size:13px;display:flex}.git-panel__btn:hover{background:#17b}.git-panel__btn:disabled{opacity:.5;cursor:not-allowed}.git-panel__input{color:#ccc;background:#3c3c3c;border:1px solid #3c3c3c;border-radius:2px;outline:none;width:100%;margin-bottom:6px;padding:4px 8px;font-size:13px}.git-panel__input:focus{border-color:#007acc}.git-panel__select{color:#ccc;cursor:pointer;background:#3c3c3c;border:1px solid #3c3c3c;border-radius:2px;outline:none;padding:2px 6px;font-size:12px}.git-panel__stage{cursor:pointer;background:0 0;border:1px solid #858585;border-radius:50%;flex-shrink:0;width:14px;height:14px;padding:0}.git-panel__stage--on{background:#007acc;border-color:#007acc}.git-panel__file{cursor:pointer}.git-panel__file:hover{background:#2a2d2e}.git-panel__empty{text-align:center;flex-direction:column;align-items:center;gap:6px;padding:24px 8px;display:flex}.git-panel__commit{border-bottom:1px solid #2a2d2e;padding:4px 0}.git-diff{background:#1e1e1e;border:1px solid #3c3c3c;border-radius:3px;max-height:220px;margin:4px 0 8px;overflow:auto}.git-diff__header{color:#969696;font-size:11px;font-family:var(--font-mono);border-bottom:1px solid #3c3c3c;padding:4px 8px}.git-diff__body{padding:4px 8px}.diff{font-family:var(--font-mono);white-space:pre;font-size:12px;line-height:1.45}.diff--minus{color:#f48771}.diff--plus{color:#73c991}.diff--gap{color:#555}.git-modal{background:#252526;border:1px solid #3c3c3c;border-radius:6px;width:420px;max-width:92vw}.git-modal__header{border-bottom:1px solid #3c3c3c;justify-content:space-between;align-items:center;padding:10px 14px;display:flex}.git-modal__header h3{color:#e8e8e8;margin:0;font-size:14px}.git-modal__body{padding:14px}.git-modal__label{color:#969696;margin:8px 0 2px;font-size:11px;display:block}.git-modal__check{color:#ccc;align-items:center;gap:6px;margin-top:8px;font-size:12px;display:flex}.outline__item{cursor:pointer;white-space:nowrap;align-items:center;gap:6px;padding:2px 0;font-size:13px;display:flex}.outline{font-size:13px}.problems-panel{padding:8px 12px}.problems-panel__summary{gap:12px;margin-bottom:8px;display:flex}.problems-panel__count{align-items:center;gap:4px;font-size:12px;display:flex}.problems-panel__count--error{color:#f48771}.problems-panel__count--warning{color:#e2c08d}.problems-panel__count--info{color:#75beff}.problems-panel__list{flex-direction:column;gap:2px;display:flex}.problems-panel__item{text-align:left;width:100%;color:inherit;cursor:pointer;background:0 0;border:none;border-radius:2px;align-items:center;gap:6px;padding:2px 0;font-family:inherit;font-size:12px;display:flex}.problems-panel__item:hover{background:#ffffff0d}.problems-panel__icon{flex-shrink:0}.problems-panel__icon--error{color:#f48771}.problems-panel__icon--warning{color:#e2c08d}.problems-panel__icon--info{color:#75beff}.problems-panel__msg{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.problems-panel__loc{color:#858585;flex-shrink:0}.cmd-palette{z-index:200;background:#252526;border:1px solid #454545;border-radius:6px;flex-direction:column;width:560px;max-height:400px;display:flex;position:fixed;top:32px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 8px 32px #0006}.cmd-palette__input{color:#ccc;width:100%;font-size:14px;font-family:var(--font-sans);background:#3c3c3c;border:none;border-bottom:1px solid #454545;outline:none;padding:10px 16px}.cmd-palette__list{max-height:340px;overflow:auto}.cmd-palette__item{cursor:pointer;align-items:center;gap:8px;padding:6px 16px;font-size:13px;display:flex}.cmd-palette__item:hover,.cmd-palette__item--selected{background:#094771}.cmd-palette__label{flex:1}.cmd-palette__category{color:#858585;font-size:12px}.cmd-palette__key{color:#858585;font-size:11px;font-family:var(--font-mono);background:#333;border-radius:3px;padding:1px 6px}.cmd-palette__empty{text-align:center;color:#858585;padding:16px}.quick-open{z-index:200;background:#252526;border:1px solid #454545;border-radius:6px;flex-direction:column;width:560px;max-height:400px;display:flex;position:fixed;top:32px;left:50%;overflow:hidden;transform:translate(-50%);box-shadow:0 8px 32px #0006}.quick-open__input{color:#ccc;width:100%;font-size:14px;font-family:var(--font-mono);background:#3c3c3c;border:none;border-bottom:1px solid #454545;outline:none;padding:10px 16px}.quick-open__list{max-height:340px;overflow:auto}.quick-open__item{cursor:pointer;align-items:center;gap:8px;padding:6px 16px;font-size:13px;display:flex}.quick-open__item:hover,.quick-open__item--selected{background:#094771}.quick-open__path{font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}.quick-open__empty{text-align:center;color:#858585;padding:16px}.settings-editor{z-index:200;background:#252526;border:1px solid #454545;border-radius:6px;flex-direction:column;width:640px;max-height:80vh;display:flex;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 8px 32px #0006}.settings-editor__header{border-bottom:1px solid #3c3c3c;flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.settings-editor__header h2{font-size:14px;font-weight:600}.settings-editor__body{flex:1;padding:16px;overflow-y:auto}.settings-editor__section{margin-bottom:24px}.settings-editor__section h3{color:#ccc;border-bottom:1px solid #3c3c3c;margin-bottom:12px;padding-bottom:6px;font-size:13px;font-weight:600}.settings-editor__row{justify-content:space-between;align-items:center;padding:6px 0;display:flex}.settings-editor__row label{color:#ccc;font-size:13px}.settings-editor__input,.settings-editor__select{color:#ccc;background:#3c3c3c;border:1px solid #555;border-radius:3px;outline:none;width:200px;padding:4px 8px;font-size:13px}.settings-editor__input:focus,.settings-editor__select:focus{border-color:#007acc}.settings-editor__themes{grid-template-columns:repeat(3,1fr);gap:8px;width:200px;display:grid}.settings-editor__theme{cursor:pointer;color:#ccc;background:0 0;border:2px solid #0000;border-radius:6px;flex-direction:column;align-items:center;gap:4px;padding:8px;font-size:11px;display:flex}.settings-editor__theme:hover{border-color:#555}.settings-editor__theme--active{background:#007acc1a;border-color:#007acc}.settings-editor__theme-preview{border:1px solid #555;border-radius:4px;width:100%;height:40px}.notifications{z-index:300;flex-direction:column;gap:8px;display:flex;position:fixed;bottom:30px;right:16px}.notification{border-radius:4px;align-items:center;gap:8px;min-width:300px;padding:8px 12px;font-size:13px;animation:.2s ease-out slideIn;display:flex;box-shadow:0 4px 12px #0000004d}.notification--info{color:#fff;background:#007acc}.notification--warning{color:#fff;background:#bf8803}.notification--error{color:#fff;background:#a1260d}.notification button{color:#fff;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:16px}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:none}}.resize-handle{cursor:ns-resize;background:0 0;flex-shrink:0;height:3px}.resize-handle:hover{background:#007acc}.ai-sidebar{background:#1e1e1e;border-left:1px solid #3c3c3c;flex-direction:column;flex-shrink:0;width:320px;display:flex;overflow:hidden}.ai-chat{flex-direction:column;width:100%;height:100%;display:flex}.ai-chat__header{background:#252526;border-bottom:1px solid #3c3c3c;flex-shrink:0;justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.ai-chat__title{align-items:center;gap:8px;font-size:13px;font-weight:500;display:flex}.ai-chat__status{color:#969696;background:#333;border-radius:3px;padding:2px 6px;font-size:11px}.ai-chat__status--loading{color:#e2c08d}.ai-chat__status--ready{color:#73c991}.ai-chat__status--generating{color:#75beff}.ai-chat__status--error{color:#f48771}.ai-chat__actions{gap:4px;display:flex}.ai-chat__btn{color:#969696;cursor:pointer;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.ai-chat__btn:hover{color:#fff;background:#ffffff1a}.ai-chat__messages{flex-direction:column;flex:1;gap:12px;min-height:0;padding:12px;display:flex;overflow-y:auto}.ai-chat__empty{color:#858585;text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:8px;padding:20px;display:flex}.ai-chat__suggestions{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:8px;display:flex}.ai-chat__suggestions button{color:#ccc;cursor:pointer;background:#333;border:1px solid #555;border-radius:16px;padding:6px 12px;font-size:12px}.ai-chat__suggestions button:hover{background:#444;border-color:#007acc}.ai-chat__msg{gap:8px;display:flex}.ai-chat__msg--user{flex-direction:row-reverse}.ai-chat__avatar{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.ai-chat__msg--user .ai-chat__avatar{color:#fff;background:#007acc}.ai-chat__msg--assistant .ai-chat__avatar{color:#ccc;background:#333}.ai-chat__content{white-space:pre-wrap;word-break:break-word;border-radius:12px;max-width:85%;padding:8px 12px;font-size:13px;line-height:1.5}.ai-chat__msg--user .ai-chat__content{color:#fff;background:#007acc;border-bottom-right-radius:4px}.ai-chat__msg--assistant .ai-chat__content{color:#ccc;background:#2d2d2d;border-bottom-left-radius:4px}.ai-chat__loading{color:#969696;align-items:center;gap:8px;display:flex}.ai-chat__input{background:#252526;border-top:1px solid #3c3c3c;flex-shrink:0;gap:8px;padding:8px 12px;display:flex}.ai-chat__input textarea{color:#ccc;resize:none;font-size:13px;font-family:var(--font-sans);background:#3c3c3c;border:1px solid #3c3c3c;border-radius:6px;outline:none;flex:1;min-height:40px;max-height:120px;padding:8px 12px}.ai-chat__input textarea:focus{border-color:#007acc}.ai-chat__input textarea:disabled{opacity:.5}.ai-chat__send{color:#fff;cursor:pointer;background:#007acc;border:none;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:flex}.ai-chat__send:hover{background:#1a8ad4}.ai-chat__send:disabled{opacity:.5;cursor:not-allowed}.ai-doc-overlay{z-index:60;background:#fff;border-left:1px solid #ddd;flex-direction:column;width:340px;display:flex;position:absolute;top:0;bottom:0;right:0;box-shadow:-4px 0 12px #0000000f}.editor-main{flex:1;min-height:0;display:flex;overflow:hidden}.editor-main>.code-editor{flex:1;min-width:0}.editor-main--split>.code-editor{border-right:1px solid #3c3c3c;flex:1}.editor-pane{flex:1;min-width:0;min-height:0;display:flex;position:relative}.editor-pane>.code-editor{flex:1;min-width:0}.editor-main--vertical{flex-direction:column}.editor-main--vertical>.editor-pane{min-height:0}.editor-main--vertical>.editor-pane--second{border-top:1px solid #3c3c3c}.editor-pane--second{border-left:1px solid #3c3c3c}.editor-main--vertical .editor-pane--second{border-left:none}.minimap{background:#1e1e1e;border-left:1px solid #3c3c3c;flex-shrink:0;width:76px;position:relative;overflow:hidden}.minimap canvas{cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.live-preview{background:#1e1e1e;border-left:1px solid #3c3c3c;flex-direction:column;flex:1;min-width:0;display:flex}.live-preview__header{background:#252526;border-bottom:1px solid #3c3c3c;flex-shrink:0;justify-content:space-between;align-items:center;height:30px;padding:4px 12px;display:flex}.live-preview__title{color:#969696;align-items:center;gap:6px;font-size:12px;display:flex}.live-preview__status{background:#333;border-radius:3px;padding:1px 6px;font-size:10px}.live-preview__status--ready{color:#73c991}.live-preview__status--loading{color:#e2c08d;align-items:center;gap:4px;display:flex}.live-preview__actions{gap:2px;display:flex}.live-preview__btn{color:#969696;cursor:pointer;background:0 0;border:none;border-radius:3px;justify-content:center;align-items:center;width:22px;height:22px;display:flex}.live-preview__btn:hover{color:#fff;background:#ffffff1a}.live-preview__body{flex:1;position:relative;overflow:hidden}.live-preview__iframe{background:#1e1e1e;border:none;width:100%;height:100%}.live-preview__error{color:#f48771;font-size:13px;font-family:var(--font-mono);padding:16px}.extensions-panel{flex-direction:column;height:100%;display:flex}.extensions-panel__search{color:#858585;border-bottom:1px solid #252526;align-items:center;gap:6px;padding:6px 8px;display:flex}.extensions-panel__input{color:#ccc;background:#3c3c3c;border:1px solid #3c3c3c;border-radius:2px;outline:none;flex:1;padding:4px 6px;font-size:12px}.extensions-panel__input:focus{border-color:#007acc}.extensions-panel__title{color:#bbb;text-transform:uppercase;letter-spacing:.04em;justify-content:space-between;align-items:center;padding:8px;font-size:11px;font-weight:600;display:flex}.extensions-panel__list{flex-direction:column;flex:1;gap:2px;padding:0 4px 8px;display:flex;overflow-y:auto}.extension-card{border-radius:3px;align-items:flex-start;gap:8px;padding:6px;display:flex}.extension-card:hover{background:#ffffff0a}.extension-card--disabled{opacity:.5}.extension-card__icon{color:#fff;background:#0e639c;border-radius:3px;flex:0 0 22px;justify-content:center;align-items:center;width:22px;height:22px;display:flex;overflow:hidden}.extension-card__main{flex:1;min-width:0}.extension-card__name{color:#e8e8e8;white-space:nowrap;text-overflow:ellipsis;font-size:12.5px;overflow:hidden}.extension-card__meta{color:#858585;font-size:10.5px}.extension-card__desc{color:#9d9d9d;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:2px;font-size:11px;display:-webkit-box;overflow:hidden}.extension-card__actions{flex:none;gap:4px;display:flex}.extension-card__btn{color:#b0b0b0;cursor:pointer;background:0 0;border:none;border-radius:3px;flex:none;justify-content:center;align-items:center;width:22px;height:22px;margin-top:8px;display:flex}.extension-card__btn:hover{color:#fff;background:#ffffff1a}.extension-card__btn:disabled{opacity:.4;cursor:default}.extension-card__btn--primary{color:#fff;background:#0e639c}.extension-card__btn--primary:hover{background:#17b}.ai-model{position:relative}.ai-model__trigger{color:#d4d4d4;cursor:pointer;background:#2d2d2d;border:1px solid #3c3c3c;border-radius:3px;align-items:center;gap:4px;padding:3px 7px;font-size:11px;display:flex}.ai-model__trigger:hover{background:#3a3a3a}.ai-model__menu{z-index:500;background:#252526;border:1px solid #454545;border-radius:4px;min-width:170px;padding:4px;position:absolute;top:28px;right:0;box-shadow:0 4px 16px #0006}.ai-model__item{color:#d4d4d4;cursor:pointer;text-align:left;background:0 0;border:none;border-radius:3px;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:6px 8px;font-size:12px;display:flex}.ai-model__item:hover{background:#ffffff0f}.ai-model__item--active{color:#4daafc}.ai-model__item-name{font-weight:500}.ai-model__item-size{color:#858585;font-size:10px}.ai-chat__model-picker{text-align:left;margin-top:14px}.ai-chat__model-picker-title{color:#bbb;text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px;font-size:11px;font-weight:600}.ai-chat__model-options{flex-direction:column;gap:4px;display:flex}.ai-chat__model-opt{cursor:pointer;text-align:left;color:#d4d4d4;background:#2d2d2d;border:1px solid #3c3c3c;border-radius:4px;justify-content:space-between;align-items:center;gap:12px;width:100%;padding:8px 10px;display:flex}.ai-chat__model-opt:hover{background:#383838;border-color:#4a4a4a}.ai-chat__model-opt--active{background:#007acc26;border-color:#007acc}.ai-chat__model-opt-name{font-size:13px;font-weight:500}.ai-chat__model-opt-size{color:#858585;font-size:11px}
