body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.page-container{box-sizing:border-box;margin-top:60px;min-height:calc(100vh - 60px);padding:var(--spacing-lg);transition:all .3s ease}.page-container,body{background-color:#f8fafc}body{margin:0;min-height:100vh;padding:0}.grid-layout{grid-gap:10px;gap:10px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));padding:10px}.card{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:10px;transition:transform .2s ease,box-shadow .2s ease}.card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-5px)}.page-header{margin-bottom:30px}.page-header h1{color:#1a1a1a;font-size:2em;margin:0}@media (max-width:768px){.grid-layout{gap:10px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));padding:10px}}.product-card{background:#fff;border:1px solid #eee;border-radius:12px;color:inherit;display:block;overflow:hidden;position:relative;text-decoration:none;transition:all .3s ease}.product-card:hover{border-color:#ddd;box-shadow:0 8px 16px #0000001a;transform:translateY(-4px)}.card{display:flex;flex-direction:column;height:100%}.product-card .product-image-area{background:#f8f9fa;border-bottom:1px solid #eee;flex-shrink:0;padding-top:100%;position:relative;width:100%}.product-image-display{border-top-left-radius:12px;border-top-right-radius:12px;height:100%;left:0;object-fit:cover;position:absolute;top:0;transition:transform .3s ease;width:100%}.product-card:hover .product-image-display{transform:scale(1.05)}.product-image-loader{align-items:center;display:flex;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%;z-index:1}.loader-animation{animation:spin 1s linear infinite;border:4px solid #f3f3f3;border-radius:50%;border-top-color:#3498db;height:40px;width:40px}.product-card .card-content{display:flex;flex:1 1;flex-direction:column;min-height:0;padding:16px}.product-card .card-content h3{color:#333;flex-shrink:0;font-size:1.1rem;font-weight:600;line-height:1.4;margin:0 0 12px}.product-details{border-bottom:1px solid #eee;margin-bottom:12px;padding-bottom:12px}.detail-row{align-items:center;display:flex;justify-content:space-between;margin:6px 0}.detail-label{color:#666}.detail-label,.detail-value{font-size:.9rem;font-weight:500}.detail-value{color:#2d3748}.price-container{border-top:1px solid #eee;margin-top:auto;padding-top:12px}.price-row{margin:4px 0}.price-label{color:#666;font-size:.9rem}.premium-price,.price{color:#2563eb;font-weight:600}.product-card.loading{align-items:center;border:1px dashed #ddd;color:#666;display:flex;font-size:.9rem;height:300px;justify-content:center}.difficulty-badge,.type-badge{display:none}.product-detail{display:flex;flex-direction:column;height:100vh;margin:0 auto;max-width:1200px;padding:0}.scrollable-content{flex-grow:1;overflow-y:auto;padding:20px 20px 120px}.product-nav{justify-content:space-between;margin-bottom:40px}.back-button,.product-nav{align-items:center;display:flex}.back-button{color:#666;font-weight:500;gap:8px;text-decoration:none}.product-type{color:#007bff;font-weight:500;text-transform:uppercase}.product-header{margin-bottom:40px}.product-header h1{font-size:2.5rem;margin-bottom:20px}.product-meta{align-items:center;display:flex;flex-wrap:wrap;gap:20px}.difficulty,.duration{border-radius:20px;font-size:.9rem;padding:6px 12px}.difficulty{background:#e3f2fd;color:#1976d2}.duration{background:#f3e5f5;color:#7b1fa2}.tag{background:#f5f5f5;color:#666}.above-image-nav{display:flex;margin-bottom:20px}.above-image-back-button{align-items:center;background-color:#f5f5f5;border-radius:20px;color:#666;display:flex;font-weight:500;gap:8px;padding:8px 16px;text-decoration:none;transition:all .2s ease}.above-image-back-button:hover{background-color:#e0e0e0;color:#333}.resource-image{border-radius:12px;box-shadow:0 4px 20px #0000001a;margin:20px 0 40px;overflow:hidden}.resource-image img{display:block;height:auto;width:100%}.purchase-options{grid-gap:20px;background-color:#fff;box-shadow:0 -2px 10px #0000001a;box-sizing:border-box;display:grid;gap:20px;grid-template-columns:1fr 1fr;padding:20px;z-index:1000}.buy-button{border:none;border-radius:8px;cursor:pointer;font-size:1.1rem;font-weight:500;padding:16px 32px;transition:all .2s ease}.buy-button:disabled{cursor:not-allowed;opacity:.7}.buy-button:not(:disabled):hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.buy-button.basic{background:#e3f2fd;color:#1976d2}.buy-button.premium{background:#1976d2;color:#fff}.description-section{margin:60px 0}.description-section h2{color:#333;font-size:1.8rem;margin-bottom:20px}.description-content{background-color:#fff;border-radius:12px;box-shadow:0 2px 10px #0000000d;padding:30px}.related-section{margin:40px 0}.related-section h2{color:#333;font-size:1.5rem;margin-bottom:20px}.related-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}.markdown-content{color:#333;font-size:1.1rem;line-height:1.8}.markdown-content h1,.markdown-content h2,.markdown-content h3,.markdown-content h4,.markdown-content h5,.markdown-content h6{color:#222;margin-bottom:.75em;margin-top:1.5em}.markdown-content p{margin-bottom:1.2em}.markdown-content ol,.markdown-content ul{margin-bottom:1.2em;padding-left:2em}.markdown-content li{margin-bottom:.5em}.markdown-content a{color:#007bff;text-decoration:none}.markdown-content a:hover{text-decoration:underline}.markdown-content img{border-radius:8px;display:block;height:auto;margin:1.5em 0;max-width:100%}.error,.loading,.no-description{color:#666;padding:20px;text-align:center}.error{color:#d32f2f}.reload-button{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;display:block;font-weight:500;margin-left:auto;margin-right:auto;margin-top:10px;padding:8px 16px}.reload-button:hover{background-color:#0069d9}@media (max-width:768px){.product-header h1{font-size:2rem}.purchase-options{grid-template-columns:1fr;padding:15px}.scrollable-content{padding-bottom:180px}.related-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}}.product-top{grid-gap:40px;display:grid;gap:40px;grid-template-columns:1fr 1fr;margin-bottom:40px}.product-carousel{border-radius:8px;overflow:hidden;width:100%}.carousel .slide{background:#f8f9fa;padding:20px}.carousel .slide img{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000001a;max-height:500px;object-fit:contain}.carousel .thumb{border-radius:4px;overflow:hidden}.carousel .thumb.selected,.carousel .thumb:hover{border:3px solid #007bff}.carousel.carousel-slider{background:#f8f9fa;border-radius:12px;overflow:hidden}.product-info{display:flex;flex-direction:column;gap:20px}.product-info h1{font-size:2rem;margin:0}.module,.topic{background-color:#f0f0f0;border-radius:4px;color:#666;display:inline-block;font-size:.9rem;padding:4px 8px}.tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.tag{background-color:#e9ecef;border-radius:16px;color:#495057;font-size:.85rem;padding:4px 12px}.product-tabs{border-bottom:1px solid #ddd;display:flex;gap:10px;margin:40px 0 20px;padding-bottom:10px}.tab-button{background:none;border:none;color:#666;cursor:pointer;font-size:1.1rem;padding:10px 20px;position:relative}.tab-button.active{color:#007bff;font-weight:500}.tab-button.active:after{background:#007bff;bottom:-11px;content:"";height:2px;left:0;position:absolute;width:100%}.mini-cart-notification{align-items:center;background-color:#fff;border-left:5px solid #4caf50;border-radius:8px;box-shadow:0 4px 15px #00000026;color:#333;display:flex;justify-content:space-between;left:50%;max-width:500px;min-width:300px;padding:15px 25px;position:fixed;top:20px;transform:translateX(-50%);z-index:1050}.mini-cart-notification p{font-size:.95rem;margin:0 20px 0 0}.mini-cart-notification.info{border-left-color:#2196f3}.mini-cart-notification.error{border-left-color:#f44336;color:#f44336}.mini-cart-notification-actions{align-items:center;display:flex}.mini-cart-notification .go-to-cart-btn{background-color:#007bff;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;margin-right:10px;padding:8px 12px;white-space:nowrap}.mini-cart-notification .go-to-cart-btn:hover{background-color:#0056b3}.mini-cart-notification .close-notification-btn{background:none;border:none;color:#aaa;cursor:pointer;font-size:1.5rem;line-height:1;padding:0 5px}.mini-cart-notification .close-notification-btn:hover{color:#777}@font-face{font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_AMS-Regular.73ea273a72f4aca30ca5.woff2) format("woff2"),url(/static/media/KaTeX_AMS-Regular.d562e886c52f12660a41.woff) format("woff"),url(/static/media/KaTeX_AMS-Regular.853be92419a6c3766b9a.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(/static/media/KaTeX_Caligraphic-Bold.a1abf90dfd72792a577a.woff2) format("woff2"),url(/static/media/KaTeX_Caligraphic-Bold.d757c535a2e5902f1325.woff) format("woff"),url(/static/media/KaTeX_Caligraphic-Bold.7489a2fbfb9bfe704420.ttf) format("truetype")}@font-face{font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Caligraphic-Regular.d6484fce1ef428d5bd94.woff2) format("woff2"),url(/static/media/KaTeX_Caligraphic-Regular.db074fa22cf224af93d7.woff) format("woff"),url(/static/media/KaTeX_Caligraphic-Regular.7e873d3833eb108a0758.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(/static/media/KaTeX_Fraktur-Bold.931d67ea207ab37ee693.woff2) format("woff2"),url(/static/media/KaTeX_Fraktur-Bold.354501bac435c3264834.woff) format("woff"),url(/static/media/KaTeX_Fraktur-Bold.4c761b3711973ab04edf.ttf) format("truetype")}@font-face{font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Fraktur-Regular.172d3529b26f8cedef6b.woff2) format("woff2"),url(/static/media/KaTeX_Fraktur-Regular.6fdf0ac577be0ba82a4c.woff) format("woff"),url(/static/media/KaTeX_Fraktur-Regular.ed305b5434865e06ffde.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(/static/media/KaTeX_Main-Bold.39890742bc957b368704.woff2) format("woff2"),url(/static/media/KaTeX_Main-Bold.0c3b8929d377c0e9b2f3.woff) format("woff"),url(/static/media/KaTeX_Main-Bold.8169508bf58f8bd92ad8.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(/static/media/KaTeX_Main-BoldItalic.20f389c4120be058d80a.woff2) format("woff2"),url(/static/media/KaTeX_Main-BoldItalic.428978dc7837d46de091.woff) format("woff"),url(/static/media/KaTeX_Main-BoldItalic.828abcb200061cffbaae.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(/static/media/KaTeX_Main-Italic.fe2176f79edaa716e621.woff2) format("woff2"),url(/static/media/KaTeX_Main-Italic.fd947498bc16392e76c2.woff) format("woff"),url(/static/media/KaTeX_Main-Italic.fa675e5e4bec9eb250b6.ttf) format("truetype")}@font-face{font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Main-Regular.f650f111a3b890d116f1.woff2) format("woff2"),url(/static/media/KaTeX_Main-Regular.4f35fbcc9ee8614c2bcc.woff) format("woff"),url(/static/media/KaTeX_Main-Regular.9eba1d77abcf2aa6e94e.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(/static/media/KaTeX_Math-BoldItalic.dcbcbd93bac0470b462d.woff2) format("woff2"),url(/static/media/KaTeX_Math-BoldItalic.3f07ed67f06c720120ce.woff) format("woff"),url(/static/media/KaTeX_Math-BoldItalic.bf2d440b3a42ea78a998.ttf) format("truetype")}@font-face{font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(/static/media/KaTeX_Math-Italic.6d3d25f4820d0da8f01f.woff2) format("woff2"),url(/static/media/KaTeX_Math-Italic.96759856b4e70f3a8338.woff) format("woff"),url(/static/media/KaTeX_Math-Italic.8a5f936332e8028c7278.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:normal;font-weight:700;src:url(/static/media/KaTeX_SansSerif-Bold.95591a929f0d32aa282a.woff2) format("woff2"),url(/static/media/KaTeX_SansSerif-Bold.b9cd458ac6d5889ff9c3.woff) format("woff"),url(/static/media/KaTeX_SansSerif-Bold.5b49f4993ae22d7975b4.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:italic;font-weight:400;src:url(/static/media/KaTeX_SansSerif-Italic.7d393d382f3e7fb1c637.woff2) format("woff2"),url(/static/media/KaTeX_SansSerif-Italic.8d593cfaa96238d5e2f8.woff) format("woff"),url(/static/media/KaTeX_SansSerif-Italic.b257a18c016f37ee4543.ttf) format("truetype")}@font-face{font-family:"KaTeX_SansSerif";font-style:normal;font-weight:400;src:url(/static/media/KaTeX_SansSerif-Regular.cd5e231e0cc53b2cb2c0.woff2) format("woff2"),url(/static/media/KaTeX_SansSerif-Regular.02271ec5cb9f5b4588ac.woff) format("woff"),url(/static/media/KaTeX_SansSerif-Regular.2f7bc363fc5424ebda59.ttf) format("truetype")}@font-face{font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Script-Regular.c81d1b2a4b75d3eded60.woff2) format("woff2"),url(/static/media/KaTeX_Script-Regular.073b3402d036714b4370.woff) format("woff"),url(/static/media/KaTeX_Script-Regular.fc9ba5249878cd8f8d88.ttf) format("truetype")}@font-face{font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size1-Regular.6eec866c69313624be60.woff2) format("woff2"),url(/static/media/KaTeX_Size1-Regular.0108e89c9003e8c14ea3.woff) format("woff"),url(/static/media/KaTeX_Size1-Regular.6de7d4b539221a49e9e2.ttf) format("truetype")}@font-face{font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size2-Regular.2960900c4f271311eb36.woff2) format("woff2"),url(/static/media/KaTeX_Size2-Regular.3a99e70aee4076660d38.woff) format("woff"),url(/static/media/KaTeX_Size2-Regular.57f5c1837853986ea1db.ttf) format("truetype")}@font-face{font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size3-Regular.e1951519f6f0596f7356.woff2) format("woff2"),url(/static/media/KaTeX_Size3-Regular.7947224e8a9914fa332b.woff) format("woff"),url(/static/media/KaTeX_Size3-Regular.8d6b6822586eea3d3b20.ttf) format("truetype")}@font-face{font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Size4-Regular.e418bf257af1052628d8.woff2) format("woff2"),url(/static/media/KaTeX_Size4-Regular.aeffd8025cba3647f1a6.woff) format("woff"),url(/static/media/KaTeX_Size4-Regular.4ad7c7e8bb8d10a34bb7.ttf) format("truetype")}@font-face{font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(/static/media/KaTeX_Typewriter-Regular.c295e7f71970f03c0549.woff2) format("woff2"),url(/static/media/KaTeX_Typewriter-Regular.4c6b94fd1d07f8beff7c.woff) format("woff"),url(/static/media/KaTeX_Typewriter-Regular.c5c02d763c89380dcb4e.ttf) format("truetype")}.katex{font:normal 1.21em KaTeX_Main,Times New Roman,serif;line-height:1.2;text-indent:0;text-rendering:auto}.katex *{-ms-high-contrast-adjust:none!important;border-color:currentColor}.katex .katex-version:after{content:"0.16.21"}.katex .katex-mathml{clip:rect(1px,1px,1px,1px);border:0;height:1px;overflow:hidden;padding:0;position:absolute;width:1px}.katex .katex-html>.newline{display:block}.katex .base{position:relative;white-space:nowrap;width:-webkit-min-content;width:min-content}.katex .base,.katex .strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;display:inline-table;table-layout:fixed}.katex .vlist-r{display:table-row}.katex .vlist{display:table-cell;position:relative;vertical-align:bottom}.katex .vlist>span{display:block;height:0;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{overflow:hidden;width:0}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{display:table-cell;font-size:1px;min-width:2px;vertical-align:bottom;width:2px}.katex .vbox{align-items:baseline;display:inline-flex;flex-direction:column}.katex .hbox{width:100%}.katex .hbox,.katex .thinbox{display:inline-flex;flex-direction:row}.katex .thinbox{max-width:0;width:0}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline,.katex .hline,.katex .mfrac .frac-line,.katex .overline .overline-line,.katex .rule,.katex .underline .underline-line{min-height:1px}.katex .mspace{display:inline-block}.katex .clap,.katex .llap,.katex .rlap{position:relative;width:0}.katex .clap>.inner,.katex .llap>.inner,.katex .rlap>.inner{position:absolute}.katex .clap>.fix,.katex .llap>.fix,.katex .rlap>.fix{display:inline-block}.katex .llap>.inner{right:0}.katex .clap>.inner,.katex .rlap>.inner{left:0}.katex .clap>.inner>span{margin-left:-50%;margin-right:50%}.katex .rule{border:0 solid;display:inline-block;position:relative}.katex .hline,.katex .overline .overline-line,.katex .underline .underline-line{border-bottom-style:solid;display:inline-block;width:100%}.katex .hdashline{border-bottom-style:dashed;display:inline-block;width:100%}.katex .sqrt>.root{margin-left:.2777777778em;margin-right:-.5555555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .sizing.reset-size2.size1{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .sizing.reset-size2.size3{font-size:1.1666666667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .sizing.reset-size2.size4{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .sizing.reset-size2.size6{font-size:1.6666666667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .sizing.reset-size2.size10{font-size:3.4566666667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .sizing.reset-size2.size11{font-size:4.1466666667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .sizing.reset-size3.size1{font-size:.7142857143em}.katex .fontsize-ensurer.reset-size3.size2,.katex .sizing.reset-size3.size2{font-size:.8571428571em}.katex .fontsize-ensurer.reset-size3.size3,.katex .sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .sizing.reset-size3.size4{font-size:1.1428571429em}.katex .fontsize-ensurer.reset-size3.size5,.katex .sizing.reset-size3.size5{font-size:1.2857142857em}.katex .fontsize-ensurer.reset-size3.size6,.katex .sizing.reset-size3.size6{font-size:1.4285714286em}.katex .fontsize-ensurer.reset-size3.size7,.katex .sizing.reset-size3.size7{font-size:1.7142857143em}.katex .fontsize-ensurer.reset-size3.size8,.katex .sizing.reset-size3.size8{font-size:2.0571428571em}.katex .fontsize-ensurer.reset-size3.size9,.katex .sizing.reset-size3.size9{font-size:2.4685714286em}.katex .fontsize-ensurer.reset-size3.size10,.katex .sizing.reset-size3.size10{font-size:2.9628571429em}.katex .fontsize-ensurer.reset-size3.size11,.katex .sizing.reset-size3.size11{font-size:3.5542857143em}.katex .fontsize-ensurer.reset-size4.size1,.katex .sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .sizing.reset-size5.size1{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .sizing.reset-size5.size2{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .sizing.reset-size5.size3{font-size:.7777777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .sizing.reset-size5.size4{font-size:.8888888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .sizing.reset-size5.size6{font-size:1.1111111111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .sizing.reset-size5.size7{font-size:1.3333333333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .sizing.reset-size5.size10{font-size:2.3044444444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .sizing.reset-size5.size11{font-size:2.7644444444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .sizing.reset-size7.size1{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .sizing.reset-size7.size3{font-size:.5833333333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .sizing.reset-size7.size4{font-size:.6666666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .sizing.reset-size7.size6{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .sizing.reset-size7.size10{font-size:1.7283333333em}.katex .fontsize-ensurer.reset-size7.size11,.katex .sizing.reset-size7.size11{font-size:2.0733333333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .sizing.reset-size8.size1{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .sizing.reset-size8.size2{font-size:.4166666667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .sizing.reset-size8.size3{font-size:.4861111111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .sizing.reset-size8.size4{font-size:.5555555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .sizing.reset-size8.size6{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .sizing.reset-size8.size7{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .sizing.reset-size8.size10{font-size:1.4402777778em}.katex .fontsize-ensurer.reset-size8.size11,.katex .sizing.reset-size8.size11{font-size:1.7277777778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .sizing.reset-size9.size1{font-size:.2893518519em}.katex .fontsize-ensurer.reset-size9.size2,.katex .sizing.reset-size9.size2{font-size:.3472222222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .sizing.reset-size9.size3{font-size:.4050925926em}.katex .fontsize-ensurer.reset-size9.size4,.katex .sizing.reset-size9.size4{font-size:.462962963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .sizing.reset-size9.size5{font-size:.5208333333em}.katex .fontsize-ensurer.reset-size9.size6,.katex .sizing.reset-size9.size6{font-size:.5787037037em}.katex .fontsize-ensurer.reset-size9.size7,.katex .sizing.reset-size9.size7{font-size:.6944444444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .sizing.reset-size9.size8{font-size:.8333333333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .sizing.reset-size9.size10{font-size:1.2002314815em}.katex .fontsize-ensurer.reset-size9.size11,.katex .sizing.reset-size9.size11{font-size:1.4398148148em}.katex .fontsize-ensurer.reset-size10.size1,.katex .sizing.reset-size10.size1{font-size:.2410800386em}.katex .fontsize-ensurer.reset-size10.size2,.katex .sizing.reset-size10.size2{font-size:.2892960463em}.katex .fontsize-ensurer.reset-size10.size3,.katex .sizing.reset-size10.size3{font-size:.337512054em}.katex .fontsize-ensurer.reset-size10.size4,.katex .sizing.reset-size10.size4{font-size:.3857280617em}.katex .fontsize-ensurer.reset-size10.size5,.katex .sizing.reset-size10.size5{font-size:.4339440694em}.katex .fontsize-ensurer.reset-size10.size6,.katex .sizing.reset-size10.size6{font-size:.4821600771em}.katex .fontsize-ensurer.reset-size10.size7,.katex .sizing.reset-size10.size7{font-size:.5785920926em}.katex .fontsize-ensurer.reset-size10.size8,.katex .sizing.reset-size10.size8{font-size:.6943105111em}.katex .fontsize-ensurer.reset-size10.size9,.katex .sizing.reset-size10.size9{font-size:.8331726133em}.katex .fontsize-ensurer.reset-size10.size10,.katex .sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .sizing.reset-size10.size11{font-size:1.1996142719em}.katex .fontsize-ensurer.reset-size11.size1,.katex .sizing.reset-size11.size1{font-size:.2009646302em}.katex .fontsize-ensurer.reset-size11.size2,.katex .sizing.reset-size11.size2{font-size:.2411575563em}.katex .fontsize-ensurer.reset-size11.size3,.katex .sizing.reset-size11.size3{font-size:.2813504823em}.katex .fontsize-ensurer.reset-size11.size4,.katex .sizing.reset-size11.size4{font-size:.3215434084em}.katex .fontsize-ensurer.reset-size11.size5,.katex .sizing.reset-size11.size5{font-size:.3617363344em}.katex .fontsize-ensurer.reset-size11.size6,.katex .sizing.reset-size11.size6{font-size:.4019292605em}.katex .fontsize-ensurer.reset-size11.size7,.katex .sizing.reset-size11.size7{font-size:.4823151125em}.katex .fontsize-ensurer.reset-size11.size8,.katex .sizing.reset-size11.size8{font-size:.578778135em}.katex .fontsize-ensurer.reset-size11.size9,.katex .sizing.reset-size11.size9{font-size:.6945337621em}.katex .fontsize-ensurer.reset-size11.size10,.katex .sizing.reset-size11.size10{font-size:.8336012862em}.katex .fontsize-ensurer.reset-size11.size11,.katex .sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{display:inline-block;width:.12em}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .accent .accent-body{position:relative}.katex .accent .accent-body:not(.accent-full){width:0}.katex .overlay{display:block}.katex .mtable .vertical-separator{display:inline-block;min-width:1px}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;fill-rule:nonzero;fill-opacity:1;stroke-width:1;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;display:block;height:inherit;position:absolute;width:100%}.katex svg path{stroke:none}.katex img{border-style:none;max-height:none;max-width:none;min-height:0;min-width:0}.katex .stretchy{display:block;overflow:hidden;position:relative;width:100%}.katex .stretchy:after,.katex .stretchy:before{content:""}.katex .hide-tail{overflow:hidden;position:relative;width:100%}.katex .halfarrow-left{left:0;overflow:hidden;position:absolute;width:50.2%}.katex .halfarrow-right{overflow:hidden;position:absolute;right:0;width:50.2%}.katex .brace-left{left:0;overflow:hidden;position:absolute;width:25.1%}.katex .brace-center{left:25%;overflow:hidden;position:absolute;width:50%}.katex .brace-right{overflow:hidden;position:absolute;right:0;width:25.1%}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{border:.04em solid;box-sizing:border-box}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{border-right:.049em solid;border-top:.049em solid;box-sizing:border-box;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .eqn-num:before{content:"(" counter(katexEqnNo) ")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo) ")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{display:inline-block;position:absolute;right:calc(50% + .3em);text-align:left}.katex .cd-label-right{display:inline-block;left:calc(50% + .3em);position:absolute;text-align:right}.katex-display{display:block;margin:1em 0;text-align:center}.katex-display>.katex{display:block;text-align:center;white-space:nowrap}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.tag{left:0;right:auto}.katex-display.fleqn>.katex{padding-left:2em;text-align:left}body{counter-reset:katexEqnNo mmlEqnNo}.sidebar{background-color:var(--primary-color);color:#fff;display:flex;flex-direction:column;height:100vh;left:0;position:fixed;top:0;transition:transform .3s ease;width:var(--sidebar-width-open);z-index:1000}.sidebar.closed{transform:translateX(-100%)}.sidebar-content{display:flex;flex-direction:column;height:100%;overflow-y:auto;padding:var(--spacing-lg)}.logo-container{align-items:center;display:flex;justify-content:space-between;margin-bottom:40px}.logo{font-weight:700}.logo,.toggle-btn{font-size:var(--font-size-xl)}.toggle-btn{background:none;border:none;color:#fff;cursor:pointer;padding:0}.main-menu,.secondary-menu{list-style-type:none;margin:0;padding:0}.main-menu li{margin-bottom:8px}.secondary-menu li{margin-bottom:6px}.main-menu .menu-item-with-submenu,.main-menu a{font-size:var(--font-size-md);padding:8px 10px}.main-menu .menu-item-with-submenu,.main-menu a,.secondary-menu a,.social-links a{align-items:center;color:#fff;display:flex;text-decoration:none;transition:color .3s ease}.secondary-menu a,.social-links a{font-size:calc(var(--font-size-md) - 2px);padding:6px 8px}.main-menu a svg,.menu-item-with-submenu svg,.secondary-menu a svg,.social-links a svg{margin-right:15px;min-width:20px}.main-menu a:hover:not(.active),.secondary-menu a:hover:not(.active),.social-links a:hover:not(.active){color:#fffc}.social-links{display:flex;flex-direction:column;margin-bottom:20px;margin-top:auto;padding:150px 0 var(--spacing-lg) 0}.secondary-nav,.social-links{border-top:1px solid #ffffff1a}.secondary-nav{margin-bottom:30px;margin-top:10px;padding-top:20px}.cart-icon-container{display:inline-block;position:relative}.cart-counter{align-items:center;background:#f44;border-radius:50%;color:#fff;display:flex;font-size:var(--font-size-sm);font-weight:700;height:16px;justify-content:center;min-width:16px;padding:2px 6px;position:absolute;right:-8px;top:-8px}.sidebar.closed{.logo,.main-menu span,.secondary-menu span,.social-links span{display:none}.main-menu a,.secondary-menu a,.social-links a{justify-content:center;padding:10px 0}.main-menu a svg,.secondary-menu a svg,.social-links a svg{margin-right:0}.cart-counter{right:50%;transform:translateX(50%)}}@media (max-width:768px){.sidebar{width:100%}.sidebar.mobile{.sidebar-content{overflow-y:auto;padding:60px 20px 20px}.logo-container{background-color:var(--primary-color);box-shadow:0 2px 5px #0000001a;justify-content:center;left:0;margin:0;padding:15px 0;position:fixed;top:0;width:100%;z-index:1002}.toggle-btn{font-size:var(--font-size-xl);padding:10px;position:fixed;right:15px;top:15px;z-index:1003}.main-menu{margin-bottom:30px}.social-links{margin-bottom:20px;margin-top:120px;padding:20px 0}.secondary-nav{margin-bottom:40px;margin-top:20px;padding-top:30px}}.main-menu a{padding:15px 10px}.secondary-menu a{padding:12px 10px}.social-links a{padding:10px}.sidebar-link[href="/tools/latex-scanner"],.submenu-item[href="/tools/latex-scanner"]{font-size:calc(var(--font-size-md) - 2px)}}@media (min-width:769px){.mobile-menu-icon{display:none}.main-content{&.sidebar-open{margin-left:var(--sidebar-width-open);width:calc(100% - var(--sidebar-width-open))}&.sidebar-closed{margin-left:0;width:100%}}}.auth-link{position:relative}.auth-link>div{cursor:pointer;height:100%;left:0;opacity:0;position:absolute;top:0;width:100%}.auth-link:hover{color:var(--hover-color)}.submenu{height:0;margin-left:35px;overflow:hidden;transition:all .3s ease}.submenu.open{height:auto}.submenu-item{align-items:center;border-left:2px solid #ffffff1a;color:#fffc;display:flex;font-size:.9em;padding:8px 10px;text-decoration:none;transition:all .2s}.submenu-item svg{font-size:.9em;margin-right:15px;min-width:20px}.submenu-item:hover{background-color:#ffffff1a;border-left:2px solid #fff;color:#fff}.menu-item-with-submenu{cursor:pointer;position:relative;width:100%}.submenu-arrow{font-size:.8em;opacity:.8;position:absolute;right:10px;transition:transform .3s ease}.menu-item-with-submenu.open .submenu-arrow{transform:rotate(180deg)}.menu-item-with-submenu:after{content:none}.sidebar.closed{.submenu{margin-left:0;text-align:center}.submenu-item{border-left:none;justify-content:center;padding:8px 0}.submenu-item svg{margin-right:0}.submenu-arrow{display:none}}.secondary-link.active,.sidebar-link.active,.submenu-item.active{background-color:#ff44441a;border-radius:4px;color:#f44!important;font-weight:500}.secondary-link:hover:not(.active),.sidebar-link:hover:not(.active),.submenu-item:hover:not(.active){background-color:#ffffff1a;color:#fffc}.submenu-item.active{border-left:2px solid #f44}.main-header{align-items:center;background:#fff;box-shadow:var(--shadow-sm);display:flex;height:60px;justify-content:space-between;left:0;padding:0 var(--spacing-lg);position:fixed;right:0;top:0;transition:all .3s ease;z-index:100}.sidebar.open~.main-content .main-header{left:250px}.header-left{align-items:center;display:flex}.hamburger-btn{background:none;border:none;color:var(--primary-color);cursor:pointer;font-size:var(--font-size-xl);padding:var(--spacing-sm)}.header-title{font-size:var(--font-size-lg);font-weight:500}.auth-button,.header-right{align-items:center;display:flex}.auth-button{border:none;border-radius:var(--border-radius-sm);cursor:pointer;font-weight:500;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);transition:all .2s ease}.auth-button.logout{background-color:#f44;color:#fff}.auth-button.login{background-color:#3498db;color:#fff}.auth-button.logout:hover{background-color:red;transform:translateY(-1px)}.auth-button.login:hover{background-color:#2980b9;transform:translateY(-1px)}.auth-button svg{font-size:var(--font-size-md)}@media (max-width:768px){.main-header{padding:0 var(--spacing-md)}.auth-button span{display:none}.auth-button{padding:var(--spacing-sm)}.auth-button:hover{transform:none}}.contact-card{background-color:#fff;border:1px solid #0000000f;border-radius:8px;box-shadow:0 2px 8px #0000000a;box-sizing:border-box;margin-top:20px;max-width:100%;overflow:hidden;padding:20px}.contact-card h3{color:#2563eb;font-size:1.2em;font-weight:600;margin:0 0 15px}.form-group{margin-bottom:15px;width:100%}.form-group label{color:#4b5563;font-weight:500;margin-bottom:5px}.form-group input,.form-group textarea{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:6px;box-sizing:border-box;color:#333;font-size:.95rem;padding:10px 12px;transition:all .2s ease;width:100%}.form-group input:focus,.form-group textarea:focus{background-color:#fff;border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1a;color:#111;outline:none}.form-group input::placeholder,.form-group textarea::placeholder{color:#9ca3af;opacity:1}.form-group input::selection,.form-group textarea::selection{background-color:#2563eb33;color:#1e3a8a}.submit-button{background-color:#2563eb;border-radius:6px;box-sizing:border-box;font-size:.95rem;font-weight:500;padding:10px 20px;transition:background-color .2s ease}.submit-button:hover{background-color:#1d4ed8}.submit-button:disabled{background-color:#93c5fd;cursor:not-allowed}.form-success{background-color:#ecfdf5;border-left:3px solid #10b981;color:#065f46}.form-error,.form-success{border-radius:4px;box-sizing:border-box;font-size:.9rem;margin-bottom:15px;padding:10px 12px;width:100%}.form-error{background-color:#fef2f2;border-left:3px solid #ef4444;color:#b91c1c}@media (max-width:768px){.contact-card{border-radius:6px;margin-left:0;margin-right:0;margin-top:15px;padding:15px}.form-group{margin-bottom:12px}.form-group label{margin-bottom:4px}.form-group input,.form-group textarea{padding:8px 10px}.submit-button{padding:10px 0}}.home-container{background-color:#f8fafc;box-sizing:border-box;margin:60px 0 0 var(--sidebar-width-closed);overflow-x:hidden;padding:0;width:calc(100% - var(--sidebar-width-closed))}@media (max-width:768px){.home-container{margin-left:0;padding:var(--spacing-md);width:100%}.catalogs-section{padding:20px 10px}.horizontal-scroll{padding:10px}.about-section{padding:40px 15px}.about-content{gap:25px}.about-text p{font-size:1rem}}.hero-section{align-items:center;background:#fff;box-sizing:border-box;display:flex;flex-direction:column;height:auto;min-height:-webkit-min-content;min-height:min-content;overflow:visible;padding:40px 20px;position:relative;z-index:2}.hero-content,.hero-section{margin-bottom:40px;width:100%}.hero-content{max-width:1200px;text-align:center}.hero-content h1{color:#1a1a1a;font-size:3.5rem;font-weight:700;margin-bottom:40px}.search-section{align-items:center;box-sizing:border-box;gap:16px;height:auto;max-width:1200px;overflow:visible;padding-bottom:20px;position:relative;width:100%;z-index:1}.search-bar,.search-section{display:flex;flex-direction:column}.search-bar{background:#fff;border:1px solid #eef2f6;border-radius:16px;box-shadow:0 4px 20px #00000014;gap:12px;padding:8px;transition:all .3s ease;width:95%}.search-bar:focus-within{border-color:#2563eb;box-shadow:0 4px 25px #0000001a}.input-container{align-items:center;display:flex;position:relative;width:100%}.search-icon{color:#666;font-size:1rem;left:16px;pointer-events:none;position:absolute;z-index:1}.image-upload-btn{align-items:center;background:none;border:none;border-radius:12px;color:#666;cursor:pointer;display:flex;gap:2px;padding:12px;transition:all .2s ease}.image-upload-btn .plus-icon{font-size:1.2rem;font-weight:700;line-height:1;margin-right:2px}.image-upload-btn svg{font-size:1.2rem}.image-upload-btn:hover{background:#f5f7fa;color:#2563eb}.search-input{background:#0000;border:none;color:#333;flex:1 1;font-size:1.1rem;outline:none;padding:12px 16px 12px 42px;text-align:left;width:100%}.search-controls{grid-gap:12px;border-top:1px solid #eef2f6;display:grid;gap:12px;grid-template-columns:1fr 1fr;padding-top:8px;width:100%}.mode-selector{background:#f8fafc;border:1px solid #eef2f6;border-radius:12px;color:#333;font-size:.95rem;outline:none}.mode-selector,.submit-button{cursor:pointer;padding:12px;transition:all .2s ease;width:100%}.submit-button{align-items:center;background:#2563eb;border:none;border-radius:12px;color:#fff;display:flex;font-size:1.1rem;justify-content:center}.submit-button .spinner-icon{animation:spin 1s linear infinite}.error-message{background-color:#fff5f5;border:1px solid #fc8181;border-radius:8px;box-sizing:border-box;color:#e53e3e;margin-top:1rem;padding:.75rem 1rem;width:85%}.preview-container{align-items:center;background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 12px #00000014;box-sizing:border-box;display:flex;height:400px;justify-content:center;margin-bottom:0;margin-top:0;max-width:100%;overflow:hidden;padding:1.5rem;position:relative;width:95%}.preview-image{border-radius:8px;height:100%;max-width:100%}.remove-image{align-items:center;background:#0009;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:20px;height:32px;justify-content:center;line-height:1;position:absolute;right:calc(1.5rem - 16px);top:calc(1.5rem - 16px);transition:all .2s ease;width:32px;z-index:10}.remove-image:hover{background:#000c;transform:scale(1.1)}.solution-container{background-color:#f8fafc;border:1px solid #e2e8f0;box-sizing:border-box;color:#334155;display:block;height:auto;line-height:1.6;margin-bottom:0;margin-top:0;padding:1.5rem;text-align:left;width:95%}.solution-container h3{border-bottom:1px solid #e2e8f0;color:#1e293b;margin-bottom:1rem;margin-top:0;padding-bottom:.5rem}.solution-container p{margin-bottom:1rem}.solution-container strong{font-weight:600}.solution-container .katex{font-size:1.1em}@media (max-width:1200px){.hero-content h1{font-size:2.5rem}}@media (max-width:768px){.hero-section{padding:30px 15px}.hero-content h1{font-size:2rem;margin-bottom:30px}.error-message,.preview-container,.search-bar,.solution-container{width:95%}.preview-container,.solution-container{padding:1rem}.preview-wrapper{padding-bottom:12px}.preview-container,.preview-image{height:200px}.remove-image{font-size:18px;height:28px;right:calc(1rem - 14px);top:calc(1rem - 14px);width:28px}.solution-container{padding:1rem}}@media (max-width:480px){.hero-section{padding:25px 10px}.error-message,.preview-container,.search-bar,.solution-container{width:100%}}.search-input-wrapper{flex:1 1;position:relative}.search-suggestions{background:#fff;border:1px solid #eef2f6;border-radius:8px;box-shadow:0 4px 12px #00000026;left:0;margin-top:4px;max-height:300px;overflow-y:auto;position:absolute;right:0;text-align:left;top:100%;z-index:10}.suggestion-group{border-bottom:1px solid #eef2f6;padding:8px 0}.suggestion-group:last-child{border-bottom:none}.suggestion-group-title{color:#666;font-size:.8rem;font-weight:600;padding:4px 16px;text-align:left;text-transform:uppercase}.suggestion-item{align-items:center;cursor:pointer;display:flex;justify-content:flex-start;padding:8px 16px;text-align:left;transition:background-color .2s}.suggestion-icon{font-size:1rem;margin-right:10px}.suggestion-text{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.suggestion-selected{border-left:3px solid #2563eb}.suggestion-item:hover,.suggestion-selected{background-color:#edf2fd}.catalogs-section{background-color:#f8fafc;box-sizing:border-box;margin-left:auto;margin-right:auto;margin-top:0;max-width:1200px;padding:40px 20px 20px;position:relative;width:100%;z-index:0}.catalog-container{margin-bottom:40px}.catalog-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px;padding:0 10px}.catalog-header h2{color:#333;font-size:1.25rem}.view-all{color:#2563eb;font-weight:500;text-decoration:none}.horizontal-scroll{-ms-overflow-style:none;display:flex;gap:20px;overflow-x:auto;padding:10px 20px 20px;position:relative;scroll-behavior:smooth;scrollbar-width:none}.horizontal-scroll::-webkit-scrollbar{display:none}.horizontal-scroll .product-card{flex:0 0 auto;margin-bottom:0;max-width:280px;min-width:280px}.no-products,.section-loading{align-items:center;background-color:#f9f9f9;border-radius:8px;color:#666;display:flex;font-style:italic;justify-content:center;min-height:200px;width:100%}.related-products-scroll .no-products,.related-products-scroll .section-loading{min-height:150px}.scroll-container{position:relative;width:100%}.scroll-button{align-items:center;background:#fff;border:none;border-radius:50%;box-shadow:0 2px 10px #0000001a;color:#333;cursor:pointer;display:flex;height:40px;justify-content:center;opacity:0;position:absolute;top:50%;transform:translateY(-50%);transition:all .3s ease;width:40px;z-index:2}.scroll-button.left{left:-20px}.scroll-button.right{right:-20px}.scroll-container:hover .scroll-button{opacity:1}.scroll-button:hover{background:#2563eb;color:#fff;transform:translateY(-50%) scale(1.1)}@media (hover:none) and (pointer:coarse){.scroll-button{display:none}}@media (max-width:768px){.catalogs-section{padding:20px 10px}.horizontal-scroll{padding:10px}}.about-section{background-color:#fff;padding:60px 20px}.about-section h2{color:#333;font-size:2rem;margin-bottom:40px;text-align:center}.about-content{align-items:center;display:flex;gap:40px;margin:0 auto;max-width:1200px}.about-text{flex:1 1}.about-text p{color:#444;font-size:1.1rem;line-height:1.6;margin-bottom:20px}.learn-more-button{background-color:#2563eb;border-radius:30px;color:#fff;display:inline-block;font-weight:500;margin-top:10px;padding:12px 25px;text-decoration:none;transition:all .3s ease}.learn-more-button:hover{background-color:#1d4ed8;box-shadow:0 4px 12px #2563eb33;transform:translateY(-2px)}.about-image{flex:1 1}.about-image img{border-radius:10px;box-shadow:0 10px 30px #0000001a;width:100%}@media (max-width:1200px){.about-content{flex-direction:column}.about-image{margin-top:30px}}@media (max-width:768px){.about-section{padding:40px 15px}.about-content{gap:25px}.about-text p{font-size:1rem}}.search-results-section{margin-top:10px;padding:20px}.search-results-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.search-results-header h2{color:#333;font-size:1.5rem}.clear-search{align-items:center;background:none;border:none;color:#2563eb;cursor:pointer;display:flex;font-size:.9rem;gap:5px}.search-result-category{margin-bottom:30px}.category-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.category-header h3{color:#333;font-size:1.2rem}.view-category{color:#2563eb;font-size:.9rem;text-decoration:none}.no-results{color:#666;font-style:italic;padding:50px 0;text-align:center}body .product-list{background-color:#f8fafc;margin-left:60px;padding:10px;transition:margin-left .3s ease;width:calc(100% - 60px)}body .sidebar:not(.closed)~.product-list{margin-left:250px;width:calc(100% - 250px)}.grid-layout{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));padding:16px}.category-section{margin-bottom:40px}.category-header{border-bottom:2px solid #eee;color:#1f2937;font-size:1.5rem;font-weight:600;margin:0 0 20px;padding-bottom:12px}.filter-section{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fff;border-bottom:1px solid #eee;margin-bottom:24px;padding:16px}.filters-container{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.filter-group{gap:8px}.filter-select{border:1px solid #ddd;border-radius:6px;min-width:180px;padding:8px 12px}.filter-select:hover{border-color:#2563eb}.pagination-controls{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin:2rem 0;padding-bottom:5rem}.pagination-button{background-color:#f0f0f0;border:1px solid #ddd;border-radius:4px;cursor:pointer;padding:.5rem 1rem;transition:background-color .2s}.pagination-button:hover:not(:disabled){background-color:#e0e0e0}.pagination-button:disabled{cursor:not-allowed;opacity:.5}.page-numbers{display:flex;gap:.25rem}.page-number{align-items:center;background-color:#f0f0f0;border:1px solid #ddd;border-radius:4px;cursor:pointer;display:flex;height:2.5rem;justify-content:center;transition:background-color .2s;width:2.5rem}.page-number:hover:not(:disabled){background-color:#e0e0e0}.page-number.active{background-color:#3498db;border-color:#3498db;color:#fff}.page-info{color:#666;font-size:.9rem;margin-left:1rem}.loading-more{color:#666;font-style:italic;margin:1rem 0;padding:20px;text-align:center}.load-more{display:flex;justify-content:center;margin:2rem 0}.load-more button{background-color:#3498db;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:1rem;padding:.75rem 2rem;transition:background-color .2s}.load-more button:hover{background-color:#2980b9}.load-more button:disabled{background-color:#95a5a6;cursor:not-allowed}.pyq-section{background:#f8f9fa;border-radius:8px;margin:2rem 0;padding:1rem}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.view-all-link{background:#007bff;border-radius:4px;color:#fff;font-size:.9rem;padding:.5rem 1rem;text-decoration:none}.view-all-link:hover{background:#0056b3}.preview-mode .grid-layout{gap:1rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));margin-top:1rem}.preview-mode .category-section{margin-bottom:0}@media (min-width:768px){.filters-container{align-items:flex-start;flex-direction:row}.filters-container .filter-section{flex:1 1}}@media (max-width:1200px){.grid-layout{grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}}@media (max-width:768px){.products-container{padding:0}.grid-layout{gap:10px;grid-template-columns:repeat(2,1fr);padding:10px}.filter-group,.filter-section{align-items:stretch;flex-direction:column}.filter-select{width:100%}.pagination-controls{flex-direction:column;gap:1rem;padding-bottom:5rem}.page-info{margin-left:0;margin-top:.5rem}}@media (max-width:480px){.grid-layout{gap:10px;grid-template-columns:1fr;padding:8px}.products-container{padding:5px}}.filter-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#fffffff2;border-radius:12px;box-shadow:0 4px 16px #0000000a;display:flex;flex-direction:column;gap:16px;margin-bottom:28px;padding:16px 24px;position:-webkit-sticky;position:sticky;top:0;transition:all .3s ease;z-index:10}.filter-section:hover{box-shadow:0 6px 20px #0000000f}.filter-group{align-items:center;display:flex;flex-direction:row;justify-content:space-between;padding:4px 0;width:100%}.filter-group:not(:last-child){border-bottom:1px solid #e5e7eb;padding-bottom:16px}.filter-label{color:#64748b;font-size:.9rem;font-weight:500}.filter-select{-webkit-appearance:none;appearance:none;background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;border:1px solid #e5e7eb;border-radius:8px;color:#1e293b;cursor:pointer;font-size:.95rem;font-weight:500;max-width:200px;padding:10px 36px 10px 16px;transition:all .2s ease;width:auto}.filter-select:hover{border-color:#94a3b8;box-shadow:0 2px 4px #0000000d}.filter-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.filter-reset{align-items:center;background-color:#f1f5f9;border:none;border-radius:8px;color:#64748b;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:6px;justify-content:center;margin-top:8px;padding:10px 16px;transition:all .2s ease;width:100%}.filter-reset:hover{background-color:#e2e8f0;color:#334155}.filter-reset svg{height:16px;width:16px}@media (max-width:576px){.filter-section{padding:12px 16px}.filter-select{max-width:150px}}.shop-container{background-color:#f8fafc;min-height:100vh;padding:10px}.shop-content{margin:0 auto;max-width:1400px}.shop-hero{background:linear-gradient(135deg,#0f172a,#1e293b);border-radius:24px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;color:#fff;margin-bottom:48px;padding:60px 24px;position:relative;text-align:center}.shop-hero h1{background:linear-gradient(90deg,#fff,#94a3b8);-webkit-background-clip:text;background-clip:text;color:#0000;font-size:3.2rem;font-weight:600;letter-spacing:-.02em;margin-bottom:1.5rem}.shop-hero p{color:#cbd5e1;font-size:1.25rem;letter-spacing:-.01em;line-height:1.6;margin:0 auto;max-width:600px}@media (max-width:768px){.shop-hero{margin-bottom:32px;padding:48px 10px}.shop-hero h1{font-size:2.4rem}.shop-hero p{font-size:1.1rem;padding:0 1rem}}.shop-hero,.shop-main{animation:fadeIn .6s ease-out forwards}html{scroll-behavior:smooth}.cart-item-wrapper{align-items:flex-start;background-color:#fff;border-radius:12px;box-shadow:0 4px 12px #0000000d;display:flex;margin-bottom:1.25rem;padding:1.5rem;position:relative;transition:transform .2s,box-shadow .2s}.cart-item-wrapper:hover{box-shadow:0 6px 16px #00000014;transform:translateY(-2px)}.cart-item-wrapper.empty,.cart-item-wrapper.error,.cart-item-wrapper.loading{color:#666;justify-content:center;padding:2rem;text-align:center}.cart-item-wrapper.error{background-color:#fff5f5;border:1px solid #fcc}.loading-spinner{align-items:center;display:flex;height:100px;justify-content:center}.spinner{animation:spin 1s ease-in-out infinite;border:3px solid #0000001a;border-radius:50%;border-top-color:#3498db;height:30px;width:30px}.cart-item-image{align-items:center;background-color:#f8fafc;border-radius:10px;box-shadow:0 2px 8px #0000001a;display:flex;flex-shrink:0;height:220px;justify-content:center;margin-right:1.5rem;overflow:hidden;position:relative;width:200px}.cart-item-image img{display:block;max-height:100%;max-width:100%;object-fit:contain;opacity:0;transition:opacity .3s ease}.cart-item-image img.loaded{opacity:1}.image-loading-spinner{align-items:center;background-color:#f5f5f5;display:flex;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%}.cart-item-content{display:flex;flex:1 1;flex-direction:column;justify-content:space-between}.cart-item-content h3{color:#2d3748;font-size:1.25rem;font-weight:600;margin:0 0 1rem}.cart-item-pricing{display:flex;flex-direction:column;width:100%}.price-row{align-items:center;display:flex;font-size:1rem;justify-content:space-between;margin:.5rem 0}.price-label{color:#718096;font-weight:500}.price-value{color:#2d3748;font-weight:500}.premium-toggle{align-items:center;display:flex;justify-content:space-between;margin:.75rem 0}.premium-toggle label{align-items:center;color:#4a5568;cursor:pointer;display:flex;font-size:1rem}.premium-toggle input{accent-color:#4caf50;height:18px;margin-right:.5rem;width:18px}.total-row{border-top:1px solid #edf2f7;color:#2c3e50;display:flex;font-size:1.1rem;font-weight:600;justify-content:space-between;margin:.75rem 0 .5rem;padding-top:.75rem}.cart-item-footer{display:flex;justify-content:center;margin-top:1rem;width:100%}.remove-button{background-color:#f56565;border-radius:8px;box-shadow:0 2px 4px #0000001a;font-size:.95rem;font-weight:500;padding:.8rem 1.2rem;text-align:center;transition:background-color .2s;width:100%}.remove-button:hover{background-color:#e53e3e}.premium-benefits{border-left:2px solid #4caf50;display:flex;flex-wrap:wrap;gap:.75rem;margin:.5rem 0 .5rem .5rem;padding:.5rem 0 .5rem 1rem}.benefit-item{align-items:center;background-color:#f1f9f1;border-radius:6px;color:#2c3e50;display:flex;font-size:.75rem;padding:.4rem .75rem}.benefit-icon{font-size:.75rem;margin-right:.5rem}.benefit-text{font-size:.75rem;font-weight:500}@media (max-width:768px){.cart-item-wrapper{align-items:center;flex-direction:column}.cart-item-image{align-self:center;height:220px;margin-bottom:1.25rem;margin-right:0;width:220px}.cart-item-image img{max-height:100%;max-width:100%;object-fit:contain}.cart-item-content{align-items:center;text-align:center;width:100%}.premium-toggle,.price-row,.total-row{justify-content:space-between;width:100%}.premium-benefits{justify-content:center;margin-left:0}}.cart-items-container{flex:1 1;margin-right:2rem}.cart-items-title{border-bottom:2px solid #edf2f7;color:#2d3748;font-size:1.4rem;font-weight:600;margin-bottom:1.5rem;margin-top:0;padding-bottom:.75rem}.cart-items-list{display:flex;flex-direction:column}.cart-empty{background-color:#fff;border-radius:12px;box-shadow:0 4px 12px #0000000d;margin-bottom:1.5rem;padding:3rem 2rem;text-align:center}.cart-empty h2{font-size:1.5rem;margin-bottom:1rem;margin-top:0}.cart-empty p{color:#718096;font-size:1.1rem}@media (max-width:768px){.cart-items-container{margin-bottom:2rem;margin-right:0}}.cart-summary{border-radius:12px;box-shadow:0 4px 12px #0000000d;padding:1.75rem;position:-webkit-sticky;position:sticky;top:20px}.cart-summary h3{border-bottom:2px solid #edf2f7;color:#2d3748;font-size:1.4rem;font-weight:600;margin:0 0 1.5rem;padding-bottom:.75rem}.summary-row{color:#4a5568;font-size:1.1rem;margin-bottom:1rem}.summary-total{border-top:2px solid #edf2f7;color:#2d3748;display:flex;font-size:1.25rem;font-weight:700;justify-content:space-between;margin:1.5rem 0;padding-top:1rem}.checkout-button{background:#4caf50;border-radius:8px;box-shadow:0 2px 4px #4caf504d;font-size:1.1rem;font-weight:500;padding:.9rem;transition:all .2s ease}.checkout-button:hover{background:#43a047;box-shadow:0 4px 8px #4caf5066;transform:translateY(-2px)}.checkout-button:active{transform:translateY(0)}.checkout-button:disabled{background:#c5e1c5;box-shadow:none;color:#8bc34a;transform:none}.cart-container{background-color:#f9fafb;margin:0 auto;max-width:1200px;min-height:calc(100vh - 100px);padding:2rem}.cart-container h2{color:#1a202c;font-size:1.8rem;font-weight:700;margin-bottom:2rem}.cart-content{display:flex;flex-direction:column}.cart-items-container{margin-bottom:2rem;width:100%}.cart-summary-container{width:100%}.cart-empty,.cart-error,.cart-loading{background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000000d;padding:3rem 2rem;text-align:center}.cart-empty h2{color:#4a5568;font-size:1.6rem;margin-bottom:1.5rem}.continue-shopping{background:#4299e1;border:none;border-radius:8px;box-shadow:0 2px 4px #4299e14d;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:500;padding:.9rem 1.8rem;transition:all .2s ease}.continue-shopping:hover{background:#3182ce;box-shadow:0 4px 8px #4299e166;transform:translateY(-2px)}.continue-shopping:active{transform:translateY(0)}.cart-loading h2{color:#718096}.cart-error{color:#e53e3e}.cart-error h2{color:#e53e3e;margin-bottom:1rem}.cart-items{background:#fff;border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-lg)}.cart-item{align-items:center;border-bottom:1px solid #eee;display:flex;gap:var(--spacing-lg);padding:var(--spacing-lg)}.item-image{border-radius:var(--border-radius-sm);height:100px;object-fit:cover;width:100px}.item-details{flex:1 1}.price{color:var(--primary-color);font-weight:700}.remove-button{background-color:#f44;border:none;border-radius:var(--border-radius-sm);color:#fff;cursor:pointer;padding:var(--spacing-sm) var(--spacing-lg)}.cart-summary{background:#fff;border-radius:var(--border-radius-md);box-shadow:var(--shadow-sm);padding:var(--spacing-lg)}.summary-details{margin-bottom:var(--spacing-lg)}.summary-row{display:flex;justify-content:space-between;margin:var(--spacing-sm) 0}.checkout-button{background-color:#4caf50;border:none;border-radius:var(--border-radius-sm);color:#fff;cursor:pointer;font-size:var(--font-size-md);padding:var(--spacing-md);width:100%}.checkout-button:disabled{background-color:#ccc;cursor:not-allowed}.error-message{background:#ffe6e6;border-radius:var(--border-radius-sm);color:#f44;margin:var(--spacing-sm) 0;padding:var(--spacing-sm)}@media (max-width:768px){.cart-container{padding:50px 1.5rem 1.5rem}.cart-item{flex-direction:column;padding:var(--spacing-md);text-align:center}.item-image{height:150px;width:150px}}.profile-info{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.5rem}.profile-info p{align-items:center;border-bottom:1px solid #f0f0f0;display:flex;justify-content:space-between;margin:0;padding:.75rem 0}.profile-info p:last-child{border-bottom:none}.profile-info p .label{color:#666;font-size:.95rem}.profile-info p .value{color:#2c3e50;font-weight:500;text-align:right}.profile-info p .value.not-provided{color:#94a3b8;font-style:italic;font-weight:400}@media (max-width:768px){.profile-info{padding:1rem}.profile-info p{padding:.5rem 0}.profile-info p .label,.profile-info p .value{font-size:.85rem}}@media (max-width:480px){.profile-info{padding:.75rem}.profile-info p{padding:.4rem 0}.profile-info p .label,.profile-info p .value{font-size:.8rem}}@media (max-width:375px){.profile-info{padding:.5rem}.profile-info p{padding:.3rem 0}.profile-info p .label,.profile-info p .value{font-size:.75rem}}.download-button{background:#2563eb;border:none;bottom:1rem;color:#fff;font-size:.9rem;position:absolute;right:1rem}.download-button:hover{background:#1d4ed8;transform:translateY(-1px)}.download-button:disabled{background:#ccc;cursor:not-allowed;transform:none}.download-button .icon{font-size:1.1rem}.download-expires{color:#666;font-size:.8rem;margin-top:.25rem;text-align:right}.purchase-item-detail{background:#f8fafc;border-radius:6px;margin-bottom:.5rem;padding:1rem 1rem 2rem;position:relative}.item-title{border-bottom:1px solid #e2e8f0;color:#2c3e50;font-size:1.1rem;font-weight:600;margin-bottom:1rem;padding-bottom:.5rem}.item-details{display:flex;flex-direction:column;gap:.5rem}.item-info-row{align-items:center;display:flex;justify-content:space-between;padding:.4rem 0}.item-info-row .label{color:#64748b;font-size:.95rem}.item-info-row .value{color:#2c3e50;font-weight:500;min-width:100px;text-align:right}.source-code-info{background:#fff;border:1px solid #e2e8f0;border-radius:4px;display:flex;flex-direction:column;gap:.5rem;margin:.75rem 0;padding:.75rem}.source-code-header{align-items:center;display:flex;gap:.75rem}.source-code-info svg{color:#64748b;font-size:1.2rem}.source-code-badge{align-items:center;border-radius:4px;display:inline-flex;font-size:.85rem;font-weight:500;padding:.35rem .75rem}.source-code-badge:not(.source-code-excluded){background:#e0f2fe;color:#0369a1}.source-code-badge.source-code-excluded{background:#fee2e2;color:#dc2626}.source-code-description{color:#64748b;font-size:.85rem;margin-left:2rem}@media (max-width:768px){.purchase-item-detail{padding:.75rem .75rem 1.5rem}.item-title{font-size:1rem;margin-bottom:.75rem}.item-info-row{padding:.4rem 0}.item-info-row .label{font-size:.85rem}.item-info-row .value{font-size:.85rem;min-width:90px}.source-code-badge{font-size:.8rem;padding:.3rem .6rem}.source-code-description{font-size:.8rem;margin-left:1.5rem}.source-code-info svg{font-size:1.1rem}}@media (max-width:480px){.purchase-item-detail{padding:.6rem .6rem 1.25rem}.item-title{font-size:.95rem;margin-bottom:.6rem}.item-info-row .label{font-size:.8rem}.item-info-row .value{font-size:.8rem;min-width:80px}.source-code-badge{font-size:.75rem;padding:.25rem .5rem}.source-code-description{font-size:.75rem;margin-left:1.25rem}.source-code-info svg{font-size:1rem}}@media (max-width:375px){.purchase-item-detail{padding:.5rem .5rem 1rem}.item-title{font-size:.9rem;margin-bottom:.5rem}.item-info-row .label{font-size:.75rem}.item-info-row .value{font-size:.75rem;min-width:70px}.source-code-badge{font-size:.7rem;padding:.2rem .4rem}.source-code-description{font-size:.7rem;margin-left:1rem}.source-code-info{gap:.4rem;padding:.5rem}.source-code-info svg{font-size:.9rem}}.purchase-history{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:4rem;padding:1.5rem}.purchase-history-header{border-bottom:1px solid #f0f0f0;margin-bottom:1.5rem;padding-bottom:1rem}.purchase-history-header h2{color:#2c3e50;font-size:1.5rem;font-weight:600;margin:0}.refresh-button{align-items:center;background:#3498db;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;gap:.5rem;padding:.5rem 1rem;transition:all .2s ease}.refresh-button:hover{background:#2980b9;transform:translateY(-1px)}.refresh-button:disabled{background:#e2e8f0;cursor:not-allowed;transform:none}.purchases-list{grid-gap:1rem;display:grid;gap:1rem}.purchase-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1.5rem;transition:all .2s ease}.purchase-item:hover{border-color:#cbd5e1;box-shadow:0 4px 6px -1px #0000001a;transform:translateY(-1px)}.purchase-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:1rem}.purchase-header h3{color:#2c3e50;font-size:1.1rem;font-weight:600;margin:0}.purchase-date{color:#64748b;font-size:.9rem}.purchase-details{border-bottom:1px solid #e2e8f0;margin-bottom:1rem;padding-bottom:1rem}.purchase-details p{align-items:center;display:flex;justify-content:space-between;margin:0;padding:.5rem 0}.purchase-details p span:first-child{color:#64748b;font-size:.95rem}.purchase-details p span:last-child{font-weight:500;text-align:right}.purchase-items{padding-top:.5rem}.purchase-items h4{color:#64748b;font-size:.95rem;font-weight:500;margin:0 0 1rem}.status-completed{color:#10b981;font-weight:600}.status-pending{color:#f59e0b;font-weight:600}.status-failed{color:#ef4444;font-weight:600}.error-message{background:#fef2f2;border:1px solid #fee2e2;color:#ef4444;margin-bottom:1rem;padding:1rem}.profile-loading,.profile-message{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;font-size:1rem}.spinning{animation:spin 1s linear infinite}@media (max-width:768px){.purchase-history{margin-bottom:3rem;padding:1rem}.purchase-history-header h2{font-size:1.2rem}.purchase-header{align-items:flex-start;flex-direction:column;gap:.5rem}.purchase-header h3{font-size:1rem}.purchase-details p{padding:.5rem 0}.purchase-details p span:first-child{font-size:.85rem}.purchase-details p span:last-child{font-size:.85rem;min-width:100px}.purchase-date{font-size:.85rem}}@media (max-width:480px){.purchase-history{margin-bottom:2.5rem;padding:.75rem}.purchase-history-header h2{font-size:1rem}.refresh-button{font-size:.8rem;padding:.4rem .8rem}.purchase-header h3{font-size:.95rem}.purchase-date,.purchase-details p span:first-child,.purchase-details p span:last-child{font-size:.8rem}.purchase-items h4{font-size:.85rem}}@media (max-width:375px){.purchase-history{margin-bottom:2rem;padding:.5rem}.purchase-history-header h2{font-size:1rem}.refresh-button{font-size:.75rem;padding:.3rem .6rem}.purchase-header h3{font-size:.9rem}.purchase-details p span:first-child{font-size:.75rem}.purchase-details p span:last-child{font-size:.75rem;min-width:80px}.purchase-date{font-size:.75rem}.purchase-items h4{font-size:.8rem}.profile-loading,.profile-message{font-size:.9rem;padding:1.5rem}}:root{--primary-color:#1a1a1a;--secondary-color:#666;--background-color:#fff;--hover-color:#0af;--spacing-xs:5px;--spacing-sm:10px;--spacing-md:15px;--spacing-lg:20px;--spacing-xl:30px;--sidebar-width-open:250px;--mobile-width:768px;--tablet-min-width:820px;--tablet-max-width:1180px;--shadow-sm:0 2px 4px #0000001a;--shadow-md:0 4px 6px #0000001a;--border-radius-sm:4px;--border-radius-md:8px;--font-size-sm:0.875rem;--font-size-md:1rem;--font-size-lg:1.25rem;--font-size-xl:1.5rem}*{box-sizing:border-box}.profile-container{margin:60px auto 0;max-width:1200px;overflow-x:hidden;padding:1.5rem;width:100%}.profile-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem}.profile-header h1{color:#333;font-size:2rem;margin:0}.profile-actions{display:flex;flex-wrap:nowrap;gap:1rem;width:auto}.profile-content{grid-gap:2rem;display:grid;gap:2rem;margin-top:40px;max-width:100%;width:100%}.user-info{grid-gap:.5rem 1rem;display:grid;gap:.5rem 1rem;grid-template-columns:auto 1fr;overflow:hidden;width:100%}.user-info-label{color:#555;font-weight:500}.user-info-value{overflow:hidden;text-align:right;text-overflow:ellipsis;word-break:break-word}.email-value{max-width:100%;overflow-wrap:break-word;word-break:break-all}.cart-button,.logout-button{align-items:center;border:none;border-radius:4px;cursor:pointer;display:flex;font-size:.9rem;gap:.5rem;justify-content:center;min-width:120px;padding:.5rem 1rem;transition:all .3s ease;width:auto}.cart-button{background:#3498db;color:#fff}.logout-button{background:#e74c3c;color:#fff}.cart-button:hover{background:#2980b9}.logout-button:hover{background:#c0392b}.profile-session{background:#f8f9fa;border-radius:6px;margin-top:1rem;max-width:100%;padding:1rem;width:100%}.session-info{color:#27ae60;font-size:.9rem;margin:0;padding-bottom:5rem;word-break:break-word}.profile-loading,.profile-message{color:#666;font-size:1.1rem;padding:2rem;text-align:center;width:100%}.purchase-history{overflow:hidden;width:100%}.purchase-history-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.purchase-history-content{background:#f8f9fa;border-radius:6px;color:#666;padding:1.5rem;text-align:center}@media (max-width:768px){.profile-container{margin:50px auto 0;padding:1rem;width:calc(100% - 2rem)}.profile-header{align-items:flex-start;flex-direction:column;gap:1rem}.profile-header h1{font-size:1.5rem}.profile-actions{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr;width:100%}.profile-content{gap:1.5rem}.cart-button,.logout-button{min-width:0;width:100%}.user-info{grid-template-columns:1fr}.user-info-label{margin-bottom:0}.user-info-value{border-bottom:1px solid #eee;margin-bottom:.75rem;padding-bottom:.5rem;text-align:left}}@media (max-width:480px){.profile-container{padding:1rem;width:calc(100% - 2rem)}.profile-actions{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:1fr 1fr}.cart-button,.logout-button{justify-content:center;width:100%}.user-info-label,.user-info-value{font-size:.9rem}}@media (max-width:375px){.profile-container{margin:50px auto 0;padding:1rem;width:calc(100% - 2rem)}.page-container{padding:0!important}.profile-header h1{font-size:1.3rem}.user-info{display:flex;flex-direction:column;max-width:100%;width:100%}.user-info-label{font-size:.85rem;margin-bottom:.1rem;width:100%}.user-info-value{display:block;font-size:.85rem;margin-bottom:.75rem;max-width:100%;overflow-wrap:break-word;width:100%;word-break:break-all}.email-value{display:block;font-size:.8rem;letter-spacing:-.01em;width:100%}.purchase-history-header{align-items:flex-start;flex-direction:column;gap:.5rem;width:100%}.purchase-history-header h2{font-size:1.2rem;margin:0;width:100%}.purchase-history-content{font-size:.9rem;padding:1rem;width:100%}.profile-content{display:flex;flex-direction:column;max-width:100%;width:100%}.profile-actions{grid-gap:.5rem;display:grid;gap:.5rem;grid-template-columns:1fr 1fr;width:100%}.cart-button,.logout-button{font-size:.85rem;padding:.5rem}}.checkout-success-container{align-items:center;background-color:#f8f9fa;display:flex;justify-content:center;min-height:100vh;padding:2rem}.success-card{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;max-width:500px;padding:3rem;text-align:center;width:100%}.success-icon{animation:scaleIn .5s ease-out;color:#2ecc71;font-size:4rem;margin-bottom:1.5rem}.success-card h1{color:#2c3e50;font-size:2rem;margin-bottom:1rem}.success-card p{color:#666;font-size:1.1rem;margin-bottom:2rem}.success-actions{margin:2rem 0}.view-profile-btn{align-items:center;background:#3498db;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:1.1rem;gap:1rem;justify-content:center;padding:1rem 2rem;transition:all .3s ease;width:100%}.view-profile-btn:hover{background:#2980b9;transform:translateY(-2px)}.additional-info{border-top:1px solid #eee;margin-top:2rem;padding-top:2rem}.additional-info p{color:#888;font-size:.9rem;margin:.5rem 0}@keyframes scaleIn{0%{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@media (max-width:768px){.success-card{padding:2rem}.success-icon{font-size:3rem}.success-card h1{font-size:1.5rem}.success-card p{font-size:1rem}}.login-container{align-items:center;background-color:#f8fafc;display:flex;justify-content:center;min-height:100vh;padding:20px}.login-card{animation:fadeIn .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;max-width:400px;padding:2.5rem;text-align:center;width:100%}.login-header{margin-bottom:2rem}.login-header h1{color:#1e293b;font-size:2rem;font-weight:600;margin-bottom:.5rem}.login-header p{color:#64748b;font-size:1rem}.login-form{display:flex;flex-direction:column;gap:1rem;margin:1.5rem 0}.form-group{text-align:left}.form-group label{color:#fff;display:block;font-size:.9rem;margin-bottom:.5rem}.form-group input{background:#1a1a1a;border:1px solid #333;border-radius:6px;color:#fff;font-size:.95rem;padding:.75rem;width:100%}.form-group input:focus{border-color:#3b82f6;outline:none}.continue-button{background:#fff;border:none;border-radius:6px;color:#000;cursor:pointer;font-size:.95rem;font-weight:500;margin-top:.5rem;padding:.75rem;transition:background-color .2s;width:100%}.continue-button:hover{background:#f3f4f6}.divider{align-items:center;color:#666;display:flex;font-size:.9rem;margin:1.5rem 0}.divider:after,.divider:before{background:#333;content:"";flex:1 1;height:1px}.divider span{padding:0 1rem}.social-login{margin-top:1.5rem}.social-button{align-items:center;background-color:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#1e293b;cursor:pointer;display:flex;font-size:1rem;font-weight:500;gap:.75rem;justify-content:center;padding:.75rem 1.5rem;transition:all .2s ease;width:100%}.social-button:hover{background-color:#f8fafc;border-color:#cbd5e1;transform:translateY(-1px)}.social-button:active{transform:translateY(0)}.social-button:disabled{cursor:not-allowed;opacity:.7}.google-icon{color:#ea4335;font-size:1.25rem}.login-error{background-color:#fee2e2;border-radius:6px;color:#dc2626;font-size:.875rem;margin-top:1rem;padding:.75rem;text-align:left}.signup-link{color:#666;font-size:.9rem;margin-top:1.5rem}.signup-link a{color:#3b82f6;margin-left:.25rem;text-decoration:none}.signup-link a:hover{text-decoration:underline}@media (max-width:480px){.login-card{padding:1.5rem}.login-header h1{font-size:1.75rem}.social-button{padding:.625rem 1rem}}.about-container{composes:page-container}.about-header{composes:card;margin-bottom:var(--spacing-xl);text-align:center}.about-header h1{color:var(--primary-color);font-size:var(--font-size-xl);margin-bottom:var(--spacing-lg)}.tagline{color:var(--secondary-color);font-size:var(--font-size-lg);font-weight:300}.about-content section{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:30px;padding:40px}.about-content h2{border-bottom:2px solid #f0f0f0;color:#1a1a1a;font-size:1.8em;margin-bottom:20px;padding-bottom:10px}.features-grid{grid-gap:var(--spacing-xl);display:grid;gap:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.feature-item{background-color:#f8f9fa;border-radius:8px;padding:20px;transition:transform .3s ease}.feature-item:hover{transform:translateY(-5px)}.feature-item h3{color:#2a2a2a;font-size:1.3em;margin-bottom:15px}.feature-item p{color:#666;line-height:1.6}.contact-info{background-color:#f8f9fa;border-radius:8px;margin-top:20px;padding:20px}.contact-info p{color:#666;margin:10px 0}@media (max-width:768px){.about-container{box-sizing:border-box;margin:0;padding:70px 15px 20px;width:100%}.about-header{margin-bottom:30px;padding:30px 20px}.about-header h1{font-size:2em}.about-content section{padding:20px}.features-grid{gap:20px;grid-template-columns:1fr}}@media only screen and (min-device-width:820px) and (max-device-width:1180px) and (-webkit-min-device-pixel-ratio:2){.about-container{box-sizing:border-box;margin-left:70px;padding:20px;width:calc(100% - 90px)}.main-content.sidebar-open .about-container{margin-left:60px;width:calc(100% - 70px)}}.feature-item{animation:fadeIn .5s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.policy-container{background-color:#fff;border:1px solid #0000000d;border-radius:12px;box-shadow:0 8px 24px #00000014;margin:30px auto 60px;max-width:900px;padding:40px 30px 80px}.policy-container h1{color:#1a1a1a;font-size:2.5em;font-weight:600;letter-spacing:-.5px;margin-bottom:30px;text-align:center}.policy-container section{border-radius:8px;margin-bottom:40px;padding:12px 20px;transition:all .2s ease-in-out}.policy-container h2{border-bottom:2px solid #0000000f;color:#2a2a2a;font-size:1.5em;font-weight:600;margin-bottom:18px;padding-bottom:10px}.policy-container p{color:#3a3a3a;font-size:16px;line-height:1.8;margin-bottom:15px}.policy-container ul{list-style-type:disc;margin-bottom:20px;margin-left:20px;padding-left:20px}.policy-container li{color:#3a3a3a;font-size:16px;line-height:1.8;margin-bottom:12px}.policy-container section:hover{background-color:#f0f2f599;box-shadow:0 4px 12px #0000000a;transform:translateY(-2px)}.policy-container>p{color:#666;font-size:.9em;margin-bottom:30px;text-align:center}.policy-container section:last-child{background-color:#f0f5fa80;border-left:3px solid #2563eb;border-radius:10px;padding:20px 25px}.policy-container section:last-child p{margin-bottom:8px}.policy-container section:last-child h2{border-bottom-color:#2563eb33;color:#2563eb}.policy-container a{border-bottom:1px solid #0000;color:#2563eb;text-decoration:none;transition:border-color .2s ease}.policy-container a:hover{border-bottom-color:#2563eb}@media (max-width:768px){.policy-container{box-shadow:0 4px 12px #0000000d;margin:15px 10px 50px;padding:25px 20px 60px}.policy-container h1{font-size:1.8em}.policy-container h2{font-size:1.3em}.policy-container section{padding:8px 12px}}.scan-header{grid-gap:2rem;align-items:start;display:grid;gap:2rem;grid-template-columns:1fr 1fr;padding:1rem 0}.scan-header h1{align-self:center;color:#333;font-size:1.5rem;font-weight:600}.scan-actions{flex-direction:column}.select-group{grid-gap:.5rem;display:grid;grid-template-columns:1fr 1fr;width:100%}.model-select,.prompt-select{-webkit-appearance:none;appearance:none;background:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .7rem center;background-repeat:no-repeat;background-size:1em;border:1px solid #e9ecef;border-radius:6px;color:#333;cursor:pointer;font-size:.9rem;padding:.625rem 2.5rem .625rem 1rem;transition:all .2s ease;width:100%}.analyze-button{align-items:center;display:flex;justify-content:center;width:100%}.analyze-button:hover{box-shadow:0 4px 6px #2980b91a}.analyze-button:disabled{box-shadow:none}@media (max-width:768px){.scan-header{gap:1rem;grid-template-columns:1fr}.scan-actions{width:100%}.select-group{grid-template-columns:1fr}.model-select,.prompt-select{min-width:0;min-width:auto;width:100%}}.scan-input-section{overflow-x:hidden}.latex-result{border:1px solid #e9ecef;border-radius:8px;box-sizing:border-box;overflow:hidden;width:100%}.result-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:1rem 1.5rem}.result-header span{color:#333;font-weight:500}.copy-button{color:#333;transition:all .2s}.result-code{background:#fff;box-sizing:border-box;font-family:Courier Prime,monospace;font-size:.75rem;line-height:.875;margin:0;max-width:100%;overflow-x:auto;padding:1rem;tab-size:4;-moz-tab-size:4;white-space:pre!important}.result-code>span{display:block;white-space:pre!important}@media (max-width:768px){.result-header{padding:.75rem 1rem}.result-code{padding:.75rem}}.latex-solution{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 4px #0000000d;margin:1rem auto;max-width:100%;overflow:hidden}.solution-code{border-bottom:1px solid #e9ecef}.latex-code span{display:block;margin-bottom:.5rem}.rendered-solution{border-bottom:1px solid #e9ecef;padding:1.5rem}.rendered-solution h4{color:#2c3e50;font-size:1rem;margin:0 0 1rem}.math-display{margin-top:.5rem}.solution-steps{padding:1.5rem}.solution-steps h4{color:#2c3e50;font-size:1rem;margin:0 0 1rem}.solution-step{margin-bottom:1.5rem;overflow:hidden}.step-number{background:#e9ecef;color:#2c3e50;font-size:.875rem;font-weight:600;padding:.75rem 1rem}.step-content{padding:1rem}.step-latex{margin-bottom:1rem}.step-latex pre{font-family:Courier Prime,monospace;font-size:14px;line-height:1.5;margin:0;overflow-x:auto;white-space:pre-wrap;word-break:break-word}.step-latex pre,.step-rendered{background:#fff;border-radius:6px;padding:1rem}.step-rendered{margin-bottom:1rem;overflow:hidden;text-align:center}.step-explanation{background:#fff;border-radius:6px;color:#2c3e50;font-size:.875rem;line-height:1;padding:1rem}.rendered-solution,.solution-code{box-sizing:border-box;width:100%}@media (max-width:768px){.latex-code,.rendered-solution,.solution-code{padding:1rem}.math-display,.math-image{border-radius:6px}.latex-code span{margin-bottom:.4rem}.copy-button{font-size:.75rem;padding:.375rem .75rem}.step-content{padding:.75rem}}.rendered-header{margin-bottom:1rem}.download-button{background:#fff}.download-button:hover{background:#f8f9fa}.scan-container{overflow-x:hidden}.scan-output-section{-webkit-overflow-scrolling:touch}.scan-output-section pre{margin:0;white-space:pre-wrap;word-break:break-word}.latex-code{border-radius:6px;line-height:1.5;padding:1rem}.solution-section{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 4px #0000000d;box-sizing:border-box;max-width:100%;padding:1.5rem;width:100%}.solution-controls{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1rem}.solution-input{border:1px solid #e9ecef;font-family:Courier Prime,monospace;font-size:14px;line-height:1.5;min-height:150px;resize:vertical;width:100%}.solution-input,.solution-output{background:#f8f9fa;border-radius:6px;padding:1rem}.solution-output{margin-top:1.5rem;overflow-x:auto}.solution-button{background:#3498db;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:.625rem 1.25rem;transition:all .2s ease}.solution-button:hover{background:#2980b9;transform:translateY(-1px)}.solution-button:disabled{background:#e9ecef;color:#adb5bd;cursor:not-allowed;transform:none}.solution-steps{border-top:1px solid #e9ecef;margin-top:1.5rem;padding-top:1.5rem}.solution-step{background:#f8f9fa;border-radius:6px;font-size:14px;line-height:1.6;margin-bottom:1rem;padding:1rem}@media (max-width:768px){.scan-container{padding:70px 1rem 120px}.scan-content{gap:1rem}.scan-input-section,.scan-output-section,.scan-section,.solution-section{padding:.75rem}.latex-code,.solution-input{font-size:12px;padding:.75rem}.solution-controls{flex-direction:column;gap:.5rem}.solution-button{width:100%}}.solver-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.solver-header h1{color:#333;font-size:1.75rem;margin:0}.solver-header-actions{align-items:center;display:flex;gap:1rem}.select-group{align-items:center;display:flex;gap:.5rem}.select-group label{color:#555;font-weight:500}.model-select{border:1px solid #ddd;border-radius:.25rem;font-size:.9rem;padding:.5rem}.solve-button-header{background-color:#4a6cf7;border:none;border-radius:.25rem;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1rem;transition:background-color .2s}.solve-button-header:hover{background-color:#3a5ce5}.solve-button-header:disabled{background-color:#a0a0a0;cursor:not-allowed}@media (max-width:768px){.solver-header{align-items:flex-start;flex-direction:column;gap:1rem}.solver-header-actions{align-items:stretch;flex-direction:column;width:100%}}.scan-header{align-items:center;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;margin-bottom:2rem}.scan-header h1{color:#2c3e50;font-size:1.75rem;font-weight:700;margin:0}.scan-actions{align-items:center;display:flex;gap:1rem}.analyze-button{background:#3498db;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:.625rem 1.25rem;transition:all .2s ease}.analyze-button:hover{background:#2980b9;transform:translateY(-1px)}.analyze-button:disabled{background:#e9ecef;color:#adb5bd;cursor:not-allowed;transform:none}@media (max-width:768px){.scan-header{align-items:stretch;flex-direction:column}.analyze-button,.scan-actions{width:100%}}.solver-input-wrapper{display:flex;flex-direction:column;gap:1rem;width:100%}.upload-container{display:flex;justify-content:center;margin-bottom:1rem}.upload-label{background-color:#f4f6f8;border:2px dashed #cbd5e0;border-radius:.5rem;color:#4a5568;cursor:pointer;display:inline-block;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.upload-label:hover{background-color:#edf2f7;border-color:#a0aec0}.file-input{height:0;opacity:0;position:absolute;width:0}.image-preview{border:1px solid #e2e8f0;border-radius:.5rem;box-shadow:0 2px 4px #0000001a;margin-top:1rem;overflow:hidden;width:100%}.preview-image{display:block;max-height:400px;object-fit:contain;width:100%}.scan-input-section input[type=file]{background:#f1f5f9;border:2px dashed #94a3b8;border-radius:8px;box-sizing:border-box;color:#475569;cursor:pointer;padding:1.5rem;transition:all .2s ease;width:100%}.scan-input-section input[type=file]:hover{background:#3498db0d;border-color:#3498db}.selected-image{background:#f8fafc;border-radius:8px;box-shadow:0 2px 4px #0000001a;box-sizing:border-box;margin-top:1rem;max-height:400px;object-fit:contain;padding:1rem;width:100%}@media (max-width:768px){.scan-input-section{padding:.75rem}}.solution-container{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000000d;margin:0 auto;max-width:100%;overflow:hidden}.solution-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:1rem 1.5rem}.solution-header h3{color:#2c3e50;font-size:1.1rem;font-weight:600;margin:0}.copy-button{align-items:center;background:#fff;border:1px solid #e9ecef;border-radius:6px;color:#2c3e50;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.5rem 1rem;transition:all .2s ease}.copy-button:hover{background:#f8f9fa;border-color:#3498db}.copy-button.copied{background:#2ecc71;border-color:#2ecc71;color:#fff}.rendered-solution{padding:1.25rem;position:relative}.rendered-header{align-items:center;background:#0000;display:flex;justify-content:space-between;margin-bottom:.75rem;position:relative;z-index:2}.rendered-header h4{color:#2c3e50;font-size:1rem;font-weight:600;letter-spacing:.5px;margin:0;padding-left:.5rem;position:relative;text-transform:uppercase}.rendered-header h4:before{background:#3498db;border-radius:2px;content:"";height:100%;left:0;position:absolute;top:0;width:3px}.download-button{align-items:center;background:#f8f9fa;border:1px solid #e9ecef;border-radius:6px;color:#2c3e50;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;margin-left:auto;padding:.5rem 1rem;position:relative;transition:all .2s ease;z-index:3}.download-button:hover{background:#e9ecef;border-color:#3498db;box-shadow:0 2px 4px #0000001a}.math-display{background:#f8f9fa;overflow:hidden;position:relative;text-align:center;z-index:1}.math-display,.math-image{border-radius:8px;padding:0;width:100%}.math-image{display:block;height:auto;margin:0;object-fit:contain}.solution-code-container{border-top:1px solid #e9ecef}.solution-code-container details{width:100%}.solution-code-container summary{background:#f8f9fa;color:#4a5568;cursor:pointer;font-weight:500;outline:none;padding:1rem 1.5rem}.solution-code-container summary:hover{background:#edf2f7}.solution-code{background:#fff;padding:1.5rem}.latex-code{background:#f8f9fa;border-radius:8px;box-sizing:border-box;font-family:Courier Prime,monospace;font-size:14px;line-height:1.8;margin:0;overflow-x:auto;padding:1.5rem;white-space:pre-wrap;width:100%;word-break:break-word}.latex-code .code-line{display:block;margin-bottom:.5rem}.latex-code .code-line.indented{padding-left:2rem}@media (max-width:768px){.rendered-solution{padding:.75rem}.rendered-header{margin-bottom:.5rem}.rendered-header h4{font-size:.9rem}.math-display{margin-top:.25rem}.math-display,.math-image{border-radius:6px}.download-button{font-size:.75rem;padding:.375rem .75rem}.button-text{display:none}}@media (max-width:480px){.rendered-solution{padding:.5rem}.rendered-header{margin-bottom:.35rem}.math-display{margin-top:.15rem}}.spinner{animation:spin 1s linear infinite}.download-button:disabled{cursor:default;opacity:.7}.solver-loading{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;min-height:300px;padding:3rem}.solver-loading-spinner{animation:spin 1s linear infinite;border:5px solid #4a6cf733;border-radius:50%;border-top-color:#4a6cf7;height:50px;margin-bottom:1.5rem;width:50px}.solver-loading-text{color:#4a5568;font-size:1.1rem;text-align:center}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.loading-animation{width:100%}@media (max-width:768px){.loading-animation{padding:1rem}}body,html{height:100%;margin:0;overflow-x:hidden;overflow-y:auto;padding:0;width:100%}.scan-container{box-sizing:border-box;margin:0 auto;max-width:1280px;min-height:calc(100vh - 80px);padding:80px 2rem 100px;width:100%}.scan-content{grid-gap:2rem;display:grid;gap:2rem;margin:0 auto;max-width:100%;width:100%}.scan-section{overflow:hidden}.scan-input-section,.scan-section{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 4px #0000000d;box-sizing:border-box;max-width:100%;padding:1.5rem;width:100%}.scan-input-section{align-items:center;display:flex;flex-direction:column;position:relative}.scan-input-section img{border-radius:8px;height:auto;max-width:100%;object-fit:contain}.scan-output-section{background:#fff;border:1px solid #e9ecef;border-radius:12px;box-shadow:0 2px 4px #0000000d;box-sizing:border-box;max-width:100%;min-height:300px;overflow-x:auto;padding:1.5rem}.ascii-container,.scan-output-section{display:flex;flex-direction:column;width:100%}.ascii-container{padding:1rem 0}.ascii-container,.empty-state{align-items:center;justify-content:center}.empty-state{color:#6c757d;display:flex;height:200px;text-align:center;width:100%}.retry-container{margin-top:1.5rem;text-align:center}.solve-button{background:linear-gradient(135deg,#4a90e2,#2e67b2);border:none;border-radius:8px;box-shadow:0 4px 6px #0000001a;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:10px 20px;transition:all .3s ease}.solve-button:hover{background:linear-gradient(135deg,#3a80d2,#1e57a2);box-shadow:0 6px 8px #00000026;transform:translateY(-2px)}.solve-button:active{box-shadow:0 2px 4px #0000001a;transform:translateY(1px)}.solve-button:disabled{background:#ccc;box-shadow:none;cursor:not-allowed;transform:none}@media (max-width:768px){.scan-container{padding:70px 1rem 120px}.scan-content{gap:1rem}.scan-input-section,.scan-output-section{padding:.75rem}}.loading-overlay{align-items:center;background:#ffffffe6;border-radius:12px;display:flex;height:100%;justify-content:center;left:0;position:absolute;top:0;width:100%;z-index:10}.loading-animation{animation:pulse 2s infinite;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;box-shadow:0 2px 8px #0000001a;box-sizing:border-box;color:#3498db;font-family:Courier Prime,monospace;font-size:14px;line-height:1.5;margin:0;overflow-x:auto;padding:1.5rem;text-align:center;white-space:pre-wrap;width:90%}@keyframes pulse{0%{opacity:.6}50%{opacity:1}to{opacity:.6}}.error-message{background-color:#fadbd8;border-left:3px solid #e74c3c;border-radius:6px;color:#e74c3c;font-size:.9rem;margin:1rem 0;padding:.75rem;text-align:center}
/*# sourceMappingURL=main.09225ffc.css.map*/