:root{--ink:#10221c;--forest:#0b3d2e;--moss:#1f6b4f;--leaf:#3fa87a;--sand:#f3efe4;--paper:#f7f4ec;--gold:#f2c14e;--coral:#e07a5f;--muted:#5c6f66;--line:#10221c1f;--shadow:0 24px 60px #0b3d2e2e;color:var(--ink);background:var(--paper);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:Outfit,system-ui,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box}body{background:radial-gradient(1200px 600px at 10% -10%, #f2c14e47, transparent 55%), radial-gradient(900px 500px at 100% 0%, #3fa87a38, transparent 50%), linear-gradient(160deg, #eef6f1 0%, var(--paper) 45%, #e7f0ea 100%);min-height:100vh;margin:0}a{color:inherit}button,input{font:inherit}.hero{place-items:center;min-height:100vh;padding:2rem;display:grid;position:relative;overflow:hidden}.hero-glow{filter:blur(20px);background:radial-gradient(circle,#f2c14e59,#0000 70%);height:40%;animation:8s ease-in-out infinite pulse;position:absolute;inset:15% 20% auto}@keyframes pulse{0%,to{opacity:.7;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}.hero-inner{text-align:left;max-width:40rem;animation:.9s both rise;position:relative}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}.brand,.brand-link{letter-spacing:-.02em;color:var(--forest);font-family:Fraunces,Georgia,serif;font-size:1.35rem;font-weight:700;text-decoration:none}.hero h1,.auth-panel h1{letter-spacing:-.03em;margin:.6rem 0 1rem;font-family:Fraunces,Georgia,serif;font-size:clamp(2.4rem,6vw,3.6rem);font-weight:700;line-height:1.05}.lede{color:var(--muted);max-width:32rem;font-size:1.15rem}.lede.small{margin-top:0;font-size:1rem}.cta-row{gap:.75rem;margin:1.75rem 0 1rem;display:flex}.hint{color:var(--muted);font-size:.95rem}.btn{border:1px solid var(--line);color:var(--ink);cursor:pointer;background:#ffffff8c;border-radius:999px;justify-content:center;align-items:center;padding:.75rem 1.25rem;text-decoration:none;transition:transform .2s,background .2s;display:inline-flex}.btn:hover{transform:translateY(-1px)}.btn.primary{background:var(--forest);color:#f5fff9;border-color:#0000}.btn.ghost{background:0 0}.auth-page{place-items:center;min-height:100vh;padding:2rem;display:grid}.auth-panel{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--line);width:min(28rem,100%);box-shadow:var(--shadow);background:#ffffffb8;border-radius:1.5rem;padding:2rem;animation:.7s both rise}.stack{gap:.9rem;margin-top:1.25rem;display:grid}.row2{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}label{gap:.35rem;font-size:.9rem;font-weight:500;display:grid}input{border:1px solid var(--line);background:#fff;border-radius:.75rem;padding:.7rem .85rem}.segment{background:#0b3d2e0f;border-radius:999px;grid-template-columns:1fr 1fr;gap:.35rem;margin-top:1rem;padding:.3rem;display:grid}.segment button{cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:999px;padding:.55rem}.segment button.active{color:var(--forest);background:#fff;font-weight:600;box-shadow:0 4px 14px #10221c14}.error{color:var(--coral);margin:0}.info{color:var(--moss);margin:0}.muted{color:var(--muted)}.app-shell{min-height:100vh;padding:1.25rem clamp(1rem,3vw,2rem) 2.5rem}.app-bar{flex-wrap:wrap;align-items:center;gap:.75rem 1.25rem;margin-bottom:1.25rem;display:flex}.welcome{margin:0;font-family:Fraunces,Georgia,serif;font-size:1.35rem}.tabs{border:1px solid var(--line);background:#ffffff8c;border-radius:999px;gap:.35rem;margin-left:auto;padding:.3rem;display:flex}.tabs button{cursor:pointer;color:var(--muted);background:0 0;border:0;border-radius:999px;padding:.5rem .9rem}.tabs button.active{background:var(--forest);color:#f5fff9}.app-grid{grid-template-columns:minmax(0,1fr) 16rem;gap:1.25rem;display:grid}@media (width<=900px){.app-grid{grid-template-columns:1fr}.tabs{width:100%;margin-left:0;overflow-x:auto}.row2{grid-template-columns:1fr}}.browser,.admin,.side section{border:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffb3;border-radius:1.25rem;padding:1.25rem}.browser.drag{outline:2px dashed var(--leaf);outline-offset:-6px}.browser-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.browser h2,.admin h2,.side h3{margin:0 0 .35rem;font-family:Fraunces,Georgia,serif}.crumbs{flex-wrap:wrap;gap:.15rem;display:flex}.crumbs button{color:var(--moss);cursor:pointer;background:0 0;border:0;padding:0}.browser-actions{gap:.5rem;display:flex}.storage-meter,.upload-progress{margin:1rem 0}.storage-meter p,.upload-progress{color:var(--muted);font-size:.9rem}.meter-track{background:#0b3d2e1a;border-radius:999px;height:.45rem;margin-bottom:.35rem;overflow:hidden}.meter-fill{background:linear-gradient(90deg, var(--moss), var(--gold));height:100%;transition:width .25s}.file-list,.simple-list,.presence,.activity{margin:0;padding:0;list-style:none}.file-list li{border-top:1px solid var(--line);align-items:center;gap:.5rem;padding:.55rem 0;display:flex}.file-main{text-align:left;cursor:pointer;background:0 0;border:0;flex:1;grid-template-columns:auto 1fr auto;align-items:center;gap:.65rem;padding:.25rem 0;display:grid}.file-icon{border-radius:.25rem;width:1.1rem;height:1.1rem;display:inline-block}.file-icon.dir{background:linear-gradient(145deg, var(--gold), #d9a628)}.file-icon.file{background:linear-gradient(145deg, var(--leaf), var(--moss))}.file-name{font-weight:500}.file-meta{color:var(--muted);font-size:.85rem}.file-ops button,.linkish{color:var(--moss);cursor:pointer;background:0 0;border:0;font-size:.85rem}.empty{color:var(--muted);padding:1rem 0}.side{align-content:start;gap:1rem;display:grid}.presence li,.activity li,.simple-list li{border-top:1px solid var(--line);padding:.45rem 0;font-size:.92rem}.simple-list li{grid-template-columns:1fr auto auto;align-items:center;gap:.75rem;display:grid}.invite-form{flex-wrap:wrap;align-items:end;gap:.75rem;margin:1rem 0;display:flex}.invite-form label{flex:1;min-width:12rem}.created-invite{background:#f2c14e2e;border-radius:1rem;gap:.5rem;margin-bottom:1rem;padding:1rem;display:grid}.created-invite code{word-break:break-all;font-size:.85rem}.admin h3{margin:1.5rem 0 .5rem;font-family:Fraunces,Georgia,serif}
