:root{--cloistr-surface: var(--cloistr-bg-elevated);--cloistr-surface-alt: var(--cloistr-bg);--cloistr-surface-2: var(--cloistr-bg);--cloistr-surface-hover: var(--cloistr-bg-hover);--cloistr-hover: var(--cloistr-bg-hover);--cloistr-accent: var(--cloistr-primary);--cloistr-danger: var(--cloistr-error);--cloistr-text-secondary: var(--cloistr-text-muted)}.hidden{display:none!important}.landing{min-height:100%;display:flex;align-items:center;justify-content:center;padding:2rem}.landing-hero{text-align:center;max-width:800px}.landing-brand{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:1.5rem}.landing-logo{height:60px;width:auto}.landing-title{font-size:2rem;font-weight:700;color:var(--cloistr-text)}.landing-tagline{font-size:1.125rem;color:var(--cloistr-text-muted);margin-bottom:2.5rem}.landing-features{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-bottom:2.5rem}@media (max-width: 640px){.landing-features{grid-template-columns:1fr}}.feature{padding:1.25rem;background:var(--cloistr-bg-elevated);border:1px solid var(--cloistr-border);border-radius:8px;text-align:left}.feature-icon{font-size:1.75rem;margin-bottom:.75rem}.feature h3{font-size:1rem;font-weight:600;margin-bottom:.4rem}.feature p{font-size:.875rem;color:var(--cloistr-text-muted);margin:0}.landing-auth{display:flex;flex-direction:column;align-items:center;gap:.75rem}.auth-help{margin-top:.5rem;font-size:.875rem;color:var(--cloistr-text-muted)}.auth-help a{color:var(--cloistr-primary-light);text-decoration:none}.auth-help a:hover{text-decoration:underline}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.45rem 1rem;border:1px solid var(--cloistr-border);border-radius:6px;background:var(--cloistr-bg-elevated);color:var(--cloistr-text);font:inherit;font-size:.9rem;cursor:pointer;transition:background .15s ease,border-color .15s ease}.btn:hover:not(:disabled){background:var(--cloistr-bg-hover)}.btn-primary{background:var(--cloistr-primary);border-color:var(--cloistr-primary-dark);color:#fff}.btn-primary:hover:not(:disabled){background:var(--cloistr-primary-hover)}.btn-secondary{background:var(--cloistr-bg-elevated);border-color:var(--cloistr-border);color:var(--cloistr-text)}.btn-secondary:hover:not(:disabled){background:var(--cloistr-bg-hover)}.btn-large{padding:.7rem 1.75rem;font-size:1rem;min-width:220px}.modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000a6;display:flex;align-items:center;justify-content:center;z-index:var(--cloistr-z-modal, 200)}.modal-content{background:var(--cloistr-bg-elevated);border:1px solid var(--cloistr-border);border-radius:8px;width:90%;max-width:500px;max-height:85vh;overflow:hidden;display:flex;flex-direction:column}.modal-small{max-width:400px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--cloistr-border)}.modal-header h2{font-size:1.05rem;font-weight:600;margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.modal-close{background:none;border:none;color:var(--cloistr-text-muted);font-size:1.4rem;line-height:1;cursor:pointer;padding:0 .25rem}.modal-close:hover{color:var(--cloistr-text)}.modal-body{padding:1.25rem;overflow-y:auto;flex:1}.modal-description{color:var(--cloistr-text-muted);margin:0 0 .75rem;font-size:.9rem}.modal-help{font-size:.8rem;color:var(--cloistr-text-muted);margin-top:.75rem}.modal-help a{color:var(--cloistr-primary-light);text-decoration:none}.modal-help a:hover{text-decoration:underline}.modal-footer{display:flex;justify-content:flex-end;gap:.6rem;padding:.85rem 1.25rem;border-top:1px solid var(--cloistr-border)}.input{width:100%;box-sizing:border-box;padding:.5rem .75rem;background:var(--cloistr-bg);border:1px solid var(--cloistr-border);border-radius:6px;color:var(--cloistr-text);font:inherit;font-size:.9rem;transition:border-color .15s ease}.input:focus{outline:none;border-color:var(--cloistr-primary)}.input::placeholder{color:var(--cloistr-text-dim)}.nip46-status{display:flex;align-items:center;gap:.65rem;margin-top:.85rem;padding:.65rem .85rem;background:var(--cloistr-bg-hover);border-radius:6px;font-size:.875rem;color:var(--cloistr-text-muted)}.nip46-status.error{background:#ef44441a;color:var(--cloistr-error)}.nip46-status.success{background:#10b9811a;color:var(--cloistr-success)}.spinner{width:1rem;height:1rem;border:2px solid var(--cloistr-border);border-top-color:var(--cloistr-primary-light);border-radius:50%;animation:spin .7s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--cloistr-bg);color:var(--cloistr-text)}.stash-app{display:flex;flex-direction:column;min-height:100vh;min-height:100dvh}.stash-main{flex:1;display:flex;flex-direction:column}.stash-placeholder{margin:auto;text-align:center;padding:2rem}.stash-muted{opacity:.6}.stash-workspace{display:flex;flex:1;min-height:0}.stash-content{flex:1;min-width:0;display:flex;flex-direction:column}.sidebar{padding:.75rem;width:16rem;min-width:16rem;flex-shrink:0}.content-header{display:flex;align-items:center;gap:.5rem}.content-header-spacer{flex:1}.search-bar{display:flex;align-items:center;gap:.25rem;margin-top:.75rem}.search-input{background:var(--cloistr-bg);color:var(--cloistr-text);border:1px solid var(--cloistr-border);border-radius:6px;padding:.35rem .6rem;width:16rem;max-width:40vw}.search-clear{background:none;border:none;color:var(--cloistr-text-muted);cursor:pointer;font-size:1rem}.share-section{margin-bottom:1rem}.share-label{display:block;font-size:.85rem;opacity:.7;margin-bottom:.35rem}.share-row{display:flex;gap:.5rem}.share-row .modal-input{margin-bottom:0}.share-link{margin-top:.5rem}.share-status{opacity:.8;font-size:.85rem}.version-list{list-style:none;margin:0;padding:0}.version-row{display:flex;justify-content:space-between;align-items:center;gap:.5rem;padding:.4rem 0;border-bottom:1px solid var(--cloistr-border)}.version-meta{font-size:.85rem}.shared-list{list-style:none;margin:0;padding:1rem;max-width:1100px}.shared-row{display:flex;justify-content:space-between;align-items:center;gap:.75rem;padding:.5rem .6rem;border-bottom:1px solid var(--cloistr-border)}.shared-meta{display:inline-flex;align-items:center;gap:.5rem;min-width:0;flex:1}.shared-open{background:none;border:none;padding:0;font:inherit;color:inherit;text-align:left;cursor:pointer}.shared-open:hover{text-decoration:underline}.shared-accepted{font-size:.85rem;color:var(--cloistr-success, var(--cloistr-primary-light))}.shared-from{opacity:.55;font-size:.8rem}.upload-btn{background:var(--cloistr-bg-hover);color:var(--cloistr-primary-light);border:1px solid var(--cloistr-primary-dark);border-radius:6px;padding:.35rem .8rem;margin:.75rem 1rem 0 0;cursor:pointer}.upload-progress{position:fixed;right:1rem;bottom:1rem;z-index:50;width:300px;max-height:50vh;overflow-y:auto;background:var(--cloistr-bg-elevated);border:1px solid var(--cloistr-border);border-radius:8px;box-shadow:var(--cloistr-shadow-lg);padding:.6rem .75rem}.upload-progress-title{font-weight:600;margin-bottom:.4rem;display:flex;justify-content:space-between;align-items:center}.upload-progress-close{background:none;border:none;color:inherit;font-size:1.1rem;line-height:1;cursor:pointer;padding:0 .25rem;opacity:.7}.upload-progress-close:hover,.upload-progress-close:focus-visible{opacity:1}.upload-progress-list{list-style:none;margin:0;padding:0}.upload-progress-item{display:flex;justify-content:space-between;gap:.5rem;padding:.25rem 0;font-size:.85rem}.upload-progress-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-progress-status{opacity:.7;flex-shrink:0}.upload-progress-item.status-success .upload-progress-status{color:var(--cloistr-success)}.upload-progress-item.status-error .upload-progress-status,.upload-progress-item.status-duplicate .upload-progress-status{color:var(--cloistr-error)}.sidebar-toggle{background:none;border:1px solid var(--cloistr-border);border-radius:6px;color:var(--cloistr-text);font-size:1.1rem;padding:.2rem .55rem;cursor:pointer}@media (max-width: 767px){.sidebar-toggle{display:none}}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem 0 .75rem;margin-bottom:.5rem;border-bottom:1px solid var(--cloistr-border)}.sidebar-title{font-weight:600;font-size:.9rem}.shortcuts-list{margin:0;display:flex;flex-direction:column;gap:.15rem}.shortcut-item{display:flex;align-items:center;gap:.4rem;padding:.3rem 0}.shortcut-item span{flex:1;font-size:.9rem}.shortcut-item kbd,.shortcut-row kbd{background:var(--cloistr-bg-elevated);border:1px solid var(--cloistr-border);border-radius:4px;padding:.1rem .4rem;font-size:.8rem;white-space:nowrap}.sidebar-views{display:flex;flex-direction:column;gap:.15rem;margin-bottom:1rem}.sidebar-view{text-align:left;background:none;border:none;color:var(--cloistr-text);padding:.45rem .6rem;border-radius:6px;cursor:pointer}.sidebar-view:hover{background:var(--cloistr-bg-hover)}.sidebar-view.active{background:var(--cloistr-bg-hover);color:var(--cloistr-primary-light)}.folder-tree-list{list-style:none;margin:0;padding-left:.5rem}.folder-tree-row{display:flex;align-items:center;gap:.15rem}.folder-tree-row.active .folder-tree-name{color:var(--cloistr-primary-light)}.folder-tree-toggle,.folder-tree-name{background:none;border:none;color:inherit;cursor:pointer;font:inherit;padding:.2rem .3rem;text-align:left}.folder-tree-toggle-spacer{display:inline-block;width:1.1rem}.breadcrumbs{display:flex;align-items:center;flex-wrap:wrap;gap:.15rem;padding:.75rem 1rem 0}.breadcrumb-item{background:none;border:none;color:var(--cloistr-primary-light);cursor:pointer;font:inherit;padding:.1rem .2rem}.breadcrumb-sep{opacity:.4;padding:0 .1rem}.breadcrumb-current{opacity:.8;font-weight:600}.file-browser{width:100%;max-width:1100px;margin:0 auto;padding:1rem}.fb-star{background:none;border:none;color:var(--cloistr-text-muted);cursor:pointer;font-size:1rem;padding:0}.fb-star.on{color:var(--cloistr-warning)}.fb-toolbar{display:flex;gap:.5rem;margin-bottom:.75rem}.fb-view-btn{background:var(--cloistr-bg-elevated);color:var(--cloistr-text);border:1px solid var(--cloistr-border);border-radius:6px;padding:.35rem .7rem;cursor:pointer}.fb-view-btn.active{border-color:var(--cloistr-primary);background:var(--cloistr-bg-hover)}.fb-status{padding:2rem;text-align:center;opacity:.7}.fb-error{color:var(--cloistr-error)}.fb-key-warning{margin:0 0 12px;padding:10px 12px;border:1px solid var(--cloistr-error);border-radius:6px;color:var(--cloistr-error);font-size:.9rem}.fb-list{display:flex;flex-direction:column}.fb-row{display:grid;grid-template-columns:auto 1fr 7rem 7rem auto;align-items:center;gap:.5rem;padding:.45rem .5rem;border-bottom:1px solid var(--cloistr-border)}.fb-name-btn{background:none;border:none;color:inherit;font:inherit;cursor:pointer;text-align:left;padding:0}.fb-menu{position:relative;display:inline-block}.fb-menu-btn{background:none;border:none;color:var(--cloistr-text-muted);cursor:pointer;font-size:1.1rem;padding:0 .35rem}.fb-menu-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:transparent;border:none;z-index:10}.fb-menu-list{position:absolute;right:0;top:100%;z-index:11;display:flex;flex-direction:column;min-width:9rem;background:var(--cloistr-bg-elevated);border:1px solid var(--cloistr-border);border-radius:6px;box-shadow:var(--cloistr-shadow-lg);overflow:hidden}.fb-menu-item{background:none;border:none;color:var(--cloistr-text);text-align:left;padding:.5rem .7rem;cursor:pointer}.fb-menu-item:hover{background:var(--cloistr-bg-hover)}.fb-menu-item.danger{color:var(--cloistr-error)}.selection-toolbar{display:flex;align-items:center;gap:.6rem;padding:.5rem .75rem;margin-bottom:.5rem;background:var(--cloistr-bg-elevated);border:1px solid var(--cloistr-border);border-radius:8px}.selection-count{font-weight:600}.selection-btn{background:var(--cloistr-bg-hover);color:var(--cloistr-text);border:1px solid var(--cloistr-border);border-radius:6px;padding:.3rem .7rem;cursor:pointer}.selection-btn.danger{border-color:var(--cloistr-error);color:var(--cloistr-error)}.file-info{display:grid;grid-template-columns:auto 1fr;gap:.4rem 1rem;margin:0}.file-info dt{opacity:.6}.file-info dd{margin:0;word-break:break-word}.modal-input{width:100%;box-sizing:border-box;background:var(--cloistr-bg);color:var(--cloistr-text);border:1px solid var(--cloistr-border);border-radius:6px;padding:.5rem .6rem;margin-bottom:.9rem}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem}.selection-btn.primary{background:var(--cloistr-bg-hover);border-color:var(--cloistr-primary-dark);color:var(--cloistr-primary-light)}.move-list{list-style:none;margin:0;padding:0;max-height:50vh;overflow-y:auto}.move-target{width:100%;text-align:left;background:none;border:none;color:var(--cloistr-text);padding:.55rem .6rem;border-radius:6px;cursor:pointer}.move-target:hover{background:var(--cloistr-bg-hover)}.fb-row.selected{background:var(--cloistr-bg-elevated)}.fb-name{display:inline-flex;align-items:center;gap:.5rem;min-width:0;background:none;border:none;color:inherit;font:inherit;text-align:left}.fb-folder-open{cursor:pointer}.fb-name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fb-star{color:var(--cloistr-warning)}.fb-e2e{font-size:.65rem;border:1px solid var(--cloistr-success);color:var(--cloistr-success);border-radius:4px;padding:0 .25rem}.fb-size,.fb-date{opacity:.6;font-size:.85rem;text-align:right}.fb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem}.fb-card{display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:1rem .5rem;background:var(--cloistr-bg-elevated);border:1px solid var(--cloistr-border);border-radius:8px;color:inherit;cursor:default}.fb-card-icon{font-size:2rem}.fb-card-name{font-size:.85rem;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.fb-card-size{font-size:.72rem;opacity:.55}.modal{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal.hidden{display:none}.modal-content{background-color:var(--cloistr-surface, #1e1e2e);border:1px solid var(--cloistr-border, #3a3a4a);border-radius:8px;width:90%;max-width:500px;max-height:80vh;overflow:hidden;display:flex;flex-direction:column}.modal-large{max-width:900px;height:80vh}.modal-large .modal-body{flex:1;display:flex;flex-direction:column;overflow:hidden}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--cloistr-border, #3a3a4a)}.modal-header h2{font-size:1.125rem;font-weight:600;margin:0}.modal-close{background:none;border:none;color:var(--cloistr-text-muted, #888);font-size:1.5rem;cursor:pointer;line-height:1;padding:0}.modal-close:hover{color:var(--cloistr-text, inherit)}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--cloistr-border, #3a3a4a)}.preview-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;padding:0!important;overflow:hidden}.preview-loading{display:flex;flex-direction:column;align-items:center;gap:1rem;color:var(--cloistr-text-muted, #888)}.preview-content{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:auto}.preview-image{max-width:100%;max-height:60vh;object-fit:contain}.preview-video-container,.preview-audio-container{display:flex;flex-direction:column;align-items:center;width:100%;padding:1rem}.preview-video-container video{max-width:100%;max-height:60vh}.preview-unsupported{text-align:center;color:var(--cloistr-text-muted, #888);padding:2rem}.preview-code-container{display:flex;flex-direction:column;width:100%;height:65vh;border-radius:8px;overflow:hidden;background-color:#282c34}.preview-text{flex:1;margin:0;padding:1rem;overflow:auto;background-color:#282c34;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875rem;line-height:1.6;color:#abb2bf;white-space:pre}.preview-text code{font-family:inherit;font-size:inherit;background:transparent;padding:0}.preview-markdown-container{display:flex;flex-direction:column;width:100%;height:65vh;border-radius:8px;overflow:hidden;background-color:var(--cloistr-surface, #1e1e2e)}.markdown-header{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background-color:var(--cloistr-surface-2, #2a2a3a);border-bottom:1px solid var(--cloistr-border, #3a3a4a);flex-shrink:0}.markdown-tabs{display:flex;gap:4px}.markdown-tab{background:transparent;border:none;color:var(--cloistr-text-muted, #888);padding:6px 12px;border-radius:4px;font-size:14px;cursor:pointer;transition:background-color .2s,color .2s}.markdown-tab:hover{background-color:var(--cloistr-surface, #1e1e2e);color:var(--cloistr-text, inherit)}.markdown-tab.active{background-color:var(--cloistr-accent, #7c3aed);color:#fff}.markdown-actions{display:flex;gap:8px}.code-btn{background:#3a3f4b;border:none;color:#abb2bf;padding:4px 12px;border-radius:4px;font-size:12px;cursor:pointer;transition:background-color .2s,color .2s}.code-btn:hover,.code-btn.active{background:var(--cloistr-accent, #7c3aed);color:#fff}.markdown-content,.markdown-source{flex:1;overflow:auto;padding:1.5rem}.markdown-content{line-height:1.7;color:var(--cloistr-text, inherit)}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6{margin-top:1.5em;margin-bottom:.5em;font-weight:600;line-height:1.3}.markdown-content h1{font-size:2em;border-bottom:1px solid var(--cloistr-border, #3a3a4a);padding-bottom:.3em}.markdown-content h2{font-size:1.5em;border-bottom:1px solid var(--cloistr-border, #3a3a4a);padding-bottom:.3em}.markdown-content h3{font-size:1.25em}.markdown-content h4{font-size:1em}.markdown-content h5{font-size:.875em}.markdown-content h6{font-size:.85em;opacity:.7}.markdown-content p{margin:1em 0}.markdown-content a{color:var(--cloistr-accent, #7c3aed);text-decoration:none}.markdown-content a:hover{text-decoration:underline}.markdown-content ul,.markdown-content ol{margin:1em 0;padding-left:2em}.markdown-content li{margin:.25em 0}.markdown-content blockquote{margin:1em 0;padding:.5em 1em;border-left:4px solid var(--cloistr-accent, #7c3aed);background-color:var(--cloistr-surface-2, #2a2a3a);opacity:.9}.markdown-content code{font-family:Monaco,Menlo,monospace;font-size:.9em;padding:.2em .4em;background-color:var(--cloistr-surface-2, #2a2a3a);border-radius:4px}.markdown-content pre{margin:1em 0;padding:1em;background-color:#282c34;border-radius:8px;overflow-x:auto}.markdown-content pre code{background:transparent;padding:0;font-size:.875rem;line-height:1.6}.markdown-content table{width:100%;border-collapse:collapse;margin:1em 0}.markdown-content th,.markdown-content td{border:1px solid var(--cloistr-border, #3a3a4a);padding:.5em 1em;text-align:left}.markdown-content th{background-color:var(--cloistr-surface-2, #2a2a3a);font-weight:600}.markdown-content img{max-width:100%;height:auto;border-radius:8px}.markdown-content hr{border:none;border-top:1px solid var(--cloistr-border, #3a3a4a);margin:2em 0}.markdown-content input[type=checkbox]{margin-right:.5em}.markdown-source pre{margin:0;background:#282c34;color:#abb2bf;font-family:Monaco,Menlo,monospace;font-size:.875rem;line-height:1.6;white-space:pre-wrap;word-wrap:break-word}.markdown-source code{font-family:inherit}.btn{background:var(--cloistr-bg-hover);color:var(--cloistr-text);border:1px solid var(--cloistr-border);border-radius:6px;padding:.35rem .75rem;cursor:pointer;font:inherit;font-size:.9rem}.btn:hover{background:var(--cloistr-bg-elevated)}.btn-primary{background:var(--cloistr-bg-hover);border-color:var(--cloistr-primary-dark);color:var(--cloistr-primary-light)}.btn-primary:hover{opacity:.85}.fb-card.fb-folder{display:flex;flex-direction:column;align-items:center;gap:0;position:relative;cursor:default;background:var(--cloistr-bg-elevated);border:1px solid var(--cloistr-border);border-radius:8px;padding:.75rem .5rem .5rem;text-align:center}.fb-card-main{background:none;border:none;color:inherit;cursor:pointer;font:inherit;display:flex;flex-direction:column;align-items:center;gap:.25rem;width:100%;padding:0}.fb-card.fb-folder>.fb-menu{position:absolute;top:.4rem;right:.4rem}.folder-customize-body{padding:1rem 1.5rem;display:flex;flex-direction:column;gap:1rem}.folder-name-display{font-weight:600;font-size:1rem;padding:.4rem .6rem;background:var(--cloistr-bg);border:1px solid var(--cloistr-border);border-radius:6px}.customize-section{display:flex;flex-direction:column;gap:.5rem}.customize-section-label{font-size:.85rem;font-weight:600;opacity:.75;text-transform:uppercase;letter-spacing:.04em}.color-picker{display:flex;flex-wrap:wrap;gap:.4rem}.color-swatch{width:2rem;height:2rem;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:transform .1s,border-color .1s;padding:0}.color-swatch.default{background:var(--cloistr-text-muted, #888)!important;position:relative}.color-swatch.default:after{content:"×";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.1rem;line-height:1}.color-swatch.selected,.color-swatch:hover{border-color:var(--cloistr-primary-light, #a78bfa);transform:scale(1.12)}.icon-picker{display:flex;flex-wrap:wrap;gap:.35rem}.icon-option{font-size:1.4rem;padding:.25rem .35rem;background:none;border:2px solid transparent;border-radius:6px;cursor:pointer;transition:border-color .1s,background .1s;line-height:1}.icon-option.selected,.icon-option:hover{border-color:var(--cloistr-primary-light, #a78bfa);background:var(--cloistr-bg-hover)}.btn:disabled{opacity:.5;cursor:not-allowed}.input{width:100%;box-sizing:border-box;background:var(--cloistr-bg);color:var(--cloistr-text);border:1px solid var(--cloistr-border);border-radius:6px;padding:.5rem .6rem;font-size:.9rem;font-family:inherit}.modal-body{padding:1.25rem 1.5rem;overflow-y:auto;flex:1}.modal-content.modal-small{max-width:420px}.modal-content.modal-wide{max-width:720px}.modal-description{margin:0 0 .75rem;font-size:.9rem;color:var(--cloistr-text-muted)}.modal-help{margin:.5rem 0 0;font-size:.8rem;color:var(--cloistr-text-muted)}.btn.btn-primary{background-color:var(--cloistr-accent, #6366f1);color:#fff;border-color:var(--cloistr-accent, #6366f1)}.btn.btn-primary:hover{opacity:.9}.no-notifications{text-align:center;color:var(--cloistr-text-secondary, #6b7280);padding:2.5rem 1rem;font-style:italic}.notification-actions{display:flex;gap:.4rem;margin-top:.4rem}.notification-badge{background-color:var(--cloistr-error, #ef4444);color:#fff;min-width:18px;height:18px;border-radius:9px;padding:0 5px;font-size:11px;display:inline-flex;align-items:center;justify-content:center}.notification-badge:empty{display:none}.notification-content{flex:1;min-width:0}.notification-description{font-size:.85rem;color:var(--cloistr-text-secondary, #6b7280);margin-bottom:.35rem}.notification-icon{font-size:1.4rem;width:36px;text-align:center;flex-shrink:0;padding-top:.1rem}.notification-item{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 0;border-bottom:1px solid var(--cloistr-border, #e5e7eb);cursor:pointer;transition:background-color .15s}.notification-item.unread{background-color:#6366f10f;border-radius:6px;padding-left:.5rem;padding-right:.5rem}.notification-item:last-child{border-bottom:none}.notification-time{font-size:.75rem;color:var(--cloistr-text-secondary, #6b7280)}.notification-title{font-weight:500;font-size:.9rem;margin-bottom:.2rem}.notifications-list{max-height:420px;overflow-y:auto}.sidebar-nav-badge{padding:.1rem .45rem;border-radius:10px;font-size:.72rem;min-width:18px;text-align:center}.sidebar-nav-extra{margin-top:auto;padding-top:.5rem;border-top:1px solid var(--cloistr-border, #e5e7eb)}.sidebar-nav-icon{width:20px;margin-right:.6rem;text-align:center;flex-shrink:0}.sidebar-nav-item{display:flex;align-items:center;padding:.5rem .75rem;cursor:pointer;border-radius:6px;color:var(--cloistr-text-secondary, #6b7280);font-size:.875rem;transition:background-color .15s,color .15s;-webkit-user-select:none;user-select:none}.sidebar-nav-item:focus-visible{outline:2px solid var(--cloistr-accent, #6366f1);outline-offset:-2px}.sidebar-nav-item:hover{background-color:var(--cloistr-surface-hover, rgba(0,0,0,.04));color:var(--cloistr-text, #111827)}.sidebar-nav-name{flex:1}.comment-action-btn{background:transparent;border:none;color:var(--cloistr-text-muted, #888);cursor:pointer;font-size:.875rem;padding:2px 6px;border-radius:4px;line-height:1}.comment-action-btn.delete:hover{color:var(--cloistr-danger, #e06c75)}.comment-action-btn:hover{background-color:var(--cloistr-hover, rgba(255, 255, 255, .08));color:var(--cloistr-text, inherit)}.comment-actions{display:flex;gap:.25rem}.comment-date{font-size:.75rem;color:var(--cloistr-text-muted, #888)}.comment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.35rem}.comment-input-area{display:flex;flex-direction:column;gap:.5rem}.comment-input-area .btn{align-self:flex-end}.comment-input-area textarea.input{resize:vertical;min-height:72px;width:100%;box-sizing:border-box}.comment-item{padding:.75rem 1rem;background-color:var(--cloistr-surface-alt, rgba(255, 255, 255, .04));border-radius:6px;margin-bottom:.5rem}.comment-text{color:var(--cloistr-text, inherit);line-height:1.5;white-space:pre-wrap;word-break:break-word}.comments-file-name{font-weight:500;color:var(--cloistr-text, inherit);font-size:1.05rem;padding-bottom:.5rem;border-bottom:1px solid var(--cloistr-border, #3a3a4a)}.comments-list{max-height:360px;overflow-y:auto}.comments-modal-body{padding:1rem 1.5rem;display:flex;flex-direction:column;gap:.75rem;overflow-y:auto}.no-comments{text-align:center;color:var(--cloistr-text-muted, #888);padding:2rem;font-style:italic}#editor-modal .btn{padding:.375rem .75rem;border-radius:4px;border:1px solid var(--cloistr-border, #333);cursor:pointer;font-size:.875rem;background:transparent;color:var(--cloistr-text, inherit);line-height:1.4}#editor-modal .btn-primary{background:var(--cloistr-primary, #7c3aed);color:#fff;border-color:transparent}#editor-modal .btn-small{padding:.25rem .5rem;font-size:.8125rem}#editor-modal .btn:disabled{opacity:.5;cursor:not-allowed}.editor-body{flex:1;display:flex;flex-direction:column;overflow:hidden}.editor-collaborator{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.6875rem;font-weight:600;color:#fff;border:2px solid var(--cloistr-bg, #fff)}.editor-collaborators{display:flex;align-items:center;gap:.25rem}.editor-status{font-size:.75rem;color:var(--cloistr-text-muted, #888);margin-right:auto}.editor-textarea{flex:1;width:100%;height:100%;padding:1rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875rem;line-height:1.6;resize:none;border:none;outline:none;background:var(--cloistr-bg-elevated, #1a1a1a);color:var(--cloistr-text, #f5f5f5);box-sizing:border-box}.editor-textarea:disabled{opacity:.6}.editor-toolbar{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.backup-section{padding:1rem;background-color:var(--cloistr-bg-elevated, rgba(255,255,255,.04));border-radius:6px;margin-bottom:1rem}.backup-section h3{font-size:1rem;font-weight:600;margin:0 0 .5rem}.backup-section:last-of-type{margin-bottom:0}.backup-trigger-btn{background:none;border:none;font-size:1.1rem;cursor:pointer;color:var(--cloistr-text-muted, #888);padding:.25rem .4rem;border-radius:4px;line-height:1}.backup-trigger-btn:hover{color:var(--cloistr-text, inherit);background:var(--cloistr-bg-elevated, rgba(255,255,255,.08))}.migration-description{opacity:.8;margin:0 0 .75rem;font-size:.9rem}.migration-file-list{list-style:none;margin:0 0 1rem;padding:0;max-height:180px;overflow-y:auto;border:1px solid var(--cloistr-border);border-radius:6px}.migration-file-list li{padding:.3rem .6rem;font-size:.85rem;border-bottom:1px solid var(--cloistr-border)}.migration-file-list li:last-child{border-bottom:none}.migration-progress{margin-bottom:.75rem}.migration-progress-bar{height:100%;background:var(--cloistr-primary, #6366f1);border-radius:3px;transition:width .15s ease}.migration-progress-track{height:6px;background:var(--cloistr-border);border-radius:3px;overflow:hidden;margin-bottom:.35rem}.migration-status{font-size:.82rem;opacity:.75}.btn-accent{background:var(--cloistr-primary);border-color:var(--cloistr-primary-dark);color:#fff}.dropdown-arrow{font-size:.7rem;opacity:.7}.dropdown-divider{height:1px;background:var(--cloistr-border);margin:.25rem 0}.dropdown-icon{font-size:1rem;width:1.4rem;text-align:center;flex-shrink:0}.dropdown-item{display:flex;align-items:center;gap:.5rem;width:100%;background:none;border:none;color:var(--cloistr-text);font:inherit;font-size:.9rem;padding:.5rem .85rem;text-align:left;cursor:pointer}.dropdown-item:hover{background:var(--cloistr-bg-hover)}.folder-tree-icon{font-size:1rem;flex-shrink:0}.folder-tree-item.root{display:flex;align-items:center;gap:.35rem;padding:.4rem .5rem;border-radius:6px;cursor:pointer;-webkit-user-select:none;user-select:none;color:var(--cloistr-text)}.folder-tree-item.root .folder-tree-name{font-size:.9rem;font-weight:500}.folder-tree-item.root.active{background:var(--cloistr-bg-hover);color:var(--cloistr-primary-light)}.folder-tree-item.root:hover{background:var(--cloistr-bg-hover)}.new-dropdown{position:relative;display:inline-block;margin:.5rem 0 0}.new-dropdown-content{display:none;position:absolute;top:calc(100% + 4px);left:0;z-index:var(--cloistr-z-dropdown, 100);min-width:180px;background:var(--cloistr-bg-elevated);border:1px solid var(--cloistr-border);border-radius:8px;box-shadow:var(--cloistr-shadow-lg);padding:.25rem 0;overflow:hidden}.new-dropdown-content.show{display:flex;flex-direction:column}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:.35rem .25rem .5rem;margin-bottom:.25rem}.sidebar-section{margin-top:.75rem;border-top:1px solid var(--cloistr-border);padding-top:.5rem}.sidebar-storage{margin-top:auto;padding:.75rem .25rem .25rem;border-top:1px solid var(--cloistr-border);font-size:.8rem}.sidebar-tree-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;opacity:.6}.sidebar-tree-toggle{background:none;border:none;color:var(--cloistr-text-muted);font-size:.8rem;padding:.15rem .3rem;cursor:pointer;border-radius:4px}.sidebar-tree-toggle:hover{background:var(--cloistr-bg-hover);color:var(--cloistr-text)}.storage-bar{height:4px;background:var(--cloistr-border);border-radius:2px;overflow:hidden}.storage-bar-fill{height:100%;background:var(--cloistr-primary);border-radius:2px;transition:width .3s ease}.storage-info{display:flex;justify-content:space-between;margin-bottom:.3rem;color:var(--cloistr-text-muted)}.activity-details{display:flex;flex-direction:column;gap:.15rem;min-width:0}.activity-filters{display:flex;gap:.5rem;align-items:center;margin-bottom:.75rem;flex-wrap:wrap}.activity-icon{font-size:1.4rem;width:36px;text-align:center;flex-shrink:0;padding-top:.1rem}.activity-item{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 0;border-bottom:1px solid var(--cloistr-border, #e5e7eb)}.activity-item:last-child{border-bottom:none}.activity-list{max-height:420px;overflow-y:auto}.activity-text{color:var(--cloistr-text, inherit);word-break:break-word}.activity-time{font-size:.75rem;color:var(--cloistr-text-secondary, #6b7280)}.encryption-algorithm{margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.encryption-icon-large{font-size:1.75rem;line-height:1}.encryption-info-section{margin-bottom:1.25rem}.encryption-info-section h4{margin:0 0 .4rem;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em;color:var(--cloistr-text-secondary, #6b7280)}.encryption-status-box{display:flex;align-items:center;gap:.75rem;padding:.875rem 1rem;margin-bottom:1.25rem;border:1px solid var(--cloistr-border, #e5e7eb);border-radius:8px;background:var(--cloistr-bg-hover, #f9fafb)}.encryption-status-text{font-weight:600}.encryption-storage-info{margin:0;font-size:.875rem;line-height:1.5;color:var(--cloistr-text-secondary, #6b7280)}.key-arrow{text-align:center;color:var(--cloistr-text-secondary, #6b7280);line-height:1;padding:.2rem 0}.key-hierarchy{display:flex;flex-direction:column;align-items:stretch}.key-node{display:grid;grid-template-columns:28px auto;grid-template-areas:"icon label" "icon desc";gap:0 .6rem;padding:.6rem .75rem;border:1px solid var(--cloistr-border, #e5e7eb);border-radius:6px;background:var(--cloistr-bg-elevated, #fff)}.key-node-desc{grid-area:desc;font-size:.8rem;color:var(--cloistr-text-secondary, #6b7280)}.key-node-file,.key-node-folder{border-left:3px solid var(--cloistr-border, #e5e7eb)}.key-node-icon{grid-area:icon;font-size:1.1rem;align-self:center}.key-node-label{grid-area:label;font-weight:600}.key-node-root{border-left:3px solid var(--cloistr-primary, #6366f1)}.manage-share-expiry{font-size:.75rem;color:var(--cloistr-text-secondary, #6b7280)}.manage-share-info{display:flex;flex-direction:column;gap:.15rem;min-width:0}.manage-share-item{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.75rem 0;border-bottom:1px solid var(--cloistr-border, #e5e7eb)}.manage-share-item:last-child{border-bottom:none}.manage-share-permission{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--cloistr-text-secondary, #6b7280)}.manage-share-recipient{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.manage-shares-list{list-style:none;margin:0;padding:0;max-height:320px;overflow-y:auto}.manage-shares-rekey{margin-top:1rem;padding-top:.875rem;border-top:1px solid var(--cloistr-border, #e5e7eb)}.no-activity{text-align:center;color:var(--cloistr-text-secondary, #6b7280);padding:2.5rem 1rem;font-style:italic}.share-file-name{margin:0 0 .75rem;font-weight:600;word-break:break-word}.stash-connecting{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:2rem;text-align:center}.stash-connecting-title{margin:0;font-size:1.05rem;font-weight:600;color:var(--cloistr-text)}.stash-connecting-hint{margin:0;font-size:.875rem;color:var(--cloistr-text-muted)}.stash-connecting-details{margin-top:.5rem;font-size:.8125rem;color:var(--cloistr-text-muted);max-width:32rem;text-align:left}.stash-connecting-details summary{cursor:pointer;text-align:center;color:var(--cloistr-text-muted)}.stash-connecting-details summary:hover{color:var(--cloistr-text)}.stash-connecting-details dl{display:grid;grid-template-columns:auto 1fr;gap:.25rem .75rem;margin:.75rem 0 0;padding:.75rem;border:1px solid var(--cloistr-border);border-radius:6px;background:var(--cloistr-bg-elevated)}.stash-connecting-details dt{font-weight:600;color:var(--cloistr-text)}.stash-connecting-details dd{margin:0;font-family:var(--cloistr-font-mono, ui-monospace, SFMono-Regular, Menlo, monospace);word-break:break-word}@media (min-width: 769px){.cloistr-sidebar--collapsed{width:4rem;padding-left:.25rem;padding-right:.25rem}.cloistr-sidebar--collapsed .sidebar-title,.cloistr-sidebar--collapsed .sidebar-nav-name,.cloistr-sidebar--collapsed .sidebar-view span:not(.sidebar-view-icon),.cloistr-sidebar--collapsed .sidebar-tree,.cloistr-sidebar--collapsed .sidebar-section{display:none}.cloistr-sidebar--collapsed .sidebar-nav-item,.cloistr-sidebar--collapsed .sidebar-view{justify-content:center}.cloistr-sidebar--collapsed .sidebar-nav-badge{position:absolute;transform:translate(.6rem,-.6rem);min-width:.5rem;height:.5rem;padding:0;font-size:0}}.publish-warning p{margin:0 0 .75rem;line-height:1.5}.publish-warning strong{color:var(--cloistr-text)}.publish-danger{background:var(--cloistr-error, #dc2626);color:#fff;border:1px solid var(--cloistr-error, #dc2626)}.publish-error{color:var(--cloistr-error, #dc2626);margin-top:.5rem}.publish-notice{color:var(--cloistr-text-muted);margin-top:.5rem}.publish-url{width:100%;padding:.5rem;margin:.5rem 0;font-family:ui-monospace,Menlo,monospace;font-size:.875rem;border:1px solid var(--cloistr-border);border-radius:.375rem;background:var(--cloistr-bg-elevated);color:var(--cloistr-text)}.publish-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.publish-actions button{min-height:44px;padding:.5rem .875rem}@media (max-width: 768px){.content-header{flex-wrap:wrap;row-gap:.5rem;padding:.4rem .75rem}.content-header-spacer{flex-basis:100%;height:0;margin:0}.search-bar{order:10;flex:1 1 100%;margin-top:0}.search-input{width:100%}.fb-row{grid-template-columns:auto 1fr auto;min-height:44px}.fb-size,.fb-date{display:none}.fb-toolbar{flex-wrap:wrap;row-gap:.5rem}.selection-toolbar{flex-wrap:wrap;row-gap:.4rem}}.sidebar-quota{padding:.75rem 1rem;border-top:1px solid var(--color-border, #e0e0e0);margin-top:auto}.quota-bar{height:6px;border-radius:3px;background:var(--color-surface-raised, #e8e8e8);overflow:hidden}.quota-bar-fill{height:100%;border-radius:3px;background:var(--color-accent, #4a90e2);transition:width .3s ease}.quota-bar-fill.quota-warn{background:var(--color-warning, #f5a623)}.quota-bar-fill.quota-danger{background:var(--color-danger, #d0021b)}.quota-details{margin:.25rem 0 0;font-size:.75rem;color:var(--color-text-muted, #888)}.folder-drop-notice{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem 1rem;background:var(--color-surface-raised, #fff3cd);border:1px solid var(--color-warning, #f5a623);border-radius:4px;font-size:.875rem;margin:.5rem 1rem;cursor:pointer}.folder-drop-notice-close{background:none;border:none;cursor:pointer;font-size:1.1rem;line-height:1;padding:0 .25rem;color:inherit;flex-shrink:0}.fb-empty-trash-btn{margin-left:auto;color:var(--color-danger, #d0021b)}.fb-sort-select{background:var(--cloistr-bg-elevated);color:var(--cloistr-text);border:1px solid var(--cloistr-border);border-radius:6px;padding:.35rem .5rem;font-size:.875rem;cursor:pointer;min-height:44px}.fb-sort-dir-btn{font-size:.9rem;font-weight:600;min-width:2rem}.fb-toolbar-sep{width:1px;background:var(--cloistr-border);align-self:stretch;margin:0 .25rem}.fb-tag-clear-btn{color:var(--cloistr-text-muted);font-size:.8rem}.tags-current{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.9rem;min-height:2rem}.tags-empty{opacity:.55;font-size:.875rem}.tag-chip{display:inline-flex;align-items:center;gap:.25rem;background:var(--cloistr-bg-hover);border:1px solid var(--cloistr-border);border-radius:12px;padding:.15rem .6rem;font-size:.8rem}.tag-chip-remove{background:none;border:none;cursor:pointer;color:var(--cloistr-text-muted);font-size:.9rem;line-height:1;padding:0;min-height:20px;min-width:20px;display:flex;align-items:center;justify-content:center}.tags-input-row{display:flex;gap:.5rem;align-items:center}.tags-input-row .modal-input{flex:1;margin-bottom:0}.fb-tags{display:flex;flex-wrap:wrap;gap:.2rem;margin-top:.2rem}.fb-tag{background:var(--cloistr-bg-hover);border:1px solid var(--cloistr-border);border-radius:8px;padding:.05rem .4rem;font-size:.7rem;color:var(--cloistr-text-muted)}.fb-menu-btn,.fb-star{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center}.fb-view-btn,.selection-btn{min-height:44px;display:inline-flex;align-items:center;justify-content:center}.modal-close{min-height:44px;min-width:44px;display:inline-flex;align-items:center;justify-content:center}.move-target{min-height:44px;width:100%;text-align:left;display:flex;align-items:center}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width: 430px){.fb-toolbar{flex-wrap:wrap;gap:.35rem}.content-header{flex-wrap:wrap;gap:.3rem;padding:.3rem .5rem}.fb-toolbar-sep{display:none}.file-browser{padding:.5rem .75rem}}.root-key-warning{display:flex;gap:.75rem;align-items:flex-start;padding:.75rem 1rem;margin:.5rem 0;background:var(--warning-bg, #fff3cd);border:1px solid var(--warning-border, #ffc107);border-radius:8px;color:var(--warning-text, #664d03);font-size:.875rem;line-height:1.5}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) .root-key-warning{--warning-bg: #332701;--warning-border: #664d03;--warning-text: #ffda6a}}:root[data-theme=dark] .root-key-warning{--warning-bg: #332701;--warning-border: #664d03;--warning-text: #ffda6a}.root-key-warning-icon{font-size:1.25rem;flex-shrink:0;line-height:1;margin-top:.1rem}.root-key-warning-body{flex:1}.root-key-warning-actions{display:flex;gap:.5rem;margin-top:.5rem;flex-wrap:wrap}.stash-update-banner{position:fixed;left:50%;bottom:16px;transform:translate(-50%);z-index:10000;display:flex;align-items:center;gap:12px;max-width:calc(100vw - 32px);padding:10px 14px;border-radius:8px;background:var(--cloistr-surface, #1f1f2e);color:var(--cloistr-text, #fff);border:1px solid var(--cloistr-primary, #7c3aed);box-shadow:0 4px 16px #00000040;font-size:14px}.stash-update-banner button{border:1px solid var(--cloistr-primary, #7c3aed);background:var(--cloistr-primary, #7c3aed);color:#fff;border-radius:6px;padding:4px 10px;cursor:pointer}.stash-update-banner button[aria-label=Dismiss]{background:transparent;color:inherit;border-color:transparent}
