:root{--bg:#f5f7fb;--panel:#fff;--panel-2:#eef2f8;--ink:#172033;--muted:#667085;--line:#d9dfeb;--accent:#356ae6;--accent-2:#244db1;--folder:#4f83ed;--danger:#b42318;--shadow:0 12px 32px rgba(23,32,51,.09);--radius:18px;--font:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}
html[data-theme=cutesy]{--bg:#fff5fa;--panel:#fffafd;--panel-2:#ffebf5;--ink:#48243b;--muted:#826477;--line:#f1c9dc;--accent:#d84f91;--accent-2:#a92d69;--folder:#e05298;--danger:#b4235a;--shadow:0 12px 32px rgba(129,49,91,.12);--radius:24px}
.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
*{box-sizing:border-box}html{color-scheme:light}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--font);line-height:1.5}a{color:var(--accent)}button,.button,input,select{font:inherit}button,.button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:12px;padding:.62rem .9rem;background:var(--panel);color:var(--ink);font-weight:700;text-decoration:none;cursor:pointer}button:hover,.button:hover{border-color:var(--accent);color:var(--accent)}button.primary,.button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}button.primary:hover,.button.primary:hover{background:var(--accent-2);color:#fff}button:disabled{opacity:.45;cursor:not-allowed}button:disabled:hover{border-color:var(--line);color:var(--ink)}button.danger:disabled:hover{color:var(--danger)}.small{min-height:38px;padding:.42rem .65rem;font-size:.88rem}.danger{color:var(--danger)}.disabled{opacity:.5;pointer-events:none}input,select{width:100%;min-height:44px;margin-top:.3rem;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--ink);padding:.6rem .75rem}label{font-weight:700;font-size:.92rem}.hint,.meta{color:var(--muted);font-weight:400;font-size:.88rem}.topbar{height:68px;padding:0 max(1rem,calc((100vw - 1200px)/2));display:flex;align-items:center;justify-content:space-between;background:var(--panel);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.brand{display:flex;gap:.55rem;align-items:center;text-decoration:none;color:var(--ink);font-weight:850;font-size:1.25rem}.brand-logo{width:48px;height:48px;object-fit:contain}.topbar nav{display:flex;align-items:center;gap:.35rem}.topbar nav>a,.link-button{padding:.55rem;color:var(--ink);text-decoration:none;border:0;background:none}.topbar form{margin:0}.theme-form button{font-size:.8rem;min-height:38px}main{max-width:1200px;margin:auto;padding:2rem 1rem 7rem}.auth-card{max-width:460px;margin:7vh auto;background:var(--panel);padding:clamp(1.4rem,5vw,2.6rem);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.hero-logo{display:block;width:min(190px,55%);height:auto;margin:-.7rem auto 1rem}.stack{display:grid;gap:1rem;margin-top:1.5rem}.error,.notice,.invite-result{padding:.85rem 1rem;border-radius:12px;background:#fff1f0;color:#912018;border:1px solid #f2c5c0}.notice,.invite-result{background:var(--panel-2);color:var(--ink);border-color:var(--line)}.page-head{display:flex;align-items:end;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.page-head h1{margin:.25rem 0 0;font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.1}.page-head p{color:var(--muted)}.breadcrumbs{display:flex;gap:.45rem;color:var(--muted);font-size:.9rem}.breadcrumbs a{text-decoration:none}.usage{display:grid;min-width:220px;gap:.25rem;color:var(--muted);font-size:.86rem}.usage progress{width:100%;accent-color:var(--accent)}.toolbar{display:flex;justify-content:space-between;align-items:start;margin:1rem 0}.toolbar details{position:relative}.toolbar summary{list-style:none}.popover,.menu-panel{position:absolute;z-index:10;display:grid;gap:.7rem;width:min(310px,calc(100vw - 2rem));padding:1rem;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow)}.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:1rem}.tile-grid.list-view{grid-template-columns:1fr}.tile{position:relative;min-height:225px;display:flex;flex-direction:column;align-items:center;text-align:center;justify-content:center;gap:.6rem;padding:1.1rem;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 3px 12px rgba(23,32,51,.04)}html[data-theme=cutesy] .folder-tile{background:var(--panel-2);border-color:color-mix(in srgb,var(--folder) 45%,var(--line))}.list-view .tile{min-height:100px;display:grid;grid-template-columns:60px minmax(0,1fr) auto auto;text-align:left;justify-items:start}.big-icon{font-size:3.8rem;line-height:1}.list-view .big-icon{font-size:2.5rem}.folder-icon{position:relative;display:block;width:74px;height:52px;margin-top:10px;border-radius:8px;background:var(--folder);box-shadow:inset 0 -4px 0 rgba(0,0,0,.08)}.folder-icon:before{content:"";position:absolute;left:7px;top:-10px;width:34px;height:18px;border-radius:8px 8px 0 0;background:var(--folder)}.file-thumbnail{display:block;width:92px;height:78px;object-fit:cover;border:1px solid var(--line);border-radius:12px;background:var(--panel-2)}.list-view .folder-icon{width:52px;height:38px;margin-top:7px;border-radius:6px}.list-view .folder-icon:before{left:5px;top:-7px;width:24px;height:12px;border-radius:5px 5px 0 0}.list-view .file-thumbnail{width:58px;height:58px;border-radius:9px}.tile strong{max-width:100%;word-break:break-word}.tile-open{display:contents;color:var(--ink);text-decoration:none}.tile-actions{display:flex;gap:.45rem;align-items:center}.tile-actions form{margin:0}.tile-menu{position:absolute;top:.5rem;right:.5rem}.tile-menu summary{display:grid;place-items:center;width:44px;height:44px;border-radius:12px;cursor:pointer;list-style:none;font-weight:900}.tile-menu .menu-panel{right:0;text-align:left}.tile-menu form{display:grid;gap:.45rem}.upload-tile{border:2px dashed var(--accent);color:var(--accent);text-decoration:none;background:transparent}.drop-zone{min-height:210px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.6rem;border:3px dashed var(--accent);background:var(--panel);border-radius:var(--radius);padding:1.4rem;cursor:pointer}.drop-zone:focus,.drop-zone.dragover{outline:4px solid color-mix(in srgb,var(--accent) 25%,transparent);background:var(--panel-2)}.drop-zone input{position:absolute;width:1px;height:1px;opacity:.01}.upload-options,.upload-progress,.completion,.admin-create{margin-top:1rem;padding:1.25rem;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}.upload-progress h2{margin-top:0}.actions{display:flex;gap:.7rem;flex-wrap:wrap}.upload-list{display:grid;gap:.7rem;margin-top:1rem}.upload-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.45rem;padding:.9rem;background:var(--panel);border:1px solid var(--line);border-radius:14px}.upload-row progress{grid-column:1/-1;width:100%;accent-color:var(--accent)}.ready-badge,.pill{display:inline-flex;padding:.2rem .55rem;border-radius:999px;background:#d9f6e5;color:#176b3a;font-size:.78rem;font-weight:800}.pill{background:var(--panel-2);color:var(--muted);margin-left:.35rem}.pill.warning{background:#fff1cf;color:#7d5411}.user-list{display:grid;gap:.8rem;margin-top:1rem}.user-card{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}.user-actions{display:grid;grid-template-columns:auto auto 7.5rem;align-items:end;gap:.6rem}.inline-form{display:flex;align-items:end;gap:.6rem;flex-wrap:wrap}.user-actions form{display:flex;align-items:end;gap:.4rem}.user-actions input{width:100px}.user-account-action,.user-account-action button{width:100%}.copy-link{font-family:ui-monospace,monospace}.back{text-decoration:none}.view-toggle{margin-left:auto}
.website-form{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:.7rem;margin-top:1rem;padding:1rem;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}.website-form .hint{grid-column:1/-1;margin:0}.link-preview,.link-preview-placeholder{width:calc(100% + 2.2rem);height:112px;margin:-1.1rem -1.1rem .25rem;object-fit:cover;border-radius:var(--radius) var(--radius) 8px 8px;background:var(--panel-2)}.link-preview-placeholder{display:grid;place-items:center;font-size:3.5rem}.link-url{width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-view .link-preview,.list-view .link-preview-placeholder{width:60px;height:60px;margin:0;border-radius:10px}.list-view .link-url{max-width:30vw}
@media(max-width:680px){.topbar{height:auto;min-height:64px;align-items:flex-start;padding:.75rem 1rem}.topbar nav{flex-wrap:wrap;justify-content:flex-end}.topbar nav>a{display:none}.theme-form button{font-size:0}.theme-form button:after{content:'🎨';font-size:1rem}.page-head,.user-card{align-items:stretch;flex-direction:column}.usage{width:100%}.tile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.tile{min-height:190px;padding:.75rem}.tile-actions{flex-direction:column;width:100%}.tile-actions>*{width:100%}.tile-actions button,.tile-actions .button{width:100%}.big-icon{font-size:3rem}.folder-icon{width:58px;height:42px;margin-top:8px}.folder-icon:before{left:6px;top:-8px;width:27px;height:14px}.file-thumbnail{width:72px;height:64px}.link-preview,.link-preview-placeholder{width:calc(100% + 1.5rem);height:86px;margin:-.75rem -.75rem .2rem}.list-view .link-preview,.list-view .link-preview-placeholder{width:50px;height:50px;margin:0}.list-view .tile{grid-template-columns:50px minmax(0,1fr);min-height:115px}.list-view .tile-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr}.list-view .link-url{max-width:100%}.drop-zone{min-height:170px;padding:1rem}.website-form{grid-template-columns:1fr}.website-form .hint{grid-column:auto}.user-actions,.user-actions form,.inline-form{display:grid;width:100%}.user-actions{grid-template-columns:1fr}.user-actions input{width:100%}main{padding-top:1.2rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
