:root{--azure-blue:#0078d4;--azure-blue-dark:#005a9e;--azure-blue-light:#deecf9;--neutral-bg:#faf9f8;--neutral-surface:#fff;--neutral-border:#edebe9;--neutral-text:#201f1e;--neutral-text-secondary:#605e5c;--neutral-text-tertiary:#a19f9d;--danger:#d13438;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Inter,Helvetica,Arial,sans-serif}*{box-sizing:border-box}body{background:var(--neutral-bg);color:var(--neutral-text);margin:0}.page{max-width:480px;margin:0 auto;padding:3rem 1.5rem 4rem}.drive-page{max-width:1080px;margin:0 auto;padding:1.5rem 2rem 4rem}.login-page{background:linear-gradient(135deg, var(--azure-blue-light) 0%, var(--neutral-bg) 60%);justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.login-card{background:var(--neutral-surface);border:1px solid var(--neutral-border);text-align:center;border-radius:2px;width:100%;max-width:360px;padding:2rem;box-shadow:0 1.6px 3.6px #00000014,0 .3px .9px #0000000f}.login-logo{margin-bottom:.5rem;font-size:2rem}.login-card h1{color:var(--neutral-text);margin:0 0 .4rem;font-size:1.4rem;font-weight:600}.login-card p{color:var(--neutral-text-secondary);margin:0 0 1.5rem;font-size:.9rem}.ms-login-btn{background:var(--azure-blue);color:#fff;cursor:pointer;border:none;border-radius:2px;justify-content:center;align-items:center;gap:.5rem;width:100%;padding:.65rem 0;font-size:.95rem;font-weight:600;text-decoration:none;transition:background .1s;display:flex}.ms-login-btn:hover{background:var(--azure-blue-dark)}.ms-logo{font-size:1rem}.login-note{color:var(--neutral-text-tertiary);margin:.9rem 0 0;font-size:.78rem}.drive-header{border-bottom:1px solid var(--neutral-border);justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.drive-header-title{align-items:center;gap:.75rem;display:flex}.drive-header-icon{font-size:1.6rem}.drive-header h1{color:var(--neutral-text);margin:0 0 .1rem;font-size:1.3rem;font-weight:600}.drive-header p{color:var(--neutral-text-secondary);margin:0;font-size:.82rem}.logout-btn{border:1px solid var(--neutral-border);color:var(--azure-blue);cursor:pointer;background:0 0;border-radius:2px;flex-shrink:0;padding:.5rem .9rem;font-size:.85rem;text-decoration:none}.logout-btn:hover{background:var(--azure-blue-light);border-color:var(--azure-blue)}.drive-grid{grid-template-columns:minmax(0,320px) minmax(0,1fr);align-items:start;gap:1.5rem;display:grid}.drive-col{flex-direction:column;gap:1.25rem;display:flex}@media (width<=800px){.drive-grid{grid-template-columns:1fr}}.upload-card,.file-list-card{background:var(--neutral-surface);border:1px solid var(--neutral-border);border-radius:2px;padding:1.5rem;box-shadow:0 1.6px 3.6px #0000000f,0 .3px .9px #0000000d}.field{flex-direction:column;gap:.4rem;margin-bottom:1rem;display:flex}.field label{color:var(--neutral-text);font-size:.85rem;font-weight:600}.field input[type=file]{font-size:.9rem}.hint{color:var(--neutral-text-tertiary);font-size:.78rem}.field-error{color:var(--danger);font-size:.78rem}.quota-card{background:var(--neutral-surface);border:1px solid var(--neutral-border);border-radius:2px;padding:1.25rem;box-shadow:0 1.6px 3.6px #0000000f,0 .3px .9px #0000000d}.quota-labels{color:var(--neutral-text-secondary);justify-content:space-between;margin-bottom:.6rem;font-size:.82rem;display:flex}.quota-track{background:var(--azure-blue-light);border-radius:999px;height:8px;overflow:hidden}.quota-fill{background:var(--azure-blue);border-radius:999px;height:100%;transition:width .2s}.upload-card button{background:var(--azure-blue);color:#fff;cursor:pointer;border:none;border-radius:2px;width:100%;padding:.65rem 0;font-size:.95rem;font-weight:600;transition:background .1s}.upload-card button:hover:not(:disabled){background:var(--azure-blue-dark)}.upload-card button:disabled{background:var(--neutral-text-tertiary);cursor:not-allowed}.file-list-card h2{color:var(--neutral-text);margin:0 0 1rem;font-size:1rem;font-weight:600}.empty{color:var(--neutral-text-tertiary);margin:0;font-size:.9rem}.file-list{flex-direction:column;gap:.9rem;margin:0;padding:0;list-style:none;display:flex}.file-row{border-bottom:1px solid var(--neutral-border);flex-wrap:wrap;align-items:center;gap:.75rem;padding-bottom:.9rem;display:flex}.file-row:last-child{border-bottom:none;padding-bottom:0}.thumb{object-fit:cover;border-radius:2px;flex-shrink:0;width:36px;height:36px}.thumb-icon{background:var(--azure-blue-light);color:var(--azure-blue-dark);justify-content:center;align-items:center;font-size:.62rem;font-weight:700;display:flex}.file-info{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.public-link-controls{flex-direction:column;flex-basis:100%;gap:.5rem;margin-top:.4rem;display:flex}.delete-btn{color:var(--danger);cursor:pointer;background:0 0;border:none;padding:.1rem .4rem;font-size:.75rem}.public-link-row{flex-wrap:wrap;gap:.4rem;display:flex}.public-link-result{color:var(--neutral-text-secondary);gap:.3rem;margin-top:.5rem;font-size:.75rem;display:grid}.public-link-result input{border:1px solid var(--neutral-border);width:100%;padding:.35rem .55rem}.public-link-btn{border:1px solid var(--azure-blue);color:var(--azure-blue);cursor:pointer;background:0 0;border-radius:2px;padding:.3rem .7rem;font-size:.8rem}.public-link-btn:disabled{color:var(--neutral-text-tertiary);border-color:var(--neutral-border);cursor:not-allowed}.public-link-btn:hover:not(:disabled){background:var(--azure-blue-light)}.file-name{color:var(--neutral-text);text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:600;overflow:hidden}.file-meta{color:var(--neutral-text-tertiary);font-size:.8rem}.download-btn{border:1px solid var(--azure-blue);color:var(--azure-blue);cursor:pointer;background:0 0;border-radius:2px;flex-shrink:0;padding:.4rem .7rem;font-size:.8rem;text-decoration:none;display:inline-block}.download-btn:hover{background:var(--azure-blue-light)}@media (width<=600px){.drive-page{padding:1rem 1rem 3rem}.drive-header{flex-wrap:wrap;gap:.75rem}.drive-header-title{flex-basis:100%;min-width:0}.drive-header-title>div{min-width:0}.drive-header p{overflow-wrap:anywhere}}
