:root{--ink:#102246;--muted:#64718b;--blue:#0d397f;--line:#e0e5ee;--orange:#ff8a14}*{box-sizing:border-box}body{margin:0;color:var(--ink);background:#fff;font-family:"DM Sans",Arial,sans-serif}button,input,select{font:inherit}button{cursor:pointer}button,input,select,.note-card,.brand-logo{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,background-color .22s ease,color .22s ease}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #b8ceff;outline-offset:2px}.site-header{height:93px;display:flex;align-items:center;gap:35px;padding:0 clamp(24px,4vw,64px);border-bottom:1px solid var(--line);background:#fff;animation:slideDown .55s ease both}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;font-size:1.25rem;line-height:1.1;white-space:nowrap}.brand-logo{width:54px;height:54px;object-fit:contain;border-radius:50%;box-shadow:0 3px 10px rgba(10,52,137,.15)}.brand:hover .brand-logo{transform:rotate(-5deg) scale(1.08);box-shadow:0 8px 20px rgba(10,52,137,.25)}.brand small,.profile-button small{display:block;margin-top:5px;color:var(--muted);font-size:.7rem;font-weight:500}.main-nav{display:flex;justify-content:center;align-self:stretch;gap:38px;flex:1}.main-nav a{display:flex;align-items:center;gap:7px;color:#4d5870;text-decoration:none;font-weight:600;border-bottom:3px solid transparent;transition:color .2s,transform .2s}.main-nav a:hover{color:var(--blue);transform:translateY(-1px)}.main-nav a.active{color:var(--ink);border-color:var(--orange)}.header-actions{display:flex;align-items:center;gap:18px}.theme-button{width:55px;height:34px;border:0;border-radius:20px;background:#f0f2f6;color:#f1a20d}.theme-button:hover{transform:rotate(16deg) scale(1.06);background:#fff3cd}.profile-button{display:flex;align-items:center;gap:10px;border:0;background:#fff;text-align:left}.profile-button:hover{transform:translateY(-2px)}.profile-button>span{display:grid;place-items:center;width:43px;height:43px;border-radius:50%;color:#fff;background:#173b7e;font-weight:700}.profile-button strong{font-size:.88rem}.profile-button i{font-size:1.2rem;font-style:normal}.app-shell{display:grid;grid-template-columns:300px minmax(0,1fr);min-height:calc(100vh - 93px)}.sidebar{padding:29px 25px;border-right:1px solid var(--line);animation:fadeUp .55s .08s ease both}.side-label,.eyebrow{margin:0 0 10px;color:#7c879e;font-size:.72rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase}.category-nav{display:grid;gap:5px}.category{display:grid;grid-template-columns:27px 1fr auto;align-items:center;gap:6px;width:100%;padding:13px 12px;border:0;border-radius:8px;background:transparent;color:#384761;text-align:left;font-size:.94rem}.category:hover{background:#f2f6ff;transform:translateX(4px)}.category span{font-size:1.15rem;color:#2a6cc4}.category b{padding:3px 7px;border-radius:12px;background:#f0f2f6;font-size:.7rem;font-weight:600}.category.active{background:#dceaff;color:#102957;font-weight:700}.tag-section{margin:74px 19px 0}.tags{display:flex;flex-wrap:wrap;gap:10px}.tags button{padding:7px 10px;border:1px solid var(--line);border-radius:7px;background:#fff;color:#4d5b73;font-size:.73rem}.tags button:hover{transform:translateY(-2px);border-color:#9fc0ff;color:var(--blue);box-shadow:0 5px 12px rgba(24,80,170,.12)}.show-more{margin-top:18px;padding:0;border:0;background:none;color:#1261d4;font-weight:600}.show-more:hover{transform:translateX(4px)}.content{padding:27px clamp(26px,4vw,48px) 34px;overflow:hidden;animation:fadeUp .55s .15s ease both}.content-heading{display:flex;justify-content:space-between;gap:20px;align-items:start}.content-heading h1{margin:0;font-size:1.35rem}.content-heading p{margin:7px 0 0;color:var(--muted);font-size:.87rem}.admin-actions{display:flex;gap:12px}.outline-button,.upload-button{padding:12px 17px;border-radius:8px;font-weight:700}.outline-button{color:var(--orange);background:#fff;border:1px dashed var(--orange)}.outline-button:hover{transform:translateY(-2px);background:#fff8ee;box-shadow:0 6px 14px rgba(255,138,20,.16)}.upload-button{border:1px solid #0b357e;color:#fff;background:var(--blue);box-shadow:0 3px 7px #dbe5f6}.upload-button:hover{transform:translateY(-2px);background:#124b9d;box-shadow:0 8px 16px rgba(13,57,127,.25)}.upload-button:active,.outline-button:active,.view-button:active{transform:translateY(1px) scale(.98)}.toolbar{display:flex;align-items:center;margin:32px 0 18px}.search{display:flex;align-items:center;gap:10px;min-width:280px;flex:1;padding:0 14px;border:1px solid var(--line);border-radius:9px 0 0 9px;background:#fff;transition:border-color .2s,box-shadow .2s}.search:focus-within{border-color:#76a6ff;box-shadow:0 0 0 4px rgba(72,132,244,.13)}.search span{font-size:1.5rem}.search input{width:100%;padding:14px 0;border:0;outline:0}.filter-button{padding:14px 20px;border:1px solid var(--line);border-left:0;background:#fff;font-weight:600}.filter-button:hover,.view-button:hover{background:#eef4ff;color:var(--blue)}.sort-label{margin-left:auto;padding:12px 15px;border:1px solid var(--line);border-radius:8px 0 0 8px;color:#46526a;font-size:.78rem;font-weight:600}.sort-label select{border:0;background:#fff;color:var(--ink);font-weight:700}.view-button{width:45px;height:45px;border:1px solid var(--line);border-left:0;background:#fff;color:#34405b;font-size:1.2rem}.view-button.active{background:var(--blue);color:#fff}.study-message{margin-bottom:20px;padding:12px 15px;border-left:4px solid var(--orange);border-radius:0 6px 6px 0;color:#5d4a19;background:#fff8e7;font-size:.88rem;line-height:1.45}.notes-grid{display:grid;grid-template-columns:repeat(4,minmax(180px,1fr));gap:16px}.note-card{overflow:hidden;border:1px solid var(--line);border-radius:9px;background:#fff;box-shadow:0 2px 8px rgba(31,54,89,.04);animation:cardIn .5s ease both}.note-card:nth-child(2){animation-delay:.05s}.note-card:nth-child(3){animation-delay:.1s}.note-card:nth-child(4){animation-delay:.15s}.note-card:nth-child(5){animation-delay:.2s}.note-card:nth-child(6){animation-delay:.25s}.note-card:nth-child(7){animation-delay:.3s}.note-card:nth-child(8){animation-delay:.35s}.note-card:hover{transform:translateY(-5px);box-shadow:0 13px 25px rgba(31,54,89,.14);border-color:#b9d1ff}.preview{height:178px;padding:17px 16px;background:repeating-linear-gradient(0deg,#fcfcf9 0 22px,#e7ebf2 23px 24px);overflow:hidden;color:#263a5e;font-family:Georgia,serif}.preview h3{margin:0 0 11px;color:#12336b;text-align:center;font-size:1rem}.preview p{margin:0 0 7px;font-size:.71rem;line-height:1.2}.preview .diagram{display:flex;align-items:center;justify-content:center;height:85px;margin-top:5px;color:#3a6c9d;font-size:3rem}.note-image{width:100%;height:178px;object-fit:cover;display:block;background:#f4f6fb}.note-content{padding:13px}.subject-chip{display:inline-block;padding:4px 8px;border-radius:7px;color:#0a58c5;background:#dfebff;font-size:.66rem;font-weight:700}.subject-chip.history{color:#bb5b00;background:#fff0dd}.subject-chip.geography{color:#147050;background:#dff3e8}.subject-chip.economy{color:#7450c3;background:#eee6ff}.note-title{min-height:39px;margin:10px 0 7px;font-size:.89rem;font-weight:700;line-height:1.35}.note-meta{display:flex;align-items:center;justify-content:space-between;color:#748096;font-size:.72rem}.delete-note{border:0;background:none;color:#b42318;font-size:.72rem;font-weight:700}.empty-state{text-align:center;padding:70px 20px;color:var(--muted)}.empty-state h2{color:var(--ink)}.pagination{display:flex;align-items:center;gap:8px;margin-top:34px}.pagination button{min-width:36px;padding:9px 11px;border:1px solid var(--line);border-radius:6px;background:#fff;color:#24334e}.pagination button:hover{transform:translateY(-2px);border-color:#9fc0ff;color:var(--blue)}.pagination .selected{color:#fff;background:var(--blue)}.pagination span{margin-left:auto;color:#738098;font-size:.77rem}.dialog{width:min(440px,calc(100% - 30px));border:0;border-radius:14px;box-shadow:0 22px 60px rgba(10,28,62,.28)}.dialog::backdrop{background:rgba(12,27,51,.42);animation:backdropIn .2s ease}.dialog form{position:relative;padding:32px;animation:dialogIn .25s ease}.dialog h2{margin:0 0 10px;font-family:Fraunces,Georgia,serif}.dialog p{color:var(--muted);line-height:1.55}.dialog label{display:grid;gap:7px;margin:15px 0;color:#44516a;font-size:.83rem;font-weight:700}.dialog input,.dialog select{padding:11px;border:1px solid var(--line);border-radius:7px}.dialog input:focus,.dialog select:focus{border-color:#76a6ff;box-shadow:0 0 0 4px rgba(72,132,244,.13);outline:0}.close-button{position:absolute;right:15px;top:12px;border:0;background:transparent;font-size:1.7rem;color:#64718b}.close-button:hover{transform:rotate(90deg);color:var(--blue)}.full{width:100%;margin-top:8px}.file-drop{padding:14px;border:1px dashed #9eacc3;border-radius:8px}.file-drop:hover{border-color:#76a6ff;background:#f7faff}.file-drop small{color:var(--muted);font-weight:400}.form-message{min-height:20px;margin:8px 0;color:#1d754c!important;font-size:.8rem}.form-message.error{color:#b42318!important}@keyframes slideDown{from{opacity:0;transform:translateY(-14px)}to{opacity:1;transform:none}}@keyframes fadeUp{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}@keyframes cardIn{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}@keyframes dialogIn{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}@keyframes backdropIn{from{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}@media(max-width:1050px){.notes-grid{grid-template-columns:repeat(3,minmax(180px,1fr))}.app-shell{grid-template-columns:230px minmax(0,1fr)}}@media(max-width:760px){.site-header{height:auto;padding:15px 18px}.brand-logo{width:43px;height:43px}.main-nav,.theme-button,.profile-button strong,.profile-button i{display:none}.header-actions{margin-left:auto}.app-shell{display:block}.sidebar{display:none}.content{padding:24px 16px}.admin-actions .outline-button{display:none}.toolbar{flex-wrap:wrap;margin-top:22px}.search{flex-basis:100%;border-radius:9px}.filter-button{border-left:1px solid var(--line);border-radius:8px;margin-top:10px}.sort-label{margin:10px 0 0 auto;border-radius:8px}.view-button{margin-top:10px}.notes-grid{grid-template-columns:repeat(2,minmax(145px,1fr));gap:10px}.preview,.note-image{height:145px}.note-content{padding:10px}.note-title{font-size:.79rem}.pagination button:nth-of-type(n+4){display:none}.pagination span{display:none}}@media(max-width:380px){.notes-grid{grid-template-columns:1fr}.brand{font-size:1rem}.brand small{font-size:.58rem}}
