@font-face{font-family:Azonix;src:url(/fonts/Azonix.otf) format("opentype");font-weight:400;font-style:normal;font-display:swap}:root{color-scheme:light;--bg: #faf9fd;--surface: #ffffff;--surface-2: #f3f0fa;--ink: #1a1523;--muted: #655d75;--border: #e5e0f0;--accent: #6a2cf0;--accent-hover: #5a1fdc;--accent-ink: #ffffff;--accent-soft: #efe7ff;--accent-soft-ink: #4a17b8;--danger: #c0271f;--danger-soft: #fdecea;--warning-bg: #fff6e0;--warning-ink: #6b4a00;--star: #d98a00;--glow-a: rgba(155, 92, 255, .2);--glow-b: rgba(249, 168, 255, .22);--scrim: rgba(22, 16, 34, .55);--shadow: 0 1px 2px rgba(40, 20, 80, .06), 0 12px 32px rgba(40, 20, 80, .1);--radius-sm: 8px;--radius: 14px;--font-ui: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-logo: "Azonix", var(--font-ui)}@media(prefers-color-scheme:dark){:root{color-scheme:dark;--bg: #110f16;--surface: #1b1823;--surface-2: #25212f;--ink: #ece8f5;--muted: #a39bb3;--border: #322c40;--accent: #a98bff;--accent-hover: #bda6ff;--accent-ink: #1a0b40;--accent-soft: #2d2247;--accent-soft-ink: #d5c6ff;--danger: #ff8a80;--danger-soft: #45191a;--warning-bg: #3a2f10;--warning-ink: #ffdf8a;--star: #ffc94d;--glow-a: rgba(140, 90, 255, .22);--glow-b: rgba(230, 120, 255, .12);--scrim: rgba(0, 0, 0, .7);--shadow: 0 1px 2px rgba(0, 0, 0, .4), 0 12px 32px rgba(0, 0, 0, .45)}}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%}body{color:var(--ink);background:var(--bg);font-family:var(--font-ui);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}button,input{font:inherit;color:inherit}button{cursor:pointer}[hidden]{display:none!important}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.icon{width:1.25rem;height:1.25rem;flex-shrink:0;fill:currentColor}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;min-height:2.5rem;padding:0 1rem;border:1px solid transparent;border-radius:999px;background:transparent;font-weight:600;white-space:nowrap;transition:background-color .12s ease,border-color .12s ease}.btn:disabled{opacity:.55;cursor:default}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-primary:hover:not(:disabled){background:var(--accent-hover)}.btn-secondary{border-color:var(--border);background:var(--surface)}.btn-secondary:hover,.btn-ghost:hover,.btn-icon:hover:not(:disabled){background:var(--surface-2)}.btn-danger{background:var(--danger);color:var(--surface)}.btn-link{min-height:0;padding:.25rem .5rem;color:var(--muted);font-weight:500}.btn-link:hover{color:var(--ink)}.btn-icon{width:2.5rem;padding:0}.btn-block{width:100%}.auth{min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:2rem 1.25rem;background:radial-gradient(720px 420px at 50% -10%,var(--glow-a),transparent 65%),radial-gradient(560px 360px at 85% 105%,var(--glow-b),transparent 60%),var(--bg)}.auth-card{width:100%;max-width:22rem;display:grid;justify-items:center;gap:.4rem;text-align:center;animation:rise .36s ease both}.auth-mark{width:5rem;height:5rem;object-fit:contain}.auth-heading{margin:.5rem 0 0;font-size:1.35rem;font-weight:650;letter-spacing:-.01em}.auth-subtitle{margin:0 0 1rem;color:var(--muted);text-wrap:balance}.auth-form{width:100%;display:grid;gap:.85rem;text-align:left}.field{display:grid;gap:.35rem}.field label{font-size:.85rem;font-weight:600}.field-control{position:relative}.field-control input{width:100%;height:2.75rem;padding:0 2.75rem 0 .85rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.field-control input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.field-toggle{position:absolute;inset:0 0 0 auto;width:2.75rem;display:grid;place-items:center;border:0;border-radius:var(--radius-sm);background:none;color:var(--muted)}.auth-warning{margin:0;padding:.65rem .8rem;border-radius:var(--radius-sm);background:var(--warning-bg);color:var(--warning-ink);font-size:.85rem}.auth-error{margin:0;color:var(--danger);font-weight:500}.auth-card>.btn-link{margin-top:.5rem}.app{min-height:100vh}.app-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;gap:1rem;padding:.75rem 1.25rem;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--bg) 88%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:.5rem}.brand-mark{width:2rem;height:2rem;object-fit:contain}.brand-text{font-family:var(--font-logo);font-size:1.15rem;letter-spacing:.04em;text-transform:uppercase}.search{flex:1;max-width:28rem;display:flex;align-items:center;gap:.5rem;height:2.5rem;padding:0 .9rem;border:1px solid transparent;border-radius:999px;background:var(--surface-2);color:var(--muted)}.search:focus-within{border-color:var(--accent);background:var(--surface)}.search-input{flex:1;min-width:0;border:0;outline:none;background:none;color:var(--ink)}.header-actions{margin-left:auto;display:flex;align-items:center;gap:.5rem}.app-main{max-width:90rem;margin:0 auto;padding:1rem 1.25rem 5rem}.toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:.1rem;min-width:0}.crumb{max-width:16rem;overflow:hidden;padding:.3rem .55rem;border:0;border-radius:var(--radius-sm);background:none;color:var(--muted);font-size:1rem;font-weight:600;text-overflow:ellipsis;white-space:nowrap}button.crumb:hover{background:var(--surface-2);color:var(--ink)}.crumb[aria-current]{color:var(--ink)}.crumb-sep{width:.85rem;height:.85rem;color:var(--muted)}.tools{display:flex;align-items:center;gap:.5rem}.tools .btn{min-height:2.25rem;padding:0 .85rem}.btn-toggle[aria-pressed=true]{border-color:transparent;background:var(--accent-soft);color:var(--accent-soft-ink)}.btn-toggle[aria-pressed=true] .icon{color:var(--star)}.segmented{display:flex;padding:2px;border:1px solid var(--border);border-radius:999px;background:var(--surface)}.segment{display:grid;place-items:center;width:2.25rem;height:calc(2.25rem - 6px);padding:0;border:0;border-radius:999px;background:none;color:var(--muted)}.segment:hover{color:var(--ink)}.segment[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-soft-ink)}.segment .icon{width:1.1rem;height:1.1rem}.summary{margin:1.5rem 0 0;display:flex;align-items:center;justify-content:center;gap:.35rem;color:var(--muted);font-size:.85rem}.summary .icon{width:1rem;height:1rem}.entry{position:relative;min-width:0}.entry-open{width:100%;min-width:0;padding:0;border:0;background:none;text-align:left}.entry-thumb{position:relative;display:grid;place-items:center;overflow:hidden;background:var(--surface-2);color:var(--muted)}.entry-thumb img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;animation:fade .2s ease both}.entry-folder .entry-thumb{background:none;color:var(--accent)}.entry-badge{position:absolute;right:.5rem;bottom:.5rem;display:grid;place-items:center;width:1.75rem;height:1.75rem;border-radius:50%;background:#0009;color:#fff}.entry-badge .icon{width:.9rem;height:.9rem}.entry:not(.has-thumb) .entry-badge{display:none}.entry-name{overflow:hidden;font-weight:550;text-overflow:ellipsis;white-space:nowrap}.entry-date,.entry-size{color:var(--muted);font-size:.8rem;white-space:nowrap}.entry-action{display:grid;place-items:center;width:2rem;height:2rem;padding:0;border:0;border-radius:50%;background:none;color:var(--muted)}.entry-action:hover{background:var(--surface-2);color:var(--ink)}.entry-action .icon{width:1.15rem;height:1.15rem}.entry.is-favorite .entry-star,.viewer .btn-icon.is-favorite{color:var(--star)}.entry.is-drop-target,.crumb.is-drop-target{outline:2px solid var(--accent);outline-offset:2px;background:var(--accent-soft)}.is-gallery .entries{display:grid;gap:.9rem}.is-gallery .entries-folders{grid-template-columns:repeat(auto-fill,minmax(13rem,1fr));gap:.6rem;margin-bottom:1.25rem}.is-gallery .entries-files{grid-template-columns:repeat(auto-fill,minmax(10.5rem,1fr))}.is-gallery .entry-folder{display:flex;align-items:center;padding-right:.35rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);transition:border-color .12s ease}.is-gallery .entry-folder:hover{border-color:var(--accent)}.is-gallery .entry-folder .entry-open{flex:1;display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:.65rem;padding:.6rem .4rem .6rem .8rem;border-radius:var(--radius)}.is-gallery .entry-folder .entry-thumb{grid-row:span 2}.is-gallery .entry-folder .entry-icon{width:1.6rem;height:1.6rem}.is-gallery .entry-date{display:none}.is-gallery .entry-file .entry-open{display:grid;gap:.1rem;padding-right:2rem;border-radius:var(--radius)}.is-gallery .entry-file .entry-thumb{aspect-ratio:1;margin:0 -2rem .4rem 0;border:1px solid var(--border);border-radius:var(--radius);transition:border-color .12s ease,transform .12s ease}.is-gallery .entry-file .entry-open:hover .entry-thumb{border-color:var(--accent);transform:translateY(-1px)}.is-gallery .entry-file .entry-icon{width:2rem;height:2rem}.is-gallery .entry-file .entry-more{position:absolute;right:-.25rem;bottom:.15rem}.is-gallery .entry-star{position:absolute;top:.45rem;right:.45rem;background:color-mix(in srgb,var(--surface) 88%,transparent);box-shadow:0 1px 3px #0000002e;opacity:0;transition:opacity .12s ease}.is-gallery .entry-star:hover{background:var(--surface)}.is-gallery .entry:hover .entry-star,.is-gallery .entry.is-favorite .entry-star,.is-gallery .entry-star:focus-visible{opacity:1}@media(hover:none){.is-gallery .entry-star{opacity:1}}.is-list .entry{display:flex;align-items:center;gap:.25rem;padding:0 .35rem;border-bottom:1px solid var(--border)}.is-list .entry:hover{background:var(--surface-2)}.is-list .entry-open{flex:1;display:grid;grid-template-columns:2.25rem minmax(0,1fr) 8rem 5.5rem;align-items:center;column-gap:.75rem;padding:.4rem .25rem}.is-list .entry-thumb{width:2.25rem;height:2.25rem;border-radius:var(--radius-sm)}.is-list .entry-icon{width:1.25rem;height:1.25rem}.is-list .entry-folder .entry-icon{width:1.5rem;height:1.5rem}.is-list .entry-badge{display:none}.is-list .entry-size{text-align:right}.is-list .entry-folder .entry-more{margin-left:2.25rem}.empty{display:grid;justify-items:center;gap:.25rem;padding:4rem 1rem;text-align:center}.empty-mark{width:6rem;height:6rem;object-fit:contain;opacity:.9}.empty h2{margin:.5rem 0 0;font-size:1.15rem}.empty p{max-width:26rem;margin:0;color:var(--muted)}.progress{height:4px;overflow:hidden;border-radius:999px;background:var(--surface-2)}.progress-bar{width:0;height:100%;border-radius:inherit;background:var(--accent);transition:width .16s ease}.upload-panel{position:fixed;right:1.25rem;bottom:1.25rem;z-index:20;width:min(22rem,calc(100vw - 2.5rem));display:grid;gap:.6rem;padding:.9rem 1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow)}.upload-status{margin:0;overflow:hidden;font-weight:550;text-overflow:ellipsis;white-space:nowrap}.drop-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:none;place-items:center;background:var(--scrim);pointer-events:none}.drop-overlay.is-active{display:grid}.drop-card{display:flex;align-items:center;gap:.6rem;padding:1.1rem 1.5rem;border:2px dashed var(--accent);border-radius:var(--radius);background:var(--surface);font-size:1rem}.viewer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;display:grid;grid-template-rows:auto 1fr;background:#0b0a0f;color:#f1eef8;animation:fade .16s ease both}.viewer-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.6rem .9rem .6rem 1.25rem}.viewer-title{display:grid;min-width:0}.viewer-title strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewer-title span{color:#a39bb3;font-size:.8rem}.viewer-actions{display:flex;gap:.25rem}.viewer .btn-icon:hover:not(:disabled){background:#ffffff1f}.viewer-stage{min-height:0;display:grid;place-items:center;padding:0 1rem 1rem}.viewer-media{max-width:100%;max-height:100%;min-height:0;object-fit:contain;border-radius:var(--radius-sm)}.viewer-loading{width:min(18rem,80vw);display:grid;gap:.75rem;text-align:center}.viewer-loading .progress{background:#ffffff24}.viewer-loading .progress-bar{background:#a98bff}.viewer-status{margin:0;color:#a39bb3}.viewer-status.is-error{color:#ff8a80}.viewer-file{display:grid;justify-items:center;gap:.75rem;color:#a39bb3}.viewer-file p{margin:0}.viewer-file-icon{width:3.5rem;height:3.5rem}.viewer-file .btn-primary{background:#a98bff;color:#1a0b40}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-items:center;padding:1.25rem;background:var(--scrim);animation:fade .14s ease both}.modal{width:100%;max-width:24rem;padding:1.35rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.modal-title{margin:0 0 .4rem;font-size:1.1rem}.modal-message{margin:0 0 1.25rem;color:var(--muted);overflow-wrap:anywhere}.modal-input{width:100%;height:2.75rem;margin:.4rem 0 1.25rem;padding:0 .85rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface)}.modal-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.picker{max-height:min(18rem,50vh);overflow-y:auto;display:grid;gap:2px;margin:.6rem 0 1.25rem;padding:.3rem;border:1px solid var(--border);border-radius:var(--radius-sm)}.picker-row{display:flex;align-items:center;gap:.5rem;min-width:0;padding:.45rem .6rem;border:0;border-radius:6px;background:none;text-align:left}.picker-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker-row .icon{width:1.1rem;height:1.1rem;color:var(--muted)}.picker-row:hover{background:var(--surface-2)}.picker-row.is-selected{background:var(--accent-soft);color:var(--accent-soft-ink)}.picker-row.is-selected .icon{color:inherit}.menu{position:fixed;z-index:45;min-width:12rem;display:grid;padding:.3rem;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);box-shadow:var(--shadow);animation:fade .1s ease both}.menu-item{display:flex;align-items:center;gap:.6rem;padding:.5rem .65rem;border:0;border-radius:6px;background:none;text-align:left;white-space:nowrap}.menu-item:hover,.menu-item:focus-visible{outline:none;background:var(--surface-2)}.menu-item .icon{width:1.1rem;height:1.1rem;color:var(--muted)}.menu-item.is-danger,.menu-item.is-danger .icon{color:var(--danger)}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem}.toast-stack{position:fixed;left:50%;bottom:1.25rem;z-index:60;display:grid;gap:.5rem;transform:translate(-50%)}.toast{max-width:min(28rem,calc(100vw - 2.5rem));padding:.7rem 1rem;border-radius:var(--radius-sm);background:var(--ink);color:var(--bg);box-shadow:var(--shadow);overflow-wrap:anywhere;animation:rise .2s ease both}@keyframes rise{0%{opacity:0;transform:translateY(8px)}}@keyframes fade{0%{opacity:0}}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}@media(max-width:640px){.app-header{flex-wrap:wrap;gap:.6rem;padding:.6rem .9rem}.search{order:3;flex-basis:100%;max-width:none}.btn-compact .btn-label,.btn-secondary .btn-label{display:none}.btn-compact,.header-actions .btn-secondary{width:2.5rem;padding:0}.app-main{padding:.9rem .9rem 5rem}.tools .btn-label{display:none}.tools .btn{width:2.25rem;padding:0}.is-gallery .entries-folders{grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr))}.is-gallery .entries-files{grid-template-columns:repeat(auto-fill,minmax(7rem,1fr));gap:.6rem}.is-list .entry-open{grid-template-columns:2.25rem minmax(0,1fr) 4.5rem}.is-list .entry-date{display:none}}
