:root{--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--t-xs:12px;--t-sm:13px;--t-md:14px;--t-lg:16px;--t-xl:20px;--t-2xl:24px;--radius-sm:4px;--radius-pill:999px;--surface:color-mix(in srgb,var(--paper) 92%,#fff 8%);--surface-sunken:color-mix(in srgb,var(--paper) 96%,var(--ink) 4%);--shadow-1:0 1px 2px color-mix(in srgb,var(--ink) 8%,transparent);--shadow-2:0 8px 30px color-mix(in srgb,var(--ink) 14%,transparent);--z-nav:10;--z-menu:50;--z-dialog:100;--z-toast:200;--dur-1:120ms;--dur-2:200ms;--ease:cubic-bezier(0.2,0,0.13,1)}@media (prefers-reduced-motion:reduce){:root{--dur-1:0ms;--dur-2:0ms}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}*,:after,:before{box-sizing:border-box}body,html{margin:0;padding:0;background:var(--paper);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;letter-spacing:-.02em;margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}.mono,code,pre{font-family:var(--font-mono);font-size:.9em}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:3px}.shell{max-width:1400px;margin:0 auto;padding:0 var(--s5)}.btn{display:inline-flex;align-items:center;gap:var(--s2);padding:var(--s2) 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);cursor:pointer;font-size:var(--t-md);font-weight:500;white-space:nowrap;transition:border-color var(--dur-1),background var(--dur-1),color var(--dur-1)}@media (hover:hover){.btn:hover:not(:disabled){border-color:var(--ink)}.btn-primary:hover:not(:disabled){background:var(--accent-deep);border-color:var(--accent-deep)}.btn-ghost:hover:not(:disabled){background:color-mix(in srgb,var(--ink) 6%,transparent)}}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn-danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 30%,transparent)}.btn-ghost{background:transparent;border-color:transparent}.btn-sm{padding:var(--s1) var(--s2);font-size:var(--t-sm);gap:var(--s1)}.btn-icon{padding:var(--s2)}.btn[aria-pressed=true],.is-active{background:var(--ink);color:var(--paper);border-color:var(--ink)}.btn-ghost.is-active,.btn-ghost[aria-pressed=true]{background:color-mix(in srgb,var(--ink) 8%,transparent);color:inherit;border-color:transparent}.input{width:100%;padding:9px var(--s3);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);font-size:var(--t-md)}.input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}textarea.input{min-height:80px;resize:vertical}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius)}.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}.muted{color:var(--muted)}.small{font-size:var(--t-sm)}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nav-build{opacity:.65;white-space:pre-line}.nav-build,.tag{font-size:var(--t-xs)}.tag{display:inline-block;padding:2px var(--s2);border-radius:var(--radius-pill);background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--muted)}.tag-warning{background:color-mix(in srgb,var(--warning) 14%,transparent);color:var(--warning)}.tag-danger{background:color-mix(in srgb,var(--danger) 14%,transparent);color:var(--danger)}.tag-accent{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent-deep)}.row{display:flex;align-items:center;gap:var(--s3)}.spacer{flex:1 1}.stack{display:flex;flex-direction:column;gap:var(--s3)}.empty{padding:64px var(--s5);text-align:center;color:var(--muted)}.table{width:100%;font-size:var(--t-sm);border-collapse:collapse}.table th{text-align:left;font-weight:500;color:var(--muted);padding:var(--s2) var(--s2) var(--s2) 0}.table td{padding:6px var(--s2) 6px 0;border-top:1px solid var(--line);vertical-align:middle}.table td:last-child,.table th:last-child{padding-right:0;text-align:right}.auth-page{min-height:100vh;display:grid;place-items:center;padding:var(--s5)}.auth-card{width:100%;max-width:400px;padding:var(--s6)}dialog.dialog{padding:0;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);box-shadow:var(--shadow-2);max-width:min(560px,calc(100vw - var(--s6)));width:100%;max-height:calc(100vh - var(--s6));overflow:auto}dialog.dialog::-webkit-backdrop{background:color-mix(in srgb,var(--ink) 45%,transparent)}dialog.dialog::backdrop{background:color-mix(in srgb,var(--ink) 45%,transparent)}dialog.dialog-wide{max-width:min(1100px,calc(100vw - var(--s6)))}.dialog-head{display:flex;align-items:center;gap:var(--s3);padding:var(--s4) var(--s5);border-bottom:1px solid var(--line)}.dialog-title{font-size:var(--t-lg)}.dialog-body{padding:var(--s5)}.dialog-foot{display:flex;align-items:center;gap:var(--s2);justify-content:flex-end;padding:var(--s3) var(--s5) var(--s5)}.menu-wrap{position:relative;display:inline-flex}.menu{position:absolute;top:calc(100% + var(--s1));right:0;z-index:var(--z-menu);min-width:180px;padding:var(--s1);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-2)}.menu-item{display:flex;align-items:center;gap:var(--s2);width:100%;padding:var(--s2) var(--s3);border:0;border-radius:var(--radius-sm);background:transparent;font-size:var(--t-md);text-align:left;cursor:pointer}.menu-item:hover:not(:disabled){background:color-mix(in srgb,var(--ink) 6%,transparent)}.menu-item:disabled{opacity:.5;cursor:not-allowed}.menu-item.danger{color:var(--danger)}.menu-sep{height:1px;margin:var(--s1) 0;background:var(--line)}.toast-stack{position:fixed;z-index:var(--z-toast);bottom:var(--s5);right:var(--s5);display:flex;flex-direction:column;gap:var(--s2);max-width:min(420px,calc(100vw - var(--s5) * 2));pointer-events:none}.toast{pointer-events:auto;display:flex;align-items:flex-start;gap:var(--s3);padding:var(--s3) var(--s4);background:var(--ink);color:var(--paper);border-radius:var(--radius);box-shadow:var(--shadow-2);font-size:var(--t-md);animation:toast-in var(--dur-2) var(--ease)}.toast-error{background:var(--danger)}.toast button{background:none;border:0;color:inherit;cursor:pointer;opacity:.7;padding:0}.toast button:hover{opacity:1}@keyframes toast-in{0%{opacity:0;transform:translateY(var(--s2))}to{opacity:1;transform:none}}.files-toolbar{display:flex;align-items:center;gap:var(--s3);flex-wrap:wrap;margin-bottom:var(--s4)}.files-toolbar .input{max-width:280px}.kind-strip{display:flex;gap:var(--s2);flex-wrap:wrap}.kind-strip .btn{flex:0 0 auto}.files-layout{display:grid;grid-template-columns:220px minmax(0,1fr);grid-gap:var(--s5);gap:var(--s5)}.files-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));grid-gap:var(--s4);gap:var(--s4)}.filecard{display:block;overflow:hidden;cursor:pointer;text-align:left}.filecard:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.folder-link{display:flex;width:100%;gap:6px;padding:var(--s1) 6px;border:none;border-radius:var(--radius-sm);background:transparent;text-align:left;cursor:pointer}.folder-link.active{background:color-mix(in srgb,var(--ink) 6%,transparent);font-weight:600}.kind-row{display:flex;align-items:center;gap:var(--s2);flex:1 1 auto}.kind-row,.kind-row .kind-strip{min-width:0}.files-selbar,.only-mobile{display:none}.edge-scroll{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin:0 -16px;padding:0 16px}.edge-scroll::-webkit-scrollbar{display:none}.file-detail-body{display:grid;grid-template-columns:minmax(0,1fr) 360px;grid-gap:var(--s5);gap:var(--s5);align-items:start}.detail-list{display:grid;grid-template-columns:96px minmax(0,1fr);grid-gap:var(--s2) var(--s3);gap:var(--s2) var(--s3);margin:0}@media (max-width:900px){.file-detail-body{grid-template-columns:minmax(0,1fr)}}@media (max-width:720px){.shell{padding:0 var(--s4)}.only-mobile{display:inline-flex}.nav-build,.nav-email{display:none}.btn,.input,select.input{min-height:40px}.btn-sm{min-height:32px}.files-title{font-size:var(--t-xl)}.files-toolbar .input{max-width:none;flex:1 1 100%}.files-layout{grid-template-columns:minmax(0,1fr);gap:var(--s3)}.side-folders h3{display:none}.folder-list{display:flex;gap:6px;padding-bottom:var(--s1)}.folder-list .folder-link{width:auto;flex:0 0 auto;white-space:nowrap;border:1px solid var(--line);border-radius:var(--radius-pill);padding:7px var(--s3);background:var(--surface);font-weight:400}.folder-list .folder-link.active{background:var(--ink);color:var(--paper);border-color:var(--ink);font-weight:500}.folder-list .folder-link .muted{color:inherit;opacity:.6}.kind-row{flex:1 1 100%}.kind-row .only-mobile{flex:0 0 auto}.kind-row .kind-strip{margin-right:0;padding-right:var(--s2)}.side-facets{display:none}.side-facets.open{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:0 var(--s4);gap:0 var(--s4);margin-top:var(--s2)}.files-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s3)}.empty{padding:48px var(--s4)}dialog.dialog,dialog.dialog-wide{max-width:100vw;width:100vw;margin:auto auto 0;border-radius:var(--radius) var(--radius) 0 0;border-bottom:0;max-height:90vh;padding-bottom:env(safe-area-inset-bottom)}.dialog-body,.dialog-head{padding-left:var(--s4);padding-right:var(--s4)}.dialog-foot{padding:var(--s3) var(--s4) var(--s4)}.toast-stack{left:var(--s4);right:var(--s4);bottom:calc(var(--s4) + env(safe-area-inset-bottom));max-width:none}.files-selbar{display:flex;align-items:center;gap:var(--s2);position:fixed;left:0;right:0;bottom:0;z-index:var(--z-nav);padding:var(--s3) var(--s4);padding-bottom:calc(var(--s3) + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line);box-shadow:var(--shadow-2)}.files-grid{padding-bottom:72px}}