.navbar{display:flex;background-color:var(--nav-background);align-items:center;justify-content:space-between;padding-top:.5rem;padding-bottom:.5rem}.nav-brand{color:var(--text-light);margin-left:3rem}.brand{cursor:pointer}.nav-links{display:flex;gap:1rem}.nav-links button{background-color:var(--nav-secondary-color);color:var(--text-dark);font-weight:600;font-size:20px;padding:8px 16px}.nav-links button.active{background-color:var(--text-light)}.session-links{margin-right:3rem}.custom-select{position:relative;display:inline-block;cursor:pointer;width:125px;font-weight:600;font-size:16px;font-family:var(--font-heading-latin)}html:lang(ru) .custom-select{font-family:var(--font-heading-cyrillic)}.custom-select .current{display:flex;align-items:center;padding:.4em 1rem;background-color:var(--nav-secondary-color)}.custom-select .options{position:absolute;top:100%;left:0;background:var(--nav-secondary-color);list-style:none;padding:0;margin:0;border:1px solid #ccc;z-index:100;width:100%}.custom-select .options li{display:flex;align-items:center;padding:.4em .6em}.custom-select .options li:hover{background-color:#eee}.flag-icon{width:20px;height:20px;margin:0 .3rem}.lang-name{margin:0 .4rem}.popup-overlay{position:fixed;inset:0;background:radial-gradient(circle,#000c,#000000f2);display:flex;justify-content:center;align-items:center;z-index:3000;overflow:hidden}.popup-content{position:relative;background:#fff;padding:5rem 3rem 3rem;border-radius:30px;text-align:center;min-width:350px;border:6px solid transparent;background-image:linear-gradient(#fff,#fff),linear-gradient(45deg,#f1c40f,#e67e22,#e74c3c,#9b59b6);background-origin:border-box;background-clip:padding-box,border-box;box-shadow:0 20px 60px #00000080;animation:popIn .5s cubic-bezier(.175,.885,.32,1.275)}@keyframes popIn{0%{transform:scale(.8);opacity:0}to{transform:scale(1);opacity:1}}.festive-title{font-size:2.2rem;margin:0;background:linear-gradient(45deg,#d35400,#c0392b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-weight:900}.festive-message{font-size:1.2rem;color:#555;margin:1rem 0 2rem}.firework{position:absolute;width:300px;height:auto;z-index:5;pointer-events:none;opacity:0;animation:fadeInFirework 2s forwards}@keyframes fadeInFirework{0%{opacity:0;transform:scale(.5) rotate(0)}to{opacity:1;transform:scale(1) rotate(var(--rotation, 0deg))}}.fw-1{top:5%;left:5%;filter:hue-rotate(0deg);animation-delay:0s;--rotation: -15deg}.fw-2{top:15%;right:10%;filter:hue-rotate(90deg);animation-delay:.8s;width:350px;--rotation: 25deg}.fw-3{bottom:10%;left:15%;filter:hue-rotate(220deg);animation-delay:1.5s;--rotation: 45deg}.fw-4{bottom:5%;right:5%;filter:hue-rotate(300deg);animation-delay:2.2s;opacity:.7;--rotation: 45deg}.birthday-cake{position:absolute;top:-140px;left:50%;transform:translate(-50%);width:220px;height:auto;filter:drop-shadow(0 5px 15px rgba(0,0,0,.3));animation:floatCake 3s ease-in-out infinite;pointer-events:none}@keyframes floatCake{0%,to{transform:translate(-50%) translateY(0)}50%{transform:translate(-50%) translateY(-10px)}}.confetti-container{position:absolute;inset:0;pointer-events:none}.close-btn{padding:12px 40px;background:linear-gradient(270deg,#fff200,#e74c3c,#9b59b6,#3498db);background-size:800% 800%;color:#fff;border:none;border-radius:50px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .2s;box-shadow:0 4px 15px #0003;height:auto;animation:rainbowShift 6s ease infinite}.close-btn:hover{transform:translateY(-3px) scale(1.05);box-shadow:0 6px 20px #0000004d;animation-duration:2s}@keyframes rainbowShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.confetti{position:absolute;top:-20px;width:10px;height:10px;background:#f1c40f;opacity:0;left:var(--x);animation:confettiFall 4s linear infinite;animation-delay:var(--delay)}.confetti:nth-child(2n){background:#e74c3c;width:15px}.confetti:nth-child(3n){background:#3498db;border-radius:50%}@keyframes confettiFall{0%{opacity:1;transform:translateY(0) rotate(0)}to{opacity:0;transform:translateY(60vh) rotate(720deg)}}h1,h2,h3,h4,h5,h6{margin:0}button{background:var(--accent);color:var(--text-light);font-weight:600;font-size:20px;height:40px}.login label{display:block;color:var(--text-dark)}input{width:100%;padding:.5rem;border:none;border-radius:0;box-sizing:border-box}input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:var(--accent)}textarea{resize:none}.modal{background:var(--background-one);padding:14px 16px;border-radius:8px;box-shadow:0 2px 10px #0006;font-size:.9rem;min-width:20rem}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:9999}main{flex-direction:column;align-items:center}.home{margin-top:2rem}.home h2{font-size:30px}.home-controls{margin-top:2rem;display:flex;gap:12px;justify-content:center}.home-controls>button{padding:.6rem 1.4rem;background:var(--accent);color:var(--text-light);font-size:.95rem;cursor:pointer;transition:background .15s ease,transform .05s ease}.home-controls>button:hover{background:var(--text-dark);transform:scale(1.03)}.home aside,.home .board-col .button-container{display:none}.registration-info-container{width:100%;background-color:var(--background-two);display:flex;justify-content:center;padding:2rem 0;margin:1rem 0}.registration-content-box{width:70%;display:flex;flex-direction:column;justify-content:center;align-items:center}.registration-content-box h3{font-size:25px}.registration{width:70%;display:flex;flex-direction:column;justify-content:space-between;align-items:center}.registration-upper-line{display:flex;gap:25px}.form-pair{display:flex;flex-direction:column}.reg-name{width:200px}.reg-date{width:125px}.reg-email{width:350px}.send-registration{height:45px;padding:0 1rem;margin:1rem 0}.info-container{width:100%;padding-bottom:2rem;background-color:var(--background-one)}.info-box{width:65rem;margin:0 auto;padding:2rem}.info-box h2{margin-left:1.5rem;margin-bottom:.5rem}.info-box p strong{font-size:20px}.float-image{width:330px;margin:.5rem 1.5rem 1rem;border-radius:8px;transform:scaleX(1);float:left}.editor-page{width:100%;height:125vh}#chessboard{display:flex;justify-content:space-between;align-items:stretch;width:100%;min-height:0}.editor-page #chessboard{height:125vh}#board{width:640px;position:relative;margin:1rem}#board .square-55d63{position:relative!important}#board .pz-overlay{position:absolute;inset:0;pointer-events:none;display:flex;align-items:center;justify-content:center;z-index:3}.board-col .button-container{display:flex;align-items:center;justify-content:flex-end;gap:1rem;margin:1rem 1rem 2rem 0}.button-container button{padding:0 1rem}.arrow-layer{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}#board .pz-overlay.target:after{content:"🎯";font-size:24px}#board .pz-overlay.blocker:after{content:none}aside{background-color:var(--background-two);width:16rem}.panel-header{width:100%;background-color:var(--accent);color:var(--text-light)}.panel-header h3{margin:0;padding:.2rem 1rem}.editor-panel{display:flex;flex-direction:column;gap:10px;align-items:center}.editor-panel .row{width:90%;display:flex;flex-direction:column;gap:6px}.castling-options p{margin:6px 0 4px;font-weight:700}.castling-row{display:grid;grid-template-columns:1fr 32px;align-items:center;gap:8px}.castling-row input[type=checkbox]{justify-self:end}.castling-label{font-weight:500}.editor-panel h3{width:90%}.toggle-row{display:flex}.toggle-row button{min-width:110px}.toggle-row button.selected{background-color:var(--text-light);color:var(--accent);font-size:25px}.overlay-panel{display:flex;flex-direction:column;gap:10px;height:100%;min-height:0;overflow-y:auto;direction:rtl}.overlay-panel::-webkit-scrollbar{width:10px}.overlay-panel::-webkit-scrollbar-track{background:transparent}.overlay-panel::-webkit-scrollbar-thumb{background-color:var(--accent);border-radius:10px;border:2px solid var(--background-two)}.overlay-scroll>*{direction:ltr}.overlay-panel-header{cursor:pointer;display:flex;justify-content:space-between;align-items:center;padding:.3rem .5rem;background-color:var(--accent);color:var(--text-light)}.overlay-panel-header .arrow{transition:transform .3s ease;display:inline-block}.overlay-panel-header .arrow.open{transform:rotate(90deg)}.overlay-palette-collectables,.overlay-palette-blockers,.overlay-palette-extra{flex:0 0 auto;display:flex;flex-wrap:wrap;gap:.5rem;padding:.5rem 1rem;background-color:var(--background-two);max-height:none;overflow:hidden;transition:max-height .3s ease,opacity .3s ease;opacity:1}.overlay-palette-collectables.hidden,.overlay-palette-blockers.hidden,.overlay-palette-extra.hidden{max-height:0;opacity:0;padding:0 .5rem;overflow:hidden}.overlay-icon{width:64px;height:64px;cursor:grab;-webkit-user-select:none;user-select:none}.overlay-icon:active{cursor:grabbing}.promotion-overlay{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;background:#0006;z-index:999}.promotion-stub{position:absolute;transform:translate(62%);display:flex;flex-direction:column;gap:1px;background:#fff;border-radius:4px;box-shadow:0 4px 12px #0003;z-index:9999}.promotion-stub button{background:none;border:none;cursor:pointer;padding:.5rem;height:68px}.promotion-stub button:hover{background-color:var(--background-two)}.promotion-stub img{width:48px;height:48px}.pz-solved{width:350px;min-height:200px;display:flex;flex-direction:column;align-items:center;justify-content:center}.pz-solved h2{font-size:30px}.pz-solved p{font-size:17px}.pz-solved .pz-modal-buttons{margin:1rem 0}.pz-solved .pz-modal-buttons button{margin:0 .5rem;padding:.2rem 1rem}#pz-solved-retry{background-color:var(--background-two);color:var(--text-dark)}.save-puzzle h3{margin-top:0;margin-bottom:10px}.save-puzzle .row{margin-bottom:8px;display:flex;flex-direction:column;gap:4px}.save-puzzle input,.save-puzzle select{padding:4px 6px}.save-puzzle select{background-color:#fff}.save-modal-buttons{display:flex;gap:8px;margin-top:1rem}.save-modal-buttons button{flex:1}.puzzle-item{padding:8px 12px;border-bottom:1px solid #e0e0e0;cursor:pointer;color:#333;background:#fff;transition:background .15s}.puzzle-item:hover{background:#f0f0f0}.puzzle-item.selected{background:#cfe5ff;font-weight:600;border-left:4px solid var(--accent);padding-left:8px}.puzzle-list{border:1px solid #ccc;border-radius:0;height:200px;overflow-y:auto;background:#fafafa;margin-bottom:12px}.load-puzzle{flex-direction:column}.load-puzzle h3{margin-top:0;margin-bottom:15px;font-size:20px;text-align:center}.load-puzzle .row{margin-bottom:10px;display:flex;flex-direction:column}.load-puzzle label{font-weight:600;margin-bottom:4px}.load-puzzle input[type=text],.load-puzzle input[type=number],.load-puzzle select{padding:6px 8px;border-radius:0;font-size:14px;background:#fff}.empty-msg{padding:10px;color:#777;text-align:center;font-style:italic}.load-puzzle{display:flex;gap:10px}.load-puzzle-button-container{width:25rem;display:flex;gap:.5rem}.load-puzzle-button-container button{flex:1}.load-puzzle-button-container button:disabled{opacity:.4;cursor:not-allowed}.course-page-layout{width:100%;min-height:90vh;display:flex;flex-direction:column}.upper-panel{display:flex;flex-direction:row;background-color:var(--background-two);justify-content:space-between;width:100%;padding-top:1rem;padding-bottom:1rem}.upper-panel .course-main-title{padding-left:3rem}.assingment-content{display:flex;gap:2rem;width:100%;align-items:flex-start}.puzzle-boxes,.preview-panel{flex:1}.course-button-container{padding-right:3rem}.course-button-container button{padding:0 2rem;margin:0 .5rem}.puzzles{width:90%;border-color:var(--accent);margin-left:3rem;margin-top:2rem}.puzzles h2{background-color:var(--accent);color:var(--text-light);padding-left:1rem}.puzzle-search-box{margin-bottom:.3rem;border:solid 1px var(--accent)}.buttongrid{min-height:50px;border-color:var(--accent);border:solid 2px;padding:.5rem 1rem}.puzzle-button{background-color:var(--background-two);color:var(--text-dark);width:4rem;margin:5px;display:flex;align-items:center;justify-content:center}.puzzle-icon{width:45px;flex-shrink:0;pointer-events:none}.puzzle-wrapper{display:inline-block;position:relative}.course-puzzle .delete-indicator{position:absolute;top:-8px;right:-8px;background-color:#f44;color:#fff;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;opacity:0;transition:opacity .2s ease;pointer-events:none;z-index:10;box-shadow:0 2px 4px #0003}.course-puzzle:hover .delete-indicator{opacity:1}.puzzle-wrapper.disabled{opacity:.5;cursor:not-allowed}.puzzle-button.disabled{background-color:#ccc!important;cursor:not-allowed;opacity:.6}.puzzle-button.disabled:hover{background-color:#ccc!important}.modal.add-course{width:400px}.add-course h2,.edit-course h2{margin:.8rem 0}.add-course input,.add-course textarea,.edit-course input,.edit-course textarea{width:100%;box-sizing:border-box;padding:.5rem;font-size:1rem;margin:.5rem 0}.add-course textarea,.edit-course textarea{height:10rem}table{width:100%;border-collapse:collapse;margin:1rem 0}.courses-table thead{background-color:var(--accent);color:var(--text-light)}.courses-table th,td{text-align:left;padding:.3rem;border-bottom:1px solid #ddd}tbody tr.selected{background-color:var(--background-two)}tbody tr:hover{background-color:var(--background-two);cursor:pointer}.pagination{width:100%;display:flex;justify-content:space-between}.pagination button{background-color:var(--background-one);color:var(--accent);padding:0;margin:0 20px;font-size:15px;font-family:var(--font-body)}.pagination span{margin:.5rem 0}.modal-buttons{margin-top:1rem;display:flex;justify-content:space-between;gap:1rem}.modal-buttons button{margin:0}.preview-panel{display:flex;flex-direction:column;position:sticky;top:0}.course-view-title,.preview-title{background-color:var(--accent);padding:.3rem 3rem}.course-view-title,.preview-title h2{color:var(--text-light);margin:0}.preview-content{background-color:var(--background-two);padding:1rem 3rem;height:100vh;display:flex;justify-content:center}.preview-content>*{max-width:400px;width:100%}.preview-content-inner h3{margin-bottom:.5rem;font-size:25px}.course-editor{background-color:#f9f9f9;transition:all .3s ease}.course-editor:not(.editing) .course-info-box{background-color:var(--background-two);min-height:70vh;padding:1rem 3rem}.course-editor:not(.editing) h3{margin:.5rem 0;font-size:1.3rem}.course-editor:not(.editing) p{margin:.4rem 0;line-height:1.4}.course-editor:not(.editing) button{margin-top:1rem;padding:.5rem 1rem}.course-editor:not(.editing) button:hover{opacity:.9}.course-editor.editing{background-color:var(--background-two)}.course-editing-mode-wrapper{padding:1rem 3rem;height:70vh}.course-editor p{margin:.5rem 0}.course-editor input[type=text],.course-editor textarea{display:block;width:100%;box-sizing:border-box;margin-bottom:.5rem;padding:.4rem .6rem;border:1px solid #ccc;border-radius:4px;font-size:1rem}.course-toggle{display:flex;align-items:center;margin:1rem 0}.course-toggle label{width:140px;text-align:left}.course-toggle input[type=checkbox]{margin-left:.5rem}.editor-buttons button{margin:1rem .2rem;padding:.5rem 1rem}.name-error{border:2px solid #e74c3c;background-color:#fcd2d2}.error-text{background-color:#f2dcdd;color:#a00000;padding:8px 0;border:.5px #a00000 solid;border-radius:3px;margin-bottom:10px;font-weight:600;text-align:center}.login{margin:5rem}.login-container{background-color:var(--background-two);padding:2rem 5rem;border-radius:20px;display:flex;flex-direction:column;align-items:center}.login-container h2{margin:0;font-size:30px}.form-pair{margin:.5rem 0}.form-pair input{border-radius:2px;padding:.5rem .6rem;margin:.5rem 0}.login-button,.logout-button{margin:1rem 0;padding:0 1rem;width:100%}.login-container p{margin-bottom:0;font-size:20px}.login-container .user-name{font-size:30px;margin:1rem}.error-message{background-color:#f2dcdd;color:#a00000;padding:8px 12px;border:.5px #a00000 solid;border-radius:3px;margin-bottom:10px;font-weight:600;text-align:center}.student-puzzle-page{width:100%}.overlay{position:fixed;inset:0;z-index:1000}.sidebar-modal{position:fixed;top:0;left:0;height:95%;width:280px;display:flex;flex-direction:column;background:#fff;padding:20px;overflow-y:auto;overflow-x:hidden;z-index:1001;transform:translate(0);transition:transform .3s ease}.sidebar-modal .active{background-color:var(--background-two)}.side-modal-titles{margin:1rem 0 0}.sidebar-item-puzzlePage{display:flex;flex-direction:column;margin:.2rem 0;width:90%;padding:14px;border-radius:5px}.sidebar-item-puzzlePage:hover{background-color:var(--background-one)}.sidebar-item-puzzlePage h3{margin:0;font-size:15px}.sidebar-item-puzzlePage p{margin:5px;font-family:var(--font-heading-latin)}:lang(ru) .sidebar-item-puzzlePage p{margin:5px;font-family:var(--font-heading-cyrillic)}.mini-bar{height:6px;background:var(--background-one);border-radius:3px;width:100%;margin:5px 0;border:var(--text-dark) .5px solid}.mini-fill{height:100%;background:var(--accent);border-radius:3px;width:0;transition:width .3s ease}.course-advancement-container{background-color:var(--background-two);width:100%;padding:1rem 5rem;display:flex;justify-content:space-between;align-items:center;gap:4rem}.left-section{display:flex;align-items:center;gap:1rem;flex-shrink:0}.right-section{display:flex;align-items:center;gap:1rem;flex:1;min-width:0}.course-advancement-bar-full-length{flex:1;min-width:50px;max-width:80%;height:10px;background-color:var(--background-one)}.course-advancement-filler-color{transition:width .3s ease;height:10px;background-color:var(--accent)}.puzzle-container{display:grid;grid-template-columns:1fr auto 1fr;align-items:start;margin:1rem 0 2rem;font-family:var(--font-heading-latin)}.puzzle-info-container{display:flex;flex-direction:column;gap:1rem;margin-left:5rem;margin-top:1rem}.puzzle-info-box{background-color:var(--background-two);width:200px;display:flex;justify-content:center;align-items:center;flex-direction:column}.puzzle-name{margin:1rem 2rem}.puzzle-title{text-align:center;font-size:30px;margin:0}.puzzle-info{text-align:center;width:100%}.section{display:flex;flex-direction:column;justify-content:center;align-items:center}.star-box{margin:1rem 0}.star-img{width:50px}#stars{color:gray;font-size:10px}.puzzle-info-box .puzzle-info{font-size:25px;margin:.5rem 0}.puzzle-info-box #moves,.puzzle-info-box #stars{font-size:35px}.no-puzzles-label{position:absolute;top:28rem;left:50%;transform:translate(-50%);background:var(--accent);padding:1rem 2rem;border-radius:3px;color:var(--text-light);font-size:25px;z-index:10;pointer-events:none}.student-puzzle-page aside,.student-puzzle-page .board-col .button-container{display:none}.puzzle-container.homework-mode{grid-template-columns:minmax(300px,600px) 250px;gap:60px;justify-content:center;margin:0 auto;padding:0 20px}.homework-view{display:flex;flex-direction:column;justify-content:center;margin-top:4rem}.homework-nav{margin-bottom:2rem;display:flex;align-items:center;justify-content:center;gap:1rem}.homework-nav button{padding:.5rem 1rem;border-radius:5px}.homework-container{border:1px var(--accent) solid;border-radius:3px;width:100%;max-width:600px;display:flex;justify-content:center;flex-direction:column;margin-bottom:4rem}.homework-title{color:var(--text-light);display:flex;justify-content:space-between;background-color:var(--accent);padding:.5rem 1rem}.homework-view h2{font-size:30px;margin:0}.homework-deadline{font-family:var(--font-body);margin:.2rem 0}.homework-checkbox{display:flex;margin:.5rem 1rem;gap:1rem}.homework-checkbox p{margin:0;font-size:20px}.homework-checkbox input{transform:scale(1.5);cursor:pointer}.homework-description{margin:1rem}.homework-description a{color:#228b22}.avatar-Container{margin:4rem 0;width:250px;position:relative;display:flex;justify-content:center}.avatar-Container img{width:250px}.streak-box{position:absolute;top:-30px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:6px;font-size:20px;font-weight:700;transition:opacity .4s ease,transform .4s ease}.streak-box img{width:30px;transition:filter .4s ease,transform .4s ease,opacity .4s ease}.streak-box.breaking img{filter:grayscale(100%);opacity:0;transform:scale(.6)}.streak-box.breaking{opacity:0;transform:translateY(10px)}.avatar-trasncription-box{background-color:var(--background-two);border-radius:3px;min-height:100px;width:250px;align-content:center}.avatar-trasncription-box p{font-family:var(--font-heading-latin);display:flex;justify-content:center;margin:1rem}.course-advancement-bar-full-length{position:relative;width:100%;height:20px;background:#eee}.course-advancement-filler-color{height:100%;transition:width 1.5s ease-in-out}.car-container{position:absolute;top:10%;transform:translate(-60%,-50%) scale(.3);transition:left 1.5s ease-in-out;z-index:2;image-rendering:-webkit-optimize-contrast}.car-sprite{width:335px;height:187px;background-image:url(/assets/autospritesheet-CnIfZFf8.png);background-repeat:no-repeat;background-position:0px 0px;background-size:auto 100%}.is-moving .car-sprite{animation:play-car .8s steps(6) infinite}@keyframes play-car{0%{background-position:0px}to{background-position:-2010px}}.dashboard-container{display:grid;grid-template-columns:350px 1fr;height:100%;overflow:hidden}.left-panel-students{background:#dfeae4;border-right:1px solid #e0e6ed;display:flex;flex-direction:column}.tabs{display:flex;border-bottom:2px solid #e0e6ed;margin-top:15px}.tab-btn{flex:1;background:none;border:none;font-weight:700;color:#718096;cursor:pointer;transition:all .2s;border-bottom:3px solid transparent}.tab-btn.active{color:#447244;border-bottom-color:#447244}.panel-content{padding:1rem;display:flex;flex-direction:column;gap:1rem;flex:1;overflow:hidden}.button-group{display:flex;gap:.5rem}.search-input{padding:.6rem;border:1px solid #ccd6dd;border-radius:4px;font-size:15px}.scroll-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem}.list-item{background:#f8fafc;border:3px solid transparent;text-align:left;cursor:pointer;color:#2d2e2c;font-size:18px;transition:border-left .2s ease-in-out}.list-item.selected{border-left:10px solid transparent}.list-item.status-border-active{border-left-color:#308a43}.list-item.status-border-paused{border-left-color:#ba4040}.right-panel-students{padding:2rem;overflow-y:auto;min-width:900px}.info-card{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 6px #0000000d;max-width:1000px;margin:0 auto}.card-header{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #f0f4f8;padding-bottom:1rem;margin-bottom:1.5rem}.card-header h3{margin:0;font-size:32px}.student-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"info notes" "courses courses" "homework homework" "lichess lichess";gap:25px}.grid-info{grid-area:info}.grid-notes{grid-area:notes}.grid-courses{grid-area:courses;border-top:1px solid #eee;padding-top:20px}.grid-homework{display:flex}.grid-lichess{grid-area:lichess;border-top:1px solid #eee;padding-top:20px}.stat-group p{margin:8px 0;font-size:1rem;color:#4a5568}.stat-group strong{color:#1a202c}.notes-box{display:flex;flex-direction:column}.notes-box textarea{width:100%;height:120px;padding:12px;border:1px solid #d1d5db;border-radius:6px;resize:vertical;font-family:inherit;background-color:#fff}.btn-save-notes{align-self:flex-end;color:#fff;margin-top:8px;font-size:13px;background:#447244;padding:2px 10px}.courses-container{display:flex;flex-direction:column;gap:12px;background:#f8fafc;padding:1.5rem;border-radius:8px}.course-item{display:grid;grid-template-columns:180px 1fr 50px;align-items:center;gap:20px}.progress-bar{height:10px;background:#e2e8f0;border-radius:5px;overflow:hidden}.progress-bar .fill{height:100%;background:#447244;transition:width .5s ease}.lichess-layout{display:grid;grid-template-columns:1fr 1fr;gap:25px}.lichess-mini-card{background:#dfeae4;padding:1.2rem;border-radius:8px}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.perf-card{justify-content:space-between;padding:5px 0;border-bottom:1px solid #e2e8f0;font-size:.9rem}.perf-prog.pos{color:#28a745}.perf-prog.neg{color:#dc3545}.recent-games-box{background:#dfeae4;border:1px solid #e2e8f0;border-radius:8px;padding:1.2rem}.game-list{list-style:none;padding:0;margin:0}.game-list li{padding:8px 0;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;font-size:.85rem}button{cursor:pointer;border:none;font-weight:600;transition:opacity .2s}.btn-primary{background:#447244;color:#fff;padding:8px 15px}.btn-secondary{background:#718096;color:#fff;padding:8px 15px}.btn-edit{background:#447244;color:#fff;padding:8px 15px}.btn-password{background:#576ca3;color:#fff;padding:8px 15px}.btn-delete{background:#447244;color:#fff;padding:8px 15px}.status-active{color:#28a745;font-weight:700}.status-inactive{color:#dc3545;font-weight:700}.placeholder{height:100%;display:flex;align-items:center;justify-content:center;color:#a0aec0;font-size:1.2rem;border:2px dashed #e2e8f0;border-radius:12px}.homework-box{background:#fff;border:2px dashed #cbd5e0;border-radius:10px;padding:1.5rem;display:flex;flex-direction:column;min-height:180px;width:100%;box-sizing:border-box}.homework-box h4{margin:0 0 15px;font-size:1.1rem;color:#2d3748;text-align:center;border-bottom:1px solid #f0f4f8;padding-bottom:8px}.homework-content{flex-grow:1;display:flex;align-items:center;justify-content:center}.homework-box button{width:100%;padding:10px;font-size:.9rem}.save-modal-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.save-modal{background:#fff;padding:2rem;border-radius:12px;width:400px;height:380px;box-shadow:0 10px 25px #0003;display:flex;flex-direction:column;gap:.5rem}.save-modal h3{margin-top:0;color:#2d3748;border-bottom:2px solid #f0f4f8}.save-modal .row{display:flex;flex-direction:column}.save-modal label{font-size:.9rem;font-weight:600;color:#4a5568}.save-modal input[type=text]{padding:.6rem;border:1px solid #cbd5e0;border-radius:6px}.save-modal input[type=checkbox]{width:fit-content;margin-right:.5rem}.save-modal-buttons{display:flex;justify-content:flex-end}.save-modal-buttons button[disabled]{opacity:.5;cursor:not-allowed}:root{--nav-background: #b58863;--nav-secondary-color: #f0d9b5;--text-dark: #343a40;--text-light: #f2f3f6;--background-one: #f2f3f6;--background-two: #c0d4c8;--accent: #447244;--font-heading-latin: "Lacquer", system-ui, sans-serif, "Pangolin", cursive;--font-heading-cyrillic: "Pangolin", cursive;--font-body: Arial, Calibri, sans-serif;color:var(--text-dark)}body{margin:0;color:var(--text-dark);line-height:1.5;font-weight:400;font-family:var(--font-body);background:var(--background-one);width:100%}h1,h2,h3,h4,h5,h6,button{font-family:var(--font-heading-latin)}:lang(ru) h1,:lang(ru) h2,:lang(ru) h3,:lang(ru) h4,:lang(ru) h5,:lang(ru) h6,:lang(ru) button{font-family:var(--font-heading-cyrillic)}li{list-style-type:none}a{text-decoration:none;color:inherit}button{border:none;cursor:pointer;border-radius:0}button:hover{opacity:.9}select{border:none;background:none;cursor:pointer;font-family:inherit;font-size:inherit;color:inherit;font-weight:inherit}.hidden{display:none}main{display:flex;width:100%}.pz-modal-backdrop{display:none}.pz-modal-backdrop.active{display:flex}.pz-modal{display:flex;flex-direction:column;align-items:center}.pz-modal p{font-size:18px}.student-page-layout{width:100%;min-height:90vh;display:flex;flex-direction:column}.upper-panel .student-main-title{padding-left:3rem}.student-button-container{padding-right:3rem}.student-button-container button{padding:0 2rem;margin:0 .5rem}.student-puzzle .delete-indicator{position:absolute;top:-8px;right:-8px;background-color:#f44;color:#fff;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;opacity:0;transition:opacity .2s ease;pointer-events:none;z-index:10;box-shadow:0 2px 4px #0003}.students-table thead{background-color:var(--accent);color:var(--text-light)}.students-table th,td{text-align:left;padding:.3rem;border-bottom:1px solid #ddd}.clearfix-7da63{clear:both}.board-b72b1{border:2px solid #404040;box-sizing:content-box}.square-55d63{float:left;position:relative;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.white-1e1d7{background-color:#f0d9b5;color:#b58863}.black-3c85d{background-color:#b58863;color:#f0d9b5}.highlight1-32417,.highlight2-9c5d2{box-shadow:inset 0 0 3px 3px #ff0}.notation-322f9{cursor:default;font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;position:absolute}.alpha-d2270{bottom:1px;right:3px}.numeric-fc462{top:2px;left:2px}.draggable.svelte-vw7c3v{-webkit-user-select:none;user-select:none;cursor:move;border:solid 1px gray;position:absolute}.pz-stars-container.svelte-ic1zex{display:flex;justify-content:center;gap:15px;margin:20px 0;min-width:400px}#pz-solved-textt.svelte-ic1zex{font-family:Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:1.2rem;line-height:1.4;margin:15px auto;max-width:300px;color:#4a5568;font-weight:500}.animate-star.star-0.svelte-ic1zex{animation:svelte-ic1zex-starPop-0 .5s cubic-bezier(.175,.885,.32,1.275) forwards}.animate-star.star-1.svelte-ic1zex{animation:svelte-ic1zex-starPop-1 .5s cubic-bezier(.175,.885,.32,1.275) forwards}.animate-star.star-2.svelte-ic1zex{animation:svelte-ic1zex-starPop-2 .5s cubic-bezier(.175,.885,.32,1.275) forwards}.gray-star.svelte-ic1zex{opacity:.4;filter:grayscale(1)}.gray-star.star-0.svelte-ic1zex{transform:rotate(-15deg) translateY(25px);opacity:.4}.gray-star.star-1.svelte-ic1zex{transform:scale(1.15) translateY(-5px);opacity:.4}.gray-star.star-2.svelte-ic1zex{transform:rotate(15deg) translateY(25px);opacity:.4}@keyframes svelte-ic1zex-starPop-0{0%{opacity:0;transform:scale(0) rotate(-45deg) translateY(0)}to{opacity:1;transform:scale(1) rotate(-15deg) translateY(25px)}}@keyframes svelte-ic1zex-starPop-1{0%{opacity:0;transform:scale(0) rotate(0)}70%{transform:scale(1.3) rotate(5deg)}to{opacity:1;transform:scale(1.15) rotate(0) translateY(-5px)}}@keyframes svelte-ic1zex-starPop-2{0%{opacity:0;transform:scale(0) rotate(45deg) translateY(0)}to{opacity:1;transform:scale(1) rotate(15deg) translateY(25px)}}.stars-display.svelte-ic1zex{position:absolute;top:-110px;left:0;right:0;display:flex;justify-content:center;align-items:flex-end;gap:0;pointer-events:none;z-index:15}.modal-overlay.svelte-ic1zex{position:fixed;inset:0;background:radial-gradient(circle,#14141ecc,#000000e6);display:flex;justify-content:center;align-items:center;z-index:3000}.fireworks-background.svelte-ic1zex{position:absolute;inset:0;z-index:5;pointer-events:none}.firework.svelte-ic1zex{position:absolute;width:200px;height:auto;opacity:0;animation:svelte-ic1zex-fadeInFirework 2s forwards;mix-blend-mode:screen;filter:brightness(1.3) drop-shadow(0 0 10px rgba(255,255,255,.3))}.fw-1.svelte-ic1zex{top:18%;left:40%;animation-delay:0s;filter:hue-rotate(0deg) brightness(1.3)}.fw-2.svelte-ic1zex{top:20%;right:40%;animation-delay:.5s;filter:hue-rotate(90deg) brightness(1.3)}.fw-4.svelte-ic1zex{top:16%;right:45%;animation-delay:1.8s;filter:hue-rotate(300deg) brightness(1.3)}@keyframes svelte-ic1zex-fadeInFirework{0%{opacity:0;transform:scale(.2) rotate(-10deg)}to{opacity:1;transform:scale(1) rotate(var(--rotation, 0deg))}}.pz-solved.modal.svelte-ic1zex{position:relative;z-index:10;text-align:center;padding:60px 40px 40px;border-radius:30px;background:#fff;border:4px solid #f6ad55;box-shadow:0 15px 50px #00000080;margin-top:50px}.pz-star.svelte-ic1zex{width:100px;height:auto;filter:drop-shadow(0 8px 12px rgba(0,0,0,.3));opacity:0}.pz-star.is-middle.svelte-ic1zex{width:130px;z-index:16;margin:0 -10px}div.svelte-umff0{border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0003}.pz-overlay{position:absolute;inset:0;pointer-events:none;display:flex;align-items:center;justify-content:center;z-index:3}body{margin:0;font-family:Segoe UI,Roboto,Helvetica,Arial,sans-serif;background-color:#f4f7f9;color:#333}main.svelte-wdcptk{height:100vh;display:flex;flex-direction:column}.dashboard-container.svelte-wdcptk{display:grid;grid-template-columns:350px 1fr;height:100%;overflow:hidden}.left-panel.svelte-wdcptk{background:#dfeae4;border-right:1px solid #e0e6ed;display:flex;flex-direction:column}.tabs.svelte-wdcptk{display:flex;border-bottom:2px solid #e0e6ed;margin-top:15px}.tab-btn.svelte-wdcptk{flex:1;background:none;border:none;font-weight:700;color:#718096;cursor:pointer;transition:all .2s;border-bottom:3px solid transparent}.tab-btn.active.svelte-wdcptk{color:#447244;border-bottom-color:#447244}.panel-content.svelte-wdcptk{padding:1rem;display:flex;flex-direction:column;gap:1rem;flex:1;overflow:hidden}.button-group.svelte-wdcptk{display:flex;gap:.5rem}.search-input.svelte-wdcptk{padding:.6rem;border:1px solid #ccd6dd;border-radius:4px;font-size:15px}.scroll-list.svelte-wdcptk{flex:1;max-height:70vh;overflow-y:auto;display:flex;flex-direction:column;gap:.5rem;padding-right:5px}.scroll-list.svelte-wdcptk::-webkit-scrollbar{width:6px}.scroll-list.svelte-wdcptk::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.scroll-list.svelte-wdcptk::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:10px}.scroll-list.svelte-wdcptk::-webkit-scrollbar-thumb:hover{background:#a0aec0}.list-item.svelte-wdcptk{background:#f8fafc;border:3px solid transparent;text-align:left;cursor:pointer;color:#2d2e2c;font-size:18px;transition:border-left .2s ease-in-out;flex-shrink:0;padding:12px;border-radius:6px}.list-item.selected.svelte-wdcptk{border-left:10px solid transparent}.list-item.status-border-active.svelte-wdcptk{border-left-color:#308a43}.list-item.status-border-paused.svelte-wdcptk{border-left-color:#ba4040}.right-panel.svelte-wdcptk{padding:2rem;overflow-y:auto;min-width:900px}.info-card.svelte-wdcptk{background:#fff;padding:2rem;border-radius:12px;box-shadow:0 4px 6px #0000000d;max-width:1000px;margin:0 auto}.card-header.svelte-wdcptk{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid #f0f4f8;padding-bottom:1rem;margin-bottom:1.5rem}.card-header.svelte-wdcptk h3:where(.svelte-wdcptk){margin:0;font-size:32px}.student-grid.svelte-wdcptk{display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"info notes" "purchases purchases" "courses courses" "homework homework" "puzzles puzzles" "lichess lichess";gap:25px}.grid-info.svelte-wdcptk{grid-area:info}.grid-notes.svelte-wdcptk{grid-area:notes}.grid-courses.svelte-wdcptk{grid-area:courses;border-top:1px solid #eee;padding-top:20px}.grid-purchases.svelte-wdcptk{grid-area:purchases;border-top:1px solid #eee;padding-top:20px}.grid-homework.svelte-wdcptk{display:flex}.grid-puzzles.svelte-wdcptk{grid-area:puzzles;border-top:1px solid #eee;padding-top:10px;display:flex;flex-direction:column}.puzzle-grid.svelte-wdcptk{display:flex;flex-wrap:nowrap;overflow-x:auto;gap:10px;padding:10px 5px 20px;width:100%;max-width:800px;-webkit-overflow-scrolling:touch;scrollbar-color:#cbd5e0 transparent}.puzzle-grid.svelte-wdcptk::-webkit-scrollbar{height:8px}.puzzle-grid.svelte-wdcptk::-webkit-scrollbar-track{background:#f1f1f1;border-radius:10px}.puzzle-grid.svelte-wdcptk::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:10px}.puzzle-grid.svelte-wdcptk::-webkit-scrollbar-thumb:hover{background:#a0aec0}.puzzle-item.svelte-wdcptk{flex:0 0 200px;background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:20px;transition:all .2s ease;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.puzzle-item.svelte-wdcptk:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:var(--status-color)}.puzzle-item.svelte-wdcptk:hover{transform:translateY(-4px);box-shadow:0 10px 15px -3px #0000001a;border-color:#cbd5e0}.grid-lichess.svelte-wdcptk{grid-area:lichess;border-top:1px solid #eee;padding-top:20px}.stat-group.svelte-wdcptk p:where(.svelte-wdcptk){margin:8px 0;font-size:1rem;color:#4a5568}.stat-group.svelte-wdcptk strong:where(.svelte-wdcptk){color:#1a202c}.notes-box.svelte-wdcptk{display:flex;flex-direction:column}.notes-box.svelte-wdcptk textarea:where(.svelte-wdcptk){width:100%;height:250px;padding:12px;border:1px solid #d1d5db;border-radius:6px;resize:vertical;font-family:inherit;background-color:#fff}.btn-save-notes.svelte-wdcptk{align-self:flex-end;color:#fff;margin-top:8px;font-size:13px;background:#447244;padding:2px 10px}.courses-container.svelte-wdcptk{display:flex;flex-direction:column;gap:12px;background:#f8fafc;padding:1.5rem;border-radius:8px}.course-item.svelte-wdcptk{display:grid;grid-template-columns:180px 1fr 50px;align-items:center;gap:20px}.progress-bar.svelte-wdcptk{height:10px;background:#e2e8f0;border-radius:5px;overflow:hidden}.lichess-layout.svelte-wdcptk{display:grid;grid-template-columns:1fr 1fr;gap:25px}.lichess-mini-card.svelte-wdcptk{background:#dfeae4;padding:1.2rem;border-radius:8px}.stats-grid.svelte-wdcptk{display:grid;grid-template-columns:1fr 1fr;gap:10px}.perf-card.svelte-wdcptk{padding:12px;border-radius:10px;background:#f4f6f8;display:flex;flex-direction:column;gap:6px}.rating-main.svelte-wdcptk{display:flex;align-items:center;justify-content:space-between}.rating-number.svelte-wdcptk{font-size:1.6rem;font-weight:700}.rating-progress.pos.svelte-wdcptk{color:#16a34a}.rating-progress.neg.svelte-wdcptk{color:#dc2626}.rating-progress.neutral.svelte-wdcptk{color:#666}.game-result.win.svelte-wdcptk{color:#16a34a;font-weight:600}.game-result.loss.svelte-wdcptk{color:#dc2626;font-weight:600}.progress-summary.svelte-wdcptk{margin-bottom:12px;padding:10px;background:#eef2ff;border-radius:8px}.recent-games-box.svelte-wdcptk{background:#dfeae4;border:1px solid #e2e8f0;border-radius:8px;padding:1.2rem}.game-list.svelte-wdcptk{list-style:none;padding:0;margin:0}.game-list.svelte-wdcptk li:where(.svelte-wdcptk){padding:8px 0;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;font-size:.85rem}button.svelte-wdcptk{cursor:pointer;border:none;font-weight:600;transition:opacity .2s}button.svelte-wdcptk:hover{opacity:.9}.btn-primary.svelte-wdcptk{background:#447244;color:#fff;padding:8px 15px}.btn-secondary.svelte-wdcptk{background:#718096;color:#fff;padding:8px 15px}.btn-edit.svelte-wdcptk{background:#447244;color:#fff;padding:8px 15px}.btn-delete.svelte-wdcptk{background:#884141;color:#fff;padding:8px 15px}.status-active.svelte-wdcptk{color:#28a745;font-weight:700}.status-inactive.svelte-wdcptk{color:#dc3545;font-weight:700}.placeholder.svelte-wdcptk{height:100%;display:flex;align-items:center;justify-content:center;color:#a0aec0;font-size:1.2rem;border:2px dashed #e2e8f0;border-radius:12px}.homework-box.svelte-wdcptk{background:#fff;border:2px dashed #cbd5e0;border-radius:10px;padding:1.5rem;display:flex;flex-direction:column;min-height:180px;width:100%;box-sizing:border-box}.homework-box.svelte-wdcptk h4:where(.svelte-wdcptk){margin:0 0 15px;font-size:1.1rem;color:#2d3748;text-align:center;border-bottom:1px solid #f0f4f8;padding-bottom:8px}.homework-content.svelte-wdcptk{flex-grow:1;display:flex;align-items:center;justify-content:center}.homework-box.svelte-wdcptk button:where(.svelte-wdcptk){width:100%;padding:10px;font-size:.9rem}.save-modal-backdrop.svelte-wdcptk{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.save-modal.svelte-wdcptk{background:#fff;padding:2rem;border-radius:12px;width:400px;height:380px;box-shadow:0 10px 25px #0003;display:flex;flex-direction:column;gap:.5rem}.save-modal.svelte-wdcptk h3:where(.svelte-wdcptk){margin-top:0;color:#2d3748;border-bottom:2px solid #f0f4f8}.save-modal.svelte-wdcptk label:where(.svelte-wdcptk){font-size:.9rem;font-weight:600;color:#4a5568}.save-modal.svelte-wdcptk input[type=text]:where(.svelte-wdcptk){padding:.6rem;border:1px solid #cbd5e0;border-radius:6px}.save-modal.svelte-wdcptk input[type=checkbox]:where(.svelte-wdcptk){width:fit-content;margin-right:.5rem}.save-modal-buttons.svelte-wdcptk{display:flex;justify-content:flex-end}.lichess-edit-form.svelte-wdcptk{display:flex;flex-direction:column;gap:10px}.lichess-input.svelte-wdcptk{padding:.6rem;border:1px solid #cbd5e0;border-radius:6px;font-size:.95rem}.lichess-edit-buttons.svelte-wdcptk{display:flex;gap:8px}.lichess-username.svelte-wdcptk{margin:10px 0;font-size:.95rem;color:#4a5568}.no-username.svelte-wdcptk{margin:10px 0;font-size:.95rem;color:#718096;font-style:italic}.error-msg.svelte-wdcptk{color:#dc3545;font-size:.9rem;margin:10px 0}.small-btn.svelte-wdcptk{padding:6px 12px;font-size:.85rem;background:#447244;color:#fff;border-radius:4px}.homework-list.svelte-wdcptk{list-style:none;padding:0;margin:0;width:100%}.homework-item.svelte-wdcptk{border-bottom:1px solid #e2e8f0;padding:10px 0}.hw-name.svelte-wdcptk{font-weight:600;color:#2d3748}.hw-description.svelte-wdcptk{font-size:.9rem;color:#4a5568;margin-top:4px}.hw-meta.svelte-wdcptk{font-size:.8rem;color:#718096;margin-top:6px}.deadline.svelte-wdcptk{background:#edf2f7;padding:3px 8px;border-radius:6px}.course-wrapper.svelte-wdcptk{width:100%;display:flex;flex-direction:column;align-items:center}.course-item.svelte-wdcptk{width:100%;display:flex;justify-content:space-between;align-items:center;padding:10px 15px;background:#447244;border:1px solid #cbd5e0;border-radius:8px;cursor:pointer;font-weight:700;transition:background .2s}.course-item.selected.svelte-wdcptk{background:#609e60}.puzzle-row-wrapper.svelte-wdcptk{overflow:hidden;transition:max-height .3s ease,opacity .3s ease}.puzzle-row-wrapper.open.svelte-wdcptk{max-height:200px;opacity:1}.user-course-puzzle-list.svelte-wdcptk{grid-template-columns:repeat(auto-fill,minmax(40px,1fr));width:99%;gap:8px}.puzzle-item2.svelte-wdcptk{font-weight:600;font-size:.9rem;cursor:pointer;transition:all .2s ease}.puzzle-item2.svelte-wdcptk:hover{background:#e2e8f0;transform:translateY(-1px)}.modal-large.svelte-wdcptk{max-width:500px}.modal-small.svelte-wdcptk{max-width:300px;max-height:230px}.modal-center.svelte-wdcptk{text-align:center}.form-grid.svelte-wdcptk{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.checkbox-row.svelte-wdcptk{display:flex;align-items:flex-end;gap:10px}.modal-buttons.svelte-wdcptk{margin-top:1.5rem}.dialog-subtext.svelte-wdcptk{font-size:.9rem;color:#666;margin-bottom:0}.star-input-row.svelte-wdcptk{display:flex;flex-direction:column;align-items:center;gap:10px}.sprite.svelte-wdcptk{background-image:url(/assets/kakku_spritesheet-BbWXDlxU.png);background-repeat:no-repeat;animation:svelte-wdcptk-play var(--duration) steps(var(--frames)) infinite}@keyframes svelte-wdcptk-play{0%{background-position:0px 0}to{background-position:-400px 0}}.name-sprite-row.svelte-wdcptk{display:flex;align-items:center;gap:10px}.star-modal.svelte-wdcptk{max-width:300px;max-height:280px;text-align:center}.modal-subtitle.svelte-wdcptk{font-size:.9rem;color:#666;margin-bottom:10px}.star-input-container.svelte-wdcptk{display:flex;flex-direction:column;align-items:center;gap:10px}.star-input.svelte-wdcptk{font-size:1.5rem;width:100px;text-align:center;font-weight:700;border:2px solid #ecc94b;border-radius:8px;padding:5px}.star-preview.svelte-wdcptk{font-size:.8rem;color:#888}.save-modal-buttons.svelte-wdcptk{margin-top:20px}.btn-star-action.svelte-wdcptk{border:none;background-color:#ecc94b;transition:background-color .2s}.btn-star-action.is-negative.svelte-wdcptk{background-color:#e53e3e}.course-row-wrapper.svelte-wdcptk{display:flex;flex-direction:row;align-items:stretch;width:100%;position:relative}.remove-course-btn.svelte-wdcptk{position:absolute;top:-4px;right:-4px;width:18px;height:18px;background:#da6b6b;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;cursor:pointer;z-index:2;box-shadow:0 0 3px #0003}.course-item.svelte-wdcptk{flex:1;margin:0;display:flex;align-items:center;justify-content:space-between;padding:10px;text-align:left}.course-title.svelte-wdcptk{display:flex;align-items:center;gap:8px}.course-name.svelte-wdcptk{font-weight:600}.course-completed-badge.svelte-wdcptk{font-size:.9rem;background:#c6f6d5;color:#1c6b2a;padding:2px 6px;border-radius:6px;font-weight:600}.course-progress-section.svelte-wdcptk{display:flex;align-items:center;gap:10px;margin-left:auto;padding-right:10px}.progress-bar.svelte-wdcptk{width:200px;height:12px;background:#edf2f7;border-radius:4px;display:flex;gap:2px;overflow:hidden;border:3px solid #e2e8f0}.progress-segment.svelte-wdcptk{flex:1;height:100%;background:transparent;transition:background .3s}.progress-segment.filled.svelte-wdcptk{background:#245e1e}.course-percent.svelte-wdcptk{width:35px;font-weight:700}.site-links-container.svelte-wdcptk{display:flex;flex-direction:column;gap:8px;margin-top:10px}.link-item.svelte-wdcptk{font-size:.95rem;display:flex;align-items:center;gap:10px}.link-label.svelte-wdcptk{color:#718096;min-width:100px}.student-external-link.svelte-wdcptk{color:#3182ce;font-weight:600;text-decoration:none;transition:color .2s,text-decoration .2s}.student-external-link.svelte-wdcptk:hover{color:#2b6cb0;text-decoration:underline}.empty-links-text.svelte-wdcptk{color:#a0aec0;font-size:.85rem}.empty-links-text.italic.svelte-wdcptk{font-style:italic}.btn-edit-small.svelte-wdcptk{border:1px solid #cbd5e0;border-radius:4px;font-size:.8rem;max-height:30px;cursor:pointer;transition:all .2s}.text-btn.svelte-wdcptk{background:none;border:none;color:#3182ce;cursor:pointer;font-size:.75rem;padding:0 5px}.text-btn.delete.svelte-wdcptk{color:#e53e3e}.text-btn.svelte-wdcptk:hover{text-decoration:underline}.form-group.svelte-wdcptk label:where(.svelte-wdcptk){display:block;font-size:.85rem;margin-top:10px;color:#4a5568}.form-group.svelte-wdcptk input:where(.svelte-wdcptk){width:100%;padding:8px;margin-top:4px;border:1px solid #cbd5e0;border-radius:4px}.modal-backdrop.svelte-wdcptk{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content.svelte-wdcptk{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 4px 15px #0003;width:90%;max-width:400px;position:relative;z-index:1001}.form-group.svelte-wdcptk{display:flex;flex-direction:column;margin-bottom:20px}.form-group.svelte-wdcptk label:where(.svelte-wdcptk){font-weight:600;font-size:.85rem;color:#4a5568}.btn-primary.svelte-wdcptk:disabled{background-color:#cbd5e0!important;color:#718096!important;cursor:not-allowed;opacity:.6;transform:none!important;box-shadow:none!important}.form-group.svelte-wdcptk input:where(.svelte-wdcptk){padding:8px;border:1px solid #cbd5e0;border-radius:4px}.modal-actions.svelte-wdcptk{display:flex;justify-content:flex-end;gap:10px}.existing-links-section.svelte-wdcptk{margin-top:20px;border-top:1px solid #e2e8f0;padding-top:15px}.section-title.svelte-wdcptk{font-size:.8rem;text-transform:uppercase;letter-spacing:.025em;color:#718096;margin-bottom:10px}.links-list.svelte-wdcptk{display:flex;flex-direction:column}.link-management-row.svelte-wdcptk{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#f7fafc;border-radius:6px;border:1px solid #edf2f7;transition:all .2s ease}.link-management-row.svelte-wdcptk:hover{background:#edf2f7;border-color:#cbd5e0}.link-info.svelte-wdcptk{display:flex;align-items:center;gap:12px;overflow:hidden}.site-badge.svelte-wdcptk{background:#245e1e;color:#fff;font-size:.7rem;font-weight:700;padding:2px 8px;border-radius:999px;white-space:nowrap}.account-name.svelte-wdcptk{font-size:.85rem;color:#2d3748;font-weight:500;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.link-actions.svelte-wdcptk{display:flex;gap:4px}.icon-btn.delete.svelte-wdcptk{background:#fff5f5;border:1px solid #e2e8f0;border-radius:4px;width:28px;color:#e53e3e;border-color:#e53e3e;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.9rem;transition:all .2s}.icon-btn.edit.svelte-wdcptk{background:#ebf8ff;border:1px solid #e2e8f0;color:#3182ce;border-radius:4px;border-color:#3182ce;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.9rem;transition:all .2s}.lessons-labels.svelte-wdcptk{display:flex;justify-content:space-between;margin-bottom:8px;font-size:.9rem;color:#4a5568}.progress-bar-bg.svelte-wdcptk{width:100%;height:24px;background-color:#edf2f7;border-radius:12px;overflow:hidden;border:1px solid #cbd5e0}.lessons-section-wrapper.svelte-wdcptk{margin-top:15px;margin-bottom:25px}.lessons-progress-container.svelte-wdcptk{padding:0 10px}.progress-bar-fill.svelte-wdcptk{background:linear-gradient(90deg,#245e1e 0% 100%);height:100%;color:#fff;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;border-radius:12px}.editable-val.svelte-wdcptk{cursor:pointer;padding:2px 6px;border-radius:4px;background:#f1f5f9;transition:background .2s;font-weight:700;color:#2b6cb0}.editable-val.svelte-wdcptk:hover{background:#e2e8f0;text-decoration:underline}.inline-input.svelte-wdcptk{width:50px;padding:2px;font-size:.9rem;border:1px solid #3182ce;border-radius:4px;font-weight:700}.inline-input.svelte-wdcptk::-webkit-inner-spin-button,.inline-input.svelte-wdcptk::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.modal-enhanced.svelte-wdcptk{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;width:100%;height:560px;max-width:500px;overflow:hidden}.modal-header.svelte-wdcptk{background:#f8fafc;padding:20px 24px;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;gap:12px}.modal-body.svelte-wdcptk{max-height:70vh;overflow-y:auto}.form-section.svelte-wdcptk{margin-bottom:24px}.section-title.svelte-wdcptk{font-size:.85rem;text-transform:uppercase;letter-spacing:.05em;color:#64748b;margin-bottom:12px;border-bottom:1px solid #f1f5f9;padding-bottom:4px}.form-grid-2col.svelte-wdcptk{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field.svelte-wdcptk{display:flex;flex-direction:column;gap:6px;margin-bottom:12px}.required.svelte-wdcptk{color:#ef4444}input[type=text].svelte-wdcptk,input[type=password].svelte-wdcptk,input[type=number].svelte-wdcptk,input[type=date].svelte-wdcptk{padding:10px 12px;border:1px solid #cbd5e0;border-radius:6px;font-size:.95rem;transition:border-color .2s}input.svelte-wdcptk:focus{outline:none;border-color:#3182ce;box-shadow:0 0 0 3px #4299e126}.input-error.svelte-wdcptk{border-color:#ef4444!important}.error-text.svelte-wdcptk{color:#ef4444;font-size:.75rem;margin-top:2px}.checkbox-group.svelte-wdcptk{display:flex;gap:20px;background:#f1f5f9;padding:12px;border-radius:8px}.toggle-switch.svelte-wdcptk{display:flex;align-items:center;cursor:pointer;font-size:.9rem}.modal-footer.svelte-wdcptk{padding:16px 24px;background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;justify-content:flex-end;gap:12px}.btn-primary-large.svelte-wdcptk{background:#3182ce;color:#fff;padding:10px 24px;border-radius:6px;font-weight:600;border:none;cursor:pointer}.btn-primary-large.svelte-wdcptk:disabled{background:#cbd5e0;cursor:not-allowed}.delete-x.svelte-wdcptk{color:#cbd5e0}.delete-x.svelte-wdcptk:hover{color:#f56565!important}.toggle-row.svelte-wdcptk{display:flex!important;flex-direction:row!important;justify-content:space-between;align-items:center;background:#ffffff0d;border-radius:8px}.label-group.svelte-wdcptk{display:flex;flex-direction:column;gap:2px}.label-group.svelte-wdcptk label:where(.svelte-wdcptk){margin:0!important;font-weight:700;font-size:1rem}.label-group.svelte-wdcptk .hint:where(.svelte-wdcptk){font-size:.8rem;color:#888}.switch.svelte-wdcptk{position:relative;display:inline-block;width:44px;height:24px;flex-shrink:0}.switch.svelte-wdcptk input:where(.svelte-wdcptk){opacity:0;width:0;height:0}.slider.svelte-wdcptk{position:absolute;cursor:pointer;inset:0;background-color:#ccc;transition:.4s;border-radius:24px}.slider.svelte-wdcptk:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.4s;border-radius:50%}input.svelte-wdcptk:checked+.slider:where(.svelte-wdcptk){background-color:#4caf50}input.svelte-wdcptk:checked+.slider:where(.svelte-wdcptk):before{transform:translate(20px)}.homework-list.group-hw.svelte-wdcptk{padding:0;list-style:none;margin:0;max-width:350px}.homework-card.svelte-wdcptk{position:relative;padding:16px;background:#fff;border-radius:8px;margin-bottom:12px;box-shadow:0 2px 4px #0000000d;border:1px solid #edf2f7;transition:transform .2s ease,box-shadow .2s ease}.homework-card.svelte-wdcptk:hover{box-shadow:0 4px 6px #00000014}.btn-delete-circle.svelte-wdcptk{position:absolute;top:8px;right:8px;max-width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:#fff5f5;color:#c53030;border:1px solid #feb2b2;border-radius:50%;cursor:pointer;font-size:18px;font-weight:700;line-height:1;padding:0;transition:all .2s ease;z-index:2}.btn-delete-circle.svelte-wdcptk:hover{background:#c53030;color:#fff;border-color:#c53030;transform:scale(1.1)}.homework-body.svelte-wdcptk{padding-right:24px}.homework-title.svelte-wdcptk{font-size:1.2rem;color:#1a202c;display:block;margin-bottom:6px;word-break:break-word}.homework-desc.svelte-wdcptk{font-size:.9rem;color:#4a5568;margin:8px 0;line-height:1.5}.homework-footer.svelte-wdcptk{font-size:.8rem;color:#718096;margin-top:12px;padding-top:8px;border-top:1px solid #f7fafc}.homework-footer.svelte-wdcptk strong:where(.svelte-wdcptk){color:#2d3748}.simple-modal-overlay.svelte-wdcptk{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:4000}.simple-modal-content.svelte-wdcptk{background:#fff;width:90%;max-width:500px;max-height:80vh;border-radius:8px;padding:20px;display:flex;flex-direction:column;box-shadow:0 4px 12px #00000026}.modal-header.svelte-wdcptk{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.modal-header.svelte-wdcptk h3:where(.svelte-wdcptk){margin:0;font-size:1.25rem}.text-close.svelte-wdcptk{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666}.search-container.svelte-wdcptk input:where(.svelte-wdcptk){width:100%;padding:8px;border:1px solid #ccc;border-radius:4px;margin-bottom:15px;box-sizing:border-box}.history-list.svelte-wdcptk{overflow-y:auto;flex:1}.history-card.svelte-wdcptk{border:1px solid #eee;padding:12px;border-radius:4px;margin-bottom:10px}.card-row.svelte-wdcptk{display:flex;justify-content:space-between;font-weight:700}.history-list.svelte-wdcptk{overflow-y:auto;flex:1;padding-right:5px;margin-top:10px}.history-card.svelte-wdcptk{background:#fff;border:1px solid #e2e8f0;padding:16px;border-radius:8px;margin-bottom:12px;border-left:4px solid #cbd5e0;transition:transform .1s}.history-card.completed.svelte-wdcptk{border-left-color:#48bb78;background:#fafffb}.card-row.svelte-wdcptk{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.hw-name.svelte-wdcptk{font-weight:700;font-size:1.05rem;color:#2d3748}.status-badge.svelte-wdcptk{font-size:.7rem;padding:2px 8px;border-radius:4px;text-transform:uppercase;font-weight:700;white-space:nowrap}.status-badge.done.svelte-wdcptk{background:#def7ec;color:#03543f}.status-badge.pending.svelte-wdcptk{background:#fde8e8;color:#9b1c1c}.hw-desc.svelte-wdcptk{font-size:.85rem;color:#4a5568;margin:10px 0;line-height:1.4}.hw-footer.svelte-wdcptk{display:flex;flex-direction:column;gap:4px;border-top:1px solid #edf2f7;padding-top:10px;margin-top:5px}.date-item.svelte-wdcptk{display:flex;justify-content:space-between;font-size:.8rem}.date-item.svelte-wdcptk .label:where(.svelte-wdcptk){color:#718096}.date-item.svelte-wdcptk .value:where(.svelte-wdcptk){font-weight:600;color:#2d3748}.date-item.svelte-wdcptk .value.success:where(.svelte-wdcptk){color:#38a169}.done-info.svelte-wdcptk{background:#f0fff4;padding:4px 0}.hw-status.svelte-wdcptk{font-size:.75rem;text-transform:uppercase}.hw-status.done.svelte-wdcptk{color:#2f855a}.hw-status.pending.svelte-wdcptk{color:#c53030}.hw-desc.svelte-wdcptk{font-size:.9rem;color:#444;margin:8px 0}.hw-date.svelte-wdcptk{color:#777}.no-results.svelte-wdcptk{text-align:center;color:#999;padding:20px}.simple-close-btn.svelte-wdcptk{margin-top:15px;padding:10px;background:#4a5568;color:#fff;border:none;border-radius:4px;cursor:pointer}.simple-close-btn.svelte-wdcptk:hover{background:#2d3748}.name-sprite-row.svelte-wdcptk{display:flex;align-items:center;gap:8px}.birthday-cakee.svelte-wdcptk{width:80px;height:auto;animation:svelte-wdcptk-bounce 2s infinite}@keyframes svelte-wdcptk-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}html,body{margin:0;padding:0;overflow-x:hidden}.profile-page.svelte-15gk85w{height:100vh;width:100%;display:flex;flex-direction:column}.profile-tabs.svelte-15gk85w{width:100%;position:relative;display:flex;justify-content:center;align-items:center;background:#447244;padding:15px 20px}.tabs-container.svelte-15gk85w{display:grid;grid-template-columns:1fr 1fr;gap:10px}.stars-display.svelte-15gk85w{position:absolute;right:30px;top:50%;transform:translateY(-50%);background:#fff1aa;color:#000;padding:5px 10px;font-weight:700;font-size:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;pointer-events:none}.tab-btn.svelte-15gk85w{padding:10px 25px;border:none;background:#c0d4c8;cursor:pointer;font-weight:600;color:#1b3a2b}.tab-btn.svelte-15gk85w:hover{background:#a9c2b2}.tab-btn.active.svelte-15gk85w{background:#8fb3a2;color:#0f2b1d}.profile-content.svelte-15gk85w{flex:1;width:100%;display:grid;grid-template-columns:1fr 1fr}.profile-info-view.svelte-15gk85w{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:40px}.profile-left.svelte-15gk85w{display:flex;flex-direction:column;gap:30px}.profile-right.svelte-15gk85w{background:#e6efe9;padding:25px}.course-time.svelte-15gk85w{background:#fff;padding:20px}.homework-list.svelte-15gk85w{display:flex;flex-direction:column;gap:15px}.homework-card.svelte-15gk85w{background:#fff;padding:15px;display:flex;flex-direction:column;gap:8px}.hw-title.svelte-15gk85w{font-weight:600}.hw-meta.svelte-15gk85w{display:flex;justify-content:space-between;font-size:14px}.days-left.svelte-15gk85w{font-weight:700;color:#2d6a4f}.profile-card.svelte-15gk85w{background:#c0d4c8;padding:40px;display:flex;gap:40px;align-items:center}.profile-avatar.svelte-15gk85w img:where(.svelte-15gk85w){width:180px;height:180px;object-fit:contain}.profile-avatar.small.svelte-15gk85w{width:220px;height:auto;position:relative}.background-layer.svelte-15gk85w{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:5px;z-index:0}.color-picker.svelte-15gk85w{display:flex;gap:8px;padding:6px 10px;background:#ffffffeb;border-radius:999px;box-shadow:0 4px 12px #0000002e}.color-popup.svelte-15gk85w{position:absolute;transform:translate(-50%);z-index:30}.color-picker.svelte-15gk85w button:where(.svelte-15gk85w){width:20px;height:20px;border-radius:50%;border:1px solid black;cursor:pointer}.avatar-wrapper.svelte-15gk85w{position:relative;width:100%;padding-top:100%}.avatar-wrapper.svelte-15gk85w img:where(.svelte-15gk85w){position:absolute;top:0;left:0;width:100%;height:100%;object-fit:contain}.avatar-wrapper.svelte-15gk85w .layer:where(.svelte-15gk85w){width:100%;height:100%;top:50%;left:50%;transform:translate(-50%,-50%)}.profile-text.svelte-15gk85w h2:where(.svelte-15gk85w){margin-top:0}.left-panel.svelte-15gk85w{display:flex;flex-direction:column;align-items:center}.avatar-section.svelte-15gk85w{display:flex;flex-direction:column;align-items:center;width:fit-content;margin:10px}.avatar-box.svelte-15gk85w{position:relative;width:600px;height:600px;padding:20px}.background-picker.svelte-15gk85w{position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:10;display:flex;gap:6px;background:#0009;padding:6px;border-radius:8px}.background-picker.svelte-15gk85w img:where(.svelte-15gk85w){width:50px;height:50px;object-fit:cover;border-radius:6px;cursor:pointer;border:2px solid transparent;transition:transform .2s,border .2s}.background-picker.svelte-15gk85w img:where(.svelte-15gk85w):hover{transform:scale(1.1)}.background-picker.svelte-15gk85w img.selected:where(.svelte-15gk85w){border:2px solid gold}.layer.svelte-15gk85w{position:absolute;width:80%;height:80%;object-fit:contain;top:50%;left:50%;transform:translate(-50%,-50%)}.colorable-layer.svelte-15gk85w{pointer-events:none;overflow:visible}.colorable-fill.svelte-15gk85w,.colorable-detail-layer.svelte-15gk85w{position:absolute;inset:0;width:100%;height:100%}.colorable-fill.svelte-15gk85w{-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}.colorable-detail-layer.svelte-15gk85w{object-fit:contain;mix-blend-mode:multiply}.toggle-group.svelte-15gk85w{display:flex;gap:8px;margin-top:10px}.toggle-group.svelte-15gk85w button:where(.svelte-15gk85w){padding:6px 12px;border:1px solid #ccc;background:#fff;color:#000;cursor:pointer;border-radius:6px}.toggle-group.svelte-15gk85w button.active:where(.svelte-15gk85w){background:#222;color:#fff;border-color:#222}.right-panel.svelte-15gk85w{background:#c0d4c8;display:flex;align-items:center;justify-content:center;gap:20px}.image-grid.svelte-15gk85w{position:relative;width:80%;display:grid;grid-template-columns:repeat(4,1fr);gap:15px;padding-top:20px;padding-bottom:20px}.grid-image.svelte-15gk85w{position:relative;background:#fff;border-radius:10px;cursor:pointer;aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center;overflow:hidden}.lock-overlay.svelte-15gk85w{position:absolute;inset:0;background:#00000080;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;border-radius:10px}.grid-image.svelte-15gk85w img:where(.svelte-15gk85w){width:70%;height:70%;object-fit:contain;pointer-events:none}.grid-image.svelte-15gk85w:hover{transform:scale(1.05);transition:.2s}.popup-box.svelte-15gk85w{background:#fff;display:flex;flex-direction:column;gap:10px}.category-bar.svelte-15gk85w{display:flex;flex-direction:column;gap:10px}.cat-btn.svelte-15gk85w{width:80px;height:80px;font-size:36px;border:none;cursor:pointer;background:#d9e6dd;border-radius:12px}.cat-btn.active.svelte-15gk85w{background:#8fb3a2}.remove-slot.svelte-15gk85w{font-size:28px;display:flex;align-items:center;justify-content:center}.popup-box.right-side.svelte-15gk85w{position:absolute;background:#fffffff2;border-radius:5px;box-shadow:0 5px 15px #0000004d;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;z-index:100;pointer-events:auto}
