@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&family=Fraunces:opsz,wght@9..144,500;9..144,600;9..144,700&display=swap";:root{color-scheme:light;--bg-0: #e8eef2;--bg-1: #f4f7f9;--bg-2: #dde7ee;--ink: #14212b;--muted: #5a6b78;--surface: rgba(255, 255, 255, .72);--surface-solid: #fbfcfd;--border: rgba(20, 33, 43, .12);--border-strong: rgba(20, 33, 43, .2);--accent: #0f766e;--accent-soft: rgba(15, 118, 110, .12);--accent-ink: #083b38;--danger: #b42318;--danger-bg: #fef3f2;--danger-border: #fecdca;--radius: 12px;--header-h: 3.75rem;--font-display: "Fraunces", "Iowan Old Style", "Palatino Linotype", serif;--font-ui: "DM Sans", "Segoe UI", sans-serif;--shadow-soft: 0 18px 50px rgba(20, 33, 43, .08)}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;min-height:100%}body{color:var(--ink);font-family:var(--font-ui);font-size:15px;line-height:1.45;background:radial-gradient(1200px 600px at 12% -10%,rgba(15,118,110,.16),transparent 55%),radial-gradient(900px 500px at 88% 8%,rgba(37,99,235,.1),transparent 50%),linear-gradient(165deg,var(--bg-0),var(--bg-1) 42%,var(--bg-2));background-attachment:fixed}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;opacity:.35;background-image:linear-gradient(rgba(20,33,43,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(20,33,43,.035) 1px,transparent 1px);background-size:28px 28px;-webkit-mask-image:radial-gradient(circle at 50% 20%,black,transparent 75%);mask-image:radial-gradient(circle at 50% 20%,black,transparent 75%)}#app{min-height:100vh;position:relative;z-index:1}button,input,a{font:inherit}button{cursor:pointer}.login{min-height:100vh;display:grid;place-content:center;justify-items:center;padding:2rem 1.25rem;gap:.75rem;animation:fade-up .48s ease both}.login-brand{margin:0;font-family:var(--font-display);font-size:clamp(3.25rem,10vw,5rem);font-weight:650;letter-spacing:-.04em;line-height:.95;color:var(--ink)}.login-tagline{margin:0 0 1rem;color:var(--muted);font-size:1.05rem;text-align:center;max-width:22rem}.login-form{width:min(22rem,100%);display:grid;gap:.65rem;padding:0;background:transparent;border:none}.login-form label{font-size:.82rem;font-weight:500;color:var(--muted)}.login-form input{width:100%;padding:.8rem .9rem;border-radius:10px;border:1px solid var(--border-strong);background:var(--surface-solid);color:var(--ink);box-shadow:var(--shadow-soft)}.login-form input:focus{outline:2px solid rgba(15,118,110,.35);outline-offset:1px}.login-form button[type=submit]{margin-top:.35rem;padding:.8rem 1rem;border:none;border-radius:10px;background:var(--accent);color:#fff;font-weight:600;transition:transform .16s ease,background .16s ease}.login-form button[type=submit]:hover{background:var(--accent-ink)}.login-form button[type=submit]:active{transform:translateY(1px)}.login-form button[type=submit]:disabled{opacity:.6;cursor:not-allowed}.login-error{margin:0;font-size:.85rem;color:var(--danger)}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:1rem;min-height:var(--header-h);padding:0 1.1rem;background:#f4f7f9d1;border-bottom:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.app-brand{margin-right:auto;font-family:var(--font-display);font-size:1.85rem;font-weight:650;letter-spacing:-.04em;line-height:1}.app-nav{display:flex;flex-wrap:wrap;gap:.2rem}.nav-actions{display:flex;align-items:center;gap:.65rem;margin-left:.35rem}.nav-link{padding:.45rem .75rem;border:none;border-radius:8px;background:transparent;color:var(--muted);font-weight:500;transition:background .16s ease,color .16s ease}.nav-link:hover{color:var(--ink);background:#14212b0d}.nav-link.is-active{color:var(--accent-ink);background:var(--accent-soft)}.app-main{flex:1;display:flex;flex-direction:column;min-height:0}.app-content{flex:1;position:relative;min-height:calc(100vh - var(--header-h))}.app-content.is-drop-target,.browser-panel.is-drop-target{outline:none}.btn-primary,.btn-secondary,.btn-danger,.btn-ghost,.btn-upload{padding:.45rem .8rem;border-radius:9px;border:1px solid var(--border);background:var(--surface-solid);color:var(--ink);font-weight:550}.btn-primary{background:var(--accent);border-color:transparent;color:#fff}.btn-danger{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger)}.btn-ghost{background:transparent}.btn-upload{background:var(--accent-soft);border-color:transparent;color:var(--accent-ink)}.btn-upload:disabled,.btn-primary:disabled,.btn-secondary:disabled,.btn-danger:disabled{opacity:.55;cursor:not-allowed}.upload-controls{display:flex;align-items:center;gap:.55rem}.upload-progress{width:5.5rem;height:.35rem;border-radius:999px;background:#14212b14;overflow:hidden}.upload-progress-bar{height:100%;width:0;background:var(--accent);transition:width .18s ease}.drop-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:15;display:grid;place-items:center;background:#0f766e1a;border:2px dashed var(--accent);border-radius:var(--radius);font-family:var(--font-display);font-size:1.35rem;font-weight:600;color:var(--accent-ink);pointer-events:none;animation:fade-in .18s ease}.browser-panel,.search-panel,.trash-panel{display:flex;flex-direction:column;min-height:calc(100vh - var(--header-h));position:relative}.browser-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1rem;padding:.9rem 1.1rem;border-bottom:1px solid var(--border);background:#ffffff73}.browser-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;margin-left:auto}.panel-title{margin:0;font-family:var(--font-display);font-size:1.35rem;font-weight:600;letter-spacing:-.02em}.breadcrumb{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;min-width:0;font-weight:500}.breadcrumb.is-animating{animation:crumb-slide .28s ease}.breadcrumb-sep{color:var(--muted);opacity:.7}.breadcrumb-link{border:none;background:transparent;color:var(--accent);padding:.15rem .25rem;border-radius:6px}.breadcrumb-link:hover{background:var(--accent-soft)}.breadcrumb-current{color:var(--ink);padding:.15rem .25rem}.selection-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem .65rem;padding:.55rem 1.1rem;border-bottom:1px solid var(--border);background:#0f766e0f;animation:fade-in .18s ease}.selection-count{margin-right:auto;color:var(--muted);font-size:.9rem}.file-list-host,.search-results{flex:1;padding:.35rem .65rem 1.5rem}.file-list{list-style:none;margin:0;padding:0;display:grid;gap:.2rem}.file-list.is-fading{animation:fade-up .32s ease both}.file-row{display:grid;grid-template-columns:auto auto minmax(0,1fr) auto auto auto;align-items:center;gap:.65rem;padding:.7rem .75rem;border-radius:10px;border:1px solid transparent;background:transparent;cursor:default;transition:background .14s ease,border-color .14s ease}.file-row:hover{background:#ffffff8c;border-color:var(--border)}.file-row.is-selected{background:var(--accent-soft);border-color:#0f766e40}.file-check{width:1rem;height:1rem;accent-color:var(--accent)}.file-icon{width:1.55rem;height:1.35rem;border-radius:5px;position:relative;flex-shrink:0}.file-icon-folder{background:linear-gradient(180deg,#f0c36a 0,#f0c36a 28%,#e0a84a 28%,#e0a84a);box-shadow:inset 0 0 0 1px #78460a2e}.file-icon-folder:before{content:"";position:absolute;left:0;top:0;width:55%;height:28%;border-radius:4px 4px 0 0;background:#f0c36a}.file-icon-file,.file-icon-image{background:#fff;border:1px solid var(--border-strong);border-radius:4px}.file-icon-file:after,.file-icon-image:after{content:"";position:absolute;inset:28% 22% auto;height:2px;background:#14212b33;box-shadow:0 5px #14212b29,0 10px #14212b1f}.file-icon-image{background:linear-gradient(145deg,#dbeafe,#fff)}.file-name{justify-self:start;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:none;background:transparent;color:var(--ink);font-weight:550;padding:0;text-align:left}.file-name:hover{color:var(--accent)}.file-name-static{font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-meta,.file-date{color:var(--muted);font-size:.82rem;white-space:nowrap}.file-download{color:var(--muted);text-decoration:none;padding:.15rem .4rem;border-radius:6px}.file-download:hover{color:var(--accent);background:var(--accent-soft)}.empty-state,.list-status,.search-hint{margin:0;padding:3rem 1rem;text-align:center;color:var(--muted)}.list-sentinel{height:1px;width:100%}.search-form{display:flex;flex-wrap:wrap;gap:.55rem;padding:1rem 1.1rem;border-bottom:1px solid var(--border);background:#ffffff73}.search-input{flex:1 1 14rem;min-width:10rem;padding:.65rem .8rem;border-radius:9px;border:1px solid var(--border-strong);background:var(--surface-solid);color:var(--ink)}.search-input:focus{outline:2px solid rgba(15,118,110,.3);outline-offset:1px}.search-panel .file-row{grid-template-columns:auto minmax(0,1fr) auto auto}.trash-panel .file-row{grid-template-columns:auto auto minmax(0,1fr) auto}.toast-stack{position:fixed;right:1rem;bottom:1rem;z-index:80;display:grid;gap:.45rem;width:min(22rem,calc(100vw - 2rem))}.toast{padding:.75rem .9rem;border-radius:10px;border:1px solid var(--border);background:var(--surface-solid);box-shadow:var(--shadow-soft);opacity:0;transform:translateY(8px);transition:opacity .22s ease,transform .22s ease}.toast.is-visible{opacity:1;transform:translateY(0)}.toast-error{background:var(--danger-bg);border-color:var(--danger-border);color:var(--danger)}.toast-info{background:#ecfdf5;border-color:#a7f3d0;color:var(--accent-ink)}.preview-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;display:flex;flex-direction:column;background:#0e161ce0;opacity:0;transition:opacity .2s ease}.preview-overlay.is-open{opacity:1}.preview-bar{display:flex;align-items:center;gap:1rem;padding:.85rem 1rem;border-bottom:1px solid rgba(255,255,255,.08);color:#f5f7f9}.preview-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:550}.preview-actions{display:flex;gap:.45rem}.preview-actions .btn-secondary,.preview-actions .btn-ghost{color:#f5f7f9;background:#ffffff14;border-color:#ffffff24;text-decoration:none}.preview-stage{flex:1;min-height:0;display:grid;place-items:center;padding:1rem}.preview-media{max-width:100%;max-height:calc(100vh - 6.5rem);object-fit:contain;border-radius:8px}.preview-frame{width:min(960px,100%);height:calc(100vh - 6.5rem);border:none;border-radius:8px;background:#fff}.preview-text{width:min(860px,100%);max-height:calc(100vh - 6.5rem);overflow:auto;margin:0;padding:1.25rem;border-radius:10px;background:#0f1720;color:#e8eef2;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85rem;white-space:pre-wrap;word-break:break-word}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes crumb-slide{0%{opacity:.35;transform:translate(-8px)}to{opacity:1;transform:translate(0)}}@media(max-width:720px){.app-header{flex-wrap:wrap;padding:.65rem .85rem;gap:.45rem}.app-brand{font-size:1.55rem}.app-nav{order:3;width:100%}.nav-actions{margin-left:0}.file-row{grid-template-columns:auto auto minmax(0,1fr) auto;gap:.5rem}.file-date{display:none}.file-meta{grid-column:3;grid-row:2}.browser-toolbar{padding:.75rem .85rem}.upload-progress{display:none}}
