@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700;800&display=swap";*{box-sizing:border-box}html,body,#root{min-height:100%}body{background:#0d0e1a;margin:0;font-family:DM Sans,Inter,ui-sans-serif,system-ui,sans-serif}button,input{font:inherit}.navbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;border-bottom:1px solid #e3eaf1}.navbar-inner{justify-content:space-between;align-items:center;width:min(100% - 2rem,1180px);min-height:4.5rem;margin:0 auto;display:flex}.navbar-brand{color:#102a43;letter-spacing:-.035em;align-items:center;gap:.7rem;font-size:1.05rem;font-weight:800;text-decoration:none;display:inline-flex}.navbar-mark{color:#fff;background:#102a43;border-radius:7px;place-items:center;width:2rem;height:2rem;display:grid}.navbar-mark svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.9px;width:1.1rem;height:1.1rem}.navbar-actions{align-items:center;gap:.75rem;display:flex}.navbar-login,.navbar-logout,.navbar-add-note{color:#fff;min-height:2.45rem;font:inherit;cursor:pointer;background:#1976d2;border:1px solid #1976d2;border-radius:7px;justify-content:center;align-items:center;padding:.5rem 1rem;font-size:.88rem;font-weight:700;text-decoration:none;transition:background .18s,border-color .18s,transform .18s;display:inline-flex}.navbar-login:hover,.navbar-logout:hover,.navbar-add-note:hover{background:#125ea8;border-color:#125ea8;transform:translateY(-1px)}@media (width<=480px){.navbar-inner{width:min(100% - 1.25rem,1180px);min-height:4rem}}.note-card{background:#f2ee83;border:1px solid #ffffff5c;border-radius:14px;min-height:11rem;padding:1.25rem 1.5rem 1.5rem;transition:transform .2s,box-shadow .2s;position:relative;overflow:hidden;box-shadow:0 10px 22px #00000029}.note-card:nth-child(3n+2){background:#f2a9ae}.note-card:nth-child(3n){background:#6eb4d9}.note-card:hover{transform:translateY(-4px)rotate(-.5deg);box-shadow:0 16px 28px #00000038}.note-card h2{z-index:1;color:#202124;margin:0 0 .9rem;font-size:1.12rem;position:relative}.note-card p{z-index:1;color:#424242;white-space:pre-wrap;margin:0;line-height:1.6;position:relative}.note-description-clamped{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.see-more-button{z-index:1;color:#202124;font:inherit;cursor:pointer;background:0 0;border:0;margin-top:.8rem;padding:0;font-size:.86rem;font-weight:800;text-decoration:underline;position:relative}.note-card-top{z-index:1;justify-content:space-between;align-items:center;margin-bottom:1.15rem;display:flex;position:relative}.note-card-label{color:#303030;letter-spacing:.12em;background:#00000014;border-radius:999px;padding:.25rem .55rem;font-size:.64rem;font-weight:800}.note-card-dot{background:#202124;border-radius:50%;width:.55rem;height:.55rem;box-shadow:0 0 0 4px #00000014}.note-card-actions{z-index:1;gap:.6rem;margin-top:1.5rem;display:flex;position:relative}.note-card-actions button{font:inherit;cursor:pointer;border-radius:7px;padding:.5rem .75rem;font-size:.82rem;font-weight:700}.update-note-button{color:#202124;background:#ffffff5c;border:1px solid #0003}.delete-note-button{color:#54232b;background:0 0;border:1px solid #00000026}.update-note-button:hover{background:#fff9}.delete-note-button:hover{background:#ffffff57}.home-screen{background:#f6f8fc;min-height:100vh}.home-page{color:#1b2a3a;width:min(100% - 2rem,1180px);margin:0 auto;padding:3rem 0}.notes-grid{flex-direction:column;gap:1rem;display:flex}.no-notes-card{text-align:center;background:#fff;border:1px solid #dce4ee;border-radius:16px;place-items:center;min-height:17rem;padding:2.5rem 1.5rem;display:grid;box-shadow:0 12px 28px #273d5217}.no-notes-icon{color:#1976d2;background:#e8f2ff;border-radius:12px;place-items:center;width:3.5rem;height:3.5rem;margin:0 auto 1rem;font-size:1.6rem;display:grid}.no-notes-card h2{color:#1b2a3a;margin:0;font-size:1.2rem}.no-notes-card p{color:#66788a;margin:.55rem 0 0;font-size:.94rem}.add-note-overlay{z-index:20;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#1d2b3a57;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.add-note-modal{color:#1b2a3a;background:#fff;border:1px solid #dbe4ed;border-radius:18px;width:min(100%,35rem);padding:1.75rem;box-shadow:0 26px 70px #1a2b3d3d}.add-note-modal-header{justify-content:space-between;align-items:flex-start;display:flex}.add-note-modal-header p{color:#1976d2;letter-spacing:.14em;margin:0 0 .45rem;font-size:.7rem;font-weight:800}.add-note-modal h1{margin:0;font-size:1.5rem}.add-note-copy{color:#66788a;margin:.6rem 0 1.5rem}.close-add-note{color:#718196;cursor:pointer;background:0 0;border:0;font-size:1.8rem;line-height:1}.add-note-modal label{color:#30465c;margin:1rem 0 .45rem;font-size:.88rem;font-weight:700;display:block}.add-note-modal input,.add-note-modal textarea{color:#1b2a3a;width:100%;font:inherit;background:#fbfcfe;border:1px solid #cfd9e5;border-radius:8px;outline:none;padding:.75rem .85rem}.add-note-modal textarea{resize:vertical;min-height:8rem}.add-note-modal input:focus,.add-note-modal textarea:focus{border-color:#1976d2;box-shadow:0 0 0 3px #1976d21f}.add-note-modal-actions{justify-content:flex-end;gap:.7rem;margin-top:1.5rem;display:flex}.add-note-modal-actions button{font:inherit;cursor:pointer;border-radius:8px;padding:.65rem 1rem;font-weight:700}.cancel-add-note{color:#42566b;background:#fff;border:1px solid #cfd9e5}.save-add-note{color:#fff;background:#1976d2;border:1px solid #1976d2}.save-add-note:hover{background:#125ea8}:root{--navy:#102a43;--navy-deep:#0b1f33;--blue:#1976d2;--blue-hover:#125ea8;--slate:#52667a;--line:#dce5ee;--canvas:#f4f7fb}.signin-page{background:radial-gradient(circle at 7% 93%, #c8e0faa6 0 8rem, transparent 8.1rem), radial-gradient(circle at 93% 8%, #dae9f9bf 0 13rem, transparent 13.1rem), var(--canvas);place-items:center;min-height:100vh;padding:2rem;font-family:DM Sans,Inter,ui-sans-serif,system-ui,sans-serif;display:grid}.signin-card{background:#fff;border:1px solid #dae4eed9;border-radius:20px;grid-template-columns:minmax(260px,.82fr) minmax(390px,1.18fr);width:min(100%,980px);min-height:610px;display:grid;overflow:hidden;box-shadow:0 24px 65px #263f5924}.signin-brand{background:linear-gradient(145deg, #163e68 0%, var(--navy) 58%, var(--navy-deep) 100%);color:#fff;flex-direction:column;justify-content:space-between;padding:2.5rem;display:flex;position:relative;overflow:hidden}.signin-brand:before,.signin-brand:after{content:"";border:1px solid #ffffff1a;border-radius:50%;position:absolute}.signin-brand:before{width:21rem;height:21rem;top:-12rem;right:-10rem}.signin-brand:after{width:16rem;height:16rem;bottom:-9rem;left:-8rem}.brand-mark{width:2.55rem;height:2.55rem;color:var(--navy);background:#fff;border-radius:9px;place-items:center;display:grid}.brand-mark svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8px;width:1.35rem;height:1.35rem}.brand-copy{z-index:1;margin-top:auto;margin-bottom:4rem;position:relative}.brand-label{color:#a8d1fc;letter-spacing:.16em;margin:0 0 1.2rem;font-size:.72rem;font-weight:800}.brand-copy h2{letter-spacing:-.05em;margin:0;font-size:clamp(2rem,3vw,2.7rem);line-height:1.08}.brand-copy>p:last-child{color:#c9dcf0;max-width:15rem;margin:1.25rem 0 0;line-height:1.65}.brand-detail{z-index:1;color:#b7cfe8;font-size:.82rem;position:relative}.brand-detail p{margin:.8rem 0 0;font-style:italic}.detail-line{background:#62acf3;width:2.2rem;height:2px;display:block}.signin-content{flex-direction:column;justify-content:center;padding:clamp(2rem,5vw,4rem);display:flex}.signin-heading{margin-bottom:2rem}.signin-kicker{color:var(--blue);letter-spacing:.15em;margin:0 0 .6rem;font-size:.72rem;font-weight:800}.signin-heading h1{color:var(--navy);letter-spacing:-.045em;margin:0;font-size:clamp(1.8rem,3vw,2.35rem)}.signin-heading p:not(.signin-kicker){color:var(--slate);margin:.65rem 0 0;font-size:.95rem}.signin-form,.email-only-form{gap:.65rem;display:grid}.signin-form label,.email-only-form label{color:#324a5f;margin-top:.45rem;font-size:.83rem;font-weight:700}.signin-form input,.email-only-field input{border:1px solid var(--line);width:100%;min-height:3.1rem;color:var(--navy);font:inherit;background:#fbfcfe;border-radius:8px;outline:none;padding:.8rem .9rem;transition:border-color .18s,box-shadow .18s,background .18s}.signin-form input::placeholder,.email-only-field input::placeholder{color:#9aaaba}.signin-form input:focus,.email-only-field input:focus{border-color:var(--blue);background:#fff;box-shadow:0 0 0 3px #1976d21f}.signin-row{grid-template-columns:1fr 1fr;gap:.9rem;display:grid}.signin-row>div{gap:.65rem;display:grid}.otp-field,.email-only-field{gap:.7rem;display:flex}.otp-button,.submit-button,.email-submit-button{background:var(--blue);color:#fff;font:inherit;cursor:pointer;border:0;border-radius:8px;font-weight:700;transition:transform .18s,background .18s,box-shadow .18s;box-shadow:0 5px 13px #1976d230}.otp-button{flex:none;padding:0 1rem}.submit-button{margin-top:1rem;padding:.95rem}.email-submit-button{flex:none;padding:0 1.1rem}.otp-button:hover,.submit-button:hover,.email-submit-button:hover{background:var(--blue-hover);transform:translateY(-1px);box-shadow:0 8px 17px #1976d240}.otp-button:active,.submit-button:active,.email-submit-button:active{transform:translateY(0)}.login-register-link{color:var(--slate);text-align:center;margin:1.4rem 0 0;font-size:.88rem}.login-register-link a{color:var(--blue);font-weight:700;text-decoration:none}.login-register-link a:hover{text-decoration:underline}.form-message{color:#b3314c;background:#fff3f5;border-radius:8px;margin:.8rem 0 0;padding:.75rem .9rem;font-size:.88rem}.form-message.success{color:#22724d;background:#ecf8f1}@media (width<=720px){.signin-page{padding:1rem}.signin-card{grid-template-columns:1fr;max-width:530px}.signin-brand{min-height:225px;padding:1.75rem 2rem}.brand-copy{margin:2.5rem 0 0}.brand-copy h2{font-size:2rem}.brand-copy>p:last-child,.brand-detail{display:none}.signin-content{padding:2.2rem 2rem 2.5rem}}@media (width<=440px){.signin-row{grid-template-columns:1fr;gap:0}.email-only-field{flex-direction:column}.email-submit-button{min-height:3.1rem}}:root{--navy:#102a43;--blue:#1976d2;--blue-hover:#125ea8;--slate:#52667a;--line:#dce5ee;--canvas:#f4f7fb}.upload-page{background:radial-gradient(circle at 8% 90%, #c8e0faa6 0 8rem, transparent 8.1rem), radial-gradient(circle at 92% 10%, #dae9f9bf 0 13rem, transparent 13.1rem), var(--canvas);place-items:center;min-height:100vh;padding:2rem;font-family:DM Sans,Inter,ui-sans-serif,system-ui,sans-serif;display:grid}.upload-card{background:#fff;border:1px solid #dae4eed9;border-radius:20px;width:min(100%,560px);padding:clamp(1.75rem,4vw,2.5rem);box-shadow:0 24px 65px #263f5924}.upload-kicker{color:var(--blue);letter-spacing:.15em;margin:0 0 .55rem;font-size:.72rem;font-weight:800}.upload-header h1{color:var(--navy);letter-spacing:-.04em;margin:0;font-size:clamp(1.7rem,3vw,2.1rem)}.upload-subtitle{color:var(--slate);margin:.55rem 0 0;font-size:.95rem}.upload-form{gap:1rem;margin-top:1.75rem;display:grid}.upload-input{opacity:0;clip:rect(0, 0, 0, 0);width:1px;height:1px;position:absolute;overflow:hidden}.dropzone{min-height:11.5rem;color:var(--slate);text-align:center;cursor:pointer;background:linear-gradient(#f8fbfe,#f8fbfe),radial-gradient(circle at top,#1976d20f,#0000 55%);border:1.5px dashed #b7c9db;border-radius:14px;place-items:center;gap:.35rem;padding:1.5rem;transition:border-color .18s,background .18s,transform .18s;display:grid}.dropzone strong{color:var(--navy);font-size:1rem}.dropzone:hover,.dropzone.is-dragging{border-color:var(--blue);background:#f0f7ff;transform:translateY(-1px)}.dropzone-icon{width:3rem;height:3rem;color:var(--blue);background:#e8f2ff;border-radius:12px;place-items:center;margin-bottom:.35rem;display:grid}.dropzone-icon svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:1.4rem;height:1.4rem}.browse-pill{border:1px solid var(--line);color:var(--navy);background:#fff;border-radius:8px;margin-top:.55rem;padding:.45rem .9rem;font-size:.85rem;font-weight:700}.file-list{gap:.55rem;margin:0;padding:0;list-style:none;display:grid}.file-list li{border:1px solid var(--line);background:#fbfcfe;border-radius:10px;justify-content:space-between;align-items:center;gap:.75rem;padding:.75rem .9rem;display:flex}.file-meta{gap:.15rem;min-width:0;display:grid}.file-name{color:var(--navy);white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:700;overflow:hidden}.file-size{color:var(--slate);font-size:.78rem}.remove-file{color:#5a6d80;cursor:pointer;background:#eef2f6;border:0;border-radius:8px;width:2rem;height:2rem;font-size:1.25rem;line-height:1}.remove-file:hover{color:#b3314c;background:#ffe8ec}.upload-button{background:var(--blue);color:#fff;cursor:pointer;border:0;border-radius:8px;margin-top:.25rem;padding:.95rem;font-weight:700;transition:transform .18s,background .18s,box-shadow .18s;box-shadow:0 5px 13px #1976d230}.upload-button:hover:not(:disabled){background:var(--blue-hover);transform:translateY(-1px)}.upload-button:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}@media (width<=480px){.upload-page{padding:1rem}}
