:root{--web-topbar-height: 62px;--web-status-height: 34px}body{min-width:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:auto;background:var(--app-bg)}#root{min-height:100dvh}input,textarea{font:inherit}.web-app-shell{display:grid;grid-template-rows:var(--web-visible-topbar-height, var(--web-topbar-height)) minmax(0,1fr);width:100vw;height:100dvh;min-width:0;overflow:visible;background:var(--app-bg);color:var(--text);transition:grid-template-rows .17s ease}.web-app-shell.has-status-bar{grid-template-rows:var(--web-visible-topbar-height, var(--web-topbar-height)) var(--web-status-height) minmax(0,1fr)}.web-app-shell.has-install-prompt{grid-template-rows:var(--web-visible-topbar-height, var(--web-topbar-height)) auto minmax(0,1fr)}.web-app-shell.has-status-bar.has-install-prompt{grid-template-rows:var(--web-visible-topbar-height, var(--web-topbar-height)) var(--web-status-height) auto minmax(0,1fr)}.web-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;border-bottom:1px solid var(--border-soft);background:var(--panel-bg);padding:12px 16px;transition:opacity .17s ease,transform .17s ease;z-index:20}.web-brand{display:flex;align-items:center;min-width:0;gap:10px;color:var(--text-heading)}.web-brand-mark{display:block;width:34px;height:34px;flex:0 0 auto;overflow:hidden;border-radius:8px;background:var(--brand-bg)}.web-brand-mark img{display:block;width:100%;height:100%;object-fit:cover}.web-brand div,.web-editor-toolbar div,.web-connect-heading div{min-width:0}.web-brand strong,.web-editor-toolbar strong{display:block;overflow:hidden;color:var(--text-strong);font-size:.95rem;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.web-brand span,.web-editor-toolbar span,.web-page-row small{display:block;overflow:hidden;color:var(--text-muted);font-size:.78rem;line-height:1.3;text-overflow:ellipsis;white-space:nowrap}.web-topbar-actions{display:flex;align-items:center;flex:0 0 auto;gap:8px;min-width:0}.web-account{display:inline-flex;align-items:center;min-width:0;gap:8px;color:var(--text-muted);font-size:.82rem}.web-account>svg{flex:0 0 auto;color:var(--accent)}.web-account span{display:block;max-width:min(240px,30vw);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.web-account .web-icon-button{width:34px;height:34px}.web-icon-button,.web-primary-button,.web-secondary-button,.web-google-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-button);cursor:pointer;font-weight:700}.web-icon-button{flex:0 0 auto;width:40px;height:40px;padding:0}.web-primary-button{min-height:38px;padding:0 14px;background:var(--accent);color:#fff}.web-primary-button.compact{min-height:38px;padding:0 12px}.web-google-button{min-height:42px;border-color:var(--border-active);background:var(--surface);color:var(--text-button);padding:0 14px}.web-google-logo{display:block;width:18px;height:18px;flex:0 0 auto}.web-icon-button:hover,.web-primary-button:hover,.web-secondary-button:hover,.web-google-button:hover{border-color:var(--border-hover)}.web-primary-button:hover{background:var(--accent-hover)}.web-google-button:hover{background:var(--surface-hover);color:var(--accent-text)}.web-icon-button:disabled,.web-primary-button:disabled,.web-secondary-button:disabled,.web-google-button:disabled{cursor:default;opacity:.6}.web-status-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0;border-bottom:1px solid var(--border-soft);background:var(--status-bg);padding:0 16px;color:var(--status-text);font-size:.78rem;font-weight:700}.web-status-bar>span{display:flex;align-items:center;min-width:0;gap:7px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.web-status-bar a{flex:0 0 auto;color:var(--accent-text);font-weight:650;text-decoration:none}.web-error{color:var(--danger-text)}.web-install-prompt{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;border-bottom:1px solid var(--accent-border);background:var(--accent-soft);color:var(--accent-text);padding:9px 16px}.web-install-copy{display:flex;align-items:center;min-width:0;gap:10px}.web-install-copy>svg{flex:0 0 auto}.web-install-copy div{min-width:0}.web-install-copy strong,.web-install-copy span{display:block;overflow:hidden;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.web-install-copy strong{color:var(--text-strong);font-size:.86rem}.web-install-copy span{color:var(--accent-text);font-size:.78rem;font-weight:650}.web-install-actions{display:flex;align-items:center;flex:0 0 auto;gap:8px}.web-install-dismiss{width:34px;height:34px;background:transparent}.web-connect-panel{align-self:start;display:grid;width:min(520px,calc(100vw - 24px));gap:14px;justify-self:center;margin-top:18px;border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:18px;box-shadow:0 14px 36px var(--shadow)}.web-auth-panel{align-self:start;display:grid;width:min(500px,calc(100vw - 24px));gap:14px;justify-self:center;margin-top:18px;border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:18px;box-shadow:0 14px 36px var(--shadow)}.web-connect-heading{display:flex;gap:12px;align-items:flex-start}.web-connect-heading>svg{flex:0 0 auto;margin-top:3px;color:var(--accent)}.web-connect-heading h1{margin:0;color:var(--text-heading);font-size:1.15rem;line-height:1.25}.web-connect-heading p{margin:4px 0 0;color:var(--text-muted);font-size:.88rem;line-height:1.4}.web-auth-note{margin:0;color:var(--text-muted);font-size:.82rem;line-height:1.45}.web-auth-success{margin:0;border:1px solid var(--accent-border);border-radius:8px;background:var(--accent-soft);color:var(--accent-text);font-size:.82rem;font-weight:700;line-height:1.4;padding:9px 10px}.web-auth-divider{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;color:var(--text-muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.web-auth-divider:before,.web-auth-divider:after{height:1px;background:var(--border-soft);content:""}.web-email-auth-form{display:grid;gap:10px}.web-auth-mode-toggle{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;min-height:38px;border:1px solid var(--border-active);border-radius:8px;background:var(--surface-subtle);padding:2px}.web-auth-mode-toggle button{min-width:0;border:0;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer;font:inherit;font-size:.82rem;font-weight:800;padding:0 10px}.web-auth-mode-toggle button:hover{color:var(--accent-text)}.web-auth-mode-toggle button.active{background:var(--surface);color:var(--accent-text);box-shadow:0 1px 3px var(--shadow)}.web-auth-field{display:grid;gap:6px}.web-auth-field span{color:var(--text-muted);font-size:.82rem;font-weight:650}.web-auth-field input{width:100%;min-width:0;height:42px;border:1px solid var(--border);border-radius:8px;background:var(--surface-subtle);color:var(--text);outline:none;padding:0 10px}.web-auth-field input:focus{border-color:var(--border-hover);background:var(--surface);box-shadow:0 0 0 3px var(--accent-soft)}.web-connect-panel label{display:grid;gap:6px}.web-connect-panel label span{color:var(--text-muted);font-size:.82rem;font-weight:650}.web-connect-panel input,.web-connect-panel select,.web-search input{width:100%;min-width:0;border:1px solid var(--border);border-radius:8px;background:var(--surface-subtle);color:var(--text);outline:none}.web-connect-panel input{height:42px;padding:0 10px}.web-connect-panel select{height:42px;padding:0 34px 0 10px}.web-connect-panel input:focus,.web-connect-panel select:focus,.web-search input:focus{border-color:var(--border-hover);background:var(--surface);box-shadow:0 0 0 3px var(--accent-soft)}.web-secondary-button{min-height:38px;padding:0 12px;background:var(--surface);color:var(--text-button)}.web-connect-actions{display:flex;justify-content:space-between;gap:10px;min-width:0}.web-connect-actions .web-primary-button,.web-connect-actions .web-secondary-button{flex:1 1 0;min-width:0}.web-github-empty{display:flex;align-items:center;gap:9px;min-height:42px;border:1px solid var(--border-soft);border-radius:8px;background:var(--surface-subtle);color:var(--text-muted);font-size:.86rem;font-weight:700;padding:0 10px}.web-github-empty svg{flex:0 0 auto;color:var(--accent)}.web-workspace{display:grid;grid-template-columns:minmax(230px,30vw) minmax(0,1fr);min-height:0;min-width:0}.web-mobile-page-search{display:none}.web-page-list{display:grid;grid-template-rows:auto 1fr;min-width:0;min-height:0;border-right:1px solid var(--border);background:var(--panel-bg)}.web-page-list-header{display:flex;align-items:center;min-width:0;border-bottom:1px solid var(--border-soft)}.web-search{display:flex;align-items:center;flex:1 1 auto;gap:7px;min-width:0;padding:10px;color:var(--text-muted)}.web-page-list-close{display:none}.web-search input{height:38px;padding:0 9px}.web-page-scroll{min-height:0;overflow:auto;padding:8px 10px 10px}.web-page-row{display:grid;width:100%;min-height:48px;min-width:0;gap:2px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--text-button);cursor:pointer;padding:7px 9px;text-align:left}.web-page-row:hover,.web-page-row.active{border-color:var(--border-active);background:var(--surface-hover)}.web-page-row.active{color:var(--text-strong)}.web-page-row span{overflow:hidden;font-weight:650;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}.web-page-empty{display:flex;min-height:76px;align-items:center;justify-content:center;color:var(--text-muted);font-size:.85rem;font-weight:700;text-align:center}.web-editor-panel{display:grid;grid-template-rows:auto 1fr;min-width:0;min-height:0;background:var(--surface)}.web-editor-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0;border-bottom:1px solid var(--border-soft);padding:12px 16px}.web-editor-surface{min-width:0;min-height:0;overflow:auto}.web-editor-surface>.milkdown{min-height:100%}.web-editor-surface .milkdown .ProseMirror{min-height:calc(100dvh - var(--web-visible-topbar-height, var(--web-topbar-height)) - var(--web-status-height) - 64px);padding:22px max(18px,7vw) 120px}.web-empty-state{display:flex;min-height:220px;align-items:center;justify-content:center;gap:10px;color:var(--text-muted)}@media(max-width:760px){.web-app-shell.topbar-hidden{--web-visible-topbar-height: 0px}.web-app-shell.topbar-hidden .web-topbar{opacity:0;pointer-events:none;transform:translateY(-100%)}.web-account span{max-width:22vw}.web-workspace{position:relative;grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr)}.web-mobile-page-search{display:flex;align-items:center;gap:8px;width:100%;min-width:0;min-height:46px;border:0;border-bottom:1px solid var(--border-soft);border-radius:0;background:var(--surface);color:var(--text-muted);cursor:pointer;font:inherit;font-size:.9rem;font-weight:750;padding:0 14px;text-align:left}.web-mobile-page-search span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.web-page-backdrop{position:fixed;z-index:45;top:0;right:0;bottom:0;left:0;border:0;background:#0808085c;cursor:pointer;padding:0}.web-page-list{position:fixed;z-index:50;top:0;bottom:0;left:0;width:min(88vw,360px);max-width:calc(100vw - 32px);border-right:1px solid var(--border);box-shadow:16px 0 36px var(--shadow-strong);pointer-events:none;transform:translate(-105%);transition:transform .18s ease,visibility 0ms linear .18s;visibility:hidden}.web-page-list.open{pointer-events:auto;transform:translate(0);transition:transform .18s ease;visibility:visible}.web-page-list-header{padding-top:env(safe-area-inset-top)}.web-page-list-close{display:inline-flex;margin-right:8px}.web-page-scroll{display:block;overflow-x:hidden;overflow-y:auto;padding-bottom:calc(16px + env(safe-area-inset-bottom))}.web-page-row{align-content:center}.web-editor-toolbar{align-items:center}.web-primary-button.compact{flex:0 0 auto}}@media(max-width:460px){.web-account span{display:none}.web-status-bar{font-size:.78rem}.web-install-prompt{gap:8px;padding:8px 10px}.web-install-copy{gap:8px}.web-install-copy span{white-space:normal}.web-auth-panel,.web-connect-panel{width:calc(100vw - 16px);margin-top:8px;padding:14px}.web-connect-actions{flex-direction:column}.web-editor-toolbar{padding:9px}.web-primary-button.compact span{display:none}.web-editor-surface .milkdown .ProseMirror{padding:18px 14px 110px}}
