:root{--color-black:#2a2836;--color-light-gray:#dcdce4;--color-dark-gray:#b5b5ba;--color-gray:#f6f6fd;--color-red:#f34c61;--color-red-second:#ce3635;--color-white:#fff;--color-green:#04aa6d;--color-light-blue:#7ac9fc;--color-dark-blue:#004aad;--color-yellow-star:#ffbe15;--color-yellow-highlight:#fff176;--color-white-baby-powder:#fefefa;--color-white-floral-white:#fffcf5;--color-white-seasalt:#f7f7f7;--color-white-snow:#fffafe;--color-white-mint-cream:#f7fffb;--color-white-ivory:#fcfcf2;--color-white-alabaster:#f2efe5;--color-white-ghost-white:#fafaff;--color-white-smoke:#f5f5f5;--color-text-black:#191919;--color-text-light-black:#555;--color-text-white:#ffffffea}*{box-sizing:border-box;margin:0;padding:0}html,body{max-width:100vw;font-family:var(--font-poppins),"Segoe UI",Tahoma,Geneva,Verdana,sans-serif;color:#333;background-color:#f1f1f1;line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}a:link,a:visited,a:hover,a:active{text-decoration:none!important}.app-layout{flex-direction:column;min-height:100vh;display:flex;position:relative}.layout-body{flex:1;display:flex}.hamburger-button{z-index:1001;background:var(--color-black);cursor:pointer;border:none;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;width:50px;height:50px;transition:all .3s;display:none;position:fixed;top:20px;left:20px}.hamburger-button:hover{transform:scale(1.05)}.hamburger-line{background-color:#fff;border-radius:2px;width:25px;height:3px;margin:2px 0;transition:all .3s}.hamburger-line.open:first-child{transform:rotate(45deg)translate(6px,6px)}.hamburger-line.open:nth-child(2){opacity:0}.hamburger-line.open:nth-child(3){transform:rotate(-45deg)translate(6px,-6px)}.sidebar-overlay{z-index:999;opacity:0;background-color:#00000080;width:100%;height:100%;animation:.3s forwards fadeIn;position:fixed;top:0;left:0}@media (min-width:1101px){.sidebar-overlay{display:none}}@keyframes fadeIn{to{opacity:1}}.main-content{background-color:var(--color-white-ghost-white);flex-direction:column;flex:1;width:calc(100% - 280px);min-width:0;margin-left:280px;display:flex}.content-wrapper{flex:1;width:100%;max-width:900px;margin:0 auto;padding:40px}@media (max-width:1100px){.hamburger-button{background:0 0;border:none;border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:30px;height:30px;padding:0;display:flex;position:relative;top:auto;left:auto}.hamburger-line{background:var(--color-black);border-radius:1px;width:20px;height:2px;margin:0}.header-content{gap:15px;padding:1rem}.header-logo-image{height:32px}.header-search{flex:1;max-width:none}.header-auth{display:flex}.main-content{width:100%;margin-left:0}.content-wrapper{max-width:100%;padding:28px;overflow-x:hidden}.sidebar-mobile{width:100%;max-width:320px}}.content-wrapper-loading{width:100%;min-height:calc(100vh - 70px)}.course-enrollment-page{background:#fff;border:1px solid #e0e0e0;border-radius:10px;padding:40px}.course-enrollment-header{margin-bottom:30px;padding-right:120px;position:relative}.course-enrollment-logo{justify-content:center;align-items:center;width:96px;height:96px;padding:10px;display:inline-flex;position:absolute;top:0;right:0}.course-enrollment-logo img{object-fit:contain;border-radius:12px;width:100%;height:100%}.course-enrollment-badges{flex-wrap:wrap;gap:10px;margin-bottom:14px;display:flex}.course-enrollment-badge{background-color:var(--color-red);color:var(--color-white);letter-spacing:.02em;text-transform:uppercase;border-radius:999px;align-items:center;padding:7px 14px;font-size:.82rem;font-weight:700;display:inline-flex}.course-enrollment-header h1{color:var(--color-text-black);margin-bottom:10px;font-size:2rem}.course-enrollment-header p{color:#666;font-size:1.05rem}.course-enrollment-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:28px;display:grid}.course-summary-item{background-color:#fafafa;border:1px solid #ececec;border-radius:8px;min-width:150px;padding:16px;transition:transform .2s,box-shadow .2s}.course-summary-item:hover{transform:translateY(-1px);box-shadow:0 6px 14px #2a283614}.course-summary-item strong{color:var(--color-text-black);margin-bottom:4px;font-size:1.15rem;display:block}.course-summary-item span{color:#666;font-size:.95rem}.course-enrollment-actions{align-items:center;gap:12px;display:flex}.course-enrollment-date{color:#666;margin:0;font-size:.92rem}.course-meta-block{margin-bottom:24px}.course-meta-block h2{color:var(--color-text-black);margin-bottom:10px;font-size:1.1rem}.course-tags-list{flex-wrap:wrap;gap:8px;display:flex}.course-tag-chip{background-color:var(--color-gray);color:var(--color-text-black);border-radius:999px;padding:6px 10px;font-size:.85rem;font-weight:500}.course-prerequisites-list,.course-resource-list{color:#666;margin:0;padding-left:18px}.course-resource-link{color:var(--color-red);font-weight:500}.course-resource-link:hover{color:var(--color-red-second)}@media (max-width:950px){.course-enrollment-header{padding-right:0}.course-enrollment-logo{margin-bottom:14px;position:static}.course-enrollment-summary{grid-template-columns:1fr}.course-enrollment-actions{flex-direction:column;align-items:flex-start;gap:8px}}.profile-page{background:var(--color-white);border:1px solid #e0e0e0;border-radius:10px;padding:40px}.profile-header{margin-bottom:24px}.profile-header-content{align-items:center;gap:16px;display:flex}.profile-avatar{border:1px solid var(--color-light-gray);border-radius:999px}.profile-header h1{color:var(--color-text-black);margin-bottom:4px;font-size:2rem}.profile-header p{color:#666}.profile-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-bottom:20px;display:grid}.profile-summary-card{background:#fafafa;border:1px solid #ececec;border-radius:8px;padding:14px;transition:transform .2s,box-shadow .2s}.profile-summary-card:hover{transform:translateY(-1px);box-shadow:0 6px 14px #2a283614}.profile-summary-label{color:#666;margin-bottom:4px;font-size:.85rem;display:block}.profile-summary-card strong{color:var(--color-text-black);word-break:break-word;font-size:1rem}.profile-grid{flex-direction:column;gap:24px;display:flex}.profile-card{background:#fff;border:1px solid #ececec;border-radius:8px;padding:20px}.profile-card h2{color:var(--color-text-black);margin-bottom:6px;font-size:1.1rem}.profile-courses-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.profile-courses-subtitle{color:#666;font-size:.9rem}.profile-course-count-text{color:#666;text-align:right;margin-top:12px;font-size:.9rem}.profile-course-count-text strong{color:var(--color-text-black);font-size:1rem}.profile-course-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.profile-course-item{background:linear-gradient(#fff 0%,#fcfcff 100%);border:1px solid #ececf3;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:12px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex}.profile-course-item:hover{border-color:#dadbe9;transform:translateY(-1px);box-shadow:0 8px 18px #2a283614}.profile-course-content{min-width:0}.profile-course-title{color:var(--color-text-black);margin-bottom:3px;font-size:1rem}.profile-course-meta{color:#666;font-size:.88rem}.profile-course-link{border:1px solid var(--color-red);color:var(--color-red);white-space:nowrap;border-radius:6px;justify-content:center;align-items:center;padding:8px 11px;font-size:.88rem;font-weight:600;transition:all .2s;display:inline-flex}.profile-course-link:hover{background:var(--color-red);color:var(--color-white)}.profile-empty-state p{color:#666;margin-bottom:12px}.profile-coming-soon-note{color:#666;margin-bottom:8px}.profile-connections-subtitle{color:#5f6172;margin-bottom:14px;font-size:.92rem;line-height:1.45}.profile-connections-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.profile-connection-item{background:linear-gradient(#fff 0%,#f9faff 100%);border:1px solid #e5e7f1;border-radius:12px;justify-content:space-between;align-items:flex-start;gap:16px;padding:14px;display:flex;position:relative}.profile-connection-item:before{content:"";background:#d9dce8;border-radius:12px 0 0 12px;width:4px;position:absolute;top:0;bottom:0;left:0}.profile-connection-item.is-connected{background:linear-gradient(#fff 0%,#f3fff8 100%);border-color:#c8e5d5}.profile-connection-item.is-connected:before{background:#4fb17e}.profile-connection-item.is-disconnected:before{background:#c8ccda}.profile-connection-main h3{color:var(--color-text-black);margin-bottom:4px;font-size:1rem;font-weight:700}.profile-connection-title{align-items:center;gap:8px;display:inline-flex}.profile-connection-icon{flex-shrink:0;width:18px;height:18px;display:inline-block}.profile-connection-icon--google{background-image:url(/icons/ic_google.svg);background-position:50%;background-repeat:no-repeat;background-size:contain}.profile-connection-icon--github{background-color:#14161f;-webkit-mask-image:url(/icons/ic_github.svg);mask-image:url(/icons/ic_github.svg);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.profile-connection-main p{color:#666b7d;font-size:.85rem;line-height:1.4}.profile-connection-status{flex-direction:column;align-items:flex-end;gap:6px;min-width:176px;display:flex}.profile-connection-status p{color:#666b7d;text-align:right;font-size:.78rem;line-height:1.3}.profile-connect-link{cursor:pointer;color:var(--color-red);white-space:nowrap;background:#fff;border:1px solid #d5d7e5;border-radius:999px;justify-content:center;align-items:center;padding:7px 12px;font-family:inherit;font-size:.8rem;font-weight:700;line-height:1;transition:all .2s;display:inline-flex}.profile-connect-link:hover{border-color:var(--color-red);background:var(--color-red);color:var(--color-white)}.profile-connection-badge{color:#5d6175;background:#f4f6ff;border:1px solid #d6d9e6;border-radius:999px;justify-content:center;align-items:center;padding:5px 11px;font-size:.75rem;font-weight:700;display:inline-flex}.profile-connection-item.is-connected .profile-connection-badge{color:#1c6a43;background:#e9faef;border-color:#add7bf}.profile-info-list{margin:0}.profile-info-list div{border-bottom:1px solid #f1f1f1;padding:10px 0}.profile-info-list div:first-child{padding-top:0}.profile-info-list div:last-child{border-bottom:none;padding-bottom:0}.profile-info-list dt{color:#666;margin-bottom:3px;font-size:.85rem}.profile-info-list dd{color:var(--color-text-black);word-break:break-word;margin:0;font-size:.94rem}.profile-subtitle{color:var(--color-text-black);margin-top:18px;margin-bottom:8px;font-size:.95rem}.profile-acquisition-list{margin:0;padding:0;list-style:none}.profile-acquisition-list li{border-bottom:1px solid #f1f1f1;justify-content:space-between;align-items:center;gap:10px;padding:8px 0;display:flex}.profile-acquisition-list li:last-child{border-bottom:none}.profile-acquisition-list span{color:#666;text-transform:capitalize;font-size:.88rem}.profile-acquisition-list strong{color:var(--color-text-black);word-break:break-word;text-align:right;font-size:.9rem}@media (max-width:950px){.profile-summary-grid,.profile-grid{grid-template-columns:1fr}}@media (max-width:640px){.profile-page{padding:22px}.profile-header-content{align-items:flex-start}.profile-header h1{font-size:1.6rem}.profile-course-item{flex-direction:column;align-items:flex-start}.profile-connection-item{flex-direction:column;padding:13px}.profile-connection-status{align-items:flex-start;min-width:0}.profile-connection-status p{text-align:left}.profile-courses-header{flex-direction:column;align-items:flex-start}.profile-course-link{width:100%}.profile-course-count-text{text-align:left}}.about-professor{background:linear-gradient(135deg,#f8f9fa 0%,#e9ecef 100%);margin-top:60px;padding:80px 0}.about-container{max-width:1200px;margin:0 auto;padding:0 40px}.about-content{text-align:center;max-width:800px;margin:0 auto;display:block}.about-text h2{color:var(--color-text-black);margin-bottom:20px;font-size:2.5rem;font-weight:700}.about-description{color:var(--color-text-light-black);margin-bottom:30px;font-size:1.1rem;line-height:1.8}.credentials{grid-template-columns:repeat(2,1fr);justify-items:center;gap:15px;max-width:600px;margin-bottom:40px;margin-left:auto;margin-right:auto;display:grid}.credential-item{color:var(--color-text-black);align-items:center;gap:10px;font-size:1rem;display:flex}.credential-icon{font-size:1.2rem}.about-actions{flex-wrap:wrap;justify-content:center;gap:20px;display:flex}.primary-cta{background:var(--color-red);color:#fff;border-radius:8px;padding:16px 28px;font-size:1rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-block}.primary-cta:hover{background:var(--color-red-second);transform:translateY(-2px)}.secondary-cta{color:var(--color-red);border:2px solid var(--color-red);background:0 0;border-radius:8px;padding:16px 28px;font-size:1rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-block}.secondary-cta:hover{background:var(--color-red);color:#fff;transform:translateY(-2px)}.features{background-color:#fff;margin-top:0;padding:60px 40px}.features h2{text-align:center;color:#333;margin-bottom:40px;font-size:2rem}.features-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:30px;max-width:1000px;margin:0 auto;display:grid}.feature{text-align:center;padding:20px}.feature h3{color:var(--color-text-black);margin-bottom:15px;font-size:1.2rem}.feature p{color:#666}.post-content{max-width:none}.post-header{border-bottom:1px solid #e0e0e0;margin-bottom:40px;padding-bottom:20px}.breadcrumb{color:#666;margin-bottom:15px;font-size:.9rem}.separator{margin:0 8px}.category-name{color:var(--color-text-black);font-weight:600}.post-header h1{color:#333;margin-bottom:10px;font-size:2.5rem;font-weight:700}.post-description{color:#666;font-size:1.1rem;font-style:italic}.markdown-content{font-size:16px;line-height:1.8}.content-h1{color:var(--color-text-black);border-bottom:2px solid var(--color-red);margin:30px 0 20px;padding-bottom:10px;font-size:2.2rem}.content-h2{color:var(--color-text-black);border-left:4px solid var(--color-red);margin:25px 0 15px;padding-left:10px;font-size:1.8rem}.content-h3{color:#333;margin:20px 0 10px;font-size:1.4rem}.content-h4{color:#333;margin:15px 0 8px;font-size:1.2rem}.content-paragraph{color:#333;margin-bottom:16px}.content-list,.content-ordered-list{margin:16px 0;padding-left:20px}.content-list-item{color:#333;margin-bottom:8px}.content-blockquote{color:#666;background-color:#f8f9fa;border-left:4px solid #04aa6d;margin:20px 0;padding:15px 20px;font-style:italic}.content-link{color:var(--color-red-second);background:var(--color-white);border-radius:5px;align-items:center;gap:6px;min-height:42px;font-weight:600;text-decoration:none;transition:background-color .18s;display:inline-flex}.content-link:hover{background:var(--color-gray)}.content-link:focus-visible{outline:2px solid var(--color-red-second);outline-offset:2px}.content-paragraph .content-link,.content-list-item .content-link,.content-blockquote .content-link{margin:0 2px}.content-bold{color:#333;font-weight:600}.content-italic{font-style:italic}.inline-code{color:#d63384;font-family:var(--font-jetbrains-mono),"Monaco","Consolas","Lucida Console",monospace;background-color:#f4f4f4;border:1px solid #e0e0e0;border-radius:3px;padding:2px 6px;font-size:.9em}.code-block{border:1px solid #e0e0e0!important;border-radius:5px!important;margin:20px 0!important;box-shadow:0 2px 10px #0000001a!important}.table-wrapper{margin:20px 0;overflow-x:auto}.content-table{border-collapse:collapse;border:1px solid #e0e0e0;width:100%}.table-header{text-align:left;background-color:#04aa6d;padding:12px;font-weight:600;transition:max-height .32s,box-shadow .25s,border-color .25s}.table-cell{border-bottom:1px solid #e0e0e0;border-right:1px solid #e0e0e0;padding:12px}.content-table tr:nth-child(2n){background-color:#f8f9fa}@media (max-width:768px){.hamburger-button{display:flex}.header-content{gap:15px;padding:1rem}.header-search{max-width:200px}.main-content{width:100%;margin-left:0}.content-wrapper{max-width:100%;padding:20px 15px 15px;overflow-x:hidden}.sidebar-mobile{width:100%;max-width:320px}.home-header h1{font-size:2rem}.categories-grid{grid-template-columns:1fr;padding:0 20px}.about-professor{padding:50px 0}.about-container{padding:0 20px}.about-content{text-align:center;max-width:100%}.about-text h2{font-size:2rem}.credentials{grid-template-columns:1fr;gap:12px}.about-actions{flex-direction:column;justify-content:center;align-items:center}.primary-cta,.secondary-cta{text-align:center;width:100%;max-width:280px}.features{padding:40px 20px}.features-grid{grid-template-columns:1fr}.post-header h1{font-size:2rem}.markdown-content{font-size:15px;line-height:1.7}.content-h1{word-wrap:break-word;overflow-wrap:break-word;margin:20px 0 15px;font-size:1.8rem}.content-h2{word-wrap:break-word;overflow-wrap:break-word;margin:20px 0 12px;padding-left:8px;font-size:1.5rem}.content-h3{word-wrap:break-word;overflow-wrap:break-word;margin:15px 0 8px;font-size:1.3rem}.content-h4{word-wrap:break-word;overflow-wrap:break-word;margin:12px 0 6px;font-size:1.1rem}.content-paragraph{word-wrap:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;margin-bottom:14px}.content-list,.content-ordered-list{margin:14px 0;padding-left:16px}.content-blockquote{word-wrap:break-word;overflow-wrap:break-word;margin:16px 0;padding:12px 16px}.inline-code{word-wrap:break-word;overflow-wrap:break-word;padding:1px 4px;font-size:.85em}.code-block{margin:16px 0!important;font-size:.85em!important;overflow-x:auto!important}.code-block pre{white-space:pre!important;padding:12px!important;overflow-x:auto!important}.table-wrapper{margin:16px -20px;padding:0 20px;overflow-x:auto}.content-table{min-width:100%;font-size:.9em}.table-header,.table-cell{padding:8px}.post-content *{box-sizing:border-box;max-width:100%}.post-content img{max-width:100%!important;height:auto!important}.post-content iframe{max-width:100%!important}}.content-toggle{border-left:4px solid var(--color-red);background:linear-gradient(180deg,var(--color-white)0%,var(--color-white-ghost-white)100%);max-height:56px;margin:18px 0;transition:max-height .72s,box-shadow .25s,border-color .25s;overflow:hidden}.content-toggle[open]{max-height:1200px;box-shadow:0 8px 20px #2a283614}.content-toggle-summary{cursor:pointer;color:var(--color-text-black);background:var(--color-white);align-items:center;gap:10px;padding:13px 14px;font-weight:600;list-style:none;transition:background-color .2s,color .2s;display:flex}.content-toggle-summary:hover{background:var(--color-gray)}.content-toggle-summary::-webkit-details-marker{display:none}.content-toggle-summary:before{content:"▸";background:var(--color-red);width:20px;height:20px;color:var(--color-white);border-radius:999px;justify-content:center;align-items:center;font-size:.75rem;line-height:1;transition:transform .24s;display:inline-flex}.content-toggle[open] .content-toggle-summary:before{transform:rotate(90deg)}.content-toggle>:not(summary){opacity:0;padding:12px 14px 14px;transition:opacity .2s,transform .2s;transform:translateY(-4px)}.content-toggle>:not(summary):last-child{margin-bottom:0}.content-toggle:not([open])>:not(summary){pointer-events:none;display:block}.content-toggle[open]>:not(summary){opacity:1;pointer-events:auto;transform:translateY(0)}.content-links-block{background:var(--color-white-ghost-white);margin:30px 0 12px;padding:8px;position:relative;overflow:hidden}.content-link:before{content:"";background:var(--color-red);width:4px;height:100%;margin-right:8px}.content-links-heading{color:var(--color-text-black);margin:4px 0 16px;font-size:1.2rem;font-weight:700;line-height:1.35}.content-links-grid{grid-template-columns:1fr;gap:12px;display:grid}.content-link-card{border:2px solid var(--color-light-gray);border-left:6px solid var(--color-red);background:linear-gradient(180deg,var(--color-white)0%,var(--color-white-ghost-white)100%);border-radius:12px;flex-direction:column;align-items:flex-start;gap:10px;min-height:82px;padding:12px 14px;transition:transform .2s,border-color .2s,box-shadow .2s,background-color .2s;display:flex;position:relative}.content-link-card:nth-child(2n){background:linear-gradient(180deg,var(--color-white)0%,var(--color-white-seasalt)100%)}.content-link-card:after{content:"→";color:var(--color-red);font-size:1rem;font-weight:700;transition:transform .2s;position:absolute;top:12px;right:12px}.content-link-card-icon{background:var(--color-red);width:24px;height:24px;color:var(--color-white);border-radius:100%;flex-shrink:0;justify-content:center;align-items:center;font-size:1rem;font-weight:700;display:inline-flex}.content-link-card-header{align-items:center;gap:8px;min-width:0;padding-right:22px;display:flex}.content-link-card-title{color:var(--color-text-black);font-size:.96rem;font-weight:600;line-height:1.35}.content-link-card-domain{color:var(--color-text-light-black);letter-spacing:.01em;text-transform:lowercase;opacity:.9;font-size:.86rem;font-weight:600;display:inline-block}@keyframes toggle-content-fade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.content-links-block{margin:22px 0 10px;padding:12px}.content-links-heading{font-size:1.08rem}.content-links-grid{grid-template-columns:1fr;gap:10px}.content-link-card{min-height:72px;padding:10px}.content-link-card:after{display:none}}.app-header{z-index:1000;background:var(--color-white);border-bottom:1px solid var(--color-light-gray);height:70px;position:fixed;top:0;left:0;right:0}.header-content{justify-content:center;align-items:center;gap:50px;max-width:100%;height:100%;padding:2rem;display:flex}.header-brand{align-items:center;display:flex}.header-logo{align-items:center;text-decoration:none;transition:transform .3s;display:flex}.header-logo:hover{transform:scale(1.05)}.header-logo-image{width:auto;max-width:200px}.header-search{flex:0 400px;max-width:400px}.header-auth{align-items:center;display:flex}.app-layout{padding-top:70px}.hamburger-button{z-index:1001;position:fixed;top:15px;left:15px}@media (max-width:1100px){.header-content{justify-content:space-between}.header-brand{flex:none;min-width:0}.header-logo-image{max-width:min(170px,100%);display:block}.hamburger-button{z-index:auto;flex:0 0 30px;position:relative;top:auto;left:auto}}.search-page{max-width:1200px;margin:0 auto;padding:2rem}.search-page-header{margin-bottom:2rem}.search-page-header h1{color:var(--color-text-black);margin-bottom:1.5rem;font-size:2.5rem;font-weight:700}.search-page-form{background:var(--color-white);border-radius:12px;padding:2rem;box-shadow:0 4px 12px #0000001a}.search-form-row{grid-template-columns:1fr auto auto;align-items:end;gap:1rem;display:grid}.search-form-group{flex-direction:column;display:flex}.search-page-input,.search-page-select{border:2px solid var(--color-light-gray);background:var(--color-white);border-radius:8px;padding:12px 16px;font-size:16px;transition:border-color .3s}.search-page-input:focus,.search-page-select:focus{border-color:var(--color-green);outline:none;box-shadow:0 0 0 3px #04aa6d1a}.search-page-button{background:var(--color-green);color:var(--color-white);cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:12px 24px;font-size:16px;font-weight:600;transition:all .3s}.search-page-button:hover:not(:disabled){background:var(--color-red-second);transform:translateY(-2px)}.search-page-button:disabled{opacity:.6;cursor:not-allowed}.search-results-info{background:var(--color-gray);border-left:4px solid var(--color-green);border-radius:8px;margin-bottom:2rem;padding:1rem}.search-results-info p{color:var(--color-text-light-black);margin:0;font-size:1rem}.search-loading-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}.loading-spinner-large{border:4px solid var(--color-light-gray);border-top:4px solid var(--color-green);border-radius:50%;width:40px;height:40px;margin-bottom:1rem;animation:1s linear infinite spin}.search-results-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem;margin-bottom:3rem;display:grid}.search-result-card{background:var(--color-white);border:1px solid var(--color-light-gray);border-radius:12px;transition:all .3s;overflow:hidden;box-shadow:0 4px 12px #0000001a}.search-result-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #00000026}.search-result-link{color:inherit;height:100%;padding:1.5rem;text-decoration:none;display:block}.search-result-card-header{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1rem;display:flex}.search-result-card-title{color:var(--color-text-black);flex:1;margin:0;font-size:1.25rem;font-weight:600;line-height:1.4}.search-result-card-title mark{background-color:var(--color-yellow-highlight);border-radius:3px;padding:2px 4px}.search-result-card-category{color:var(--color-green);white-space:nowrap;background:#04aa6d1a;border-radius:20px;padding:4px 12px;font-size:.875rem;font-weight:500}.search-result-card-description{color:var(--color-text-light-black);margin:0 0 1rem;font-size:1rem;line-height:1.6}.search-result-card-description mark{background-color:var(--color-yellow-highlight);border-radius:3px;padding:2px 4px}.search-result-card-excerpt{color:var(--color-dark-gray);margin:0 0 1rem;font-size:.875rem;font-style:italic;line-height:1.5}.search-result-card-excerpt mark{background-color:var(--color-yellow-highlight);border-radius:3px;padding:2px 4px;font-style:normal}.search-result-card-footer{border-top:1px solid var(--color-gray);justify-content:flex-end;padding-top:1rem;display:flex}.search-result-meta{justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.search-result-score{color:var(--color-dark-gray);font-size:.75rem;font-weight:500}.search-pagination{justify-content:center;align-items:center;gap:1rem;margin-top:3rem;display:flex}.pagination-button{background:var(--color-white);border:2px solid var(--color-light-gray);color:var(--color-text-black);cursor:pointer;border-radius:8px;padding:10px 16px;font-weight:500;transition:all .3s}.pagination-button:hover:not(:disabled){background:var(--color-green);color:var(--color-white);border-color:var(--color-green)}.pagination-button:disabled{opacity:.4;cursor:not-allowed}.pagination-numbers{align-items:center;gap:.5rem;display:flex}.pagination-number{background:var(--color-white);border:2px solid var(--color-light-gray);color:var(--color-text-black);cursor:pointer;border-radius:6px;min-width:40px;padding:8px 12px;font-weight:500;transition:all .3s}.pagination-number:hover{background:var(--color-gray)}.pagination-number.active{background:var(--color-green);color:var(--color-white);border-color:var(--color-green)}.pagination-ellipsis{color:var(--color-dark-gray);padding:0 8px;font-weight:700}.search-no-results-state,.search-empty-state{text-align:center;padding:4rem 2rem}.no-results-icon,.empty-state-icon{margin-bottom:1rem;font-size:4rem}.search-no-results-state h3,.search-empty-state h3{color:var(--color-text-black);margin-bottom:1rem;font-size:1.5rem}.search-no-results-state p,.search-empty-state p{color:var(--color-text-light-black);margin-bottom:2rem;font-size:1.1rem}.search-suggestions{background:var(--color-gray);text-align:left;border-radius:8px;max-width:400px;margin-top:2rem;margin-left:auto;margin-right:auto;padding:1.5rem}.search-suggestions h4{color:var(--color-text-black);margin-bottom:1rem;font-size:1.1rem}.search-suggestions ul{margin:0;padding:0;list-style:none}.search-suggestions li{color:var(--color-text-light-black);padding:.5rem 0 .5rem 1.5rem;position:relative}.search-suggestions li:before{content:"•";color:var(--color-green);font-weight:700;position:absolute;left:0}@media (max-width:768px){.search-page{padding:1rem}.search-page-header h1{font-size:2rem}.search-form-row,.search-results-grid{grid-template-columns:1fr;gap:1rem}.search-result-card-header{flex-direction:column;align-items:flex-start;gap:.5rem}.pagination-numbers{flex-wrap:wrap;justify-content:center}.search-pagination{flex-direction:column;gap:1rem}}
