.shell{display:flex;flex-direction:column;height:100%}.shell__content{flex:1;overflow-y:auto}.home{max-width:960px;margin:0 auto;padding:1.5rem 1.25rem 4rem;display:flex;flex-direction:column;gap:2rem}.hero{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;padding:2rem 1.5rem;background:linear-gradient(135deg,var(--fp-surface),color-mix(in srgb,var(--fp-primary) 8%,var(--fp-surface)));border:1px solid var(--fp-border);border-radius:var(--fp-radius)}.hero__title{margin:0;font-size:1.6rem}.hero__subtitle{margin:0;color:var(--fp-fg-muted);max-width:46ch}.hero__pick{margin-top:.75rem;padding:.7rem 1.4rem;border:none;border-radius:999px;background:var(--fp-primary);color:var(--fp-primary-fg);font-weight:600;transition:transform .05s ease,opacity .15s ease}.hero__pick:hover:not(:disabled){opacity:.92}.hero__pick:active:not(:disabled){transform:translateY(1px)}.hero__pick:disabled{opacity:.6;cursor:default}.hero__error{margin:.5rem 0 0;color:#c62828;font-size:.9rem}.section__head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:.75rem}.section__title{margin:0;font-size:1.1rem}.section__action{align-self:center}.section__refresh{display:inline-flex;align-items:center;gap:.35rem;padding:.35rem .7rem;border:1px solid var(--fp-border);border-radius:999px;background:var(--fp-surface);color:var(--fp-fg-muted);font-size:.82rem;font-weight:600;transition:background .15s ease,color .15s ease}.section__refresh:hover:not(:disabled){background:color-mix(in srgb,var(--fp-primary) 8%,var(--fp-surface));color:var(--fp-fg)}.section__refresh:disabled{opacity:.7;cursor:default}.section__refresh-icon{display:inline-block;font-size:.95rem;line-height:1}.section__refresh-icon.is-spinning{animation:section-refresh-spin .8s linear infinite}@keyframes section-refresh-spin{to{transform:rotate(360deg)}}.section__error{margin:0 0 .6rem;padding:.5rem .7rem;border-radius:8px;background:color-mix(in srgb,#d93025 12%,transparent);color:#d93025;font-size:.82rem}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.75rem}.doc-card{display:flex;align-items:center;background:var(--fp-surface);border:1px solid var(--fp-border);border-radius:var(--fp-radius);overflow:hidden}.doc-card--stale{opacity:.8}.doc-card__main{flex:1;min-width:0;display:flex;align-items:center;gap:.7rem;padding:.75rem .85rem;border:none;background:transparent;color:inherit;text-align:left}.doc-card__main:hover{background:color-mix(in srgb,var(--fp-primary) 6%,transparent)}.doc-card__icon{font-size:1.4rem;flex-shrink:0}.doc-card__text{min-width:0;display:flex;flex-direction:column}.doc-card__name{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-card__meta{font-size:.8rem;color:var(--fp-fg-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.doc-card__stale{color:var(--fp-primary);font-style:normal}.doc-card__badge{flex-shrink:0;font-size:.68rem;padding:.15rem .45rem;border-radius:999px;background:color-mix(in srgb,var(--fp-primary) 12%,transparent);color:var(--fp-primary);font-weight:600}.doc-card__fav{padding:0 .85rem;align-self:stretch;border:none;border-left:1px solid var(--fp-border);background:transparent;color:var(--fp-fg-muted);font-size:1.1rem}.doc-card__fav.is-on{color:#f4b400}.doc-card__fav:hover{background:color-mix(in srgb,var(--fp-primary) 6%,transparent)}.empty{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:2rem 1rem;border:1px dashed var(--fp-border);border-radius:var(--fp-radius);text-align:center}.empty__icon{font-size:1.8rem}.empty__title{margin:0;font-weight:600}.empty__hint{margin:0;font-size:.88rem;color:var(--fp-fg-muted)}.account{position:relative}.account__signin{padding:.45rem 1rem;border:1px solid var(--fp-border);border-radius:999px;background:var(--fp-primary);color:var(--fp-primary-fg);font-weight:600}.account__signin:hover:not(:disabled){opacity:.92}.account__signin:disabled{opacity:.6}.account__loading{display:inline-block;width:22px;height:22px;border-radius:50%;border:2px solid var(--fp-border);border-top-color:var(--fp-primary);animation:account-spin .8s linear infinite}@keyframes account-spin{to{transform:rotate(360deg)}}.account__avatar-btn{display:flex;align-items:center;gap:.4rem;padding:.2rem .5rem .2rem .2rem;border:1px solid var(--fp-border);border-radius:999px;background:var(--fp-surface);color:inherit}.account__avatar{width:28px;height:28px;border-radius:50%;object-fit:cover;display:flex;align-items:center;justify-content:center}.account__avatar--fallback{background:var(--fp-primary);color:var(--fp-primary-fg);font-weight:700;font-size:.85rem}.account__tier{font-size:.62rem;font-weight:700;letter-spacing:.03em;padding:.1rem .4rem;border-radius:999px}.account__tier--free{background:color-mix(in srgb,var(--fp-fg-muted) 18%,transparent);color:var(--fp-fg-muted)}.account__tier--pro{background:color-mix(in srgb,var(--fp-primary) 16%,transparent);color:var(--fp-primary)}.account__tier--premium{background:color-mix(in srgb,#f4b400 22%,transparent);color:#a67c00}.account__menu{position:absolute;right:0;top:calc(100% + 8px);min-width:220px;background:var(--fp-bg);border:1px solid var(--fp-border);border-radius:12px;box-shadow:0 8px 28px #0000002e;padding:.4rem;z-index:20}.account__id{display:flex;flex-direction:column;padding:.5rem .6rem;border-bottom:1px solid var(--fp-border);margin-bottom:.3rem}.account__name{font-size:.92rem}.account__email{font-size:.78rem;color:var(--fp-fg-muted);overflow:hidden;text-overflow:ellipsis}.account__menu-item{display:block;width:100%;text-align:left;padding:.55rem .6rem;border:none;border-radius:8px;background:transparent;color:inherit;font-size:.9rem}.account__menu-item:hover{background:color-mix(in srgb,var(--fp-primary) 8%,transparent)}.account__menu-note{display:block;padding:.5rem .6rem;font-size:.82rem;color:var(--fp-fg-muted)}.settings-backdrop{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:16px;background:#00000073;backdrop-filter:blur(2px)}.settings{width:420px;max-width:100%;max-height:90vh;overflow-y:auto;background:var(--fp-bg);color:var(--fp-fg);border:1px solid var(--fp-border);border-radius:var(--fp-radius);box-shadow:0 18px 48px #00000047;outline:none}.settings__head{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid var(--fp-border)}.settings__title{margin:0;font-size:1.05rem;font-weight:700}.settings__close{border:none;background:transparent;color:var(--fp-fg-muted);font-size:.9rem;width:30px;height:30px;border-radius:8px}.settings__close:hover{background:color-mix(in srgb,var(--fp-fg) 10%,transparent);color:var(--fp-fg)}.settings__section{padding:16px 18px;border-bottom:1px solid var(--fp-border)}.settings__label{margin:0 0 10px;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--fp-fg-muted)}.settings__segmented{display:flex;gap:4px;padding:4px;background:var(--fp-surface);border:1px solid var(--fp-border);border-radius:10px}.settings__seg{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.5rem .4rem;border:none;border-radius:7px;background:transparent;color:var(--fp-fg-muted);font-size:.85rem;font-weight:600;transition:background .15s ease,color .15s ease}.settings__seg:hover:not(.settings__seg--active){background:color-mix(in srgb,var(--fp-fg) 6%,transparent)}.settings__seg--active{background:var(--fp-bg);color:var(--fp-fg);box-shadow:0 1px 3px #00000029}.settings__seg-icon{font-size:.95rem;line-height:1}.settings__hint{margin:8px 2px 0;font-size:.75rem;color:var(--fp-fg-muted)}.settings__swatches{display:flex;flex-wrap:wrap;gap:10px}.settings__swatch{width:34px;height:34px;border-radius:50%;border:2px solid var(--fp-border);padding:0;position:relative;transition:transform .12s ease,box-shadow .12s ease}.settings__swatch:hover{transform:scale(1.08)}.settings__swatch--default{display:inline-flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;color:var(--fp-fg-muted);background:linear-gradient(135deg,var(--fp-surface) 0 50%,var(--fp-bg) 50% 100%)}.settings__swatch--active{border-color:var(--fp-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--fp-primary) 40%,transparent)}.settings__custom{display:flex;align-items:center;gap:14px;margin-top:14px}.settings__custom-label{display:inline-flex;align-items:center;gap:8px;font-size:.85rem;color:var(--fp-fg)}.settings__color-input{width:34px;height:34px;padding:0;border:1px solid var(--fp-border);border-radius:8px;background:transparent;cursor:pointer}.settings__color-input::-webkit-color-swatch-wrapper{padding:3px}.settings__color-input::-webkit-color-swatch{border:none;border-radius:5px}.settings__reset{border:none;background:transparent;color:var(--fp-primary);font-size:.82rem;font-weight:600;padding:4px 6px;border-radius:6px}.settings__reset:hover{background:color-mix(in srgb,var(--fp-primary) 10%,transparent)}.settings__foot{display:flex;justify-content:flex-end;padding:14px 18px}.settings__done{border:none;border-radius:8px;padding:.55rem 1.4rem;background:var(--fp-primary);color:var(--fp-primary-fg);font-size:.88rem;font-weight:600}.settings__done:hover{background:color-mix(in srgb,var(--fp-primary) 88%,#000)}.appswitcher{position:relative;display:inline-flex;align-items:center}.appswitcher__trigger{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:8px;background:transparent;color:var(--fp-fg-muted, #555);cursor:pointer;transition:background .15s ease,color .15s ease}.appswitcher__trigger:hover{background:#0000000f;color:var(--fp-fg, #111)}.appswitcher__menu{position:absolute;top:calc(100% + 8px);right:0;z-index:1000;width:320px;max-width:92vw;padding:12px;background:#fff;border:1px solid rgba(0,0,0,.08);border-radius:14px;box-shadow:0 12px 32px #0000002e}@media(max-width:639px){.appswitcher__menu{position:fixed;top:56px;left:8px;right:8px;width:auto;max-width:none}}.appswitcher__header{font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#888;padding:0 4px 8px;border-bottom:1px solid rgba(0,0,0,.06);margin-bottom:8px}.appswitcher__grid{display:grid;grid-template-columns:1fr 1fr;gap:6px}.appswitcher__item{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:10px;text-decoration:none;color:#1f2937;transition:background .15s ease}.appswitcher__item:hover{background:#f3f4f6}.appswitcher__item--current{background:#eef2ff}.appswitcher__name{font-size:13px;font-weight:600}.appswitcher__desc{font-size:11px;color:#6b7280}:root[data-theme=dark] .appswitcher__menu{background:#1f2430;border-color:#ffffff14}:root[data-theme=dark] .appswitcher__item{color:#e5e7eb}:root[data-theme=dark] .appswitcher__item:hover{background:#ffffff0f}:root[data-theme=dark] .appswitcher__item--current{background:#6366f12e}:root[data-theme=dark] .appswitcher__desc{color:#9ca3af}@media(prefers-color-scheme:dark){:root:not([data-theme]) .appswitcher__menu{background:#1f2430;border-color:#ffffff14}:root:not([data-theme]) .appswitcher__item{color:#e5e7eb}:root:not([data-theme]) .appswitcher__item:hover{background:#ffffff0f}:root:not([data-theme]) .appswitcher__item--current{background:#6366f12e}:root:not([data-theme]) .appswitcher__desc{color:#9ca3af}}.tabstrip{display:flex;align-items:flex-end;gap:2px;padding:6px 8px 0;padding-top:max(6px,env(safe-area-inset-top));background:var(--fp-tabbar, #fbe9e7)}.tabstrip__tabs{display:flex;align-items:flex-end;gap:2px;min-width:0;flex:0 1 auto;overflow-x:auto;overflow-y:hidden;scrollbar-width:thin}.tabstrip__spacer{flex:1;min-width:8px}.tabstrip__account{flex-shrink:0;align-self:center;padding-bottom:4px;display:flex;align-items:center;gap:6px}.tab{position:relative;display:flex;align-items:center;max-width:220px;border-radius:12px 12px 0 0;background:transparent;color:var(--fp-fg-muted);transition:background .15s ease}.tab--home{flex-shrink:0}.tab:not(.tab--active):before{content:"";position:absolute;left:-1px;top:50%;transform:translateY(-50%);width:1px;height:55%;background:color-mix(in srgb,var(--fp-fg) 22%,transparent);pointer-events:none}.tab:first-child:not(.tab--active):before{display:none}.tab:hover:not(.tab--active):before,.tab--active+.tab:not(.tab--active):before,.tab:hover+.tab:not(.tab--active):before{background:transparent}.tab:hover:not(.tab--active){background:color-mix(in srgb,var(--fp-fg) 6%,transparent)}.tab--active{background:var(--fp-bg);color:var(--fp-fg)}.tab--active:before,.tab--active:after{content:"";position:absolute;bottom:0;width:14px;height:14px;background:var(--fp-bg);pointer-events:none}.tab--active:before{left:-14px;-webkit-mask:radial-gradient(circle 14px at top left,transparent 0 14px,#000 14px);mask:radial-gradient(circle 14px at top left,transparent 0 14px,#000 14px)}.tab--active:after{right:-14px;-webkit-mask:radial-gradient(circle 14px at top right,transparent 0 14px,#000 14px);mask:radial-gradient(circle 14px at top right,transparent 0 14px,#000 14px)}.tab__label{display:flex;align-items:center;gap:.4rem;min-width:0;max-width:200px;padding:.55rem .7rem;border:none;background:transparent;color:inherit;font-size:.85rem;font-weight:600}.tab__home-icon{border-radius:4px;flex-shrink:0}.tab__icon{flex-shrink:0}.tab__name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tab__close{border:none;background:transparent;color:inherit;font-size:.7rem;padding:0 .55rem;align-self:stretch;border-radius:0 12px 0 0}.tab__close:hover{color:var(--fp-fg);background:color-mix(in srgb,var(--fp-fg) 10%,transparent)}.tab__add{flex-shrink:0;align-self:center;margin:0 2px 4px;width:30px;height:30px;border:none;border-radius:8px;background:transparent;color:var(--fp-fg-muted);font-size:1.1rem}.tab__add:hover{background:color-mix(in srgb,var(--fp-primary) 10%,transparent);color:var(--fp-primary)}.tabstrip__settings{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:8px;background:transparent;color:var(--fp-fg-muted);transition:background .15s ease,color .15s ease}.tabstrip__settings:hover{background:color-mix(in srgb,var(--fp-fg) 8%,transparent);color:var(--fp-fg)}:root[data-tabbar=dark] .tab:not(.tab--active){color:#ffffffb8}:root[data-tabbar=dark] .tab:hover:not(.tab--active){background:#ffffff1f;color:#fff}:root[data-tabbar=dark] .tab:not(.tab--active):before{background:#ffffff47}:root[data-tabbar=dark] .tab:hover:not(.tab--active):before,:root[data-tabbar=dark] .tab--active+.tab:not(.tab--active):before,:root[data-tabbar=dark] .tab:hover+.tab:not(.tab--active):before{background:transparent}:root[data-tabbar=dark] .tab:not(.tab--active) .tab__close{color:#ffffffb8}:root[data-tabbar=dark] .tab__close:hover{color:#fff;background:#ffffff29}:root[data-tabbar=dark] .tab__add{color:#fffc}:root[data-tabbar=dark] .tab__add:hover{color:#fff;background:#ffffff29}:root[data-tabbar=dark] .tabstrip__settings,:root[data-tabbar=dark] .appswitcher__trigger{color:#fffc}:root[data-tabbar=dark] .tabstrip__settings:hover,:root[data-tabbar=dark] .appswitcher__trigger:hover{color:#fff;background:#ffffff29}.tabstrip--mobile{align-items:center;padding-bottom:6px}.tabstrip__mobile-left{display:flex;align-items:center;gap:10px;min-width:0}.tabstrip__brand{display:inline-flex;align-items:center;gap:.4rem;border:none;background:transparent;color:var(--fp-fg);font-size:.9rem;font-weight:700;padding:.3rem .4rem;border-radius:8px;white-space:nowrap}.tabstrip__brand:hover{background:color-mix(in srgb,var(--fp-fg) 8%,transparent)}.tabstrip__brand--active{color:var(--fp-primary)}.tabstrip__doc{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:8px;background:color-mix(in srgb,var(--fp-fg) 7%,transparent);color:var(--fp-fg);min-width:0}.tabstrip__doc-label{font-size:.85rem;font-weight:600}.tabstrip__doc-close{border:none;background:transparent;color:inherit;font-size:.72rem;padding:.1rem .35rem;border-radius:6px;line-height:1}.tabstrip__doc-close:hover{background:color-mix(in srgb,var(--fp-fg) 12%,transparent)}:root[data-tabbar=dark] .tabstrip__brand{color:#fff}:root[data-tabbar=dark] .tabstrip__brand--active{color:#fff;opacity:.95}:root[data-tabbar=dark] .tabstrip__doc{background:#ffffff24;color:#fff}.lazy-viewer-boot{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.9rem;background:#525659;color:#e7e8ea;font-size:.95rem}.lazy-viewer-boot__spinner{width:34px;height:34px;border-radius:50%;border:3px solid rgba(255,255,255,.25);border-top-color:#fff;animation:lazy-viewer-spin .8s linear infinite}@keyframes lazy-viewer-spin{to{transform:rotate(360deg)}}.pwa-notices{position:fixed;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translate(-50%);z-index:200;display:flex;flex-direction:column;gap:8px;width:min(520px,calc(100vw - 24px));pointer-events:none}.pwa-toast{pointer-events:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:.7rem .9rem;border-radius:12px;background:var(--fp-fg);color:var(--fp-bg);box-shadow:0 8px 28px #00000040;font-size:.9rem;animation:pwa-rise .2s ease}.pwa-toast--install{background:var(--fp-primary);color:var(--fp-primary-fg)}.pwa-toast--offline{background:#8a5a00;color:#fff}.pwa-toast button{border:none;border-radius:8px;padding:.4rem .8rem;font-weight:600;background:#ffffff29;color:inherit}.pwa-toast button:hover{background:#ffffff47}.pwa-toast__actions{display:flex;gap:6px;flex-shrink:0}.pwa-toast__dismiss{background:transparent!important;opacity:.85}.pwa-toast__close{padding:.3rem .5rem;line-height:1;font-size:.8rem}.pwa-toast__close:hover{opacity:1}@keyframes pwa-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}:root{--fp-primary: #1565c0;--fp-primary-fg: #ffffff;--fp-bg: #ffffff;--fp-surface: #f5f6f8;--fp-fg: #1a1a1a;--fp-fg-muted: #5f6368;--fp-border: #e0e2e6;--fp-radius: 12px;--fp-tabbar: #fbe9e7}:root[data-theme=dark]{--fp-bg: #121316;--fp-surface: #1e1f24;--fp-fg: #e7e8ea;--fp-fg-muted: #9aa0a6;--fp-border: #2c2e33;--fp-tabbar: #24201f}@media(prefers-color-scheme:dark){:root:not([data-theme]){--fp-bg: #121316;--fp-surface: #1e1f24;--fp-fg: #e7e8ea;--fp-fg-muted: #9aa0a6;--fp-border: #2c2e33;--fp-tabbar: #24201f}}*{box-sizing:border-box}html,body,#root{margin:0;height:100%}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--fp-bg);color:var(--fp-fg);-webkit-font-smoothing:antialiased}button{font:inherit;cursor:pointer}.app-tabs{display:flex;flex-direction:column;height:100%}.app-tabs__body{flex:1;min-height:0;position:relative}.app-tabs--embedded .app-tabs__body{height:100%}.viewer-host{position:absolute;inset:0}
