*{box-sizing:border-box;margin:0;padding:0}:root{--bg-main:hsl(35,50%,97%);--bg-offset:hsl(35,40%,99%);--bg-subtle-accent:hsl(35,30%,94%);--primary-text-color:hsl(220,25%,20%);--secondary-text-color:hsl(220,15%,45%);--accent-color:hsl(195,55%,40%);--accent-color-darker:hsl(195,55%,30%);--accent-color-lighter:hsl(195,55%,50%);--accent-text-color:hsl(0,0%,98%);--border-color-soft:hsl(220,20%,88%);--border-color-medium:hsl(220,20%,75%);--shadow-color-soft:rgba(40,50,70,0.08);--shadow-color-medium:rgba(40,50,70,0.12);--shadow-color-strong:rgba(40,50,70,0.18);--primary-error-color:var( --accent-color-darker) --font-family-main:"Segoe UI","Helvetica Neue",Arial,sans-serif;--font-family-headings:"Georgia","Times New Roman",serif;--font-family-title-bar:"Palatino Linotype","Book Antiqua",Palatino,serif;--font-size-base:17px;--font-size-small:0.88rem;--font-size-tiny:0.78rem;--font-size-large:1.2rem;--font-size-xl:1.5rem;--font-size-xxl:2rem;--font-weight-normal:400;--font-weight-semibold:600;--font-weight-bold:700;--line-height-base:1.6;--line-height-heading:1.3;--spacing-unit:8px;--border-radius-soft:6px;--border-radius-medium:10px;--border-radius-large:18px;--success-color:var(--accent-color-darker);--transition-speed:0.25s;--transition-timing:ease-in-out}body{font-family:var(--font-family-main);font-size:var(--font-size-base);color:var(--primary-text-color);background-color:var(--bg-main);height:100vh;height:100dvh;line-height:var(--line-height-base)}.top-level-div,body{margin:0;padding:0;overflow:hidden}.top-level-div{height:100%;width:100%;display:flex;flex-direction:column;min-height:0}section-title-text{display:block;padding:calc(var(--spacing-unit) * 2) calc(var(--spacing-unit) * 3);color:var(--primary-text-color);font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);font-family:var(--font-family-headings);margin-bottom:var(--spacing-unit) * 2;border-bottom:1px solid var(--border-color-soft);line-height:var(--line-height-heading)}.button-list-ui::-webkit-scrollbar,.content-ui::-webkit-scrollbar{width:10px}.button-list-ui::-webkit-scrollbar-track,.content-ui::-webkit-scrollbar-track{background:hsl(0,0%,92%);border-radius:10px}.button-list-ui::-webkit-scrollbar-thumb,.content-ui::-webkit-scrollbar-thumb{background:var(--border-color-medium);border-radius:10px;border:2px solid hsl(0,0%,92%)}.button-list-ui::-webkit-scrollbar-thumb:hover,.content-ui::-webkit-scrollbar-thumb:hover{background:var(--secondary-text-color)}.top-level-playable-ui{display:flex;flex-direction:row;flex-grow:1;overflow:hidden;padding:calc(var(--spacing-unit) * 2);gap:calc(var(--spacing-unit) * 2)}.button-list-ui{flex:0 0 320px;overflow-y:auto;padding-right:var(--spacing-unit);padding-top:var(--spacing-unit)}.content-divider{width:1px;background-color:var(--border-color-soft);flex-shrink:0}.content-top-level-ui{flex:1 1 auto;display:flex;flex-direction:column;overflow-y:auto}.content-ui{flex-grow:1;overflow-y:auto;padding-left:var(--spacing-unit)}.markdown-body{white-space:normal}.trademark-ui{display:block;text-align:center;padding:calc(var(--spacing-unit) * 2);font-size:var(--font-size-small)}.button-list-loading{padding:var(--spacing-unit) * 2;width:330px;box-sizing:border-box;display:flex;justify-content:center;align-items:center;color:var(--secondary-text-color);font-style:italic}.button-list{padding:0;box-sizing:border-box}menu-button-group ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * 1.5)}.menu-button-link{text-decoration:none;display:block}.menu-button{display:flex;align-items:center;justify-content:space-between;padding:calc(var(--spacing-unit) * 2);cursor:pointer;width:100%;min-height:auto;background-color:#fff;color:var(--primary-text-color);border:1px solid var(--border-color-soft);border-radius:var(--border-radius-medium);text-align:left;transition:all .2s ease;position:relative;overflow:hidden;box-shadow:0 2px 4px var(--shadow-color-soft)}.menu-button:before{display:none}.menu-button>:first-child{flex:1;min-width:0}.menu-button-text-group{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px}.menu-button-checkbox{margin-left:var(--spacing-unit);width:24px;height:24px;border:2px solid var(--border-color-medium);border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:transparent;font-size:14px;font-weight:700;transition:all .2s ease;background-color:transparent;opacity:0}.menu-button-checkbox.completed{background-color:var(--success-color);border-color:var(--success-color);color:white;box-shadow:0 2px 4px rgba(76,175,80,.3);opacity:1}.menu-button,.menu-button *,.menu-button-link,a.menu-button-link{cursor:pointer!important}.menu-button:hover{transform:translateY(-2px);box-shadow:0 8px 16px var(--shadow-color-medium);border-color:var(--accent-color-lighter);background-color:#fff}.menu-button:after{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background-color:var(--accent-color);opacity:0;transition:opacity .2s ease}.menu-button:hover:after{opacity:1}.menu-button.available,a.menu-button-link>menu-button.available{background-color:#fff}.menu-button.unavailable{background-color:var(--bg-subtle-accent);color:var(--secondary-text-color);opacity:.8;box-shadow:none}.menu-button.unavailable:hover{transform:none;box-shadow:none;border-color:var(--border-color-soft)}.menu-button.unavailable:hover:after{opacity:0}.menu-button-period{display:block;font-size:var(--font-size-tiny);color:var(--accent-color);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:.5px;line-height:1.2}.menu-button-title{font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);color:var(--primary-text-color);line-height:1.3}.menu-button.back-button{justify-content:center;align-items:center;background-color:var(--bg-offset)}.menu-button.back-button .menu-button-text-group{align-items:center}.menu-button.back-button:hover:after{display:none}.back-button-text{width:100%;text-align:center;font-weight:600;color:var(--secondary-text-color)}.content{background-color:var(--bg-offset);padding:calc(var(--spacing-unit) * 3) calc(var(--spacing-unit) * 4);white-space:pre-wrap;border-radius:var(--border-radius-medium);border:1px solid var(--border-color-soft);min-height:100%;box-shadow:0 2px 8px var(--shadow-color-soft)}.content h1{font-size:var(--font-size-xxl)}.content h2{font-size:var(--font-size-xl)}.content h3{font-size:var(--font-size-large)}.content h4{font-size:1.05rem}.content h1,.content h2,.content h3,.content h4{font-family:var(--font-family-headings);color:var(--primary-text-color);margin-bottom:var(--spacing-unit) * 1.5;line-height:var(--line-height-heading)}.content p{margin-bottom:calc(var(--spacing-unit) * 2);line-height:var(--line-height-base)}.content ol,.content ul{margin-left:calc(var(--spacing-unit) * 3);margin-bottom:var(--spacing-unit);padding-left:var(--spacing-unit)}.content li{margin-bottom:calc(var(--spacing-unit) * .5);line-height:var(--line-height-base)}.content ul{list-style-type:disc}.content ol{list-style-type:decimal}.content ol ul,.content ul ul{list-style-type:circle;margin-top:calc(var(--spacing-unit) * .5)}.content ul ol,.content.ol ol{list-style-type:lower-alpha;margin-top:calc(var(--spacing-unit) * .5)}.content a{color:var(--accent-color);text-decoration:none;font-weight:var(--font-weight-semibold)}.content a:hover{color:var(--accent-color-darker);text-decoration:underline}.navigation-container{padding:calc(var(--spacing-unit) * 1.5) calc(var(--spacing-unit) * 3);background-color:var(--bg-offset);border-top:1px solid var(--border-color-soft);margin-top:auto;box-shadow:0 -1px 3px var(--shadow-color-soft)}.navigation-container,.navigation-container>div{width:100%;display:flex;justify-content:space-between;align-items:center}.navigation-container>div{flex-grow:1}.navigation-buttons-center{display:flex;justify-content:center;align-items:center;gap:var(--spacing-unit) * 1.5}navigation-button{cursor:pointer;border:1px solid var(--accent-color);color:var(--accent-color);background-color:transparent;padding:calc(var(--spacing-unit)*.9) calc(var(--spacing-unit) * 2);text-align:center;text-decoration:none;display:inline-block;font-size:var(--font-size-small);font-weight:var(--font-weight-semibold);border-radius:var(--border-radius-soft);transition:background-color var(--transition-speed) var(--transition-timing),color var(--transition-speed) var(--transition-timing),transform var(--transition-speed) var(--transition-timing);white-space:nowrap}navigation-button:hover{transform:translateY(-1px);box-shadow:0 1px 4px var(--shadow-color-soft)}navigation-button.inverted,navigation-button:hover{background-color:var(--accent-color);color:var(--accent-text-color)}navigation-button.inverted{border-color:var(--accent-color)}navigation-button.inverted:hover{background-color:transparent;color:var(--accent-color);transform:translateY(-1px);box-shadow:0 1px 4px var(--shadow-color-soft)}.content img{max-width:100%;height:auto;border-radius:var(--border-radius-soft);margin:var(--spacing-unit) 0;box-shadow:0 2px 6px var(--shadow-color-soft)}.content blockquote{border-left:3px solid var(--accent-color);margin:calc(var(--spacing-unit)*2) 0 calc(var(--spacing-unit)*2) calc(var(--spacing-unit)*2);padding:var(--spacing-unit) calc(var(--spacing-unit)*2);background-color:var(--bg-subtle-accent);color:var(--secondary-text-color);font-style:italic;border-radius:0 var(--border-radius-soft) var(--border-radius-soft) 0}.content code,.content pre{font-family:Courier New,Courier,monospace;background-color:var(--bg-subtle-accent);padding:calc(var(--spacing-unit)*.25) calc(var(--spacing-unit)*.75);border-radius:var(--border-radius-soft);font-size:var(--font-size-small);border:1px solid var(--border-color-soft)}.content pre{padding:var(--spacing-unit)*1.5;overflow-x:auto;white-space:pre}.references-section{margin-top:calc(var(--spacing-unit) * 4);padding-top:calc(var(--spacing-unit) * 3);border-top:2px solid var(--border-color-soft)}.references-section h2{font-family:var(--font-family-headings);font-size:var(--font-size-large);color:var(--primary-text-color);margin-bottom:var(--spacing-unit) * 2}.references-list{list-style-position:outside;padding-left:calc(var(--spacing-unit) * 3);margin:0}.reference-item{margin-bottom:var(--spacing-unit) * 1.5;line-height:var(--line-height-base);font-size:var(--font-size-small);color:var(--secondary-text-color)}.reference-title{font-weight:var(--font-weight-semibold);color:var(--primary-text-color)}.reference-link{color:var(--accent-color);text-decoration:none;word-break:break-word}.reference-link:hover{color:var(--accent-color-darker);text-decoration:underline}.reference-date{font-style:italic;color:var(--secondary-text-color)}.quiz-section{margin-top:calc(var(--spacing-unit) * 4);padding-top:calc(var(--spacing-unit) * 3);border-top:2px solid var(--border-color-soft)}.quiz-section h2{font-family:var(--font-family-headings);font-size:var(--font-size-large);color:var(--primary-text-color);margin-bottom:var(--spacing-unit) * 2}.quiz-question-container{margin-bottom:calc(var(--spacing-unit) * 3);background-color:var(--bg-main);padding:calc(var(--spacing-unit) * 2);border-radius:var(--border-radius-soft);border:1px solid var(--border-color-soft)}.quiz-question-text{font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-unit) * 1.5}.quiz-options{display:flex;flex-direction:column;gap:var(--spacing-unit)}.quiz-option{padding:var(--spacing-unit) calc(var(--spacing-unit) * 1.5);border:1px solid var(--border-color-medium);border-radius:var(--border-radius-soft);cursor:pointer;transition:all .2s ease;background-color:var(--bg-offset)}.quiz-option:hover{background-color:var(--bg-subtle-accent);border-color:var(--accent-color-lighter)}.quiz-option.selected{background-color:var(--bg-subtle-accent);border-color:var(--accent-color);box-shadow:0 0 0 1px var(--accent-color)}.quiz-option.correct{background-color:rgba(76,175,80,.1);border-color:#4CAF50;color:#2E7D32}.quiz-option.incorrect{background-color:rgba(244,67,54,.1);border-color:#F44336;color:#C62828}.option-marker{font-weight:700;margin-right:var(--spacing-unit)}.quiz-explanation{margin-top:var(--spacing-unit);padding:var(--spacing-unit);background-color:var(--bg-subtle-accent);border-radius:var(--border-radius-soft);font-size:var(--font-size-small);color:var(--secondary-text-color)}.quiz-submit-button{background-color:var(--accent-color);color:var(--accent-text-color);border:none;padding:calc(var(--spacing-unit) * 1.5) calc(var(--spacing-unit) * 3);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);border-radius:var(--border-radius-soft);cursor:pointer;transition:background-color .2s;display:block;margin:0 auto}.quiz-submit-button:hover{background-color:var(--accent-color-darker)}.edit-dropdown-menu{position:absolute;bottom:calc(100% + 8px);left:0;background-color:var(--bg-offset,#ffffff);border:1px solid var(--border-color-soft,#e2e8f0);border-radius:var(--border-radius-medium,12px);box-shadow:0 10px 25px -5px rgba(0,0,0,.12),0 8px 10px -6px rgba(0,0,0,.08);padding:6px;min-width:260px;z-index:2000;animation:fadeIn .18s ease-out;margin-top:8px;box-sizing:border-box}.edit-dropdown-header{padding:8px 12px 6px;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--secondary-text-color,#64748b);border-bottom:1px solid var(--border-color-soft,#f1f5f9);margin-bottom:4px}.edit-dropdown-item{width:100%;justify-content:space-between;padding:9px 12px;background:transparent;border:none;border-radius:8px;cursor:pointer;font-size:.9rem;font-family:inherit;font-weight:500;color:var(--primary-text-color,#1e293b);transition:all .15s ease;text-align:left;box-sizing:border-box;user-select:none}.edit-dropdown-item,.edit-item-left{display:flex;align-items:center;gap:10px}.edit-item-icon{font-size:1rem;display:inline-flex;align-items:center;justify-content:center;width:20px;flex-shrink:0}.edit-credit-badge{font-size:.72rem;font-weight:600;color:var(--accent-color,#0284c7);background-color:var(--bg-subtle-accent,#f0f9ff);padding:2px 7px;border-radius:12px;border:1px solid rgba(2,132,199,.15);white-space:nowrap}.edit-dropdown-divider{height:1px;background-color:var(--border-color-soft,#e2e8f0);margin:5px 0}.edit-dropdown-item:hover{background-color:var(--bg-subtle-accent,#f8fafc);color:var(--accent-color,#0284c7)}.edit-dropdown-item-danger{color:#dc2626!important}.edit-dropdown-item-danger:hover{background-color:#fef2f2!important;color:#b91c1c!important}.edit-dropdown-item.disabled{opacity:.45;cursor:not-allowed}.edit-dropdown-item.disabled:hover{background-color:transparent;color:var(--primary-text-color)}@media (max-width:768px){.top-level-playable-ui{flex-direction:column;padding:0;gap:0}.top-level-playable-ui.show-content-view .button-list-ui,.top-level-playable-ui.show-list-view .content-divider,.top-level-playable-ui.show-list-view .content-top-level-ui{display:none}.button-list-ui{flex:1;padding:calc(var(--spacing-unit) * 2);padding-top:var(--spacing-unit);padding-right:calc(var(--spacing-unit) * 3);width:100%}.content-top-level-ui{flex:1;padding:var(--spacing-unit) * 2;width:100%}.navigation-container{padding:var(--spacing-unit) calc(var(--spacing-unit) * 2)}.navigation-container>div{gap:var(--spacing-unit)}navigation-button{padding:calc(var(--spacing-unit) * .8) calc(var(--spacing-unit) * 1.5);font-size:.82rem}.menu-button-checkbox{margin-right:0}:root{--font-size-base:16px;--font-size-large:1.1rem;--font-size-xl:1.35rem;--font-size-xxl:1.8rem;--font-size-small:0.85rem}.content h4{font-size:1rem}}@media (max-width:480px){.navigation-container{padding:var(--spacing-unit) calc(var(--spacing-unit) * 1.5)}.navigation-container>div{gap:calc(var(--spacing-unit) * .75)}navigation-button{padding:calc(var(--spacing-unit) * .65) var(--spacing-unit);font-size:var(--font-size-tiny)}:root{--font-size-base:15px;--font-size-large:1.0rem;--font-size-xl:1.2rem;--font-size-xxl:1.5rem;--font-size-small:0.82rem;--font-size-tiny:0.75rem}.content h4{font-size:.9rem}}.courses-page-wrapper{padding:calc(var(--spacing-unit) * 4);flex:1;display:flex;flex-direction:column;max-width:1200px;margin:0 auto;width:100%}.courses-header{text-align:center;margin-bottom:calc(var(--spacing-unit) * 3);animation:fadeIn .8s ease-out}.courses-header h1{font-size:var(--font-size-xxl);color:var(--accent-color);margin-bottom:var(--spacing-unit);font-family:var(--font-family-headings)}.courses-header p{color:var(--secondary-text-color);font-size:var(--font-size-large);max-width:600px;margin:0 auto;line-height:1.5}.courses-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:calc(var(--spacing-unit) * 4);width:100%;animation:slideUp .6s ease-out}.course-card-link{text-decoration:none;color:inherit;display:block;height:100%}.course-card{background-color:var(--bg-offset);border:1px solid var(--border-color-soft);border-radius:var(--border-radius-large);padding:0;height:100%;display:flex;flex-direction:column;transition:transform var(--transition-speed) var(--transition-timing),box-shadow var(--transition-speed) var(--transition-timing),border-color var(--transition-speed) var(--transition-timing);box-shadow:0 4px 6px var(--shadow-color-soft);position:relative;overflow:hidden}.course-card:hover{transform:translateY(-6px);box-shadow:0 12px 24px var(--shadow-color-medium);border-color:var(--accent-color-lighter);background-color:#fff}.course-card:before{display:none}.course-card-content{padding:calc(var(--spacing-unit) * 3);display:flex;flex-direction:column;flex-grow:1}.course-card-title{font-family:var(--font-family-headings);font-size:var(--font-size-large);color:var(--primary-text-color);margin-bottom:var(--spacing-unit);margin-top:0;line-height:1.3}.course-card-period{font-size:var(--font-size-tiny);color:var(--accent-color);font-weight:var(--font-weight-bold);text-transform:uppercase;letter-spacing:1px;margin-bottom:calc(var(--spacing-unit) * 1)}.course-card-description{color:var(--secondary-text-color);font-size:var(--font-size-base);line-height:1.6;flex-grow:1;margin-bottom:calc(var(--spacing-unit) * 2);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.course-card-footer{margin-top:auto;padding-top:0;border-top:none;display:flex;justify-content:space-between;align-items:center;color:var(--accent-color);font-weight:var(--font-weight-semibold);font-size:var(--font-size-small);opacity:1;transition:all var(--transition-speed) ease}.course-card:hover .course-card-footer{color:var(--accent-color-darker)}.course-card-footer span{display:inline-block;transition:transform .2s ease}.course-card:hover .course-card-footer span{transform:translateX(4px)}.course-card-image-container{width:100%;height:200px;background-color:var(--bg-subtle-accent);margin-bottom:0;border-bottom:1px solid var(--border-color-soft);overflow:hidden;flex-shrink:0}.course-card-image{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.course-card:hover .course-card-image{transform:scale(1.05)}.course-card-play-btn{position:absolute;top:10px;left:10px;width:38px;height:38px;border-radius:50%;background-color:var(--accent-color);border:none;color:var(--accent-text-color);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:3;opacity:.5;transition:opacity .15s ease,transform .15s ease,background-color .15s ease}.course-card:hover .course-card-play-btn{opacity:1}.course-card-play-btn:hover{transform:scale(1.15);background-color:var(--accent-color-darker)}.course-card-generating{position:relative;overflow:hidden;border-color:var(--accent-color)}.course-card-generating .course-card-image-container{position:relative;background:linear-gradient(100deg,var(--bg-subtle-accent) 30%,var(--bg-offset) 50%,var(--bg-subtle-accent) 70%);background-size:200% 100%;animation:courseGeneratingShimmer 1.6s ease-in-out infinite}@keyframes courseGeneratingShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.course-card-generating .course-card-period{display:inline-flex;align-items:center;gap:6px}.course-card-generating .course-card-period:before{content:"";width:7px;height:7px;border-radius:50%;background-color:var(--accent-color);animation:courseGeneratingPulse 1.2s ease-in-out infinite}@keyframes courseGeneratingPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.75)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (max-width:768px){.courses-page-wrapper{padding:calc(var(--spacing-unit) * 2)}.courses-grid{grid-template-columns:1fr;gap:calc(var(--spacing-unit) * 2)}.courses-header{margin-bottom:calc(var(--spacing-unit) * 3)}.courses-header h1{font-size:var(--font-size-xl)}.courses-header p{font-size:var(--font-size-base)}}.courses-nav-container{display:flex;justify-content:center;margin-bottom:calc(var(--spacing-unit) * 4);border-bottom:1px solid var(--border-color-soft);padding-bottom:1px}.courses-nav-tab{background:transparent;border:none;padding:var(--spacing-unit) calc(var(--spacing-unit) * 3);font-family:var(--font-family-headings);font-size:var(--font-size-large);color:var(--secondary-text-color);cursor:pointer;position:relative;transition:color .2s ease;margin:0 var(--spacing-unit)}.courses-nav-tab:hover{color:var(--primary-text-color)}.courses-nav-tab.active{color:var(--accent-color);font-weight:var(--font-weight-bold)}.courses-nav-tab.active:after{content:"";position:absolute;bottom:-2px;left:0;width:100%;height:3px;background-color:var(--accent-color);border-radius:3px 3px 0 0;animation:fadeIn .3s ease}@media (max-width:480px){.courses-nav-tab{font-size:var(--font-size-base);padding:var(--spacing-unit) calc(var(--spacing-unit) * 1.5)}}.payment-status-wrapper{justify-content:center;min-height:60vh;padding:calc(var(--spacing-unit) * 3);animation:fadeIn .5s ease-out}.payment-status-card,.payment-status-wrapper{display:flex;flex-direction:column;align-items:center}.payment-status-card{max-width:480px;width:100%;text-align:center;padding:calc(var(--spacing-unit) * 5);gap:calc(var(--spacing-unit) * 2.5);background-color:var(--bg-offset);border:1px solid var(--border-color-soft);border-radius:var(--border-radius-large);box-shadow:0 8px 24px var(--shadow-color-medium)}.payment-status-icon{font-size:3rem;margin-bottom:var(--spacing-unit);line-height:1}.payment-status-title{font-family:var(--font-family-headings);font-size:var(--font-size-xxl);margin:0;line-height:1.2}.payment-status-title.success{color:var(--success-color)}.payment-status-title.error{color:var(--error-color)}.payment-status-title.cancelled{color:var(--secondary-text-color)}.payment-status-message{font-size:var(--font-size-large);color:var(--primary-text-color);line-height:1.6;margin:0}.payment-action-link{width:100%;text-decoration:none;display:block}.payment-action-button{width:100%;margin-top:var(--spacing-unit);padding:calc(var(--spacing-unit) * 1.5);font-size:var(--font-size-base);font-weight:var(--font-weight-semibold);border-radius:var(--border-radius-soft);cursor:pointer;border:none;background-color:var(--accent-color);color:var(--accent-text-color);transition:all .2s ease;box-shadow:0 2px 4px var(--shadow-color-soft)}.payment-action-button:hover{background-color:var(--accent-color-darker);transform:translateY(-1px);box-shadow:0 4px 8px var(--shadow-color-medium)}.payment-action-button.secondary{background-color:var(--bg-main);color:var(--secondary-text-color);border:1px solid var(--border-color-medium)}.payment-action-button.secondary:hover{background-color:var(--bg-subtle-accent);color:var(--primary-text-color);border-color:var(--border-color-soft);box-shadow:0 2px 4px var(--shadow-color-soft)}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:5000;backdrop-filter:blur(2px);animation:fadeIn .2s ease-out}.modal-box{background-color:var(--bg-offset);border:1px solid var(--border-color-soft);border-radius:var(--border-radius-medium);padding:calc(var(--spacing-unit) * 3);max-width:400px;width:90%;box-shadow:0 8px 24px var(--shadow-color-strong);display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * 2);animation:slideUp .2s ease-out}.modal-title{font-family:var(--font-family-headings);font-size:var(--font-size-large);color:var(--primary-text-color);margin:0;text-align:center}.modal-message{font-size:var(--font-size-base);color:var(--secondary-text-color);line-height:1.5;margin:0;text-align:center}.modal-actions{display:flex;justify-content:center;gap:var(--spacing-unit);margin-top:var(--spacing-unit)}.modal-btn{padding:8px 16px;border-radius:var(--border-radius-soft);font-weight:var(--font-weight-semibold);font-size:var(--font-size-small);cursor:pointer;transition:all .2s ease;border:1px solid transparent}.modal-btn.primary{background-color:var(--accent-color);color:var(--accent-text-color)}.modal-btn.primary:hover{background-color:var(--accent-color-darker)}.modal-btn.secondary{background-color:transparent;color:var(--secondary-text-color);border-color:var(--border-color-medium)}.modal-btn.secondary:hover{background-color:var(--bg-subtle-accent);color:var(--primary-text-color)}.channel-banner-inner{display:flex;flex-direction:row;align-items:flex-start;gap:16px}.channel-icon-placeholder.skeleton{background-color:#e0e0e0;color:transparent!important;border:none!important}.channel-skeleton-bar{background-color:#e0e0e0;border-radius:4px}.channel-skeleton-logo-text{height:36px;width:100%;margin-top:12px}.channel-info-skeleton-container{gap:10px;flex:1;min-width:0;display:flex;flex-direction:column}.channel-skeleton-title{height:32px;width:200px}.channel-skeleton-desc{height:20px;width:300px}.channel-owner-text{color:var(--accent-color);font-weight:700;font-size:.8rem;text-align:center}.channel-login-text{font-size:.8rem;color:#666;text-align:center}.channel-subscribe-spacer{width:100px;height:32px}.channel-info-content{flex:1;min-width:0;position:relative}.channel-header-controls{position:absolute;top:0;right:0;display:flex;align-items:center;gap:12px}.edit-description-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;min-width:38px;min-height:38px;padding:0;background-color:var(--bg-offset,#ffffff);border:1px solid var(--border-color-soft,#e2e8f0);border-radius:50%;cursor:pointer;color:var(--accent-color,#0284c7);box-shadow:0 1px 3px var(--shadow-color-soft,rgba(0,0,0,.06));transition:all .2s ease;opacity:1;outline:none;box-sizing:border-box;position:relative;user-select:none}.edit-description-btn svg{width:18px;height:18px;display:block;transition:transform .2s ease}.edit-description-btn:hover{background-color:var(--bg-subtle-accent,#f0f9ff);border-color:var(--accent-color-lighter,#38bdf8);color:var(--accent-color,#0284c7);transform:translateY(-1px);box-shadow:0 4px 8px var(--shadow-color-medium,rgba(0,0,0,.1))}.edit-description-btn:hover svg{transform:scale(1.08)}.edit-description-btn.active,.edit-description-btn:active{background-color:var(--accent-color,#0284c7);color:#ffffff;border-color:var(--accent-color,#0284c7);box-shadow:0 2px 4px rgba(0,0,0,.15);transform:translateY(0)}.edit-description-btn.active svg,.edit-description-btn:active svg{color:#ffffff}.edit-description-btn:focus-visible{box-shadow:0 0 0 2px var(--bg-offset,#ffffff),0 0 0 4px var(--accent-color,#0284c7)}.description-editor-container{margin-top:10px}.description-editor-textarea{width:100%;padding:8px;border-radius:6px;border:1px solid var(--border-color-medium);font-family:inherit;resize:vertical}.description-editor-actions{display:flex;gap:10px;margin-top:8px}.btn-save{background-color:var(--accent-color);color:white;border:none;border-radius:4px}.btn-cancel,.btn-save{padding:6px 14px;cursor:pointer;font-size:.9rem}.btn-cancel{background-color:transparent;color:var(--primary-text-color);border:1px solid var(--border-color-medium);border-radius:4px}.channel-description-scroll{white-space:pre-wrap;max-height:120px;overflow-y:auto;padding-right:8px}.btn-edit-icon{background:none;border:none;margin-left:8px;cursor:pointer;font-size:.9rem;opacity:.7}.generator-controls-container{display:flex;gap:15px;width:100%;justify-content:center;max-width:600px}.generator-form{display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * 2.5)}.generator-form-group{display:flex;flex-direction:column;gap:calc(var(--spacing-unit) * .5);text-align:left}.generator-form-group label{font-weight:var(--font-weight-semibold);font-size:var(--font-size-small);color:var(--primary-text-color)}.generator-input,.generator-textarea{padding:12px;border:1px solid var(--border-color-medium);border-radius:var(--border-radius-soft);font-family:inherit;font-size:var(--font-size-base);transition:border-color .2s,box-shadow .2s;background-color:#fff;width:100%}.generator-input:focus,.generator-textarea:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px var(--bg-subtle-accent)}.generator-textarea{min-height:100px;resize:vertical}.generator-checkbox-group{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;margin-top:5px}.generator-checkbox-label{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:.95rem;cursor:pointer}.generator-status{margin-top:10px;font-weight:700;color:var(--accent-color);text-align:center}.upload-box{padding:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;border:2px dashed var(--border-color-medium);border-radius:var(--border-radius-soft);background-color:var(--bg-offset);min-height:100px;transition:all .2s;position:relative;overflow:hidden}.upload-box.drag-active,.upload-box:hover{border-color:var(--accent-color);background-color:var(--bg-subtle-accent)}.upload-preview{display:flex;align-items:center;gap:15px;width:100%}.upload-preview-img{width:60px;height:60px;border-radius:50%;object-fit:cover;border:2px solid #fff;box-shadow:0 2px 5px rgba(0,0,0,.1);background-color:#eee}.upload-placeholder{text-align:center;color:var(--secondary-text-color);display:flex;flex-direction:column;align-items:center;gap:5px}.upload-icon{font-size:24px;opacity:.7}.courses-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:calc(var(--spacing-unit) * 8);color:var(--secondary-text-color);font-style:italic;width:100%;min-height:200px}.loading-spinner{width:48px;height:48px;border-top:4px solid var(--bg-subtle-accent);border:4px solid var(--bg-subtle-accent);border-top-color:var(--accent-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}