*{box-sizing:border-box;margin:0;-webkit-user-select:none;user-select:none}body,html,.app{height:100%;font-family:sans-serif;font-size:1rem;background-color:var(--bg-primary);color:var(--text-primary)}.app{padding-top:6rem}p{margin-bottom:1rem;line-height:160%}.fixed-header{position:fixed;top:0;width:100%;height:auto;background:var(--header-bg);color:var(--text-primary);box-shadow:0 .125rem .25rem var(--header-shadow);z-index:1000}.fixed-header h1{margin:1.5rem;font-size:2rem}.main-layout{display:flex;height:calc(100vh - 6rem);box-sizing:border-box;width:100%}.sidebar{width:15%;min-width:16.875rem;max-width:18.75rem;border-right:.0625rem solid var(--border-color);padding:1rem .5rem;font-size:.875rem;background-color:var(--bg-tertiary);overflow-y:auto}.lesson-list{list-style:none;padding:0;margin:0}.lesson-list li{padding:.5rem 1rem;cursor:pointer;border:.125rem solid transparent;border-radius:.5rem;margin-top:.25rem;color:var(--text-secondary)}.lesson-list>li{cursor:default}.lesson-list li:first-child{margin-top:2px}.lesson-list li:hover{border-color:var(--list-hover-border)}.lesson-list li:has(.foldable-section):hover{border-color:transparent}.foldable-header{border:none!important}.lesson-list li.selected{border-color:var(--accent-secondary);font-weight:700;background-color:var(--selected-bg);color:var(--selected-color)}.content-area{flex:1 1 auto;padding:2.5rem 3.125rem;overflow-y:auto;font-size:.875rem;background-color:var(--bg-secondary);color:var(--text-primary)}.content-area pre{background-color:var(--code-bg)!important;padding:1rem;border-radius:.5rem;overflow-x:auto;display:block;max-width:100%;margin:1rem 0;box-sizing:border-box;white-space:pre;-webkit-user-select:text!important;user-select:text!important;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace}.content-area pre code,.content-area pre span{background-color:transparent;-webkit-user-select:text!important;user-select:text!important}.lesson-content{max-width:75rem;margin-inline:auto;min-width:28.75rem}.lesson-content p{margin-left:.5rem;font-size:1rem;font-weight:400}.lesson-content h2{font-size:2rem;margin-bottom:1.5rem;color:var(--text-primary)}.lesson-content h3{font-size:1.25rem;margin-block:2.75rem 1.5rem;color:var(--text-primary);border-left:.1875rem solid var(--accent-primary);padding-left:.75rem}.code-wrapper{background-color:var(--code-bg);border-radius:.5rem;display:block;width:100%;margin:1rem 0;font-size:.875rem;box-sizing:border-box;border:.0625rem solid var(--code-border);-webkit-user-select:text!important;user-select:text!important;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace}.code-wrapper *{font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace}.code-wrapper pre,.code-wrapper code{text-shadow:none!important}code #text{background-color:var(--code-bg)}.code-filename{display:flex;justify-content:space-between;align-items:center;gap:1rem;background-color:var(--table-header-bg);color:var(--button-color);font-size:.75rem;padding:.5rem 1rem;border-radius:.5rem .5rem 0 0;border-bottom:.0625rem solid var(--code-border)}.foldable-section{box-sizing:border-box;color:var(--text-primary);font-size:.875rem;border:none;padding:0}.code-filename span{flex:1;text-align:left}.foldable-header{display:block;cursor:pointer;width:100%;padding-block:1rem;padding-left:.25rem;border-radius:.25rem;transition:background-color .2s;border:none}.foldable-header:hover{background-color:var(--hover-overlay)}.foldable-content{cursor:default;border-left:.125rem solid var(--border-light);padding-left:20px;margin-bottom:1rem;max-height:9999px;opacity:1;overflow:hidden;transition:max-height 1.2s,opacity .5s,margin .5s}.foldable-content.closed{max-height:0;opacity:0;margin-block:0;transition:max-height .15s,opacity .25s,margin .25s}.var-table,.var-table *{-webkit-user-select:text!important;user-select:text!important}.var-table{width:100%;margin:1rem 0;border-collapse:collapse;background-color:var(--table-bg);border:1px solid var(--table-border);border-radius:.5rem;overflow:hidden}.var-table th,.var-table td{padding:.625rem .75rem;text-align:center;border-right:1px solid var(--table-border)}.var-table th:last-child,.var-table td:last-child{border-right:none}.var-table thead{background-color:var(--table-header-bg);font-weight:700;color:var(--table-header-color)}.var-table tbody tr:nth-child(2n){background-color:var(--table-row-even-bg)}.attachment-container{margin-top:2rem}.attachment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.attachment-title{margin:0}.attachment-download-all{padding:.5rem 1rem;background-color:var(--accent-primary);color:#fff;border:none;border-radius:.25rem;cursor:pointer;transition:background-color .2s ease}.attachment-download-all:disabled{cursor:not-allowed;opacity:.5}.attachment-download-all:hover:not(:disabled){background-color:var(--accent-secondary)}.attachment-items{display:flex;gap:2rem;flex-wrap:wrap}.attachment-item{text-align:center}.attachment-checkboard{width:150px;margin-bottom:.5rem;background-image:linear-gradient(45deg,var(--checkboard-light) 25%,transparent 25%,transparent 75%,var(--checkboard-light) 75%,var(--checkboard-light)),linear-gradient(45deg,var(--checkboard-light) 25%,transparent 25%,transparent 75%,var(--checkboard-light) 75%,var(--checkboard-light));background-position:0 0,10px 10px;background-size:20px 20px;background-color:var(--checkboard-bg);display:inline-block}.attachment-checkboard img{width:100%;display:block}.attachment-link{display:block;margin-top:.5rem;color:var(--accent-primary);text-decoration:none;transition:opacity .2s ease}.attachment-link:hover{opacity:.7}.attachment-error{color:var(--error-color)}@keyframes shake{0%,to{transform:translate(-2px) translateY(-2px)}25%{transform:translate(2px) translateY(2px)}50%{transform:translate(-2px) translateY(2px)}75%{transform:translate(2px) translateY(-2px)}}@keyframes rainbowFilter{0%{filter:hue-rotate(0deg) saturate(1) brightness(1)}16%{filter:hue-rotate(60deg) saturate(1) brightness(1)}33%{filter:hue-rotate(120deg) saturate(1) brightness(1)}50%{filter:hue-rotate(180deg) saturate(1) brightness(1)}66%{filter:hue-rotate(240deg) saturate(1) brightness(1)}83%{filter:hue-rotate(300deg) saturate(1) brightness(1)}to{filter:hue-rotate(360deg) saturate(1) brightness(1)}}@keyframes fireRainbow{0%{filter:hue-rotate(0deg) saturate(2) brightness(1.3)}16%{filter:hue-rotate(60deg) saturate(2) brightness(1.4)}33%{filter:hue-rotate(120deg) saturate(2) brightness(1.4)}50%{filter:hue-rotate(180deg) saturate(2.2) brightness(1.5)}66%{filter:hue-rotate(240deg) saturate(2) brightness(1.4)}83%{filter:hue-rotate(300deg) saturate(2) brightness(1.4)}to{filter:hue-rotate(360deg) saturate(2) brightness(1.3)}}@keyframes riseParticle{0%{transform:translateY(var(--top)) translate(var(--left)) scale(1);opacity:1}to{transform:translateY(calc(var(--top) - 80px)) translate(var(--left)) scale(0);opacity:0}}@keyframes fadeUpMessage{0%{transform:translateY(0);opacity:1}to{transform:translateY(-30px);opacity:0}}.fire-particle{position:absolute;width:8px;height:8px;border-radius:50%;background:radial-gradient(circle,var(--fire-particle-primary) 0%,var(--fire-particle-secondary) 50%,var(--fire-particle-transparent) 100%);left:50%;top:50%;--left: 0px;--top: 0px;box-shadow:0 0 6px var(--fire-particle-glow-1),0 0 12px var(--fire-particle-glow-2);animation:riseParticle var(--duration) linear forwards;animation-delay:var(--delay)}.message-tooltip{position:absolute;top:.25rem;left:100%;margin-left:.125rem;background-color:light-dark(rgba(240,240,240,.9),rgba(0,0,0,.9));color:light-dark(#1e1e1e,white);padding:.5rem 1rem;border-radius:.5rem;font-size:.875rem;white-space:nowrap;pointer-events:none;z-index:20;animation:fadeUpMessage 2s ease-in forwards}
