html,body,#root{height:100%;margin:0}.layout-container{display:flex;flex-direction:column;min-height:100vh;width:100%;overflow-x:hidden;position:relative}.main-content{flex:1}*{margin:0;padding:0;box-sizing:border-box}:root{--jungle-green: #1C352D;--ebony: #555D50;--gray: #ADADAC;--isabelline: #F4F0EC;--transition: all .3s ease}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;transition:background-color .3s ease}body.light-mode{background-color:#fff;color:var(--jungle-green)}body.dark-mode{background-color:#0f1e19;color:var(--isabelline)}.app{min-height:100vh;display:flex;flex-direction:column}.main-content{flex:1;max-width:1200px;width:90%;margin:0 auto;padding:2rem 0;overflow-x:hidden}.hero{text-align:center;padding:2rem 0}.hero h1{margin-bottom:.5rem}.hero p{font-size:1.1rem;color:#666;max-width:600px;margin:0 auto 2rem}.page-title{margin-top:2rem;margin-bottom:2rem}h1,h2,h3,h4{font-family:Playfair Display,Georgia,serif;font-weight:700;margin-bottom:1rem}h1{font-size:2.5rem;letter-spacing:-.5px}h2{font-size:2rem}h3{font-size:1.5rem}p{line-height:1.6;margin-bottom:1rem;word-wrap:break-word;overflow-wrap:break-word}h1,h2,h3,h4,h5,h6{word-wrap:break-word;overflow-wrap:break-word}.section{margin-bottom:3rem}.section-title{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}.section-title:after{content:"";flex:1;height:1px;background-color:var(--gray)}@media(max-width:480px){.section-title{flex-direction:column;align-items:flex-start}.section-title:after{display:none}}.card-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));width:100%}.card{border-radius:12px;padding:1.5rem;text-align:center;cursor:pointer;font-weight:600;font-size:1rem;transition:var(--transition);background-color:#dbd1d1;color:#0c0b07}.light-mode .card{background-color:#9c9494;box-shadow:0 4px 20px #1c352d14}.dark-mode .card{background-color:#2a4a3e;color:#f4f0ec;box-shadow:0 4px 20px #0003}.card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #1c352d26}.dark-mode .card:hover{box-shadow:0 8px 30px #0000004d}.card-link{text-decoration:none;display:block}.btn{padding:.75rem 1.5rem;border-radius:50px;border:none;font-family:Inter,sans-serif;font-weight:600;font-size:.95rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:.5rem;transition:var(--transition);min-height:44px;white-space:nowrap;text-align:center}.btn svg{margin-right:.4rem}.btn-primary{background-color:var(--jungle-green);color:var(--isabelline)}.btn-secondary{background-color:#c4c4c4;border:2px solid var(--jungle-green);color:#000}.dark-mode .btn-secondary{border-color:var(--isabelline);color:var(--isabelline)}.btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #1c352d33}.grid{display:grid;gap:1.5rem}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}.level-nav{width:100%;display:flex;justify-content:center;gap:1.5rem;margin:1.5rem 0 2rem}.level-nav button{padding:.7rem 1.8rem;border-radius:50px;border:none;background-color:var(--jungle-green);color:var(--isabelline);font-size:1rem;font-weight:600;cursor:pointer;transition:var(--transition)}.level-nav button:hover{background-color:#264a3e;transform:translateY(-2px)}.active-tab{background-color:var(--ebony)!important;color:var(--isabelline)!important;box-shadow:0 4px 12px #0003}@media(min-width:769px)and (max-width:1024px){.main-content{width:92%;padding:1.75rem 1rem}.hero{padding:1.5rem 0}.hero h1{font-size:2.25rem}.hero p{font-size:1.05rem}.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}.card-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}h1{font-size:2.25rem}h2{font-size:1.75rem}}@media(max-width:768px){.main-content{width:100%;padding:1.5rem 1rem;max-width:100%}.hero{padding:1.5rem 0}.hero h1{font-size:2rem;line-height:1.2}.hero p{font-size:1rem;padding:0 1rem}h1{font-size:2rem;line-height:1.2}h2{font-size:1.5rem;line-height:1.3}h3{font-size:1.25rem}p{font-size:.95rem}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr;gap:1rem}.card-grid{grid-template-columns:1fr;gap:1rem;width:100%}.card{width:100%;max-width:100%}.level-nav{gap:1rem;margin:1rem 0 1.5rem;flex-wrap:wrap;padding:0 .5rem}.level-nav button{padding:.6rem 1.4rem;font-size:.9rem;flex:1;min-width:120px;min-height:44px}.semester-grid{grid-template-columns:1fr;gap:1rem;width:100%}.section{margin-bottom:2rem;width:100%}.page-title{margin-top:1.5rem;margin-bottom:1.5rem}.btn{min-height:44px;width:100%;max-width:100%}.card .btn,.card .btn-open{width:auto;min-width:120px}}@media(max-width:480px){.main-content{width:100%;padding:1rem .75rem;max-width:100%}.hero{padding:1rem 0}.hero h1{font-size:1.75rem;margin-bottom:.5rem;padding:0 .5rem}.hero p{font-size:.95rem;padding:0 .5rem;margin-bottom:1.5rem}h1{font-size:1.75rem;margin-bottom:.75rem;line-height:1.3;word-break:break-word}h2{font-size:1.25rem;margin-bottom:.75rem;line-height:1.3;word-break:break-word}h3{font-size:1.1rem;line-height:1.3}p{font-size:.9rem;line-height:1.5}.grid-2,.grid-3,.grid-4{gap:.75rem;width:100%}.card-grid{gap:.75rem;width:100%;grid-template-columns:1fr}.card{padding:1.25rem 1rem;width:100%;max-width:100%;box-sizing:border-box}.card h2,.card h3{font-size:1.1rem;margin-bottom:.75rem;word-break:break-word}.btn{padding:.7rem 1.25rem;font-size:.9rem;min-height:44px;width:100%;max-width:100%}.card .btn,.card .btn-open{width:auto;min-width:140px;max-width:200px}.level-nav{gap:.75rem;margin:.75rem 0 1rem;padding:0 .25rem}.level-nav button{padding:.65rem 1.2rem;font-size:.85rem;min-width:100px;min-height:44px;flex:1}.semester-card{padding:1.25rem 1rem;width:100%;max-width:100%}.semester-card h2{font-size:1.2rem;word-break:break-word}.semester-card .btn-open{min-height:44px;min-width:120px}.section{margin-bottom:1.5rem;width:100%}.section-title{margin-bottom:1.25rem;gap:.75rem;flex-wrap:wrap}.page-title{margin-top:1rem;margin-bottom:1rem}.card-grid .card .btn-open{min-height:44px;padding:.65rem 1.5rem}}@media(max-width:360px){.main-content{padding:.75rem .5rem;width:100%}.hero{padding:.75rem 0}.hero h1{font-size:1.5rem;padding:0}.hero p{font-size:.9rem;padding:0}h1{font-size:1.5rem;line-height:1.2}h2{font-size:1.1rem;line-height:1.3}h3{font-size:1rem}p{font-size:.85rem}.card{padding:1rem .75rem;width:100%}.card h2,.card h3{font-size:1rem}.btn{padding:.65rem 1rem;font-size:.85rem;min-height:44px}.card .btn,.card .btn-open{min-width:120px;padding:.6rem 1.25rem}.level-nav{padding:0}.level-nav button{padding:.6rem .9rem;font-size:.8rem;min-width:90px;min-height:44px}.semester-card{padding:1rem .75rem}.semester-card h2{font-size:1.1rem}}.auth-container{display:flex;justify-content:center;align-items:center;padding:3rem 1rem;min-height:calc(100vh - 200px)}.auth-box{width:100%;max-width:420px;background:#dbd4cb;padding:2rem;border-radius:14px;box-shadow:0 4px 12px #0000001a;text-align:center;border:1px solid #b9a185}.auth-title{font-family:Playfair Display;font-size:2rem;color:#0c0b07;margin-bottom:.5rem}.auth-subtitle{margin-bottom:1.5rem;color:#6b533c;font-size:1rem}.auth-form{display:flex;flex-direction:column;gap:1rem}.auth-input{padding:.9rem;border-radius:8px;border:1px solid #b9a185;background:#f4f0ec;font-size:1rem;width:100%;box-sizing:border-box}.auth-input:focus{outline:none;border-color:#6b533c}.auth-btn{background:#6b533c;color:#fff;padding:.9rem;border:none;border-radius:8px;cursor:pointer;font-size:1rem;width:100%;transition:background .3s ease}.auth-btn:hover{background:#0c0b07}.divider{margin:1.5rem 0;font-size:.9rem;color:#6b533c}.google-btn{background:#fff;border:2px solid #4285F4;padding:.9rem;border-radius:8px;cursor:pointer;font-size:1rem;font-weight:600;width:100%;transition:all .3s ease;display:flex;align-items:center;justify-content:center;color:#4285f4;min-height:44px}.google-btn:hover{background:#f0f7ff;border-color:#1a73e8;transform:translateY(-1px);box-shadow:0 2px 8px #4285f433}.google-btn svg{display:inline-block;vertical-align:middle}.auth-footer-text{margin-top:1rem;color:#6b533c;font-size:.9rem}.auth-footer-text a{color:#0c0b07;text-decoration:underline}@media(max-width:768px){.auth-container{padding:2rem 1rem;min-height:calc(100vh - 180px)}.auth-box{padding:1.75rem 1.5rem}}@media(max-width:480px){.auth-container{padding:1.5rem .75rem;min-height:calc(100vh - 150px)}.auth-box{padding:1.5rem 1.25rem;margin:0 auto}.auth-title{font-size:1.75rem;line-height:1.2}.auth-subtitle{font-size:.9rem;margin-bottom:1.25rem}.auth-input,.auth-btn,.google-btn{padding:.75rem;font-size:.95rem;min-height:44px}}@media(max-width:360px){.auth-container{padding:1rem .5rem}.auth-box{padding:1.25rem 1rem}.auth-title{font-size:1.5rem}.auth-subtitle{font-size:.85rem}}.semester-grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-top:2rem}.semester-card{background-color:#dbd1d1;border-radius:12px;padding:2rem 1.5rem;text-align:center;display:flex;flex-direction:column;justify-content:center;align-items:center;transition:var(--transition)}.light-mode .semester-card{background-color:#dbd1d1;box-shadow:0 4px 20px #1c352d14}.dark-mode .semester-card{background-color:#2a4a3e;color:#f4f0ec;box-shadow:0 4px 20px #0003}.semester-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #1c352d26}.dark-mode .semester-card:hover{box-shadow:0 8px 30px #0000004d}.semester-card h2{font-size:1.5rem;margin-bottom:1rem}.semester-card .btn-open{padding:.6rem 1.5rem;border-radius:50px;border:none;background-color:#1c352d;color:#f4f0ec;font-weight:600;cursor:pointer;transition:var(--transition)}.semester-card .btn-open:hover{background-color:#264a3e;transform:translateY(-2px)}.card-grid .card{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:1.5rem;border-radius:12px;text-align:center;cursor:pointer;transition:var(--transition);background-color:#dbd1d1;color:#0c0b07}.light-mode .card-grid .card{background-color:#dbd1d1;box-shadow:0 4px 20px #1c352d14}.dark-mode .card-grid .card{background-color:#2a4a3e;color:#f4f0ec;box-shadow:0 4px 20px #0003}.card-grid .card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #1c352d26}.dark-mode .card-grid .card:hover{box-shadow:0 8px 30px #0000004d}.card-grid .card h2{margin-bottom:1rem}.card-grid .card .btn-open{padding:.6rem 1.5rem;border-radius:50px;border:none;background-color:#1c352d;color:#f4f0ec;font-weight:600;cursor:pointer;transition:var(--transition)}.card-grid .card .btn-open:hover{background-color:#264a3e;transform:translateY(-2px)}@media(max-width:768px){*{max-width:100%}img,video,iframe,embed,object{max-width:100%;height:auto}button,a,input,select,textarea{min-height:44px;touch-action:manipulation}p,span,div{-webkit-hyphens:auto;-moz-hyphens:auto;hyphens:auto}}@media(max-width:768px)and (orientation:landscape){.main-content{padding:1rem .75rem}.hero{padding:.75rem 0}.section{margin-bottom:1.5rem}}.footer{padding:2rem;background:var(--ebony, #555D50);color:var(--isabelline, #F4F0EC);text-align:center;margin-top:auto;width:100%;box-sizing:border-box}.footer-text{margin:0;font-size:.95rem;line-height:1.5}@media(max-width:768px){.footer{padding:1.5rem 1rem}.footer-text{font-size:.9rem}}@media(max-width:480px){.footer{padding:1.25rem .75rem;margin-top:1.5rem}.footer-text{font-size:.85rem;line-height:1.4}}@media(max-width:360px){.footer{padding:1rem .5rem}.footer-text{font-size:.8rem}}.header{padding:1rem 2rem;display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;background:#dbd4cb;border-bottom:1px solid #b9a185;z-index:10;width:100%;box-sizing:border-box}.header-logo{display:flex;align-items:center;gap:.5rem;margin:0;cursor:pointer;-webkit-user-select:none;user-select:none}.logo-main{font-family:Playfair Display,serif;font-size:1.9rem;font-weight:800;color:#fff;background:#332d2d;padding:.25rem .55rem;border-radius:18px;letter-spacing:1px}.logo-stack{display:flex;flex-direction:column;line-height:1}.logo-paper{font-size:.95rem;font-weight:700;letter-spacing:1.8px;color:#6b533c;text-transform:uppercase}.logo-solution{font-size:.8rem;font-weight:600;letter-spacing:2.4px;color:#0c0b07;opacity:.85;text-transform:uppercase}.header-logo:hover .logo-main{background:#6b533c;color:#fff;transition:.3s ease}@media(max-width:768px){.logo-main{font-size:1.6rem}.logo-paper{font-size:.85rem}.logo-solution{font-size:.75rem}}@media(max-width:480px){.header-logo{gap:.4rem}.logo-main{font-size:1.4rem;padding:.2rem .45rem}.logo-paper{font-size:.8rem;letter-spacing:1.4px}.logo-solution{font-size:.7rem;letter-spacing:2px}}.logo-sub{display:block;font-size:1.05rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:#b9a185;margin-top:.15rem}@media(max-width:768px){.header-logo{font-size:1.5rem}.logo-sub{font-size:.95rem;letter-spacing:1.5px}}@media(max-width:480px){.header-logo{font-size:1.3rem}.logo-sub{font-size:.85rem;letter-spacing:1.2px}}@media(max-width:360px){.header-logo{font-size:1.15rem}.logo-sub{font-size:.8rem}}.header-nav{display:flex;align-items:center;gap:1rem}.header-user-info{display:flex;align-items:center;gap:.75rem}.header-user-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid #6b533c;background:#f4f0ec}.header-user-avatar-placeholder{display:flex;align-items:center;justify-content:center;background:#6b533c;color:#fff;font-weight:600}.header-user-name{color:#0c0b07;font-weight:600;font-size:.95rem;max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header-btn{padding:.6rem 1rem;border-radius:8px;background:#6b533c;color:#fff;border:none;font-size:.9rem;cursor:pointer;transition:all .3s ease;text-decoration:none;font-weight:500}.header-btn-signup{background:#0c0b07}.header-btn:hover{opacity:.9;transform:translateY(-1px)}@media(max-width:768px){.header{padding:.75rem 1rem}.header-btn{padding:.5rem .8rem;font-size:.85rem}.header-user-avatar{width:36px;height:36px}.header-user-name{font-size:.85rem;max-width:120px}}@media(max-width:480px){.header{flex-direction:column;align-items:stretch;gap:.5rem}.header-logo{text-align:center;font-size:1.15rem}.header-nav{width:100%;display:flex;justify-content:space-between;align-items:center}.header-user-name{display:none}.header-btn{padding:.45rem .7rem;font-size:.8rem}}@media(max-width:360px){.header-nav{flex-direction:column;gap:.5rem}.header-btn{width:100%;text-align:center}.header-user-info{justify-content:center}}.pdf-page-wrap{background:#f4f0ec;min-height:100vh;padding:24px 0;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none;-webkit-user-drag:none}.pdf-container{max-width:1100px;margin:0 auto;text-align:left}.pdf-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}.pdf-title{margin:0;font-size:1.25rem;font-family:Playfair Display,serif;color:#0c0b07}.pdf-subinfo{font-size:.9rem;color:#6b533c;margin-top:4px}.pdf-controls{display:flex;gap:8px;align-items:center}.pdf-controls button,.pdf-controls .download-btn{padding:8px 10px;border-radius:8px;border:none;cursor:pointer;background:#6b533c;color:#fff;font-weight:600}.pdf-controls .download-btn{display:inline-block;text-decoration:none}.pdf-viewer-box{background:#fff;border-radius:12px;padding:18px;box-shadow:0 6px 18px #0000000f;position:relative;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.pdf-loading,.pdf-error{padding:40px;text-align:center;color:#6b533c;font-weight:600}.pdf-document{display:flex;justify-content:center;align-items:center;position:relative;pointer-events:auto}.pdf-document canvas{max-width:100%;height:auto;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none;-webkit-user-drag:none;pointer-events:auto}.pdf-footer-controls{display:flex;align-items:center;gap:10px;justify-content:center;margin-top:12px;flex-wrap:wrap}.pdf-nav-btn{padding:8px 16px;border-radius:6px;border:1px solid #6b533c;background:#6b533c;color:#fff;cursor:pointer;font-weight:600;transition:background .2s}.pdf-nav-btn:hover:not(:disabled){background:#5a4530}.pdf-nav-btn:disabled{opacity:.5;cursor:not-allowed}.page-info{display:flex;align-items:center;gap:8px;color:#6b533c;font-weight:500;flex-wrap:wrap;justify-content:center}.page-input{width:64px;text-align:center;padding:6px;border-radius:6px;border:1px solid #ddd;font-weight:600}.page-input:focus{outline:2px solid #6b533c;outline-offset:2px}.pdf-document{position:relative}@media(min-width:1400px){.pdf-container{max-width:1200px}}@media(min-width:769px)and (max-width:1200px){.pdf-container{width:92%;padding:0 1rem}.pdf-viewer-box{padding:16px}}@media(min-width:481px)and (max-width:768px){.pdf-page-wrap{padding:16px 0}.pdf-container{width:96%;padding:0 1rem}.pdf-title{font-size:1.15rem;text-align:center;margin-bottom:1rem}.pdf-viewer-box{padding:14px}.pdf-nav-btn{padding:7px 14px;font-size:.9rem}.page-info{font-size:.9rem}.page-input{width:56px;font-size:.9rem}.pdf-footer-controls{gap:8px}}@media(max-width:480px){.pdf-page-wrap{padding:12px 0;min-height:calc(100vh - 120px)}.pdf-container{width:100%;padding:0 .75rem}.pdf-title{font-size:1.05rem;text-align:center;margin-bottom:.75rem;padding:0 .5rem}.pdf-header{flex-direction:column;align-items:center;gap:8px;margin-bottom:1rem}.pdf-viewer-box{padding:12px 8px;border-radius:8px}.pdf-loading,.pdf-error{padding:30px 20px;font-size:.9rem}.pdf-document canvas{max-width:100%!important;height:auto!important}.pdf-footer-controls{flex-direction:column;gap:10px;margin-top:16px;padding:0 .5rem}.pdf-nav-btn{padding:8px 16px;font-size:.85rem;width:100%;max-width:200px}.page-info{flex-direction:column;gap:8px;width:100%;text-align:center;font-size:.85rem}.page-input{width:60px;font-size:.9rem;padding:8px}}@media(max-width:360px){.pdf-page-wrap{padding:8px 0}.pdf-container{padding:0 .5rem}.pdf-title{font-size:.95rem;padding:0}.pdf-viewer-box{padding:10px 6px}.pdf-nav-btn{padding:7px 14px;font-size:.8rem;max-width:180px}.page-info{font-size:.8rem}.page-input{width:50px;font-size:.85rem;padding:6px}}@media(max-width:768px)and (orientation:landscape){.pdf-page-wrap{padding:8px 0}.pdf-container{padding:0 .5rem}.pdf-title{font-size:1rem;margin-bottom:.5rem}.pdf-viewer-box{padding:10px}.pdf-footer-controls{flex-direction:row;flex-wrap:wrap;justify-content:center}.pdf-nav-btn{width:auto;max-width:none}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}body{overflow-x:hidden;margin:0;padding:0;width:100%;position:relative}#root{width:100%;min-height:100vh;overflow-x:hidden}@media(max-width:768px){body{overflow-x:hidden;-webkit-overflow-scrolling:touch}*{max-width:100%}img,video,canvas{max-width:100%;height:auto}}
