:root{color-scheme:light;--ink:#17251f;--forest:#10251f;--forest-2:#1b3b30;--green:#b7e4b2;--mint:#eaf3e8;--paper:#faf9f5;--white:#fff;--muted:#747c75;--line:#e7e7df;--sand:#f1eadb;--red:#b94c43;--shadow:0 20px 60px rgba(20,39,30,.08);--shadow-small:0 6px 22px rgba(20,39,30,.06);--radius:20px}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:96px}body{margin:0;min-width:320px;background:var(--paper);color:var(--ink);font-family:"DM Sans",Arial,sans-serif;font-size:15px;line-height:1.65;-webkit-font-smoothing:antialiased}button,input,select{font:inherit}button,select{cursor:pointer}button:disabled{cursor:wait;opacity:.65}[hidden]{display:none!important}a{color:inherit;text-decoration:none}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid rgba(39,103,73,.3);outline-offset:3px}h1,h2,h3,p{margin-top:0}h1,h2,h3,.brand,.footer-brand{font-family:Manrope,"DM Sans",sans-serif;letter-spacing:-.045em} .container{width:min(1160px,calc(100% - 56px));margin-inline:auto}
/* Brand header */.site-header{height:84px;background:rgba(250,249,245,.92);border-bottom:1px solid rgba(23,37,31,.08);position:relative;z-index:10}.header-inner{width:min(1280px,calc(100% - 56px));height:100%;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:inline-flex;align-items:center;gap:11px;font-size:22px;font-weight:800;line-height:1.05;letter-spacing:-.07em}.brand-mark{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:var(--forest);color:var(--green);font-size:23px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.1)}.brand-accent{color:#477e58}.brand small{display:block;margin-top:5px;font:700 8px/1 "DM Sans",sans-serif;letter-spacing:.19em;color:#92958b}.header-nav,.admin-header-right{display:flex;align-items:center;gap:34px}.nav-link{font-size:13px;font-weight:600;color:#727970;transition:color .2s}.nav-link:hover,.nav-link.active{color:var(--ink)}.header-cta{display:inline-flex;align-items:center;gap:15px;padding:12px 17px;background:var(--forest);border-radius:9px;color:white;font-size:12px;font-weight:700;transition:background .2s,transform .2s}.header-cta:hover,.button-dark:hover{background:#28533e;transform:translateY(-1px)}.header-cta span{color:var(--green);font-size:17px}.mobile-menu{display:none;background:transparent;border:0;font-size:22px;color:var(--forest)}
/* Homepage hero */.hero-wrap{position:relative;overflow:hidden;background:linear-gradient(105deg,#f7f6f0 0%,#f6f5ef 55%,#edf1e7 100%);border-bottom:1px solid var(--line)}.hero-grid{min-height:575px;display:grid;grid-template-columns:1.04fr .96fr;align-items:center;gap:42px;padding-top:48px;padding-bottom:58px}.hero-copy{padding:8px 0 0}.eyebrow{display:flex;align-items:center;gap:10px;font-size:9px;letter-spacing:.17em;font-weight:700;color:#657268}.eyebrow-dot{width:7px;height:7px;background:#6a9a68;border-radius:50%;box-shadow:0 0 0 4px rgba(106,154,104,.13)}.hero-copy h1{font-size:clamp(48px,5.7vw,76px);line-height:1.06;font-weight:700;margin:27px 0 21px;letter-spacing:-.075em}.hero-copy h1 em,.admin-welcome h1 em{font-style:normal;color:#527f5d}.hero-description{max-width:500px;color:#70776f;font-size:15px;line-height:1.9;margin-bottom:28px}.hero-actions{display:flex;align-items:center;gap:22px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;padding:15px 20px;border-radius:9px;font-size:12px;font-weight:700;transition:background .2s,transform .2s}.button-dark{background:var(--forest);color:white}.button-dark span{color:var(--green);font-size:18px}.hero-note{display:flex;align-items:center;gap:8px;color:#747c72;font-size:11px}.mini-check{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:#e1eddd;color:#4e8058;font-weight:800}.hero-stats{display:flex;gap:36px;margin-top:46px;padding-top:22px;border-top:1px solid #e1e2d9;max-width:475px}.hero-stats div{display:flex;flex-direction:column;gap:2px}.hero-stats strong{font-family:Manrope,sans-serif;font-size:19px;letter-spacing:-.04em}.hero-stats span{font-size:10px;color:#858b82}.hero-art{position:relative;min-height:440px;display:grid;place-items:center}.art-orbit{position:absolute;border:1px solid rgba(94,130,92,.17);border-radius:50%;transform:rotate(-24deg)}.orbit-one{width:405px;height:305px}.orbit-two{width:335px;height:390px;transform:rotate(34deg)}.paper-stack{position:relative;width:310px;height:330px;z-index:2}.paper{position:absolute;width:245px;height:300px;border-radius:6px;box-shadow:0 20px 48px rgba(29,53,36,.13);padding:25px}.paper-back{top:12px;left:48px;background:#e4e9dc;transform:rotate(8deg);border:1px solid #d2dccb}.paper-front{top:0;left:13px;background:#fffefa;transform:rotate(-5deg);border:1px solid #ecece4}.paper-kicker{font-size:7px;font-weight:800;letter-spacing:.15em;color:#859080}.paper-top{display:flex;align-items:center;justify-content:space-between}.paper-badge{font-size:8px;font-weight:800;color:#b65448;background:#f8e7e2;border-radius:4px;padding:5px 7px}.paper-front h3{font-size:27px;line-height:1.18;margin:42px 0 12px;letter-spacing:-.06em}.paper-front h3 em{font-style:normal;color:#5b865f}.paper-front p{font-size:9px;line-height:1.7;color:#858a80;max-width:160px}.paper-divider{height:1px;background:#e9e9df;margin-top:34px}.paper-foot{display:flex;justify-content:space-between;margin-top:14px;font-size:7px;font-weight:800;letter-spacing:.12em;color:#8b9186}.paper-line{height:5px;width:76%;border-radius:4px;background:#cbd6c4;margin-top:13px}.paper-line.wide{width:91%;margin-top:32px}.paper-line.short{width:49%}.paper-block{height:64px;border-radius:4px;background:repeating-linear-gradient(to bottom,#c9d6c4 0 4px,transparent 4px 12px);opacity:.75;margin:22px 0}.floating-stamp{position:absolute;z-index:3;right:2px;bottom:40px;width:94px;height:94px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#b8dfa9;color:#24462c;transform:rotate(9deg);box-shadow:0 10px 25px #4d74441b}.floating-stamp span{font-size:19px;line-height:1.2}.floating-stamp b{text-align:center;font-size:10px;line-height:1.25}.art-label{position:absolute;z-index:4;display:flex;align-items:center;gap:11px;padding:13px 15px;background:rgba(255,255,252,.91);border:1px solid #e9ebe2;border-radius:12px;box-shadow:var(--shadow-small);backdrop-filter:blur(10px)}.label-top{top:37px;left:0}.label-bottom{bottom:19px;left:8px}.label-icon{display:grid;place-items:center;width:33px;height:33px;border-radius:9px;background:#e9f0e5;color:#527b54;font-size:18px}.green-icon{background:#f4ebd9;color:#8d774d}.art-label b,.art-label small{display:block}.art-label b{font-size:10px}.art-label small{margin-top:3px;color:#8b9086;font-size:8px}.hero-bottom-rule{height:4px;background:linear-gradient(90deg,#a9d69c 0 20%,#d6e4cf 20% 40%,#e6e5da 40% 100%)}
/* Library */.library-section{padding-top:87px;padding-bottom:83px}.library-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:33px}.eyebrow-muted{color:#92968c}.library-intro h2{font-size:clamp(31px,4vw,43px);line-height:1.15;margin:15px 0 9px;font-weight:700}.heading-period{color:#659365}.library-intro p{margin:0;color:#7e847b;font-size:13px}.library-counter{display:flex;align-items:center;gap:12px;padding:13px 16px;border:1px solid var(--line);border-radius:12px;background:#fffefa;min-width:185px}.counter-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:10px;background:#edf3e9;color:#527e55;font-size:19px}.library-counter strong,.library-counter small{display:block}.library-counter strong{font-size:12px}.library-counter small{margin-top:2px;font-size:9px;color:#969a90}.library-toolbar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px;background:#fffefa;border:1px solid #e7e8df;border-radius:14px;box-shadow:0 5px 20px rgba(20,39,30,.025)}.search-box{display:flex;align-items:center;gap:10px;flex:1;min-width:230px;max-width:590px;padding-left:8px}.search-icon{font-size:26px;color:#7e8a7b;line-height:1}.search-box input,.admin-search-input input{flex:1;min-width:0;border:0;outline:0;background:transparent;color:var(--ink);font-size:12px;padding:11px 3px}.search-box input::placeholder,.admin-search-input input::placeholder{color:#a0a49b}.search-button{display:inline-flex;align-items:center;gap:12px;border:0;border-radius:8px;padding:11px 15px;background:var(--forest);color:white;font-size:11px;font-weight:700}.search-button span{color:var(--green);font-size:16px}.filter-controls{display:flex;align-items:center;gap:9px}.filter-label{font-size:10px;color:#969a91}.filter-controls select{min-width:105px;max-width:145px;padding:10px 28px 10px 11px;border:1px solid #e7e8df;border-radius:8px;background:#fffefa;color:#4d594f;font-size:11px}.sort-label{margin-left:7px}.collection-meta{display:flex;align-items:center;justify-content:space-between;margin:25px 2px 14px;font-size:8px;letter-spacing:.12em;color:#969a90;font-weight:700}.collection-meta b{color:#657266;font-weight:800}.meta-right{display:flex;align-items:center;gap:8px;letter-spacing:0;font-weight:500}.live-dot,.secure-dot{width:6px;height:6px;border-radius:50%;background:#6aa26c;display:inline-block}.notes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;min-height:110px}.note-card{display:flex;flex-direction:column;min-width:0;overflow:hidden;background:#fffefa;border:1px solid #e6e7de;border-radius:15px;transition:transform .22s,border-color .22s,box-shadow .22s}.note-card:hover{transform:translateY(-4px);border-color:#cbd9c7;box-shadow:0 15px 34px rgba(27,57,37,.08)}.note-card-content{position:relative;flex:1;padding:23px 22px 16px}.subject-icon{display:grid;place-items:center;width:42px;height:42px;margin-bottom:19px;border-radius:11px;background:#edf2e8;font-size:19px}.subject-tag{display:inline-flex;align-items:center;max-width:100%;padding:5px 8px;background:#f0f3eb;color:#547252;border-radius:5px;font-size:9px;font-weight:700;letter-spacing:.02em}.note-card h3{font-size:17px;line-height:1.4;margin:12px 0 9px;font-weight:700;overflow-wrap:anywhere}.pdf-icon{display:none}.note-filename{font-size:10px;color:#92978d;overflow-wrap:anywhere;margin:0 0 13px}.note-date{font-size:10px;color:#8a9086;margin:0;padding-top:13px;border-top:1px solid #eeeee7}.note-actions{display:flex;gap:8px;padding:0 22px 21px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:40px;padding:10px 14px;border:1px solid transparent;border-radius:8px;font-size:11px;font-weight:700;line-height:1.25;transition:background .2s,border-color .2s,transform .2s}.btn-primary{background:var(--forest);color:white;border-color:var(--forest)}.btn-primary:hover:not(:disabled){background:#28533e;border-color:#28533e}.note-actions .btn{flex:1}.btn-secondary{background:#fffefa;color:#586259;border-color:#e0e3d9}.btn-secondary:hover:not(:disabled){background:#f1f4ec;border-color:#d2dacd}.btn-danger{background:#fff6f3;color:#a6433b;border-color:#f1d7d1}.btn-danger:hover:not(:disabled){background:#fae9e5}.empty-state,.loading-card{grid-column:1/-1;padding:44px 20px;text-align:center;border:1px dashed #dfe3d8;border-radius:14px;background:rgba(255,255,252,.7);color:#7c8479}.empty-state h3{font-size:17px;margin:0 0 7px;color:var(--ink)}.empty-state p{font-size:12px;margin:0}.loading-dot{display:inline-block;width:8px;height:8px;background:#75a26e;border-radius:50%;margin-right:8px;animation:pulse 1.1s infinite alternate}@keyframes pulse{to{opacity:.25;transform:scale(.7)}}
/* Closing banner and footer */.closing-banner{display:flex;align-items:center;gap:24px;margin-bottom:58px;padding:32px 38px;background:var(--forest);border-radius:18px;color:white;position:relative;overflow:hidden}.closing-banner:after{content:"";position:absolute;right:17%;top:-110px;width:280px;height:280px;border:1px solid rgba(183,228,178,.12);border-radius:50%;box-shadow:0 0 0 32px rgba(183,228,178,.035),0 0 0 64px rgba(183,228,178,.025)}.closing-symbol{display:grid;place-items:center;flex:0 0 62px;height:62px;border:1px solid #496456;border-radius:16px;color:#d8ecd0;font:800 35px Manrope;letter-spacing:-.08em}.closing-symbol span,.footer-brand span{color:#b7e4b2}.eyebrow-light{color:#b3c9b1}.closing-banner h2{font-size:24px;line-height:1.2;margin:8px 0}.closing-banner p{font-size:11px;color:#bac8bc;margin:0}.closing-banner>div:nth-child(2){flex:1;z-index:1}.button-light{background:#e3f0dc;color:#1d3928;z-index:1}.button-light:hover{background:#cce7c2;transform:translateY(-1px)}.site-footer{border-top:1px solid var(--line);background:#f7f6f0}.footer-inner{width:min(1280px,calc(100% - 56px));min-height:80px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:18px;color:#96998f;font-size:10px}.footer-brand{font-size:16px;font-weight:800;color:var(--ink);letter-spacing:-.06em}.footer-brand span{color:#5e8b5e}
/* PDF reader */.viewer{position:fixed;inset:0;z-index:100;background:#111b16;display:none;flex-direction:column;padding:0}.viewer.active{display:flex}.viewer-header{height:76px;flex:0 0 76px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:12px 24px;background:#f9f8f2;color:var(--ink)}.viewer-heading{display:flex;align-items:center;gap:12px;min-width:0}.viewer-file-icon,.edit-file-badge{display:grid;place-items:center;width:40px;height:42px;border-radius:8px;background:#f8e9e3;color:#b65045;font-size:9px;font-weight:800}.viewer-heading small{display:block;font-size:8px;letter-spacing:.14em;color:#92968c;font-weight:700}.viewer-heading h2{font-size:15px;margin:3px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.viewer-close{display:flex;align-items:center;gap:7px;border:1px solid #e0e2d9;border-radius:8px;padding:9px 13px;background:white;color:#465248;font-size:11px;font-weight:700}.viewer-close span{font-size:18px}#pdfFrame{border:0;width:100%;height:calc(100% - 76px);background:#202720}
/* Admin workspace */.admin-page{background:#f6f6f0}.admin-header{background:#fbfaf6}.secure-pill{display:flex;align-items:center;gap:8px;padding:8px 11px;background:#edf3e9;border-radius:7px;color:#527354;font-size:10px;font-weight:700}.back-to-site{font-size:11px;color:#6f786e;font-weight:700}.back-to-site span{margin-left:5px;color:#5e8c5c}.admin-container{width:min(1050px,calc(100% - 48px));margin:auto}.admin-welcome{display:flex;align-items:center;justify-content:space-between;gap:36px;padding:57px 0 42px;border-bottom:1px solid var(--line)}.admin-welcome h1{font-size:clamp(38px,4.5vw,56px);line-height:1.1;margin:19px 0 13px;letter-spacing:-.07em}.admin-welcome p{font-size:13px;color:#7c8379;max-width:460px;margin:0}.admin-welcome-graphic{width:290px;min-height:125px;display:flex;align-items:center;justify-content:center;position:relative}.admin-graphic-card{display:flex;align-items:center;gap:12px;padding:17px;width:270px;background:#fffefa;border:1px solid #e4e7dd;border-radius:13px;box-shadow:var(--shadow-small);position:relative;z-index:2}.graphic-file{display:grid;place-items:center;width:43px;height:49px;background:#f7e9e3;border-radius:8px;color:#b45145;font-size:9px;font-weight:800}.admin-graphic-card b,.admin-graphic-card small{display:block}.admin-graphic-card b{font-size:12px}.admin-graphic-card small{font-size:9px;color:#8b9187;margin-top:3px}.graphic-check{margin-left:auto;display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#e5f1df;color:#56845b;font-size:12px}.graphic-spark{position:absolute;top:-4px;right:0;font-size:35px;color:#8eae82}.admin-login-panel{width:min(500px,100%);margin:40px auto 76px;padding:31px;background:#fffefa;border:1px solid #e4e6dc;border-radius:16px;box-shadow:var(--shadow-small)}.panel-heading{display:flex;align-items:flex-start;gap:14px;margin-bottom:24px}.panel-icon{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:11px;background:#eaf2e6;color:#507b54;font-size:22px}.panel-kicker{display:block;margin:2px 0 6px;color:#81907e;font-size:8px;letter-spacing:.15em;font-weight:800}.panel-heading h2{font-size:21px;line-height:1.25;margin:0 0 5px}.panel-heading p{font-size:11px;color:#8a9087;margin:0;line-height:1.6}.upload-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px}.form-field{display:flex;flex-direction:column;gap:7px;min-width:0}.full-width{grid-column:1/-1}.form-field label{font-size:10px;color:#536054;font-weight:700}.form-field input,.form-field select{width:100%;min-width:0;min-height:43px;padding:10px 12px;border:1px solid #dfe3d9;border-radius:8px;background:#fffefa;color:var(--ink);font-size:12px;outline:none;transition:border-color .2s,box-shadow .2s}.form-field input:focus,.form-field select:focus{border-color:#8db38a;box-shadow:0 0 0 3px rgba(99,151,92,.1)}.form-field input::placeholder{color:#a5a99f}.login-submit{width:100%;min-height:46px}.login-submit span{color:var(--green);font-size:17px}.login-foot{display:flex;align-items:flex-start;gap:9px;margin-top:22px;padding-top:18px;border-top:1px solid #eceee5;color:#8c9388;font-size:9px;line-height:1.6}.login-foot span{color:#70956c;font-size:14px}.status-message{font-size:11px;color:#668064;margin:0;overflow-wrap:anywhere}.status-message:empty{display:none}.admin-dashboard{padding:43px 0 75px}.dashboard-topline{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:25px}.dashboard-topline h2{font-size:30px;line-height:1.2;margin:10px 0 6px}.dashboard-topline p{font-size:11px;color:#838a80;margin:0}.logout-button{min-height:38px}.dashboard-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:25px}.dashboard-stat{display:flex;align-items:center;gap:13px;padding:17px;background:#fffefa;border:1px solid #e5e7de;border-radius:12px}.stat-symbol{display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:#eaf2e6;color:#527e55;font-size:20px}.stat-symbol-green{background:#e4f1e9;color:#418568}.stat-symbol-sand{background:#f4eddf;color:#9a8051}.dashboard-stat small,.dashboard-stat strong{display:block}.dashboard-stat small{font-size:9px;color:#8d9489;margin-bottom:4px}.dashboard-stat strong{font-family:Manrope,sans-serif;font-size:14px;letter-spacing:-.025em}.admin-panel{margin-bottom:22px;padding:27px;background:#fffefa;border:1px solid #e4e6dc;border-radius:14px;box-shadow:0 5px 20px rgba(20,39,30,.025)}.admin-upload-form{gap:16px}.label-note{float:right;color:#9a9e94;font-size:9px;font-weight:500}.upload-submit-row{display:flex;align-items:center;gap:15px;flex-wrap:wrap}.upload-submit-row .btn{min-width:160px}.upload-submit-row .status-message{flex:1}.manage-heading{margin-bottom:22px}.admin-search-row{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:10px 12px;margin-bottom:12px;background:#f8f8f2;border:1px solid #e8e9e1;border-radius:9px}.admin-search-input{display:flex;align-items:center;gap:9px;flex:1;min-width:0}.admin-search-input>span{font-size:23px;color:#7b8979}.admin-search-input input{padding:7px 0}.admin-list-caption{font-size:8px;letter-spacing:.13em;color:#999d92;font-weight:800;white-space:nowrap}.admin-notes-list{display:flex;flex-direction:column}.admin-note-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 2px;border-bottom:1px solid #eceee6}.admin-note-row:last-child{border-bottom:0}.admin-note-details{min-width:0;flex:1}.admin-note-details h3{font-size:13px;line-height:1.4;margin:0 0 4px;overflow-wrap:anywhere}.admin-note-details p{font-size:10px;color:#7c857a;margin:0 0 4px;overflow-wrap:anywhere}.admin-note-details small{font-size:9px;color:#a0a49b}.admin-note-actions{display:flex;gap:7px;flex-shrink:0}.admin-note-actions .btn{min-height:34px;padding:8px 12px;font-size:10px}.admin-edit-form{margin-top:22px;padding:22px;background:#f7f8f1;border:1px solid #e3e7dc;border-radius:12px}.edit-form-heading{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}.edit-form-heading h3{font-size:18px;margin:0}.edit-file-badge{width:35px;height:36px}.admin-edit-actions{display:flex;gap:9px}.admin-footer .footer-inner{min-height:72px}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1400px){.hero-grid{min-height:620px}.hero-art{transform:scale(1.04)}}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr .85fr;gap:15px;min-height:510px}.hero-copy h1{font-size:clamp(45px,6vw,62px)}.hero-art{transform:scale(.87);margin-inline:-20px}.label-top{left:-6px}.label-bottom{left:-12px}.notes-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.library-toolbar{align-items:stretch;flex-direction:column}.search-box{max-width:none}.filter-controls{justify-content:flex-start}.filter-controls select{flex:1;max-width:none}.admin-welcome-graphic{width:240px;transform:scale(.9);transform-origin:right center}.admin-welcome{gap:12px}}
@media(max-width:640px){.container,.header-inner,.footer-inner{width:calc(100% - 36px)}.site-header{height:72px}.brand{font-size:20px}.brand-mark{width:36px;height:36px}.header-nav{display:none}.mobile-menu{display:block}.hero-grid{display:flex;flex-direction:column;align-items:stretch;padding-top:42px;padding-bottom:35px;gap:4px}.hero-copy{padding:0}.hero-copy h1{font-size:clamp(46px,13vw,62px);margin:23px 0 15px}.hero-description{font-size:13px;line-height:1.8;margin-bottom:22px}.hero-actions{gap:15px}.button{padding:13px 15px}.hero-note{font-size:10px}.hero-stats{margin-top:29px;gap:0;justify-content:space-between;padding-top:17px}.hero-stats strong{font-size:17px}.hero-stats span{font-size:9px}.hero-art{min-height:355px;transform:scale(.8);transform-origin:top center;margin:8px -20px -45px}.orbit-one{width:340px;height:270px}.orbit-two{width:280px;height:330px}.paper-stack{transform:scale(.9)}.label-top{top:11px;left:0}.label-bottom{bottom:0;left:0}.floating-stamp{right:8px;bottom:15px}.library-section{padding-top:58px;padding-bottom:54px}.library-intro{align-items:flex-start;flex-direction:column;margin-bottom:22px;gap:17px}.library-intro h2{font-size:34px;margin-top:12px}.library-intro p{font-size:12px}.library-counter{min-width:0;padding:9px 12px}.counter-icon{width:33px;height:33px}.library-toolbar{padding:10px;gap:10px}.search-box{min-width:0;gap:7px;padding-left:3px}.search-box input{font-size:11px}.search-button{padding:10px 11px;gap:7px}.filter-controls{display:grid;grid-template-columns:auto 1fr auto 1fr;gap:6px}.filter-controls select{min-width:0;width:100%;padding:9px 5px;font-size:10px}.filter-label{font-size:9px}.sort-label{margin-left:0}.collection-meta{font-size:7px;letter-spacing:.07em;gap:8px}.meta-right{font-size:8px}.notes-grid{grid-template-columns:1fr;gap:12px}.note-card{display:grid;grid-template-columns:1fr}.note-card-content{padding:18px 18px 13px}.subject-icon{width:36px;height:36px;margin-bottom:13px}.note-card h3{font-size:16px}.note-actions{padding:0 18px 17px}.closing-banner{width:calc(100% - 36px);padding:23px;gap:14px;flex-wrap:wrap;margin-bottom:35px}.closing-symbol{flex-basis:48px;height:48px;font-size:28px}.closing-banner h2{font-size:19px}.closing-banner p{font-size:10px}.closing-banner>div:nth-child(2){flex:1;min-width:170px}.button-light{margin-left:62px}.footer-inner{padding:19px 0;min-height:0;display:grid;grid-template-columns:1fr auto;gap:8px}.footer-inner>span:nth-child(2){grid-column:1/-1;grid-row:2}.footer-inner>span:last-child{font-size:8px}.viewer-header{height:68px;flex-basis:68px;padding:10px 12px}.viewer-file-icon{width:33px;height:35px}.viewer-heading h2{font-size:12px;max-width:55vw}.viewer-close{padding:8px;font-size:10px}#pdfFrame{height:calc(100% - 68px)}
.admin-header-right{gap:11px}.secure-pill{font-size:0;padding:9px}.secure-dot{width:7px;height:7px}.back-to-site{font-size:9px}.admin-container{width:calc(100% - 36px)}.admin-welcome{padding:40px 0 30px}.admin-welcome h1{font-size:40px}.admin-welcome p{font-size:12px;line-height:1.7}.admin-welcome-graphic{display:none}.admin-login-panel{margin:27px auto 50px;padding:22px 18px}.panel-heading{gap:11px;margin-bottom:20px}.panel-icon{flex-basis:37px;height:37px}.panel-heading h2{font-size:18px}.panel-heading p{font-size:10px}.upload-form{grid-template-columns:1fr;gap:14px}.form-field,.full-width{grid-column:1/-1}.admin-dashboard{padding:32px 0 50px}.dashboard-topline h2{font-size:26px}.dashboard-stats{grid-template-columns:1fr;gap:9px}.dashboard-stat{padding:12px}.dashboard-stat .stat-symbol{width:35px;height:35px}.admin-panel{padding:20px 15px}.admin-panel .panel-heading h2{font-size:18px}.admin-panel .panel-heading p{font-size:10px}.label-note{float:none;display:block;margin-top:3px}.upload-submit-row{align-items:stretch;flex-direction:column;gap:9px}.upload-submit-row .btn{width:100%}.admin-search-row{align-items:stretch;flex-direction:column;gap:6px}.admin-list-caption{display:none}.admin-note-row{align-items:flex-start;flex-direction:column;gap:11px;padding:15px 0}.admin-note-actions{width:100%}.admin-note-actions .btn{flex:1}.admin-edit-form{padding:16px}.admin-footer .footer-inner{grid-template-columns:1fr auto}.admin-footer .footer-inner>span:nth-child(2){display:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Saved notes feature */
.saved-toolbar-row{display:flex;align-items:center;gap:13px;margin-top:13px;flex-wrap:wrap}.saved-only-button{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:8px 12px;border:1px solid #dfe4d8;border-radius:9px;background:#fffefa;color:#4d5d4d;font-size:11px;font-weight:700;transition:background .2s,border-color .2s,color .2s}.saved-only-button>span:first-child{font-size:16px;color:#668c61}.saved-only-button:hover,.saved-only-button.is-active{background:#eaf3e6;border-color:#b9d1b3;color:#244a2e}.saved-only-button.is-active>span:first-child{color:#b34e48}.saved-count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:20px;background:#edf0e9;color:#60705f;font-size:9px}.saved-hint{font-size:10px;color:#969b91}.note-card-content{padding-top:23px}.bookmark-button{position:absolute;top:18px;right:18px;display:grid;place-items:center;width:34px;height:34px;border:1px solid #e5e8df;border-radius:10px;background:#fffefa;color:#758174;font-size:20px;line-height:1;transition:background .2s,border-color .2s,color .2s,transform .2s}.bookmark-button:hover{transform:translateY(-1px);background:#f5eee9;border-color:#e8c9c1;color:#b34e48}.bookmark-button.is-saved{background:#fff0ed;border-color:#f0d0ca;color:#b34e48}.note-card-content .subject-icon{margin-top:2px}.note-card-content .subject-tag{padding-right:42px}@media(max-width:640px){.saved-toolbar-row{align-items:flex-start;flex-direction:column;gap:7px}.saved-hint{font-size:9px}.bookmark-button{top:14px;right:14px;width:32px;height:32px}.note-card-content .subject-tag{padding-right:38px}}

/* StudyShelf advanced PDF reader */
body.reader-is-open{overflow:hidden}
.viewer{position:fixed;inset:0;z-index:1000;background:#111714;display:none;flex-direction:column;padding:0;color:#e9eee8;font-family:'DM Sans',sans-serif}
.viewer.active{display:flex}
.reader-topbar{height:76px;min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 22px;background:#fbfaf5;color:#172b21;border-bottom:1px solid #e7e8df}
.reader-brand,.reader-top-actions{display:flex;align-items:center;gap:13px;min-width:0}
.reader-title-wrap{min-width:0}.reader-title-wrap small{display:block;font-size:8px;letter-spacing:.16em;font-weight:800;color:#829080}.reader-title-wrap h2{font-family:Manrope,sans-serif;font-size:15px;line-height:1.25;margin:3px 0 2px;max-width:min(44vw,620px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reader-title-wrap p{margin:0;font-size:10px;color:#7c867b}
.reader-top-actions{flex-shrink:0}.reader-icon-button,.viewer-close{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding:9px 13px;border:1px solid #e0e4da;border-radius:9px;background:#fffefa;color:#334438;font-size:11px;font-weight:700;white-space:nowrap}.reader-icon-button{background:#eaf1e6;border-color:#d7e4d1;color:#31543b}.reader-icon-button:hover{background:#dfeada}.viewer-close:hover{background:#f0f1e9}.viewer-close span{font-size:18px;line-height:12px}
.reader-toolbar{display:flex;align-items:center;gap:10px;min-height:58px;padding:8px 18px;background:#202a24;border-bottom:1px solid #344038;flex-wrap:wrap}.reader-tool-group{display:flex;align-items:center;gap:5px}.reader-tool{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:34px;height:34px;padding:0 9px;border:1px solid #3a473e;border-radius:7px;background:#29352d;color:#e6ede4;font-size:13px;font-weight:600;transition:background .15s,border-color .15s}.reader-tool:hover:not(:disabled){background:#39483c;border-color:#607261}.reader-tool:disabled{opacity:.35}.reader-tool span{font-size:10px}.page-indicator{display:flex;align-items:center;gap:7px;color:#b8c4b7;font-size:11px}.page-indicator input{width:43px;height:32px;border:1px solid #48564a;border-radius:6px;background:#151e18;color:#f5f7f2;text-align:center;font:600 12px 'DM Sans',sans-serif;outline:none}.page-indicator input:focus{border-color:#8bb183;box-shadow:0 0 0 2px #8bb18330}.page-indicator input::-webkit-inner-spin-button,.page-indicator input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.page-indicator input{appearance:textfield}.page-indicator b{font-weight:600;color:#e1e9df}.reader-tool-divider{height:24px;width:1px;background:#3a463d;margin:0 2px}.zoom-tools output{min-width:44px;text-align:center;color:#d6e0d3;font-size:10px;font-weight:700}.fit-button{font-size:10px}.reader-toolbar-spacer{flex:1}.reader-search{display:flex;align-items:center;gap:5px;width:min(270px,24vw);height:34px;padding:3px 4px 3px 10px;border:1px solid #3a473e;border-radius:8px;background:#151e18}.reader-search label{font-size:21px;color:#9cad9a;line-height:1}.reader-search input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:#f3f6f0;font:11px 'DM Sans',sans-serif}.reader-search input::placeholder{color:#91a091}.reader-search button{height:26px;padding:0 9px;border:0;border-radius:5px;background:#dce9d5;color:#25442e;font-size:10px;font-weight:800}.reader-search button:hover{background:#c8ddbf}
.reader-body{display:flex;flex:1;min-height:0;overflow:hidden;background:#171e19}.reader-sidebar{display:flex;flex-direction:column;flex:0 0 190px;width:190px;min-width:0;border-right:1px solid #344038;background:#202923;overflow:hidden;transition:width .18s,flex-basis .18s}.reader-sidebar.is-hidden{width:0;flex-basis:0;border-right:0}.sidebar-heading{display:flex;justify-content:space-between;gap:8px;align-items:center;padding:16px 13px 12px;color:#c3cec1;font-size:8px;letter-spacing:.12em;font-weight:800;border-bottom:1px solid #354137}.sidebar-heading small{font-size:9px;letter-spacing:0;color:#8f9d8d;font-weight:500;white-space:nowrap}.sidebar-heading-actions{display:flex;align-items:center;gap:7px;flex-shrink:0}.sidebar-collapse-button{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border:1px solid #435145;border-radius:6px;background:#2b382e;color:#e8eee5;font-size:17px;line-height:1;cursor:pointer}.sidebar-collapse-button:hover{background:#39483c;border-color:#70866e}.sidebar-expand-button{position:absolute;z-index:8;top:12px;left:10px;display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:38px;height:34px;padding:0 10px;border:1px solid #52634f;border-radius:8px;background:#26352a;color:#f0f5ec;font-size:18px;font-weight:700;box-shadow:0 4px 16px #0004;cursor:pointer}.sidebar-expand-button span{font-size:10px}.sidebar-expand-button:hover{background:#39483c;border-color:#91ad87}.sidebar-expand-button:focus-visible{outline:2px solid #b9d4ae;outline-offset:2px}.sidebar-expand-button[hidden]{display:none}.sidebar-collapse-button:focus-visible{outline:2px solid #9fbd94;outline-offset:2px}.thumbnail-list{overflow:auto;padding:12px;display:flex;flex-direction:column;gap:12px}.thumbnail-item{display:flex;flex-direction:column;align-items:center;gap:7px;padding:8px 7px;border:1px solid transparent;border-radius:9px;background:transparent;color:#aebbac;font:10px 'DM Sans',sans-serif}.thumbnail-item:hover{background:#2b382e}.thumbnail-item.is-current{border-color:#8db383;background:#2d3c30;color:#f2f6ef}.thumbnail-preview{position:relative;display:flex;align-items:center;justify-content:center;width:100%;min-height:100px;padding:7px;border-radius:4px;background:#fff;box-shadow:0 2px 8px #0002;overflow:hidden}.thumbnail-preview canvas{display:block;max-width:100%;max-height:155px;object-fit:contain}.thumbnail-preview>span{position:absolute;right:4px;bottom:4px;display:grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border-radius:4px;background:#17251ce8;color:#fff;font-size:9px}.thumbnail-item b{font-size:10px;font-weight:600}
.reader-stage{position:relative;flex:1;min-width:0;overflow:auto;overscroll-behavior:contain;scroll-behavior:auto;background:#171e19;padding:30px 20px 70px}.reader-stage.sidebar-hidden{padding-left:20px}.pdf-pages{display:flex;flex-direction:column;align-items:center;gap:28px;min-width:0}.pdf-page-shell{position:relative;flex:0 0 auto;max-width:100%;min-height:240px;background:#fff;box-shadow:0 8px 32px #0004;scroll-margin-top:24px;transition:box-shadow .15s}.pdf-page-shell.is-rendered{box-shadow:0 10px 35px #0005}.pdf-page-canvas{display:block;max-width:100%;background:white}.page-number-badge{position:absolute;z-index:1;top:8px;right:8px;padding:4px 7px;border-radius:5px;background:#17251cc9;color:#fff;font-size:9px;opacity:0;transition:opacity .15s;pointer-events:none}.pdf-page-shell:hover .page-number-badge{opacity:1}.reader-loading{position:absolute;z-index:2;top:42%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:9px;width:min(320px,90%);text-align:center;color:#dce6da}.reader-loading strong{font-size:13px}.reader-loading p{margin:0;color:#9eac9c;font-size:11px;line-height:1.6}.reader-spinner{width:30px;height:30px;border:3px solid #465548;border-top-color:#b9d4ae;border-radius:50%;animation:readerSpin .8s linear infinite;margin-bottom:5px}@keyframes readerSpin{to{transform:rotate(360deg)}}.reader-error{position:absolute;top:42%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;width:min(390px,90%);padding:28px;border:1px solid #3a473d;border-radius:16px;background:#202923;text-align:center;color:#e7eee4}.reader-error[hidden],.reader-loading[hidden]{display:none}.reader-error>span{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:#4b302b;color:#f4b7a7;font-size:11px;font-weight:800}.reader-error h3{margin:16px 0 5px;font:700 17px Manrope,sans-serif}.reader-error p{margin:0 0 16px;color:#aebbac;font-size:11px;line-height:1.7}.reader-error a{margin-top:13px;color:#c4dfb9;font-size:11px;text-decoration:underline}.reader-statusbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:28px;padding:5px 18px;background:#202923;border-top:1px solid #344038;color:#9eac9c;font-size:9px}.reader-statusbar>span:first-child{display:flex;align-items:center;gap:7px}.status-indicator{width:6px;height:6px;border-radius:50%;background:#8fc17e;box-shadow:0 0 0 3px #8fc17e1f}
@media(max-width:760px){.reader-topbar{height:68px;min-height:68px;padding:8px 11px;gap:8px}.reader-brand{gap:8px}.reader-title-wrap h2{max-width:43vw;font-size:12px}.reader-title-wrap p{font-size:9px}.reader-title-wrap small{font-size:7px}.reader-brand .viewer-file-icon{width:32px;height:35px}.reader-icon-button,.viewer-close{min-height:34px;padding:7px 9px;font-size:10px}.reader-icon-button span{display:none}.reader-toolbar{gap:6px;padding:7px 8px}.reader-tool{min-width:30px;height:31px;padding:0 7px}.reader-tool-divider{margin:0}.reader-search-divider{display:none}.reader-toolbar-spacer{display:none}.reader-search{order:5;flex:1 1 100%;width:auto;max-width:none}.reader-toolbar>.reader-tool:last-child{margin-left:auto}.reader-body{position:relative}.reader-sidebar{position:absolute;z-index:5;top:0;bottom:0;left:0;width:132px;flex-basis:132px;box-shadow:8px 0 20px #0002}.reader-sidebar.is-hidden{width:0;flex-basis:0;box-shadow:none}.sidebar-heading{padding:12px 8px;font-size:7px}.sidebar-heading small{font-size:8px}.thumbnail-list{padding:8px;gap:8px}.thumbnail-preview{min-height:78px}.thumbnail-preview canvas{max-height:110px}.reader-stage{padding:20px 7px 55px}.reader-stage.sidebar-hidden{padding-left:7px}.pdf-pages{gap:14px}.pdf-page-shell{max-width:100%;min-height:180px}.reader-statusbar{padding:5px 9px;font-size:8px}.reader-statusbar>span:last-child{max-width:50%;text-align:right}.fit-button{font-size:9px}.zoom-tools output{min-width:34px;font-size:9px}}
@media(max-width:400px){.reader-top-actions{gap:5px}.reader-icon-button{display:none}.reader-title-wrap h2{max-width:48vw}.reader-toolbar{gap:4px}.reader-tool{min-width:28px;padding:0 5px}.reader-tool span{display:none}.page-indicator{gap:4px}.page-indicator input{width:35px}.reader-tool-divider{height:20px}.reader-search input{font-size:10px}}
@media(prefers-reduced-motion:reduce){.reader-spinner{animation:none}.reader-stage{scroll-behavior:auto}}

/* Stage 6 reader controls: zoom with Ctrl/Command + mouse-wheel, focus mode and fullscreen */
.reader-focus-controls{display:none;position:absolute;z-index:20;top:12px;right:14px;gap:8px;align-items:center;padding:6px;border:1px solid #48564a;border-radius:12px;background:#202a24eF;box-shadow:0 8px 28px #0005;backdrop-filter:blur(12px)}
.reader-focus-controls .reader-tool{min-height:36px;padding:0 12px}
.viewer.reading-mode .reader-topbar,.viewer.reading-mode .reader-toolbar,.viewer.reading-mode .reader-statusbar,.viewer.reading-mode .reader-sidebar{display:none!important}
.viewer.reading-mode .reader-body{flex:1;min-height:0}
.viewer.reading-mode .reader-stage{padding:28px 20px 45px;background:#101511}
.viewer.reading-mode .reader-focus-controls{display:flex}
.viewer:fullscreen{width:100vw;height:100vh;max-width:none;max-height:none;border:0}
.viewer:fullscreen .reader-stage{overscroll-behavior:contain}
.reader-tool[aria-pressed="true"]{border-color:#9fbd94;background:#3a4b3a;color:#fff}
@media(max-width:760px){.reader-focus-controls{top:8px;right:8px;gap:5px;padding:4px}.reader-focus-controls .reader-tool{min-height:32px;padding:0 8px;font-size:10px}.viewer.reading-mode .reader-stage{padding:48px 5px 22px}.viewer.reading-mode .pdf-pages{gap:12px}}

/* Stage 10 motion system: slower, clearly visible entrances with GPU-friendly transforms. */
@keyframes ssEnter{from{opacity:0;transform:translate3d(0,22px,0)}to{opacity:1;transform:translate3d(0,0,0)}}
@keyframes ssFade{from{opacity:0}to{opacity:1}}
@keyframes ssPaperFront{from{opacity:0;transform:translate3d(0,25px,0) rotate(-5deg)}to{opacity:1;transform:translate3d(0,0,0) rotate(-5deg)}}
@keyframes ssFloat{0%,100%{transform:translate3d(0,0,0) rotate(9deg)}50%{transform:translate3d(0,-7px,0) rotate(9deg)}}
.site-header{animation:ssFade .65s ease-out both}
.hero-copy>.eyebrow{animation:ssEnter .85s cubic-bezier(.16,1,.3,1) .12s both}
.hero-copy>h1{animation:ssEnter .95s cubic-bezier(.16,1,.3,1) .28s both}
.hero-copy>.hero-description{animation:ssEnter .9s cubic-bezier(.16,1,.3,1) .48s both}
.hero-copy>.hero-actions{animation:ssEnter .85s cubic-bezier(.16,1,.3,1) .65s both}
.hero-copy>.hero-stats{animation:ssEnter .9s cubic-bezier(.16,1,.3,1) .82s both}
.hero-art{animation:ssFade 1.1s ease-out .18s both}
.hero-art>.art-orbit{animation:ssFade 1.2s ease-out .28s both}
.hero-art>.label-top{animation:ssEnter .9s cubic-bezier(.16,1,.3,1) .58s both}
.hero-art>.paper-stack{animation:ssFade 1s ease-out .38s both}
.hero-art .paper-front{animation:ssPaperFront 1s cubic-bezier(.16,1,.3,1) .45s both}
.hero-art .floating-stamp{animation:ssEnter .85s cubic-bezier(.16,1,.3,1) .9s both,ssFloat 4.5s ease-in-out 1.9s infinite}
.hero-art>.label-bottom{animation:ssEnter .9s cubic-bezier(.16,1,.3,1) .78s both}
.library-intro,.library-toolbar,.saved-toolbar-row,.collection-meta,.closing-banner{animation:ssEnter .75s cubic-bezier(.16,1,.3,1) both}
.site-footer{animation:ssFade .8s ease-out both}
.note-card{animation:ssEnter .75s cubic-bezier(.16,1,.3,1) both;transition:transform .28s cubic-bezier(.2,.7,.25,1),box-shadow .28s ease,border-color .28s ease}
.note-card:nth-child(2){animation-delay:.1s}.note-card:nth-child(3){animation-delay:.2s}.note-card:nth-child(4){animation-delay:.3s}.note-card:nth-child(5){animation-delay:.4s}.note-card:nth-child(6){animation-delay:.5s}
.note-card:hover{transform:translate3d(0,-4px,0);box-shadow:0 12px 28px rgba(27,57,37,.08);border-color:#d5dfcf}
.button,.btn,.header-cta,.search-button,.saved-only-button,.bookmark-button,.filter-controls select,.search-box input,.reader-icon-button,.viewer-close,.reader-tool{transition:transform .25s cubic-bezier(.2,.7,.25,1),box-shadow .25s ease,background-color .25s ease,border-color .25s ease,color .25s ease}
.button:hover,.btn:hover,.header-cta:hover,.search-button:hover{transform:translate3d(0,-2px,0)}
.button:active,.btn:active,.header-cta:active,.search-button:active,.saved-only-button:active{transform:scale(.985)}
.hero-art .art-label{transition:transform .28s cubic-bezier(.2,.7,.25,1),box-shadow .28s ease}
.hero-art .art-label:hover{transform:translate3d(0,-3px,0);box-shadow:0 12px 24px rgba(25,48,32,.09)}
.hero-actions .button{transition:transform .28s cubic-bezier(.2,.7,.25,1),box-shadow .28s ease,background-color .28s ease}
.hero-actions .button:hover{transform:translate3d(0,-3px,0);box-shadow:0 9px 20px rgba(16,37,31,.13)}
.hero-stats>div{transition:transform .28s cubic-bezier(.2,.7,.25,1)}
.hero-stats>div:hover{transform:translate3d(0,-3px,0)}
.reader-icon-button:hover,.viewer-close:hover,.reader-tool:hover:not(:disabled){transform:translate3d(0,-1px,0)}
.pdf-page-shell{transition:box-shadow .15s ease}
.filter-controls select:focus-visible,.search-box:focus-within{outline:2px solid #9dbb91;outline-offset:2px}
/* Avoid layout/filter-heavy motion on small devices and honor OS motion preferences. */
@media(max-width:760px){.note-card:hover,.hero-art .art-label:hover,.hero-actions .button:hover{transform:none;box-shadow:none}.hero-art .floating-stamp{animation:ssEnter .85s cubic-bezier(.16,1,.3,1) .9s both}}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
  .site-header,.hero-copy>.eyebrow,.hero-copy>h1,.hero-copy>.hero-description,.hero-copy>.hero-actions,.hero-copy>.hero-stats,.hero-art,.hero-art>.art-orbit,.hero-art>.label-top,.hero-art>.paper-stack,.hero-art .paper-front,.hero-art .floating-stamp,.hero-art>.label-bottom,.library-intro,.library-toolbar,.saved-toolbar-row,.collection-meta,.note-card,.closing-banner,.site-footer{animation:none!important;opacity:1!important;filter:none!important}
  .note-card:hover,.button:hover,.btn:hover,.header-cta:hover,.search-button:hover,.reader-icon-button:hover,.viewer-close:hover,.reader-tool:hover:not(:disabled),.hero-art .art-label:hover,.hero-actions .button:hover,.hero-stats>div:hover{transform:none!important}
}


/* Mobile PDF reader: keep all controls in one horizontally scrollable row. */
@media(max-width:760px){
  .reader-toolbar{display:flex;flex-wrap:nowrap;justify-content:flex-start;align-items:center;gap:5px;min-height:48px;padding:6px 8px;overflow-x:auto;overflow-y:hidden;white-space:nowrap;scrollbar-width:thin;overscroll-behavior-x:contain}
  .reader-toolbar>*{flex:0 0 auto}
  .reader-tool-group{flex:0 0 auto;gap:4px}
  .reader-tool{flex:0 0 auto;min-width:31px;height:32px;padding:0 7px}
  .reader-toolbar .reader-tool span{display:none}
  .reader-toolbar .reader-tool-divider{display:block;flex:0 0 1px;height:22px;margin:0 2px}
  .reader-toolbar .reader-toolbar-spacer{display:none}
  .reader-toolbar>.reader-tool:last-child{margin-left:0}
  .reader-toolbar .fit-button{padding:0 8px;font-size:10px}
  .reader-toolbar .zoom-tools output{min-width:34px}
  .reader-sidebar{width:150px;flex-basis:150px}
  .sidebar-heading{padding:10px 7px;gap:5px}
  .sidebar-heading-actions{gap:4px}
  .sidebar-collapse-button{width:22px;height:22px;flex-shrink:0}
}
@media(max-width:400px){
  .reader-toolbar{gap:4px;padding:6px}
  .reader-tool{min-width:29px;padding:0 6px}
  .reader-toolbar .fit-button{padding:0 7px}
  .page-indicator{gap:4px}
  .page-indicator input{width:34px}
}

/* Smooth visual feedback while PDF.js redraws pages at the new zoom level. */
.pdf-page-shell{transition:box-shadow .15s ease;overflow:hidden}
.pdf-page-canvas{transition:width .22s ease,height .22s ease;will-change:width,height}
.reader-toolbar .pages-toggle-button{order:-1;flex:0 0 34px;width:34px;min-width:34px;padding:0;font-size:16px;font-weight:800;border-color:#61745e;background:#344334}
.reader-toolbar .pages-toggle-button[aria-pressed="false"]{background:#202b22}
.reader-toolbar .pages-toggle-button:focus-visible{outline:2px solid #b9d4ae;outline-offset:2px}
@media(prefers-reduced-motion:reduce){.pdf-page-shell,.pdf-page-canvas,.reader-sidebar{transition:none!important}}


/* StudyShelf animation additions: subtle ambient motion, useful feedback, and accessible fallbacks. */
.hero-wrap::before{content:"";position:absolute;z-index:0;pointer-events:none;width:min(70vw,850px);height:min(70vw,850px);right:-18%;top:-36%;border-radius:50%;background:radial-gradient(circle,rgba(160,202,146,.28) 0%,rgba(199,220,186,.14) 36%,transparent 70%);filter:blur(12px);animation:ambientGlow 13s ease-in-out infinite alternate}
.hero-grid{position:relative;z-index:1}
@keyframes ambientGlow{from{transform:translate3d(-3%,0,0) scale(.94);opacity:.65}to{transform:translate3d(3%,5%,0) scale(1.08);opacity:1}}
.search-box:focus-within{box-shadow:0 0 0 4px rgba(107,151,99,.09);border-radius:10px;transition:box-shadow .22s ease,background-color .22s ease}
.notes-grid{transition:opacity .16s ease}
.note-card{animation:ssEnter .48s cubic-bezier(.16,1,.3,1) both}
.note-card:nth-child(7){animation-delay:.12s}.note-card:nth-child(8){animation-delay:.16s}.note-card:nth-child(9){animation-delay:.2s}
.subject-icon{transition:transform .24s ease,background-color .24s ease}
.note-card:hover .subject-icon{transform:translateY(-2px) scale(1.04);background:#e2eddd}
.note-card:hover .pdf-icon{animation:pdfNudge .32s ease}
@keyframes pdfNudge{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
.empty-state{animation:emptyArrive .35s ease both}
.empty-state-icon{display:grid;place-items:center;width:42px;height:42px;margin:0 auto 13px;border-radius:12px;background:#edf3e9;color:#527e55;font-size:25px;animation:emptyFloat 2.6s ease-in-out infinite}
@keyframes emptyArrive{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@keyframes emptyFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
#noteCount{display:inline-block;transition:transform .18s ease,color .18s ease}
#noteCount.count-updated{transform:translateY(-2px);color:#527f5d}
.back-to-top{position:fixed;z-index:50;right:22px;bottom:22px;width:42px;height:42px;border:1px solid #d8e1d2;border-radius:12px;background:#fffefa;color:#274b34;box-shadow:0 8px 24px rgba(20,39,30,.13);font-size:22px;cursor:pointer;opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .22s ease,transform .22s ease,visibility .22s,background-color .22s}
.back-to-top.is-visible{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top:hover{background:#edf3e9;transform:translateY(-2px)}
.study-toast{position:fixed;z-index:100;left:50%;bottom:24px;max-width:calc(100vw - 32px);padding:12px 16px;border:1px solid #405345;border-radius:11px;background:#1c2c22;color:#f3f7ef;font:600 12px 'DM Sans',sans-serif;box-shadow:0 12px 32px #0002;opacity:0;visibility:hidden;transform:translate(-50%,12px);transition:opacity .22s ease,transform .22s ease,visibility .22s;pointer-events:none}
.study-toast.is-visible{opacity:1;visibility:visible;transform:translate(-50%,0)}
.pdf-page-shell:not(.is-rendered){background:linear-gradient(100deg,#f1f3ef 25%,#fff 38%,#f1f3ef 62%);background-size:300% 100%;animation:pdfSkeleton 1.35s ease-in-out infinite}
.pdf-page-shell:not(.is-rendered) .pdf-page-canvas{opacity:0}
.pdf-page-shell.is-rendered .pdf-page-canvas{opacity:1;transition:none}
@keyframes pdfSkeleton{0%{background-position:100% 0}100%{background-position:0 0}}
.reader-stage:fullscreen{background:#101511}
.reader-toolbar .reader-tool:active:not(:disabled),.reader-icon-button:active,.viewer-close:active{transform:scale(.96)}
.pdf-page-shell{transition:width .22s cubic-bezier(.2,.75,.25,1),height .22s cubic-bezier(.2,.75,.25,1),box-shadow .15s ease}
.pdf-page-canvas{transition:width .22s cubic-bezier(.2,.75,.25,1),height .22s cubic-bezier(.2,.75,.25,1),opacity .16s ease}
@media(max-width:760px){.back-to-top{right:14px;bottom:14px;width:38px;height:38px}.hero-wrap::before{width:120vw;height:120vw;right:-55%;top:-20%;opacity:.65}.study-toast{bottom:16px;font-size:11px}}
@media(prefers-reduced-motion:reduce){.hero-wrap::before,.empty-state-icon,.pdf-page-shell:not(.is-rendered){animation:none!important}.pdf-page-shell:not(.is-rendered){background:#f4f5f2}.study-toast,.back-to-top{transition:none!important}}

@keyframes readerFullscreenIn{from{opacity:.88;transform:scale(.99)}to{opacity:1;transform:scale(1)}}
.viewer:fullscreen .reader-stage{animation:readerFullscreenIn .24s ease both}

/* Stage 19 zoom stability: render at the requested size without transform previews. */
.reader-stage{overflow-x:auto;overflow-y:auto;scrollbar-gutter:stable;}
.pdf-pages{width:max-content;min-width:100%;}
.reader-stage.is-zoomed .pdf-pages{align-items:flex-start;min-width:max-content;padding-right:20px;}
.reader-stage.is-zoomed .pdf-page-shell{max-width:none;}
.reader-stage.is-zoomed .pdf-page-canvas{max-width:none;}
.pdf-page-shell{transition:box-shadow .15s ease!important;}
.pdf-page-canvas{transition:width .16s cubic-bezier(.2,.7,.2,1),height .16s cubic-bezier(.2,.7,.2,1);}
.pdf-page-canvas{transition:opacity .12s ease!important;will-change:auto;}
@media(max-width:760px){.reader-stage.is-zoomed .pdf-pages{padding-right:7px;}}
