.content{display:flex;flex-direction:column;flex-grow:1;padding:0;background-color:var(--viewer-bg);overflow:hidden;box-sizing:border-box;position:relative;min-height:calc(100vh - var(--header-height) - var(--footer-height))}.viewer-top-bar{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;background-color:var(--viewer-bg);border-bottom:1px solid var(--border-color);flex-shrink:0;color:var(--text-color)}.unit-title{margin:0;font-size:1.5rem;font-weight:700;color:var(--text-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60%}.viewer-controls{display:flex;align-items:center;gap:10px}.control-btn{background:var(--bg-color);border:1px solid var(--border-color);border-radius:4px;padding:5px 10px;cursor:pointer;font-size:.9rem;color:var(--text-color)}.control-btn:hover{background:var(--hover-color)}.control-select{padding:5px;border-radius:4px;border:1px solid var(--border-color);background:var(--bg-color);color:var(--text-color)}.scroll-container{flex:1;overflow-y:auto;display:flex;flex-direction:column;padding:2rem}.markdown{flex:0 0 auto;overflow-y:visible;position:relative;min-height:0;transition:font-size .2s,font-family .2s}.markdown img{display:block;margin:.625rem auto;max-width:100%;height:auto;border-radius:.375rem;box-shadow:0 0 .3125rem #0000001a}.markdown h1,.markdown h2,.markdown h3{margin-top:1.5rem;margin-bottom:.5rem}.markdown p{margin-bottom:1.5rem}.nav-buttons{position:static;margin:2rem 0;display:flex;justify-content:space-between;align-items:center;z-index:10;padding:0;background:none;opacity:0;transition:opacity .3s}.nav-buttons.visible{opacity:1;pointer-events:auto}.nav-buttons button{pointer-events:auto;background:var(--profile-b, #2f3e46);color:var(--white, #fff);border:none;border-radius:4px;padding:.35rem .9rem;font-size:.95rem;display:flex;align-items:center;gap:.4rem;box-shadow:0 1px 4px #2f3e461a;cursor:pointer;transition:background .18s,box-shadow .18s,transform .1s;min-width:80px;opacity:1}.nav-buttons button:hover:not(:disabled){background:var(--secondary-color, #3e5053);box-shadow:0 2px 8px #2f3e4626;transform:translateY(-1px) scale(1.02)}.nav-buttons button:active:not(:disabled){background:var(--primary-color, #2f3e46);transform:scale(.97)}.nav-buttons button:disabled,.nav-buttons button.hidden{opacity:.5;pointer-events:none;visibility:hidden}.next-unit-btn{background:var(--accent-color, #4caf50);color:#fff;border:none;border-radius:5px;padding:.5rem 1.5rem;font-size:1rem;cursor:pointer;box-shadow:0 1px 4px #2f3e461a;position:absolute;left:50%}.page-indicator{margin:0 0 2.2rem;font-size:1rem;color:#6f6e6ec9;text-align:right;position:relative;z-index:11}.sidebar{width:15rem;background-color:var(--primary-color);color:var(--white);padding:1.25rem;box-shadow:.125rem 0 .625rem #00000026;overflow-y:auto;overflow-x:hidden;flex-shrink:0;scrollbar-width:none;-ms-overflow-style:none;transition:transform .3s ease;position:relative}.sidebar-close-btn{display:none;position:absolute;top:10px;right:10px;background:none;border:none;color:var(--white);font-size:1.5rem;cursor:pointer;z-index:10002}@media(max-width:900px){.sidebar-close-btn{display:block}}.sidebar.hidden{transform:translate(-100%);transition:transform .3s ease}.sidebar::-webkit-scrollbar{display:none}.sidebar h2{font-size:1.125rem;margin-bottom:1rem;color:#ddd}.icons-section{position:relative;background-color:var(--profile-b);border-radius:.5rem;padding:.75rem .875rem;margin-bottom:1rem;transition:background-color .2s ease;cursor:pointer;overflow:hidden;border-left:.4rem solid transparent}.icons-section:hover{background-color:#3e5560}.icons-section.active{background-color:var(--primary-color);color:var(--white);border-left-color:var(--accent-color)}.icons-section-title{color:var(--white);font-size:.9375rem;font-weight:500;margin-bottom:.625rem;white-space:normal;word-break:break-word;max-width:180px;display:block}.progress-wrapper{width:100%;height:10px;background-color:#e0e0e0;border-radius:5px;overflow:hidden;margin-top:5px}.progress-bar{height:100%;background-color:#4caf50;transition:width .3s ease;border-radius:5px 0 0 5px}.icons-icon{width:1.25em;height:1.25em;vertical-align:middle;margin-right:.3em;margin-bottom:.1em;display:inline-block;object-fit:contain}.comments-container{margin-top:40px;padding:20px;background-color:var(--viewer-bg);color:var(--viewer-text);border-top:1px solid var(--course-card-border)}.comments-header{font-size:1.5rem;margin-bottom:20px;color:var(--text-color)}.comment-form{margin-bottom:30px;display:flex;flex-direction:column;gap:10px}.comment-form textarea{width:100%;padding:10px;border:1px solid var(--course-card-border);border-radius:4px;background-color:var(--background-color);color:var(--text-color);resize:vertical;min-height:80px;font-family:inherit}.comment-form button{align-self:flex-start;padding:8px 16px;background-color:var(--button-bg);color:var(--button-text);border:none;border-radius:4px;cursor:pointer;transition:background-color .2s}.comment-form button:hover{background-color:var(--button-hover-bg)}.comment-list{display:flex;flex-direction:column;gap:20px}.comment-item{background-color:var(--background-color);padding:15px;border-radius:8px;border:1px solid var(--course-card-border)}.comment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;font-size:.9rem;color:var(--secondary-color)}.comment-author{font-weight:700;color:var(--text-color)}.comment-date{font-size:.8rem;opacity:.8}.comment-content{margin-bottom:10px;line-height:1.5;white-space:pre-wrap}.comment-actions{display:flex;gap:10px;font-size:.9rem}.comment-action-btn{background:none;border:none;color:var(--accent-color);cursor:pointer;padding:0;font:inherit}.comment-action-btn:hover{text-decoration:underline}.comment-delete-btn{color:#ff4d4f}.replies-container{margin-top:15px;margin-left:20px;padding-left:15px;border-left:2px solid var(--course-card-border);display:flex;flex-direction:column;gap:15px}.reply-form-container{margin-top:10px}.load-more-btn{margin-top:10px;background:none;border:none;color:var(--accent-color);cursor:pointer;font-size:.9rem}.exercise-section{max-width:700px;margin:2rem auto;background:var(--exercise-bg);border-radius:.5rem;padding:2rem;box-shadow:0 2px 16px #00000012;color:var(--exercise-text)}.exercise-section h2{text-align:center;font-size:1.5rem;margin-bottom:2rem;color:var(--text-color)}#exercise-description p{margin-bottom:1.5rem;font-size:1.1rem;color:var(--exercise-text)}#exercise-upload-form{display:flex;flex-direction:column;gap:1.5rem;align-items:center;width:100%}.file-upload-container{position:relative;width:100%;max-width:400px}.file-upload-input{position:absolute;width:.1px;height:.1px;opacity:0;overflow:hidden;z-index:-1}.file-upload-label{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;background-color:var(--background-color);border:2px dashed var(--secondary-color);border-radius:.5rem;cursor:pointer;transition:border-color .2s,background-color .2s}.file-upload-label:hover{border-color:var(--accent-color);background-color:var(--exercise-bg)}.file-upload-text{color:var(--text-color);font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:10px}.file-upload-button{background-color:var(--secondary-color);color:#fff;padding:.4rem 1rem;border-radius:.25rem;font-size:.9rem;transition:background-color .2s}.file-upload-button:hover{background-color:var(--primary-color)}#exercise-upload-form button[type=submit]{background-color:var(--primary-color);color:var(--white);border:none;padding:.75rem 2.5rem;border-radius:.25rem;cursor:pointer;font-size:1.1rem;transition:background-color .2s}#exercise-upload-form button[type=submit]:hover{background-color:var(--secondary-color)}#exercise-result{margin-top:1.5rem;font-weight:700;text-align:center}#exercise-result ul{margin:1rem 0 0;padding:0;list-style:disc inside;text-align:left}#exercise-result li{color:#c0392b;margin-bottom:.5rem;font-size:1rem}@media(max-width:700px){.exercise-section{padding:1rem}}@media(max-width:700px){.viewer-top-bar{flex-direction:column;align-items:flex-start;gap:.25rem;padding:.5rem}.unit-title{max-width:100%;font-size:1rem;white-space:normal;margin-bottom:.25rem}.viewer-controls{width:100%;justify-content:space-between}.scroll-container{padding:1rem}}
