@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap";:root{color-scheme:dark;--bg: #0a0a0b;--surface: #111114;--surface-hover: #16161a;--border: rgba(255, 255, 255, .07);--border-strong: rgba(255, 255, 255, .16);--text: #ededed;--text-dim: #8a8a90;--text-faint: #5a5a60;--accent: #ededed;--danger: #f08a8a}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.5;-webkit-font-smoothing:antialiased;min-height:100vh}a{color:inherit;text-decoration:none}button{font-family:inherit;color:inherit;border-radius:0}input{font-family:inherit;border-radius:0}.page{display:grid;grid-template-columns:240px minmax(0,1fr);min-height:100vh}.sidebar{position:sticky;top:0;align-self:start;height:100vh;border-right:1px solid var(--border);padding:28px 20px 24px;overflow:auto}.sidebar-header{padding:0 4px 16px;border-bottom:1px solid var(--border);margin-bottom:14px}.sidebar-title{margin:0;font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim)}.sidebar-empty{font-size:12px;color:var(--text-faint);margin:0;padding:4px}.tree-list,.tree-children{list-style:none;margin:0;padding:0}.tree-children{margin-left:14px;padding-left:0;border-left:1px solid var(--border)}.tree-children .tree-row{padding-left:8px}.tree-row{display:grid;grid-template-columns:16px 1fr;align-items:center;gap:2px;margin:1px 0}.tree-toggle{width:16px;height:22px;border:0;background:transparent;color:var(--text-faint);cursor:pointer;padding:0;font-size:12px;line-height:1;display:inline-flex;align-items:center;justify-content:center}.tree-toggle:disabled{cursor:default;visibility:hidden}.tree-toggle span{display:inline-block;transition:transform .15s ease}.tree-toggle span.open{transform:rotate(90deg);color:var(--text)}.tree-label{border:0;background:transparent;padding:4px 8px;text-align:left;cursor:pointer;color:var(--text-dim);font-size:13px;font-weight:400;display:inline-flex;align-items:center;gap:8px;width:100%;transition:color .12s ease,background .12s ease}.tree-label:hover{color:var(--text);background:var(--surface)}.tree-label.current{color:var(--text);background:var(--surface-hover)}.tree-label.locked{color:var(--text-faint)}.tree-label.locked:hover,.tree-label.locked.current{color:var(--text-dim)}.tree-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.tree-lock{width:10px;height:12px;flex-shrink:0;opacity:.85}.content{padding:36px 44px 64px;min-width:0}.content-header{display:flex;align-items:baseline;justify-content:space-between;gap:16px;padding-bottom:18px;margin-bottom:28px;border-bottom:1px solid var(--border);flex-wrap:wrap}.breadcrumbs{display:flex;flex-wrap:wrap;gap:6px;align-items:baseline;font-size:14px;color:var(--text-dim)}.breadcrumbs button{border:0;background:transparent;color:inherit;padding:2px 4px;cursor:pointer;font:inherit;transition:color .12s ease}.breadcrumbs button:hover{color:var(--text)}.breadcrumbs button.current{color:var(--text);font-weight:500}.breadcrumbs-separator{color:var(--text-faint)}.content-meta{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--text-faint);text-transform:uppercase;letter-spacing:.12em}.content-meta-divider{color:var(--text-faint)}.section{margin-top:28px}.section-heading{margin:0 0 12px;font-size:11px;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim)}.folder-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1px;background:var(--border);border:1px solid var(--border)}.folder-card{background:var(--bg);border:0;padding:14px 16px;cursor:pointer;text-align:left;color:var(--text);font:inherit;display:flex;align-items:center;justify-content:space-between;gap:12px;transition:background .12s ease,color .12s ease}.folder-card:hover{background:var(--surface)}.folder-name{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.folder-arrow{color:var(--text-faint);font-size:14px;transition:transform .18s ease,color .12s ease}.folder-card:hover .folder-arrow{color:var(--text);transform:translate(2px)}.image-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px 10px}.image-card{display:flex;flex-direction:column;gap:8px}.image-thumb{position:relative;background:var(--surface);aspect-ratio:1 / 1;overflow:hidden;border:1px solid var(--border);transition:border-color .15s ease}.image-card:hover .image-thumb{border-color:var(--border-strong)}.image-thumb img{width:100%;height:100%;object-fit:cover;display:block;transition:opacity .18s ease}.image-card:hover .image-thumb img{opacity:.92}.image-name{font-size:11px;color:var(--text-dim);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:.01em}.empty-state{border:1px dashed var(--border);padding:48px 24px;text-align:center;color:var(--text-dim);font-size:13px}.lock-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:60px 20px;min-height:50vh;text-align:center}.lock-glyph{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;color:var(--text-dim)}.lock-glyph svg{width:22px;height:26px}.lock-message{display:flex;flex-direction:column;gap:4px;margin:0}.lock-title{font-size:11px;text-transform:uppercase;letter-spacing:.22em;color:var(--text-dim)}.lock-subtitle{font-size:14px;color:var(--text);font-weight:500;word-break:break-all}.lock-form{display:flex;gap:8px;width:320px;max-width:100%;margin-top:8px}.lock-input{flex:1;background:transparent;border:1px solid var(--border-strong);color:var(--text);font:inherit;font-size:13px;padding:9px 12px;outline:none;transition:border-color .12s ease}.lock-input::placeholder{color:var(--text-faint)}.lock-input:focus{border-color:var(--text)}.lock-button{background:var(--text);color:var(--bg);border:0;padding:9px 16px;font:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:background .12s ease,color .12s ease}.lock-button:hover{background:var(--text-dim)}.lock-error{margin:0;color:var(--danger);font-size:12px;letter-spacing:.02em}@media(max-width:800px){.page{grid-template-columns:1fr}.sidebar{position:relative;height:auto;border-right:0;border-bottom:1px solid var(--border);padding:20px 18px}.content{padding:24px 20px 48px}}
