:root{--c-gold: #BF9B51;--c-gold-hover: #d4a85e;--c-gold-deep: #8A7640;--c-gold-rgb: 191, 155, 81;--c-text-accent: var(--c-gold);--c-bg: #1B1717;--c-bg-deep: #140F0F;--c-bg-card: #201C1D;--c-bg-muted: #1A1616;--c-bg-footer: #0D0A0A;--c-bg-rgb: 27, 23, 23;--c-bg-deep-rgb: 20, 15, 15;--c-text: #F0E8D8;--c-text-muted: #9A8E7E;--c-text-faint: #bdb4a8;--c-text-dim: #605855;--c-text-placeholder: #504846;--c-text-white: #ffffff;--c-text-gray: #aaaaaa;--c-text-gray-dark: #888888;--c-error: #FF6B6B;--c-error-rgb: 255, 107, 107;--c-success: #4CAF50;--c-success-rgb: 76, 175, 80;--c-warning: #FFD700;--c-orange: #ff9800;--c-warn-light: #FFB74D;--c-info: #2196f3;--c-info-rgb: 33, 150, 243;--c-green-muted: #88cc88;--c-red-muted: #c47878;--c-red-deep: #884040;--c-olive: #6b8e23;--c-logout: #c86464}[data-theme=light]{color-scheme:light;--c-gold: #A67C2E;--c-gold-hover: #8B6520;--c-gold-deep: #6B4E15;--c-gold-rgb: 166, 124, 46;--c-text-accent: #1A0E06;--c-bg: #FAF6EE;--c-bg-deep: #F0E8D8;--c-bg-card: #FFFFFF;--c-bg-muted: #F5EDE0;--c-bg-footer: #E8DBC8;--c-bg-rgb: 250, 246, 238;--c-bg-deep-rgb: 240, 232, 216;--c-text: #2C1A0A;--c-text-muted: #6B4A28;--c-text-faint: #8A6038;--c-text-dim: #9A7848;--c-text-placeholder: #B09060;--c-text-white: #2C1A0A;--c-text-gray: #5A4030;--c-text-gray-dark: #786050;--c-error: #D94040;--c-error-rgb: 217, 64, 64;--c-success: #2E8B3E;--c-success-rgb: 46, 139, 62;--c-warning: #C8A000;--c-orange: #D4720A;--c-warn-light: #E08020;--c-info: #1565C0;--c-info-rgb: 21, 101, 192;--c-green-muted: #4A9E5C;--c-red-muted: #A04040;--c-red-deep: #7A2828;--c-olive: #4A6E14;--c-logout: #A84040}:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:var(--c-text-accent);background-color:var(--c-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@font-face{font-family:Segoe UI;src:url(/assets/segoeuithis-DIyy73Un.ttf) format("truetype");font-weight:400;font-style:normal}@font-face{font-family:Marmelad;src:url(/assets/marmelad-CBYwmOrJ.ttf) format("truetype");font-weight:400;font-style:normal}:root{--font-primary: "Segoe UI";--font-accent: "Marmelad"}h1,h2,h3,h4,h5,h6{font-family:var(--font-accent);font-weight:400}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}a{font-weight:500;color:var(--c-text-accent);text-decoration:none}a:hover{color:var(--c-gold-hover)}.ui-button{border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px}.ui-button:disabled{opacity:.6;cursor:not-allowed}.ui-button--small{padding:8px 16px;font-size:14px}.ui-button--medium{padding:12px 24px;font-size:16px}.ui-button--large{padding:16px 32px;font-size:18px}.ui-button--primary{background-color:var(--c-gold);color:var(--c-bg)}.ui-button--primary:hover:not(:disabled){background-color:var(--c-gold-hover);transform:translateY(-2px)}.ui-button--secondary{background-color:var(--c-gold);color:var(--c-bg);border:2px solid var(--c-gold)}.ui-button--secondary:hover:not(:disabled){background-color:var(--c-gold);color:var(--c-bg)}.ui-button--outline{background-color:var(--c-gold);color:var(--c-bg);border:2px solid var(--c-gold)}.ui-button--outline:hover:not(:disabled){background-color:var(--c-gold);color:var(--c-bg)}.ui-input-container{display:flex;flex-direction:column;gap:6px;width:100%}.ui-input-label{font-size:14px;font-weight:500;color:var(--c-text-accent)}.ui-input-wrapper{position:relative;display:flex;align-items:center}.ui-input{width:100%;padding:12px 16px;font-size:16px;background-color:var(--c-bg-deep);border:2px solid var(--c-bg-deep);border-radius:8px;color:var(--c-text-accent);transition:all .3s ease}.ui-input:focus{outline:none;border-color:var(--c-gold);box-shadow:0 0 0 3px rgba(var(--c-gold-rgb),.2)}.ui-input::placeholder{color:rgba(var(--c-gold-rgb),.5)}.ui-input-password-toggle{position:absolute;right:12px;background:none;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:2px;color:rgba(var(--c-gold-rgb),.5);transition:color .2s}.ui-input-password-toggle:hover{color:var(--c-gold)}.ui-input-error{font-size:12px;color:var(--c-error)}.ui-input-wrapper--error .ui-input{border-color:var(--c-error)}.ui-toggle-switch{width:100%}.ui-toggle-track{position:relative;display:flex;background-color:var(--c-bg-deep);border-radius:12px;padding:4px;overflow:hidden}.ui-toggle-thumb{position:absolute;top:4px;left:4px;width:calc(50% - 4px);height:calc(100% - 8px);background-color:var(--c-gold);border-radius:8px;transition:transform .3s ease}.ui-toggle-option{flex:1;padding:10px 16px;background:none;border:none;color:var(--c-text-accent);font-weight:600;font-size:14px;cursor:pointer;position:relative;z-index:1;transition:color .3s ease}.ui-toggle-option.active{color:var(--c-bg)}.ui-toggle-option:hover:not(.active){color:rgba(var(--c-gold-rgb),.8)}.theme-toggle{position:relative}.theme-toggle__btn{display:flex;align-items:center;gap:6px;padding:7px 12px;background:rgba(var(--c-gold-rgb),.1);border:1px solid rgba(var(--c-gold-rgb),.3);border-radius:8px;color:var(--c-text-accent);font-family:inherit;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s,border-color .2s;white-space:nowrap}.theme-toggle__btn:hover{background:rgba(var(--c-gold-rgb),.18);border-color:var(--c-gold)}.theme-toggle__icon{font-size:15px;line-height:1}.theme-toggle__chevron{font-size:10px;opacity:.6;transition:transform .2s}.theme-toggle__chevron--open{transform:rotate(180deg)}.theme-toggle__dropdown{position:absolute;top:calc(100% + 6px);right:0;min-width:180px;background:var(--c-bg-card);border:1px solid rgba(var(--c-gold-rgb),.3);border-radius:10px;box-shadow:0 8px 24px #00000040;overflow:hidden;z-index:200;animation:theme-dropdown-in .15s ease}@keyframes theme-dropdown-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.theme-toggle__option{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;background:none;border:none;color:var(--c-text-muted);font-family:inherit;font-size:13px;cursor:pointer;text-align:left;transition:background .15s,color .15s}.theme-toggle__option:hover{background:rgba(var(--c-gold-rgb),.08);color:var(--c-text)}.theme-toggle__option--active{color:var(--c-text-accent);font-weight:600;background:rgba(var(--c-gold-rgb),.06)}.theme-toggle__option-icon{font-size:16px;flex-shrink:0;width:20px;text-align:center}.theme-toggle__option-check{margin-left:auto;color:var(--c-text-accent);font-size:12px}.theme-toggle--inline{width:100%}.theme-toggle--inline .theme-toggle__btn{width:100%;justify-content:center;border-radius:4px}.theme-toggle--inline .theme-toggle__dropdown{position:static;box-shadow:none;border-radius:4px;margin-top:4px;border-color:rgba(var(--c-gold-rgb),.2);animation:none}.ui-header{background-color:rgba(var(--c-bg-deep-rgb),.95);border-bottom:1px solid rgba(var(--c-gold-rgb),.2);padding:0 24px;position:sticky;top:0;z-index:100}.ui-header-container{max-width:1200px;margin:0 auto;height:64px;display:flex;align-items:center;justify-content:space-between}.ui-header-logo{font-family:var(--font-accent);font-size:24px;font-weight:700;color:var(--c-text-accent);cursor:pointer;transition:opacity .3s;display:flex;align-items:center;gap:10px}.ui-header-logo-img{width:36px;height:36px;border-radius:50%;object-fit:cover}.ui-header-logo:hover{opacity:.8}.ui-header-nav{display:flex;align-items:center;gap:16px}.ui-header-menu-items{display:none}.ui-header-desktop-buttons{display:flex;align-items:center;gap:16px}.ui-header-hamburger{display:none}.ui-header-user{color:var(--c-text-accent);font-size:14px;font-weight:500;margin-right:8px}@media(max-width:600px){.ui-header{padding:0 16px}.ui-header-user,.ui-header-desktop-buttons{display:none}.ui-header-menu-items{display:flex}.ui-header-hamburger{display:flex;flex-direction:column;justify-content:space-between;width:24px;height:20px;background:none;border:none;cursor:pointer;padding:0;z-index:101}.ui-header-hamburger-line{width:100%;height:2px;background-color:var(--c-gold);transition:all .3s ease;border-radius:2px}.ui-header-hamburger-line.open:nth-child(1){transform:rotate(45deg) translate(5px,6px)}.ui-header-hamburger-line.open:nth-child(2){opacity:0}.ui-header-hamburger-line.open:nth-child(3){transform:rotate(-45deg) translate(5px,-6px)}.ui-header-nav{position:fixed;top:64px;left:0;right:0;background-color:rgba(var(--c-bg-deep-rgb),.98);flex-direction:column;align-items:center;padding:24px 16px;gap:12px;transform:translateY(-100%);opacity:0;visibility:hidden;transition:all .3s ease;z-index:99;border-bottom:1px solid rgba(var(--c-gold-rgb),.2)}.ui-header-nav.open{transform:translateY(0);opacity:1;visibility:visible}.ui-header-menu-items{display:flex;flex-direction:column;width:100%;gap:8px}.ui-header-menu-item{width:100%;padding:12px 20px;background-color:transparent;border:1px solid rgba(var(--c-gold-rgb),.4);color:var(--c-text-accent);font-size:16px;font-weight:500;cursor:pointer;border-radius:4px;transition:all .3s ease}.ui-header-menu-item:hover{background-color:rgba(var(--c-gold-rgb),.1);border-color:var(--c-gold)}.ui-header-menu-itemLogout{border-color:#c8646466;color:var(--c-logout)}.ui-header-menu-itemLogout:hover{background-color:#c864641a;border-color:var(--c-logout)}}.modal-overlay{position:fixed;inset:0;background-color:rgba(var(--c-bg-rgb),.85);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background-color:var(--c-bg);border:2px solid var(--c-gold);border-radius:12px;width:100%;max-width:420px;margin:20px;overflow:hidden;box-shadow:0 10px 30px #0009;animation:modalFadeIn .3s ease}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;border-bottom:1px solid rgba(var(--c-gold-rgb),.2)}.modal-title{margin:0;font-size:20px;color:var(--c-text-accent);font-weight:600}.modal-close-btn{background:none;border:none;color:var(--c-text-accent);font-size:28px;line-height:1;cursor:pointer;opacity:.7;transition:all .2s}.modal-close-btn:hover{opacity:1;transform:rotate(90deg)}.modal-body{padding:24px}@media(max-width:600px){.modal-content{max-width:calc(100% - 32px);margin:16px}.modal-header{padding:12px 16px}.modal-title{font-size:18px}.modal-body{padding:16px}}.custom-checkbox{display:inline-flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}.custom-checkbox.disabled{cursor:not-allowed;opacity:.5}.custom-checkbox input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.checkbox-box{width:20px;height:20px;border:2px solid rgba(var(--c-gold-rgb),.5);border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;background-color:transparent}.custom-checkbox:hover:not(.disabled) .checkbox-box{border-color:var(--c-gold)}.custom-checkbox input[type=checkbox]:checked+.checkbox-box{background-color:rgba(var(--c-gold-rgb),.2);border-color:var(--c-gold)}.checkbox-inner{width:10px;height:10px;background-color:var(--c-gold);border-radius:2px}.custom-checkbox-checked{display:inline-flex;align-items:center;cursor:pointer;-webkit-user-select:none;user-select:none}.custom-checkbox-checked.disabled{cursor:not-allowed;opacity:.5}.custom-checkbox-checked input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.checkbox-box-checked{width:20px;height:20px;border:2px solid rgba(var(--c-gold-rgb),.5);border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;background-color:transparent}.custom-checkbox-checked:hover:not(.disabled) .checkbox-box-checked{border-color:var(--c-gold)}.custom-checkbox-checked input[type=checkbox]:checked+.checkbox-box-checked{background-color:rgba(var(--c-gold-rgb),.2);border-color:var(--c-gold)}.checkmark{width:10px;height:10px;background-color:var(--c-gold);clip-path:polygon(20% 0%,40% 0%,100% 20%,100% 50%,40% 100%,20% 100%,0% 50%)}.page-container{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;flex:1}.auth-card{width:100%;max-width:420px;background-color:rgba(var(--c-bg-deep-rgb),.8);border-radius:16px;padding:32px;border:1px solid rgba(var(--c-gold-rgb),.2);text-align:center}.auth-title{font-size:28px;font-weight:700;color:var(--c-text-accent);text-align:center;margin-bottom:8px}.auth-subtitle{font-size:14px;color:rgba(var(--c-gold-rgb),.7);text-align:center;margin-bottom:24px}.auth-form{display:flex;flex-direction:column;gap:16px}.auth-button{margin-top:8px}.auth-footer{margin-top:20px;text-align:center;font-size:14px;color:rgba(var(--c-gold-rgb),.7)}.auth-link{color:var(--c-text-accent);cursor:pointer;text-decoration:underline;transition:color .3s}.auth-link:hover{color:var(--c-gold-hover)}.auth-agreement-label{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:var(--c-text-secondary);line-height:1.5;cursor:pointer;-webkit-user-select:none;user-select:none}.auth-agreement-checkbox{flex-shrink:0;margin-top:2px;width:16px;height:16px;accent-color:var(--c-gold);cursor:pointer}.auth-agreement-link{color:var(--c-gold);text-decoration:underline;cursor:pointer}.auth-agreement-link:hover{color:var(--c-gold-hover)}.auth-agreement-text{font-size:14px;line-height:1.7;color:var(--c-text-primary);max-height:60vh;overflow-y:auto;padding-right:4px}.auth-agreement-text p{margin:0 0 10px}.auth-agreement-text ul{margin:0 0 10px;padding-left:20px}.auth-agreement-text li{margin-bottom:4px}.auth-error{background-color:rgba(var(--c-error-rgb),.1);border:1px solid var(--c-error);color:var(--c-error);padding:12px;border-radius:8px;font-size:14px;text-align:center;margin-bottom:16px}.auth-success{background-color:rgba(var(--c-gold-rgb),.1);border:1px solid var(--c-gold);color:var(--c-text-accent);padding:12px;border-radius:8px;font-size:14px;text-align:center;margin-bottom:16px}.code-input-container{display:flex;justify-content:center;gap:10px;margin:24px 0 32px}.code-input{width:50px;height:60px;font-size:28px;font-weight:700;text-align:center;background-color:var(--c-bg-deep);border:2px solid var(--c-gold);border-radius:8px;color:var(--c-text-accent);transition:all .2s}.code-input:focus{outline:none;border-color:var(--c-gold-hover);box-shadow:0 0 0 3px rgba(var(--c-gold-rgb),.2)}.code-input:disabled{opacity:.6;cursor:not-allowed}.profile-info{background-color:rgba(var(--c-bg-deep-rgb),.6);border-radius:12px;padding:20px;margin-bottom:20px}.profile-field{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid rgba(var(--c-gold-rgb),.2)}.profile-field:last-child{border-bottom:none}.profile-field label{color:rgba(var(--c-gold-rgb),.7);font-size:14px}.profile-field span{color:var(--c-text-accent);font-weight:600}.edit-page{width:100%;min-height:calc(100vh - 80px);background-size:cover;background-position:center;background-attachment:fixed;overflow-x:hidden}.edit-page-filters{display:flex;gap:20px;padding:12px 24px;background:var(--c-bg-card);border-bottom:1px solid rgba(var(--c-gold-rgb),.15)}.edit-filter-label{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--c-text-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.edit-filter-label input[type=checkbox]{accent-color:var(--c-gold);width:16px;height:16px;cursor:pointer}@media(max-width:600px){*{-webkit-tap-highlight-color:transparent}html,body{overflow-x:hidden;overflow-y:auto;touch-action:pan-y;-webkit-overflow-scrolling:touch}.edit-page{min-height:100vh;height:auto!important;overflow-y:auto!important;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;touch-action:pan-y;user-select:none;-webkit-user-select:none}.persons-container{min-height:calc(100vh - 64px);height:auto!important;touch-action:pan-y;-webkit-overflow-scrolling:touch;user-select:none;-webkit-user-select:none}.persons-grid,.group-container{min-height:100%;height:auto!important;touch-action:pan-y;-webkit-overflow-scrolling:touch}.person-block{height:auto!important;min-height:150px;touch-action:pan-y!important;-webkit-overflow-scrolling:touch;user-select:none;-webkit-user-select:none;pointer-events:auto!important;cursor:default!important}.person-overlay{touch-action:pan-y;pointer-events:none}.group-wrapper{touch-action:pan-y;height:auto}.add-block{height:auto!important;min-height:100px}}.persons-container{display:flex;flex-direction:column;align-items:center;padding:40px 20px;gap:20px}.person-block{width:100%;max-width:500px;height:150px;border:2px solid var(--c-gold);border-radius:12px;background-size:cover;background-position:center;position:relative;overflow:hidden;cursor:pointer;transition:transform .3s ease,box-shadow .3s ease}.person-block:hover{transform:scale(1.02);box-shadow:0 8px 32px rgba(var(--c-gold-rgb),.3)}.blue-background-class{opacity:.4;background:var(--c-gold)}.person-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,#0000004d,#0009);display:flex;align-items:center;justify-content:center}.person-title{color:#fff;font-size:32px;font-weight:700;text-shadow:2px 2px 8px rgba(0,0,0,.5);margin:0;text-align:center}.person-author{color:#ffffffbf;font-size:13px;margin:6px 0 0;text-align:center;text-shadow:1px 1px 4px rgba(0,0,0,.5);letter-spacing:.02em}.persons-loading,.persons-error{color:var(--c-text-accent);font-size:18px;text-align:center;padding:40px}.add-block{background-color:rgba(var(--c-bg-deep-rgb),.6);border:2px dashed var(--c-gold);display:flex;flex-direction:row;align-items:center;justify-content:center;gap:8px;cursor:pointer;transition:all .3s ease;padding:8px 16px;min-height:36px;margin-top:auto}.group-add-button-wrapper{margin-top:auto;padding-top:8px}.group-actions-container{display:flex;flex-direction:column;gap:8px;margin-top:auto;padding-top:8px}.add-block:hover{background-color:rgba(var(--c-gold-rgb),.2);border-style:solid}.add-icon{font-size:20px;color:var(--c-text-accent);font-weight:300}.add-text{font-size:14px;color:var(--c-text-accent)}.group-actions{display:flex;gap:12px;margin-top:16px;padding-bottom:8px}.group-actions .add-block{flex:1}.group-add-group-button{border-color:var(--c-olive)!important}.group-add-group-button:hover{background-color:#6b8e2333!important}.group-add-group-button .add-icon,.group-add-group-button .add-text{color:var(--c-olive)}.group-add-button-wrapper{padding:10px;margin-top:8px}.person-actions{position:absolute;top:10px;right:10px;display:flex;gap:8px;z-index:10;background-color:#00000080;padding:6px 10px;border-radius:8px}.action-btn{width:32px;height:32px;border-radius:50%;background-color:var(--c-gold);border:none;color:#000;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:6px}.action-btn:hover{background-color:#a88a45;transform:scale(1.1)}.person-actions .action-btn{background-color:var(--c-gold)!important}.person-actions .action-btn img{filter:brightness(0)}.assignment-list .delete-btn{width:24px;height:24px;border-radius:4px;background-color:transparent;border:1px solid var(--c-gold);color:var(--c-text-accent);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:4px;position:relative;margin-left:8px}.assignment-list .delete-btn:hover{background-color:rgba(var(--c-gold-rgb),.2)}.assignment-list .delete-btn:before,.assignment-list .delete-btn:after{content:"";position:absolute;width:12px;height:2px;background-color:var(--c-gold)}.assignment-list .delete-btn:before{transform:rotate(45deg)}.assignment-list .delete-btn:after{transform:rotate(-45deg)}.assignment-list .preview-btn{width:24px;height:24px;background:transparent;border:none;cursor:pointer;position:relative;flex-shrink:0;margin-right:8px}.assignment-list .preview-btn:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:14px;height:10px;border:2px solid rgba(var(--c-gold-rgb),.7);border-radius:7px 7px 0 0}.assignment-list .preview-btn:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-30%);width:8px;height:8px;background:rgba(var(--c-gold-rgb),.7);border-radius:50%}.assignment-list .preview-btn:hover{background-color:rgba(var(--c-gold-rgb),.1)}.assignment-list .preview-btn:hover:before{border-color:var(--c-gold)}.assignment-list .preview-btn:hover:after{background:var(--c-gold)}.graph-btn:hover{background-color:rgba(var(--c-info-rgb),.3)}.graph-btn-fixed{position:absolute;bottom:10px;right:10px;padding:8px 16px;font-size:14px;font-weight:600;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px;background-color:var(--c-gold);color:var(--c-bg);z-index:10}.graph-btn-fixed:hover:not(:disabled){background-color:var(--c-gold-hover);transform:translateY(-2px)}.add-node-form{display:flex;flex-direction:column;gap:16px}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:8px}.delete-confirm-text{color:#fffc;font-size:16px;margin-bottom:20px}.course-preview-info{background:#ffffff1a;border-radius:8px;padding:16px;margin-bottom:16px}.course-preview-info h3{margin:0 0 16px;color:var(--c-text-accent);font-size:20px}.course-export-date{margin:0 0 8px;color:#fffc;font-size:14px}.course-divider{margin:12px 0;border:none;border-top:1px solid rgba(255,255,255,.2)}.course-stats-title{margin:0 0 4px;color:#fffc;font-size:14px;font-weight:500}.course-stats-list{margin:0;padding-left:20px;color:#fffc;font-size:14px}.course-stats-list li{margin-bottom:4px}.course-warning{color:#fff9;font-size:14px;margin-bottom:16px}.admin-header{display:flex;justify-content:space-between;align-items:center;padding:20px 40px;background-color:rgba(var(--c-bg-deep-rgb),.8);margin-bottom:20px}.admin-header h1{color:var(--c-text-accent);margin:0;font-size:24px}.admin-error{background-color:rgba(var(--c-error-rgb),.1);border:1px solid var(--c-error);color:var(--c-error);padding:12px;border-radius:8px;font-size:14px;text-align:center;margin:0 40px 20px}.admin-success{background-color:rgba(var(--c-success-rgb),.1);border:1px solid var(--c-success);color:var(--c-success);padding:12px;border-radius:8px;font-size:14px;text-align:center;margin:0 40px 20px}.admin-users-table{padding:0 40px 40px}.admin-users-table table{width:100%;max-width:1000px;margin:0 auto;background-color:rgba(var(--c-bg-deep-rgb),.8);border-radius:12px;overflow:hidden;border-collapse:collapse}.admin-users-table th,.admin-users-table td{padding:16px;text-align:left;border-bottom:1px solid rgba(var(--c-gold-rgb),.2)}.admin-users-table th{background-color:rgba(var(--c-gold-rgb),.1);color:var(--c-text-accent);font-weight:600}.admin-users-table td{color:#ffffffe6}.admin-users-table tr:last-child td{border-bottom:none}.role-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:12px;font-weight:600}.role-user{background-color:#9e9e9e33;color:#9e9e9e}.role-creator{background-color:rgba(var(--c-info-rgb),.2);color:var(--c-info)}.role-admin{background-color:#ff980033;color:var(--c-orange)}.action-buttons{display:flex;gap:8px}.add-user-form{display:flex;flex-direction:column;gap:16px}.role-select{display:flex;align-items:center;gap:12px}.role-select label{color:#ffffffb3;font-size:14px}@media(max-width:600px){.admin-header{flex-direction:column;gap:16px;padding:16px;text-align:center}.admin-header h1{font-size:20px}.admin-header .button{width:100%;max-width:250px}.admin-error,.admin-success{margin:0 16px 16px}.admin-users-table{padding:0 16px 24px;overflow-x:auto}.admin-users-table table{min-width:600px}.admin-users-table th,.admin-users-table td{padding:12px 8px;font-size:14px}.admin-users-table th:first-child,.admin-users-table td:first-child{padding-left:12px}.admin-users-table th:last-child,.admin-users-table td:last-child{padding-right:12px}.role-badge{padding:4px 8px;font-size:10px}.action-buttons{flex-direction:row;gap:4px}.action-buttons .button{padding:6px 8px;min-width:auto}.add-user-form{gap:12px}.role-select{flex-direction:column;align-items:stretch;gap:8px}.role-select label{font-size:14px}.form-actions{flex-direction:column;gap:8px}.form-actions .button{width:100%}}.role-select select{flex:1;padding:10px 12px;background-color:var(--c-bg-deep);border:1px solid var(--c-gold);border-radius:8px;color:var(--c-text-white);font-size:14px;cursor:pointer}.role-select select:focus{outline:none;border-color:var(--c-gold-hover)}.graph-page-full{position:relative;width:100%;height:100vh;overflow:hidden;background-color:var(--c-bg)}.persons-grid{display:flex;flex-direction:column;gap:20px;width:100%;max-width:500px;overflow:visible}.persons-grid:has(.person-block){margin-top:20px}.person-block.sortable-drag{cursor:grabbing!important;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none}.person-block.sortable-drag>.person-overlay{cursor:grabbing!important;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none}.person-block.sortable-drag *,.person-block.sortable-drag .node-action-buttons,.person-block.sortable-drag .status-button-container,.person-block.sortable-drag button{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none}.order-saving-indicator{position:fixed;bottom:20px;right:20px;background-color:rgba(var(--c-gold-rgb),.9);color:var(--c-bg);padding:12px 20px;border-radius:8px;font-weight:600;z-index:1000;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.person-order-info{font-size:14px;color:#ffffffb3;margin-top:8px}.group-container{width:100%;max-width:500px;margin-bottom:30px;overflow:visible}.group-wrapper{width:100%;max-width:500px;margin-bottom:30px}@media(max-width:600px){.edit-page{min-height:100vh;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}.person-block{max-width:100%;height:150px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none}.person-block *{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;-webkit-touch-callout:none}.persons-grid{max-width:100%;gap:12px}.group-container,.group-wrapper{max-width:100%;margin-bottom:20px}.person-title{font-size:20px}}.add-group-after{display:flex;width:100%;margin-top:20px;margin-bottom:20px;justify-content:center;padding:12px 24px}.group-header{color:var(--c-text-accent);font-size:20px;font-weight:600;margin:0 0 16px;padding-bottom:8px;border-bottom:1px solid rgba(var(--c-gold-rgb),.3)}.group-divider{width:100%;max-width:800px;height:2px;background:linear-gradient(to right,transparent,var(--c-gold),transparent);margin:20px 0}.group-add-button{margin-top:20px;margin-bottom:8px}.person-block-add{width:100%;max-width:500px;min-height:80px;border:2px dashed rgba(var(--c-gold-rgb),.5);border-radius:12px;background-color:rgba(var(--c-gold-rgb),.05);display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;transition:all .3s ease}.person-block-add:hover{border-color:var(--c-gold);background-color:rgba(var(--c-gold-rgb),.15);transform:none}.person-block-add .add-icon{font-size:28px;color:var(--c-text-accent)}.person-block-add .add-text{font-size:16px;color:var(--c-text-accent);font-weight:500}.add-group-button{margin-top:24px;padding-top:16px;border-top:1px solid rgba(var(--c-gold-rgb),.3);background-color:rgba(var(--c-gold-rgb),.05);border:2px solid rgba(var(--c-gold-rgb),.3);border-radius:8px;display:inline-flex;align-items:center;gap:8px;cursor:pointer;transition:all .3s ease}.add-group-button:hover{background-color:rgba(var(--c-gold-rgb),.25);border-color:var(--c-gold);transform:translateY(-2px)}.add-group-button .add-icon{font-size:24px;color:var(--c-text-accent)}.add-group-button .add-text{font-size:14px;color:var(--c-text-accent)}.group-add-after-button{margin-top:12px;background-color:rgba(var(--c-gold-rgb),.1);border-color:rgba(var(--c-gold-rgb),.5)}.group-add-after-button:hover{background-color:rgba(var(--c-gold-rgb),.3)}.empty-group{min-height:100px;display:flex;align-items:center;justify-content:center}.empty-group-placeholder{color:rgba(var(--c-gold-rgb),.5);font-size:16px;font-style:italic}.drag-overlay{cursor:grabbing!important;z-index:1000;position:relative;box-shadow:0 10px 40px rgba(var(--c-gold-rgb),.5)}.group-drag-over{background-color:rgba(var(--c-gold-rgb),.1);border:2px dashed var(--c-gold);border-radius:12px;padding:10px;transition:background-color .2s ease,border-color .2s ease}.group-drag-over .group-header{color:var(--c-text-accent)}.persons-container{overflow:visible}.profile-stats{background-color:rgba(var(--c-bg-deep-rgb),.6);border-radius:12px;padding:20px;margin-top:20px}.profile-stats-title{color:var(--c-text-accent);font-size:18px;font-weight:600;margin:0 0 16px;text-align:center}.profile-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.profile-stat-card{background-color:rgba(var(--c-gold-rgb),.1);border:1px solid rgba(var(--c-gold-rgb),.3);border-radius:10px;padding:16px;display:flex;flex-direction:column;align-items:center;transition:transform .2s ease,box-shadow .2s ease}.profile-stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--c-gold-rgb),.2)}.profile-stat-value{color:var(--c-text-accent);font-size:28px;font-weight:700;line-height:1.2}.profile-stat-label{color:rgba(var(--c-gold-rgb),.7);font-size:12px;margin-top:4px;text-align:center}.profile-stat-limit{font-size:18px;font-weight:400;opacity:.55}.profile-limit-warning{margin:10px 0 0;font-size:13px;color:#e07070;background:#b4505014;border:1px solid rgba(180,80,80,.25);border-radius:8px;padding:8px 12px;line-height:1.5}.graph-page{padding:24px;max-width:1200px;margin:0 auto;width:100%}.graph-header{margin-bottom:32px}.graph-header h1{color:var(--c-text-accent);font-size:28px;margin:16px 0 8px}.graph-header p{color:#ffffffb3;font-size:14px}.back-link{display:inline-block;color:var(--c-text-accent);text-decoration:none;font-size:14px;padding:8px 16px;background-color:rgba(var(--c-gold-rgb),.1);border:1px solid rgba(var(--c-gold-rgb),.3);border-radius:8px;cursor:pointer;transition:all .2s ease}.back-link:hover{background-color:rgba(var(--c-gold-rgb),.2);border-color:var(--c-gold)}.tasks-page{min-height:100vh;background-color:var(--c-bg);padding:20px}.tasks-header{display:flex;align-items:center;gap:20px;margin-bottom:24px}.tasks-header h1{color:var(--c-text-accent);font-size:24px;margin:0}.tasks-container{display:grid;grid-template-columns:300px 1fr;gap:24px;min-height:calc(100vh - 120px)}.tasks-list{background-color:var(--c-bg-card);border-radius:12px;padding:20px;border:1px solid rgba(var(--c-gold-rgb),.2)}.tasks-list h2{color:var(--c-text-accent);font-size:18px;margin:0 0 16px}.cards-quick-access{margin-bottom:16px}.cards-quick-access .btn-cards{width:100%;padding:12px 16px;background-color:var(--c-gold);color:var(--c-bg-card);border:none;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:space-between}.cards-quick-access .btn-cards:hover{background-color:var(--c-gold-hover);transform:translateY(-1px)}.cards-quick-access .btn-cards.btn-cards-error{background-color:#000;color:var(--c-text-accent)}.cards-quick-access .cards-item{background-color:var(--c-gold);border:none;border-radius:8px;padding:12px 16px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:flex-start;margin-bottom:8px;gap:8px}.cards-quick-access .cards-item .assignment-type{color:#000}.cards-quick-access .cards-item .validation-error-indicator{flex-shrink:0}.cards-quick-access .cards-item .change-indicator{margin-left:auto}.cards-quick-access .cards-item:hover{background-color:var(--c-gold-hover);transform:translateY(-1px)}.cards-quick-access .cards-item.has-error{background-color:var(--c-gold)}.cards-quick-access .cards-item.has-error .assignment-type{color:#000}.cards-quick-access .cards-item.has-error .validation-error-indicator.inverted{background-color:#000;color:var(--c-text-accent)}.assignment-list{list-style:none;padding:0;margin:0}.assignment-item{display:flex;align-items:center;justify-content:space-between;padding:12px;background-color:rgba(var(--c-gold-rgb),.05);border:1px solid rgba(var(--c-gold-rgb),.1);border-radius:8px;margin-bottom:8px;cursor:pointer;transition:all .2s ease}.assignment-item:hover{background-color:rgba(var(--c-gold-rgb),.1)}.assignment-item.selected{background-color:rgba(var(--c-gold-rgb),.2);border-color:var(--c-gold)}.assignment-type{color:var(--c-text-white);font-size:14px;display:flex;flex-direction:column;flex:1;overflow:hidden}.assignment-type .title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assignment-type .type-label{color:rgba(var(--c-gold-rgb),.7);font-size:12px}.assignment-id{color:rgba(var(--c-gold-rgb),.5);font-size:12px;margin-left:8px}.validation-error-indicator{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;background-color:var(--c-gold);color:#000;border-radius:50%;font-size:12px;font-weight:700;margin-right:8px;flex-shrink:0}.validation-error-indicator.inverted{background-color:#000;color:var(--c-text-accent)}.change-indicator{display:inline-flex;align-items:center;justify-content:center;width:10px;height:10px;background-color:var(--c-warning);border-radius:50%;margin-left:auto;flex-shrink:0}.tasks-editor{background-color:var(--c-bg-card);border-radius:12px;padding:24px;border:1px solid rgba(var(--c-gold-rgb),.2)}.assignment-editor h2{color:var(--c-text-accent);font-size:20px;margin:0 0 8px}.assignment-type-label{color:#fff9;font-size:14px;margin-bottom:24px}.questions-section,.wrong-answers-section,.description-section{margin-bottom:24px}.questions-section h3,.wrong-answers-section h3,.description-section h3{color:var(--c-text-white);font-size:16px;margin:0 0 16px;padding-bottom:8px;border-bottom:1px solid rgba(var(--c-gold-rgb),.2)}.description-textarea{width:100%;min-height:80px;padding:12px;border:1px solid rgba(var(--c-gold-rgb),.3);border-radius:8px;background-color:rgba(var(--c-gold-rgb),.05);color:var(--c-text-white);font-size:14px;font-family:inherit;resize:vertical}.description-textarea:focus{outline:none;border-color:rgba(var(--c-gold-rgb),.6);background-color:rgba(var(--c-gold-rgb),.1)}.description-textarea::placeholder{color:#fff6}.description-textarea:disabled{opacity:.6;cursor:not-allowed}.question-block{background-color:rgba(var(--c-gold-rgb),.05);border:1px solid rgba(var(--c-gold-rgb),.1);border-radius:8px;padding:16px;margin-bottom:16px}.question-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.question-number{color:var(--c-text-accent);font-weight:600}.question-block textarea{width:100%;min-height:80px;padding:12px;background-color:var(--c-bg-deep);border:1px solid rgba(var(--c-gold-rgb),.3);border-radius:8px;color:var(--c-text-white);font-size:14px;resize:vertical}.question-block textarea:focus{outline:none;border-color:var(--c-gold)}.answers-section{margin-top:16px;padding-top:16px;border-top:1px solid rgba(var(--c-gold-rgb),.1)}.answers-section h4{color:#ffffffb3;font-size:14px;margin:0 0 12px}.answer-item{display:flex;align-items:center;gap:12px;margin-bottom:12px;width:100%}.answer-item.single-choice-answer{justify-content:flex-start}.answer-item.correct{border-left:3px solid var(--c-success);padding-left:8px}.answer-item.wrong{border-left:3px solid var(--c-error);padding-left:8px}.answer-badge{font-size:14px;width:20px;text-align:center}.answer-item.correct .answer-badge{color:var(--c-success)}.answer-item.wrong .answer-badge{color:var(--c-error)}.answer-item input{flex:1;padding:10px 14px;background-color:var(--c-bg-deep);border:1px solid rgba(var(--c-gold-rgb),.3);border-radius:6px;color:var(--c-text-white);font-size:14px;width:100%}.answer-item.single-choice-answer .answer-input{flex:1;width:100%}.answer-item input:focus{outline:none;border-color:var(--c-gold)}.question-card{background-color:rgba(var(--c-gold-rgb),.05);border:1px solid rgba(var(--c-gold-rgb),.15);border-radius:8px;padding:16px;margin-bottom:16px}.question-card .question-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.question-card .question-header h4{color:var(--c-text-accent);font-size:14px;margin:0}.question-card .question-text{width:100%;min-height:60px;padding:12px;background-color:var(--c-bg-deep);border:1px solid rgba(var(--c-gold-rgb),.3);border-radius:8px;color:var(--c-text-white);font-size:14px;resize:vertical;margin-bottom:12px}.question-card .question-text:focus{outline:none;border-color:var(--c-gold)}.question-card .answers-section{margin-top:12px;padding-top:12px;border-top:1px solid rgba(var(--c-gold-rgb),.1)}.question-card .answers-section h5{color:#fff9;font-size:12px;margin:0 0 8px}.delete-question{font-size:18px;width:28px;height:28px;line-height:28px}.no-questions{text-align:center;padding:24px;color:#ffffff80}.answer-input{flex:1;padding:8px 12px;background-color:var(--c-bg-deep);border:1px solid rgba(var(--c-gold-rgb),.3);border-radius:6px;color:var(--c-text-white);font-size:14px}.correct-badge{color:var(--c-success);font-weight:700;font-size:16px}.validation-warning{background-color:rgba(var(--c-error-rgb),.1);border:1px solid rgba(var(--c-error-rgb),.3);border-radius:8px;padding:12px 16px;margin-top:16px;color:var(--c-error);font-size:14px}.error-container{background-color:rgba(var(--c-error-rgb),.15);border:1px solid var(--c-error);border-radius:6px;padding:10px 12px;margin-top:8px}.error-message{color:var(--c-error);font-size:13px;line-height:1.4}.question-block.has-error,.comparison-pair.has-error,.card-item.has-error,.sortable-item.has-error{background-color:rgba(var(--c-error-rgb),.08);border:1px solid rgba(var(--c-error-rgb),.3);border-radius:8px;padding:12px;margin-bottom:12px}.error-input{border-color:var(--c-error)!important;background-color:rgba(var(--c-error-rgb),.05)}.error-input:focus{border-color:var(--c-error);box-shadow:0 0 0 2px rgba(var(--c-error-rgb),.2)}.save-one-container{margin-top:24px;padding-top:16px;border-top:1px solid rgba(var(--c-gold-rgb),.2)}.no-selection{display:flex;align-items:center;justify-content:center;height:100%;color:#ffffff80;font-size:16px}.empty-message{color:#fff6;font-size:14px;text-align:center;padding:20px}.btn-small{padding:8px 16px;font-size:12px}.btn-primary{background-color:var(--c-gold);color:var(--c-bg);border:none;border-radius:8px;padding:12px 24px;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .2s ease}.btn-primary:hover{background-color:var(--c-gold-hover)}.btn-secondary{background-color:transparent;color:#ffffffb3;border:1px solid rgba(255,255,255,.2);border-radius:8px;padding:12px 24px;font-size:14px;cursor:pointer;transition:all .2s ease}.btn-secondary:hover{background-color:#ffffff0d}.modal-overlay{position:fixed;inset:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background-color:var(--c-bg-card);border-radius:12px;padding:24px;border:1px solid rgba(var(--c-gold-rgb),.3);min-width:400px;max-width:90%}.modal h3{color:var(--c-text-accent);font-size:20px;margin:0 0 20px}.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:20px}.modal .form-group{margin-bottom:16px}.modal .form-group label{display:block;color:#ffffffb3;font-size:14px;margin-bottom:8px}.modal .form-group select{width:100%;padding:12px 16px;background-color:var(--c-bg-deep);border:1px solid rgba(var(--c-gold-rgb),.3);border-radius:8px;color:var(--c-text-white);font-size:14px;cursor:pointer}.modal .form-group select:focus{outline:none;border-color:var(--c-gold)}.card-block{background-color:rgba(var(--c-gold-rgb),.05);border:1px solid rgba(var(--c-gold-rgb),.1);border-radius:8px;padding:16px;margin-bottom:16px}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.card-number{color:var(--c-text-accent);font-weight:600}.card-content{display:grid;grid-template-columns:1fr 1fr;gap:16px}.card-side{display:flex;flex-direction:column;gap:8px}.card-side label{color:#ffffffb3;font-size:12px}.card-side textarea{width:100%;min-height:80px;padding:12px;background-color:var(--c-bg-deep);border:1px solid rgba(var(--c-gold-rgb),.3);border-radius:8px;color:var(--c-text-white);font-size:14px;resize:vertical}.card-side textarea:focus{outline:none;border-color:var(--c-gold)}.answer-input{flex:1;min-height:80px;padding:12px;background-color:var(--c-bg-deep);border:1px solid rgba(var(--c-gold-rgb),.3);border-radius:8px;color:var(--c-text-white);font-size:14px;resize:vertical;width:100%}.answer-input:focus{outline:none;border-color:var(--c-gold)}.graph-container{display:flex;flex-direction:column;gap:24px}.graph-level{background-color:rgba(var(--c-bg-deep-rgb),.6);border-radius:12px;padding:20px;border:1px solid rgba(var(--c-gold-rgb),.2)}.level-title{color:var(--c-text-accent);font-size:18px;font-weight:600;margin:0 0 16px;padding-bottom:8px;border-bottom:1px solid rgba(var(--c-gold-rgb),.3)}.level-nodes{display:flex;flex-wrap:wrap;gap:16px}.graph-node{background-color:rgba(var(--c-gold-rgb),.1);border:1px solid rgba(var(--c-gold-rgb),.3);border-radius:10px;padding:16px;min-width:180px;transition:transform .2s ease,box-shadow .2s ease}.graph-node:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--c-gold-rgb),.2)}.node-content{display:flex;flex-direction:column;align-items:center;gap:8px}.node-image{width:60px;height:60px;object-fit:cover;border-radius:8px;border:1px solid rgba(var(--c-gold-rgb),.3)}.node-title{color:var(--c-text-white);font-size:14px;font-weight:500;text-align:center}.node-id{color:rgba(var(--c-gold-rgb),.6);font-size:12px}.node-parent{margin-top:8px;padding-top:8px;border-top:1px solid rgba(var(--c-gold-rgb),.2);font-size:12px;color:#fff9;text-align:center}.empty-graph{text-align:center;padding:48px;color:#ffffff80;font-size:16px}.loading{text-align:center;padding:48px;color:var(--c-text-accent);font-size:18px}.error{text-align:center;padding:48px;color:var(--c-error);font-size:16px}.graph-page-full{position:fixed;inset:0;background-color:var(--c-bg);z-index:1000;overflow:hidden}.graph-header-overlay{position:absolute;top:0;left:0;right:0;height:60px;background:linear-gradient(to bottom,rgba(var(--c-bg-rgb),.95),transparent);display:flex;align-items:center;justify-content:space-between;padding:0 20px;z-index:10}.graph-info{display:flex;flex-direction:column;align-items:center}.graph-footer{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:center;align-items:center;padding:10px 20px 14px;background:linear-gradient(transparent,rgba(var(--c-bg-rgb),.75));z-index:200;pointer-events:none}.graph-footer-hint-btn{pointer-events:auto;background:#ffffff0f;border:1px solid rgba(var(--c-gold-rgb),.22);border-radius:24px;color:var(--c-text-muted);font-family:inherit;font-size:17px;font-weight:600;padding:15px 48px;cursor:pointer;transition:all .18s}.graph-footer-hint-btn:hover{border-color:rgba(var(--c-gold-rgb),.5);color:var(--c-text-accent)}.graph-hint-ok-btn{background:rgba(var(--c-gold-rgb),.15);border:1px solid rgba(var(--c-gold-rgb),.4);border-radius:10px;color:var(--c-text-accent);font-family:inherit;font-size:14px;font-weight:600;padding:10px 32px;cursor:pointer;transition:all .18s}.graph-hint-ok-btn:hover{background:rgba(var(--c-gold-rgb),.25)}@media(max-width:768px){.graph-footer{bottom:68px;background:none}.graph-footer-hint-btn{background:rgba(var(--c-bg-deep-rgb),.92);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-color:rgba(var(--c-gold-rgb),.35)}}.graph-info h1{color:var(--c-text-accent);font-size:18px;margin:0}.graph-info p{color:rgba(var(--c-gold-rgb),.6);font-size:12px;margin:4px 0 0}.back-link-small{padding:8px 16px;background-color:rgba(var(--c-gold-rgb),.1);border:1px solid rgba(var(--c-gold-rgb),.3);border-radius:8px;color:var(--c-text-accent);font-size:14px;cursor:pointer;transition:all .2s ease}.back-link-small:hover{background-color:rgba(var(--c-gold-rgb),.2);border-color:var(--c-gold)}.graph-controls{display:flex;align-items:center;gap:8px}.graph-controls button{width:36px;height:36px;border-radius:8px;background-color:rgba(var(--c-gold-rgb),.1);border:1px solid rgba(var(--c-gold-rgb),.3);color:var(--c-text-accent);font-size:18px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.graph-controls button:hover{background-color:rgba(var(--c-gold-rgb),.2);border-color:var(--c-gold)}.graph-controls span{color:rgba(var(--c-gold-rgb),.7);font-size:14px;min-width:50px;text-align:center}.graph-canvas-container{width:100%;height:100%;cursor:grab}.graph-canvas-container:active{cursor:grabbing}@media(max-width:768px){.graph-canvas-container{width:100%;margin-top:60px;height:calc(100% - 60px)}}.sorting-section{margin-top:24px;padding-top:16px;border-top:1px solid rgba(var(--c-gold-rgb),.2)}.sorting-section h3{color:var(--c-text-white);font-size:16px;margin:0 0 16px;padding-bottom:8px;border-bottom:1px solid rgba(var(--c-gold-rgb),.2)}.sorting-instruction{background-color:rgba(var(--c-gold-rgb),.1);border:1px solid rgba(var(--c-gold-rgb),.2);border-radius:8px;padding:12px 16px;margin-bottom:16px;color:#fffc;font-size:14px}.sortable-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.sortable-item{display:flex;align-items:center;gap:12px;background-color:rgba(var(--c-gold-rgb),.05);border:1px solid rgba(var(--c-gold-rgb),.15);border-radius:8px;padding:12px 16px;transition:all .2s ease}.sortable-item:hover{background-color:rgba(var(--c-gold-rgb),.1);border-color:rgba(var(--c-gold-rgb),.3)}.sortable-item.is-dragging{background-color:rgba(var(--c-gold-rgb),.15);border-color:var(--c-gold);box-shadow:0 4px 12px #0000004d}.sortable-handle{cursor:grab;color:rgba(var(--c-gold-rgb),.6);font-size:16px;padding:4px 8px;-webkit-user-select:none;user-select:none;transition:color .2s ease}.sortable-handle:hover{color:var(--c-text-accent)}.sortable-handle:active{cursor:grabbing}.sortable-index{display:flex;align-items:center;justify-content:center;min-width:24px;height:24px;background-color:var(--c-gold);color:var(--c-bg-deep);border-radius:50%;font-size:12px;font-weight:700}.sortable-input{flex:1;padding:8px 12px;background-color:var(--c-bg-deep);border:1px solid rgba(var(--c-gold-rgb),.3);border-radius:6px;color:var(--c-text-white);font-size:14px}.sortable-input:focus{outline:none;border-color:var(--c-gold)}.sortable-text{flex:1;color:var(--c-text-white);font-size:14px}.comparison-pair{background-color:rgba(var(--c-gold-rgb),.05);border:1px solid rgba(var(--c-gold-rgb),.15);border-radius:8px;margin-bottom:16px;overflow:hidden}.comparison-pair .pair-header{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background-color:rgba(var(--c-gold-rgb),.1);border-bottom:1px solid rgba(var(--c-gold-rgb),.15)}.comparison-pair .pair-number{font-weight:600;color:#ffffffe6}.comparison-pair .pair-content{display:flex;align-items:center;gap:16px;padding:16px}.comparison-pair .pair-side{flex:1}.comparison-pair .pair-side label{display:block;margin-bottom:6px;font-size:12px;color:rgba(var(--c-gold-rgb),.8);font-weight:500}.comparison-pair .pair-input{width:100%;padding:10px 12px;background-color:var(--c-bg-deep);border:1px solid rgba(var(--c-gold-rgb),.3);border-radius:6px;color:var(--c-text-white);font-size:14px}.comparison-pair .pair-input:focus{outline:none;border-color:var(--c-gold)}.comparison-pair .pair-arrow{font-size:20px;color:rgba(var(--c-gold-rgb),.6);padding-top:20px}.tasks-header--mobile,.tasks-list-close,.tasks-list-add-btn,.tasks-drawer-overlay,.tasks-hamburger{display:none}.tasks-hint-bar{position:fixed;bottom:16px;left:0;right:0;display:flex;justify-content:center;z-index:50;pointer-events:none}.tasks-hint-btn{pointer-events:auto;padding:13px 44px;background:rgba(var(--c-gold-rgb),.12);border:1px solid rgba(var(--c-gold-rgb),.35);border-radius:24px;color:var(--c-text-muted);font-family:inherit;font-size:15px;font-weight:600;cursor:pointer;transition:all .18s}.tasks-hint-btn:hover{border-color:rgba(var(--c-gold-rgb),.6);color:var(--c-text-accent)}.tasks-hint-mobile{display:none}.tasks-hint-desktop{display:block}@media(max-width:768px){.tasks-page{padding:0 0 80px}.tasks-header--desktop{display:none}.tasks-header--mobile{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--c-bg-card);border-bottom:1px solid rgba(var(--c-gold-rgb),.18);position:sticky;top:0;z-index:100}.tasks-mobile-back{background:none;border:none;color:var(--c-text-accent);font-size:20px;line-height:1;cursor:pointer;padding:4px 8px 4px 0;flex-shrink:0}.tasks-mobile-title{flex:1;font-size:16px;font-weight:600;color:var(--c-text-accent);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.tasks-mobile-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.tasks-mobile-actions .btn{padding:6px 10px;font-size:12px;white-space:nowrap}.tasks-hamburger{display:flex;flex-direction:column;justify-content:center;gap:5px;padding:8px;background:rgba(var(--c-gold-rgb),.1);border:1px solid rgba(var(--c-gold-rgb),.28);border-radius:8px;cursor:pointer;flex-shrink:0}.tasks-hamburger-line{display:block;width:20px;height:2px;background:var(--c-text-accent);border-radius:2px;transition:all .2s}.tasks-drawer-overlay{display:block;position:fixed;inset:0;background:#0000008c;z-index:1001}.tasks-container{grid-template-columns:1fr;gap:0;min-height:unset}.tasks-list{position:fixed;top:0;left:-100%;width:82%;max-width:320px;height:100%;z-index:1002;overflow-y:auto;border-radius:0 16px 16px 0;padding:56px 16px 32px;transition:left .28s cubic-bezier(.4,0,.2,1);box-shadow:4px 0 24px #0006}.tasks-list--open{left:0}.tasks-list-close{display:flex;align-items:center;justify-content:center;position:absolute;top:12px;right:14px;width:36px;height:36px;background:rgba(var(--c-gold-rgb),.1);border:1px solid rgba(var(--c-gold-rgb),.25);border-radius:8px;color:var(--c-text-primary);font-size:16px;cursor:pointer}.tasks-list-add-btn{display:flex;width:100%;margin-bottom:14px;justify-content:center}.tasks-editor{padding:14px;border-radius:0;border-left:none;border-right:none;border-top:none}.card-content{grid-template-columns:1fr;gap:10px}.comparison-pair .pair-content{flex-direction:column;gap:10px;padding:12px}.comparison-pair .pair-arrow{align-self:center;padding-top:0;transform:rotate(90deg);font-size:18px}.sortable-item{padding:10px 12px}.sortable-handle{padding:0 6px}.answer-item{flex-wrap:wrap}.answer-input{min-width:0}.save-one-container{margin-top:16px}.save-one-container .btn{width:100%}.tasks-hint-mobile{display:block}.tasks-hint-desktop{display:none}}.material-page{min-height:100vh;background-color:var(--c-bg);color:var(--c-text-white)}.material-header{display:flex;align-items:center;gap:20px;padding:16px 24px;background-color:var(--c-bg-card);border-bottom:1px solid rgba(var(--c-gold-rgb),.2)}.material-header h1{font-size:24px;color:var(--c-text-accent);margin:0}.material-header .back-link{background:none;border:none;color:#ffffffb3;font-size:14px;cursor:pointer;padding:8px 12px;border-radius:6px;transition:all .2s ease}.material-header .back-link:hover{background-color:rgba(var(--c-gold-rgb),.1);color:var(--c-text-accent)}.material-container{display:flex;height:calc(100vh - 70px)}.material-categories{width:300px;min-width:300px;background-color:var(--c-bg-card);border-right:1px solid rgba(var(--c-gold-rgb),.2);padding:16px;overflow-y:auto}.material-categories h2{font-size:16px;color:var(--c-text-accent);margin:0 0 16px}.category-list{list-style:none;padding:0;margin:0}.category-item{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:8px;cursor:pointer;transition:all .2s ease;margin-bottom:4px}.category-item:hover{background-color:rgba(var(--c-gold-rgb),.1)}.category-item.active{background-color:rgba(var(--c-gold-rgb),.2)}.category-icon{display:flex;align-items:center;flex-shrink:0;color:rgba(var(--c-gold-rgb),.7)}.category-label{flex:1;font-size:14px;color:#ffffffe6}.category-count{background-color:rgba(var(--c-gold-rgb),.3);color:var(--c-text-accent);font-size:12px;padding:2px 8px;border-radius:10px;font-weight:600}.material-list-panel{width:280px;min-width:280px;background-color:var(--c-bg);border-right:1px solid rgba(var(--c-gold-rgb),.2);display:flex;flex-direction:column}.material-list-header{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid rgba(var(--c-gold-rgb),.2)}.material-list-header h2{font-size:16px;color:var(--c-text-accent);margin:0}.add-material-btn{background-color:var(--c-gold);color:var(--c-bg);border:none;padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.add-material-btn:hover{background-color:var(--c-gold-hover)}.material-list{flex:1;overflow-y:auto;padding:8px}.material-list ul{list-style:none;padding:0;margin:0}.material-list .material-item{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:8px;cursor:pointer;transition:all .2s ease;margin-bottom:4px}.material-list .material-item:hover{background-color:rgba(var(--c-gold-rgb),.1)}.material-list .material-item.selected{background-color:rgba(var(--c-gold-rgb),.2)}.material-list .material-title{font-size:14px;color:#ffffffe6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.material-list .delete-btn{width:24px;height:24px;border-radius:4px;background-color:transparent;border:1px solid var(--c-gold);color:var(--c-text-accent);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;padding:4px;position:relative;margin-left:8px;opacity:0}.material-list .material-item:hover .delete-btn{opacity:1}.material-list .delete-btn:hover{background-color:rgba(var(--c-gold-rgb),.2)}.material-list .delete-btn:before,.material-list .delete-btn:after{content:"";position:absolute;width:12px;height:2px;background-color:var(--c-gold)}.material-list .delete-btn:before{transform:rotate(45deg)}.material-list .delete-btn:after{transform:rotate(-45deg)}.material-editor-panel{flex:1;overflow-y:auto;padding:20px;background-color:var(--c-bg)}.material-editor{max-width:900px;margin:0 auto}.material-editor-empty{display:flex;align-items:center;justify-content:center;height:100%;color:#ffffff80;font-size:16px}.editor-header{display:flex;align-items:center;gap:16px;margin-bottom:20px}.editor-header-left{flex:1;display:flex;flex-direction:column}.input-label{color:var(--c-text-gray);font-size:12px;margin-bottom:4px;margin-top:8px}.input-label:first-child{margin-top:0}.material-image-uploader{flex-shrink:0}.material-title-input{padding:10px 14px;background-color:var(--c-bg-card);border:1px solid rgba(var(--c-gold-rgb),.3);border-radius:8px;color:var(--c-text-white);font-size:18px;font-weight:600;width:100%;box-sizing:border-box}.material-title-input:focus{outline:none;border-color:var(--c-gold)}.material-description-input{padding:10px 14px;background-color:var(--c-bg-card);border:1px solid rgba(var(--c-gold-rgb),.3);border-radius:8px;color:var(--c-text-gray);font-size:14px;width:100%;box-sizing:border-box;resize:vertical;font-family:inherit}.material-description-input:focus{outline:none;border-color:var(--c-gold)}.save-btn{background-color:var(--c-gold);color:var(--c-bg);border:none;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}.save-btn:disabled{opacity:.6;cursor:not-allowed}.editor-toolbar{display:flex;gap:10px;padding:12px;background-color:var(--c-bg-card);border-radius:8px;margin-bottom:20px}.toolbar-btn{background-color:rgba(var(--c-gold-rgb),.1);color:#fffc;border:1px solid rgba(var(--c-gold-rgb),.2);padding:8px 14px;border-radius:6px;font-size:13px;cursor:pointer;transition:all .2s ease}.toolbar-btn:hover{background-color:rgba(var(--c-gold-rgb),.2);border-color:var(--c-gold)}.editor-content{display:flex;flex-direction:column;gap:16px}.content-block{position:relative}.text-block-wrapper{display:flex;gap:8px;align-items:flex-start}.block-controls{display:flex;flex-direction:column;gap:4px;padding-top:8px}.bold-btn{width:28px;height:28px;background-color:rgba(var(--c-gold-rgb),.1);border:1px solid rgba(var(--c-gold-rgb),.2);border-radius:4px;color:#ffffffb3;font-weight:700;font-size:14px;cursor:pointer;transition:all .2s ease}.bold-btn:hover,.bold-btn.active{background-color:rgba(var(--c-gold-rgb),.3);border-color:var(--c-gold);color:var(--c-text-accent)}.delete-block-btn{width:28px;height:28px;background-color:rgba(var(--c-error-rgb),.1);border:1px solid rgba(var(--c-error-rgb),.2);border-radius:4px;color:#fff9;font-size:16px;cursor:pointer;transition:all .2s ease}.delete-block-btn:hover{background-color:rgba(var(--c-error-rgb),.2);border-color:var(--c-error);color:var(--c-error)}.text-block{flex:1;min-height:100px;padding:12px;background-color:var(--c-bg-card);border:1px solid rgba(var(--c-gold-rgb),.2);border-radius:8px;color:var(--c-text-white);font-size:14px;line-height:1.6;resize:vertical;font-family:inherit}.text-block:focus{outline:none;border-color:var(--c-gold)}.text-block.bold{font-weight:600}.text-block[readonly]{background-color:var(--c-bg-deep);cursor:default}.image-block-wrapper{position:relative;display:inline-block}.image-block-wrapper .delete-block-btn{position:absolute;top:8px;right:8px;z-index:10}.material-image{max-width:100%;border-radius:8px;border:1px solid rgba(var(--c-gold-rgb),.2)}.markdown-editor{width:100%;min-height:500px;padding:16px;background-color:var(--c-bg-card);border:1px solid rgba(var(--c-gold-rgb),.2);border-radius:8px;color:var(--c-text-white);font-size:14px;font-family:Courier New,monospace;line-height:1.6;resize:vertical}.markdown-editor:focus{outline:none;border-color:var(--c-gold)}.markdown-editor[readonly]{cursor:default}.editor-actions{display:flex;gap:10px}.preview-btn{background-color:rgba(var(--c-gold-rgb),.1);color:#fffc;border:1px solid rgba(var(--c-gold-rgb),.2);padding:10px 16px;border-radius:8px;font-size:14px;cursor:pointer;transition:all .2s ease}.preview-btn:hover,.preview-btn.active{background-color:rgba(var(--c-gold-rgb),.3);border-color:var(--c-gold);color:var(--c-text-accent)}.markdown-preview{padding:20px;background-color:var(--c-bg-card);border:1px solid rgba(var(--c-gold-rgb),.2);position:relative}.preview-exit-btn{position:absolute;top:10px;right:10px;background-color:rgba(var(--c-gold-rgb),.1);color:#fffc;border:1px solid rgba(var(--c-gold-rgb),.2);padding:10px 16px;border-radius:8px;font-size:14px;cursor:pointer;transition:all .2s ease;z-index:10}.preview-exit-btn:hover{background-color:rgba(var(--c-gold-rgb),.3);border-color:var(--c-gold);color:var(--c-text-accent)}.markdown-preview{border-radius:8px;min-height:500px;color:var(--c-text-white);font-size:15px;line-height:1.8}.markdown-preview h1,.markdown-preview h2,.markdown-preview h3,.markdown-preview h4,.markdown-preview h5,.markdown-preview h6{color:var(--c-text-accent);margin-top:24px;margin-bottom:12px}.markdown-preview h1{font-size:28px;border-bottom:1px solid rgba(var(--c-gold-rgb),.3);padding-bottom:8px}.markdown-preview h2{font-size:24px}.markdown-preview h3{font-size:20px}.markdown-preview p{margin-bottom:16px}.markdown-preview strong{color:var(--c-text-accent);font-weight:600}.markdown-preview em{font-style:italic;color:#fffc}.markdown-preview ul,.markdown-preview ol{margin-bottom:16px;padding-left:24px}.markdown-preview li{margin-bottom:8px}.markdown-preview a{color:var(--c-text-accent);text-decoration:none}.markdown-preview a:hover{text-decoration:underline}.markdown-preview img{max-width:100%;border-radius:8px;margin:16px 0;border:1px solid rgba(var(--c-gold-rgb),.2)}.markdown-preview code{background-color:rgba(var(--c-gold-rgb),.1);padding:2px 6px;border-radius:4px;font-family:Courier New,monospace;font-size:13px}.markdown-preview pre{background-color:#0000004d;padding:16px;border-radius:8px;overflow-x:auto;margin-bottom:16px}.markdown-preview pre code{background:none;padding:0}.markdown-help{margin-top:16px;padding:12px;background-color:rgba(var(--c-gold-rgb),.05);border-radius:8px;font-size:12px}.markdown-help summary{cursor:pointer;color:#fff9;outline:none}.markdown-help ul{list-style:none;padding:8px 0 0;margin:8px 0 0}.markdown-help li{margin-bottom:4px;color:#ffffff80}.markdown-help code{background-color:rgba(var(--c-gold-rgb),.1);padding:1px 4px;border-radius:3px;color:var(--c-text-accent)}@media(max-width:768px){.material-container{flex-direction:column}.material-categories{width:100%;min-width:100%;max-width:100%;border-right:none;border-bottom:1px solid rgba(var(--c-gold-rgb),.2);overflow-y:visible}.material-list-panel{width:100%;min-width:100%;border-right:none;border-bottom:1px solid rgba(var(--c-gold-rgb),.2);max-height:300px}.material-editor-panel{flex:1;min-height:400px}.editor-header{flex-direction:column;align-items:stretch}.editor-header-left{order:1}.material-image-uploader{order:2;margin-top:12px}}.validation-modal-content{padding:16px 0}.validation-error-text{color:var(--c-error);font-size:16px;margin-bottom:16px;line-height:1.5}.validation-warning-text{color:var(--c-warning);font-size:16px;margin-bottom:16px;line-height:1.5}.validation-errors-list{background-color:rgba(var(--c-error-rgb),.1);border:1px solid rgba(var(--c-error-rgb),.3);border-radius:8px;padding:12px;margin-bottom:16px;max-height:200px;overflow-y:auto}.validation-errors-list h4{color:var(--c-error);margin:0 0 8px;font-size:14px}.validation-errors-list ul{margin:0;padding-left:20px;color:#fffc;font-size:13px}.validation-errors-list li{margin-bottom:4px}.validation-modal-link{color:var(--c-text-accent);text-decoration:underline;cursor:pointer}.validation-modal-link:hover{color:var(--c-gold-hover)}.cards-warning{color:#f44;font-size:10px;margin-top:2px}.person-block{background-size:cover;background-position:center;background-repeat:no-repeat;border:3px solid transparent;transition:border-color .2s ease}.node-action-buttons{position:absolute;bottom:10px;right:10px;display:flex;gap:8px;z-index:10}.node-action-buttons .graph-btn-fixed{position:static;padding:6px 12px;font-size:12px}.status-button-container{position:absolute;top:10px;left:10px;z-index:10}.status-button-container .graph-btn-fixed{position:static;padding:6px 12px;font-size:12px}.publish-btn{background:var(--c-info)!important;color:#fff!important}.hide-btn{background:var(--c-orange)!important;color:#fff!important}.reveal-btn{background:var(--c-success)!important;color:#fff!important}.publish-modal-content{padding:10px}.publish-modal-content h3{margin-bottom:15px;color:var(--c-text-accent);font-size:16px}.publish-modal-content p{color:#ccc;font-size:14px;line-height:1.5}.limitations-list{list-style:none;padding:0;margin:15px 0}.limitations-list li{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid rgba(var(--c-gold-rgb),.2);color:#ddd;font-size:14px}.limitations-list li:last-child{border-bottom:none}.confirm-checkbox{display:flex;align-items:center;gap:10px;margin:20px 0;cursor:pointer;color:var(--c-text-accent);font-size:14px}.confirm-checkbox input{width:18px;height:18px;accent-color:var(--c-gold)}.modal-buttons{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.modal-btn{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;font-size:14px;font-weight:500}.modal-btn.cancel{background:#e0e0e0;color:#333}.modal-btn.confirm{background:var(--c-success);color:#fff}.modal-btn.confirm:disabled{background:#a5d6a7;cursor:not-allowed}.modal-btn.hide{background:var(--c-orange);color:#fff}.validation-errors{background:#ff44441a;border:1px solid rgba(255,68,68,.3);padding:15px;border-radius:8px;margin-bottom:15px;max-height:200px;overflow-y:auto}.validation-errors strong{color:#f44;font-size:14px;display:block;margin-bottom:10px;padding-bottom:8px;border-bottom:1px solid rgba(255,68,68,.2)}.validation-errors ul{margin:10px 0;padding-left:0;list-style:none}.validation-errors li{color:#f66;margin:8px 0;padding:8px 12px;background:#ff44440d;border-radius:4px;font-size:13px;line-height:1.4;border-left:3px solid #ff4444}.sortable-drag{-webkit-user-drag:none;user-drag:none}.move-arrows{position:absolute;left:10px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:4px;z-index:15}.move-arrow-btn{width:28px;height:28px;border:1px solid rgba(var(--c-gold-rgb),.4);border-radius:4px;background:rgba(var(--c-bg-deep-rgb),.88);color:var(--c-text-accent);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,opacity .2s,border-color .2s}.move-arrow-btn:hover:not(:disabled){background:rgba(var(--c-gold-rgb),.2);border-color:var(--c-gold)}.move-arrow-btn:disabled{opacity:.3;cursor:not-allowed}.move-arrow-btn svg{width:14px;height:14px}.graph-node-menu-overlay{position:fixed;inset:0;background-color:#00000080;display:flex;align-items:flex-end;justify-content:center;z-index:1000;animation:fadeIn .2s ease}.graph-node-menu{width:100%;max-width:400px;background-color:var(--c-bg-card);border-radius:20px 20px 0 0;border:1px solid rgba(var(--c-gold-rgb),.3);border-bottom:none;animation:slideUp .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.graph-node-menu-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid rgba(var(--c-gold-rgb),.2)}.graph-node-menu-header h3{color:var(--c-text-accent);font-size:18px;margin:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:12px}.close-btn{width:32px;height:32px;border-radius:50%;background-color:rgba(var(--c-gold-rgb),.1);border:1px solid rgba(var(--c-gold-rgb),.3);color:var(--c-text-accent);font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.close-btn:hover{background-color:rgba(var(--c-gold-rgb),.2)}.graph-node-menu-content{padding:20px}.node-info{display:flex;flex-direction:column;gap:8px}.node-info p{color:#fffc;font-size:14px;margin:0}.node-info p strong{color:var(--c-text-accent)}.node-preview-img{width:80px;height:80px;object-fit:cover;border-radius:10px;border:1px solid rgba(var(--c-gold-rgb),.3);margin-top:12px}.form-group{margin-bottom:16px}.form-group label{display:block;color:#ffffffb3;font-size:14px;margin-bottom:8px}.form-group input{width:100%;padding:12px 16px;background-color:var(--c-bg-deep);border:1px solid rgba(var(--c-gold-rgb),.3);border-radius:8px;color:var(--c-text-white);font-size:14px;transition:border-color .2s ease}.form-group input:focus{outline:none;border-color:var(--c-gold)}.form-group input::placeholder{color:#ffffff4d}.graph-node-menu-actions{padding:16px 20px 32px;display:flex;flex-direction:column;gap:10px}.menu-btn{width:100%;padding:10px 16px;border-radius:10px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.menu-btn:disabled{opacity:.6;cursor:not-allowed}.add-btn{background-color:rgba(var(--c-info-rgb),.2);color:var(--c-info);border:1px solid rgba(var(--c-info-rgb),.3)}.add-btn:hover:not(:disabled){background-color:rgba(var(--c-info-rgb),.3)}.edit-btn{background-color:rgba(var(--c-gold-rgb),.1);color:var(--c-text-accent);border:1px solid rgba(var(--c-gold-rgb),.3)}.edit-btn:hover:not(:disabled){background-color:rgba(var(--c-gold-rgb),.2)}.delete-btn{background-color:rgba(var(--c-error-rgb),.1);color:var(--c-error);border:1px solid rgba(var(--c-error-rgb),.3)}.delete-btn:hover:not(:disabled){background-color:rgba(var(--c-error-rgb),.2)}.save-btn{background-color:var(--c-gold);color:var(--c-bg)}.save-btn:hover:not(:disabled){background-color:var(--c-gold-hover)}.cancel-btn{background-color:transparent;color:#fff9;border:1px solid rgba(255,255,255,.2)}.cancel-btn:hover{background-color:#ffffff0d}.questions-btn{background-color:rgba(var(--c-success-rgb),.2);color:var(--c-success);border:1px solid rgba(var(--c-success-rgb),.3)}.questions-btn:hover{background-color:rgba(var(--c-success-rgb),.3)}.test-btn{background-color:rgba(var(--c-info-rgb),.2);color:var(--c-info);border:1px solid rgba(var(--c-info-rgb),.3)}.test-btn:hover{background-color:rgba(var(--c-info-rgb),.3)}.test-btn:disabled,.level-btn:disabled{opacity:.5;cursor:not-allowed}.level-btn{background-color:rgba(var(--c-gold-rgb),.2);color:var(--c-text-accent);border:1px solid rgba(var(--c-gold-rgb),.3)}.level-btn:hover{background-color:rgba(var(--c-gold-rgb),.3)}.image-upload-preview{position:relative;width:100%;max-width:200px;margin:0 auto 8px;display:flex;justify-content:center}.image-upload-preview img{width:100%;height:auto;border-radius:8px;border:1px solid rgba(var(--c-gold-rgb),.3)}.btn-remove-image{position:absolute;top:-8px;right:-8px;width:24px;height:24px;border-radius:50%;background-color:rgba(var(--c-error-rgb),.9);border:none;color:#fff;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center}.btn-remove-image:hover{background-color:var(--c-error)}.file-upload-btn{display:inline-block;padding:12px 20px;background-color:rgba(var(--c-gold-rgb),.1);border:1px solid rgba(var(--c-gold-rgb),.3);border-radius:8px;color:var(--c-text-accent);cursor:pointer;transition:all .2s ease;text-align:center;width:100%;max-width:200px;box-sizing:border-box}.file-upload-btn:hover{background-color:rgba(var(--c-gold-rgb),.2)}.file-upload-btn input{display:none}.validation-errors-section{margin-top:16px;padding:12px;background-color:#ff44441a;border:1px solid rgba(255,68,68,.3);border-radius:8px;max-height:200px;overflow-y:auto}.validation-errors-title{color:#f44;font-size:14px;font-weight:600;margin:0 0 10px;padding-bottom:8px;border-bottom:1px solid rgba(255,68,68,.2)}.validation-errors-list{list-style:none;padding:0;margin:0}.validation-error-item{padding:8px 0;border-bottom:1px solid rgba(255,68,68,.1);font-size:13px;line-height:1.5}.validation-error-item:last-child{border-bottom:none}.error-location{display:block;color:var(--c-text-accent);font-weight:500;margin-bottom:4px}.error-type{color:#8b7355;font-size:12px;margin-left:4px}.error-message{display:block;color:#f66;padding-left:12px}.validation-errors-empty{margin-top:16px;padding:12px;background-color:rgba(var(--c-success-rgb),.1);border:1px solid rgba(var(--c-success-rgb),.3);border-radius:8px;color:var(--c-success);font-size:14px;text-align:center}.validation-errors-loading{margin-top:16px;padding:12px;color:var(--c-text-accent);font-size:14px;text-align:center}.published-notice{padding:12px;background-color:rgba(var(--c-gold-rgb),.1);border:1px solid rgba(var(--c-gold-rgb),.3);border-radius:8px;color:var(--c-text-accent);font-size:14px;text-align:center;margin-top:8px}.gen-modal-body{display:flex;flex-direction:column;gap:14px}.gen-btn{background-color:#7850c833;color:var(--c-text-primary);border:1px solid rgba(120,80,200,.45);padding:14px 20px;font-size:15px}.gen-btn:hover{background-color:#7850c852}.delete-btn--last{margin-top:8px;border-top:1px solid rgba(var(--c-error-rgb),.15);padding-top:12px}.gen-panel{width:100%;background:#ffffff0a;border:1px solid rgba(120,80,200,.25);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:10px;margin-top:4px}.gen-row{display:flex;flex-direction:column;gap:4px}.gen-label{font-size:12px;color:var(--c-text-secondary);font-weight:500}.gen-radio-group{display:flex;gap:16px;flex-wrap:wrap}.gen-radio-label{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--c-text-primary);cursor:pointer}.gen-count-row{display:flex;align-items:center;gap:8px}.gen-count-input{width:60px;padding:5px 8px;border-radius:6px;border:1px solid rgba(var(--c-gold-rgb),.3);background:var(--c-bg-input, rgba(255,255,255,.06));color:var(--c-text-primary);font-size:14px;text-align:center}.gen-count-hints{display:flex;gap:5px}.gen-count-hint{padding:4px 9px;border-radius:6px;border:1px solid rgba(var(--c-gold-rgb),.25);background:transparent;color:var(--c-text-muted);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s}.gen-count-hint:hover{border-color:rgba(var(--c-gold-rgb),.5);color:var(--c-text-accent)}.gen-count-hint--active{background:rgba(var(--c-gold-rgb),.15);border-color:rgba(var(--c-gold-rgb),.5);color:var(--c-text-accent)}.gen-types-grid{display:flex;flex-direction:column;gap:5px;padding-left:2px}.gen-type-row{display:flex;align-items:center;justify-content:space-between;font-size:13px;color:var(--c-text-primary)}.gen-type-name{flex:1}.gen-type-count{width:55px;padding:3px 7px;border-radius:6px;border:1px solid rgba(var(--c-gold-rgb),.25);background:var(--c-bg-input, rgba(255,255,255,.06));color:var(--c-text-primary);font-size:13px}.gen-details{width:100%;padding:7px 10px;border-radius:8px;border:1px solid rgba(var(--c-gold-rgb),.25);background:var(--c-bg-input, rgba(255,255,255,.06));color:var(--c-text-primary);font-size:13px;resize:vertical;box-sizing:border-box}.gen-error{font-size:12px;color:#e05555;padding:6px 8px;background:#e055551a;border-radius:6px;white-space:pre-line;line-height:1.5}.gen-success{font-size:12px;color:#55c07a;padding:4px 6px;background:#55c07a1a;border-radius:6px}.gen-submit-btn{width:100%;padding:13px 20px;border-radius:10px;font-size:14px;font-weight:700;cursor:pointer;transition:all .18s;background-color:#7850c840;color:var(--c-text-primary);border:1px solid rgba(120,80,200,.5);margin-top:4px}.gen-submit-btn:hover:not(:disabled){background-color:#7850c86b}.gen-submit-btn:disabled{opacity:.6;cursor:not-allowed}.gen-submit-btn--loading{pointer-events:none}.gen-spinner-wrap{display:flex;align-items:center;justify-content:center;gap:8px}.gen-spinner{width:15px;height:15px;border:2px solid rgba(255,255,255,.25);border-top-color:#ffffffd9;border-radius:50%;animation:gen-spin .7s linear infinite;flex-shrink:0}@keyframes gen-spin{to{transform:rotate(360deg)}}.task-preview-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.task-preview-mobile{width:100%;max-width:375px;height:90vh;max-height:700px;background:linear-gradient(180deg,#1a1a2e,#16213e);border-radius:24px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 10px 40px #00000080;border:1px solid rgba(var(--c-gold-rgb),.3)}.task-preview-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;background:#0000004d;border-bottom:1px solid rgba(var(--c-gold-rgb),.2)}.task-preview-type{font-size:12px;color:rgba(var(--c-gold-rgb),.8);text-transform:uppercase;letter-spacing:1px;font-weight:600;white-space:normal;word-break:break-word;flex:1;margin-right:8px}.task-preview-close{width:32px;height:32px;border-radius:50%;border:none;background:#ffffff1a;color:#fff;font-size:20px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.task-preview-close:hover{background:#fff3}.task-preview-content{flex:1;overflow-y:auto;padding:20px}.task-preview-image{margin-bottom:20px;border-radius:12px;overflow:hidden}.task-preview-image img{width:100%;height:auto;display:block}.task-preview-question{margin-bottom:24px;text-align:center;max-width:100%;overflow:hidden}.task-preview-question p{color:#fff;font-size:18px;font-weight:500;line-height:1.5;margin:0;word-wrap:break-word;overflow-wrap:break-word;max-width:100%}.task-preview-answers{display:flex;flex-direction:column;gap:12px}.task-preview-answer{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#ffffff14;border:2px solid rgba(255,255,255,.1);border-radius:12px;cursor:pointer;transition:all .2s;text-align:left}.task-preview-answer:hover:not(:disabled){background:#ffffff1f;border-color:rgba(var(--c-gold-rgb),.5)}.task-preview-answer.selected{background:rgba(var(--c-gold-rgb),.2);border-color:var(--c-gold)}.task-preview-answer.correct{background:rgba(var(--c-success-rgb),.2);border-color:var(--c-success)}.task-preview-answer.incorrect{background:#f4433633;border-color:#f44336}.task-preview-answer:disabled{cursor:default}.answer-number{width:28px;height:28px;border-radius:50%;background:rgba(var(--c-gold-rgb),.3);color:var(--c-text-accent);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:14px;flex-shrink:0}.task-preview-answer.selected .answer-number{background:var(--c-gold);color:#fff}.task-preview-answer.selected .answer-checkbox{color:var(--c-text-accent)}.task-preview-answer.correct .answer-number{background:var(--c-success);color:#fff}.task-preview-answer.incorrect .answer-number{background:#f44336;color:#fff}.answer-text{flex:1;color:#fff;font-size:15px;line-height:1.4}.answer-checkbox{font-size:18px;margin-right:8px;color:#fff9}.answer-check{color:var(--c-text-accent);font-size:18px}.answer-icon{font-size:18px;font-weight:700}.task-preview-answer.correct .answer-icon{color:var(--c-success)}.task-preview-answer.incorrect .answer-icon{color:#f44336}.task-preview-result{margin-top:20px;padding:16px;border-radius:12px;text-align:center;font-size:16px;font-weight:500}.task-preview-result.correct{background:rgba(var(--c-success-rgb),.2);color:var(--c-success);border:1px solid rgba(var(--c-success-rgb),.3)}.task-preview-result.incorrect{background:#f4433633;color:#f44336;border:1px solid rgba(244,67,54,.3)}.task-preview-footer{padding:16px 20px;background:#0000004d;border-top:1px solid rgba(var(--c-gold-rgb),.2)}.task-preview-submit,.task-preview-next{width:100%;padding:14px 24px;border-radius:12px;border:none;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.task-preview-submit{background:linear-gradient(135deg,var(--c-gold) 0%,var(--c-gold-hover) 100%);color:var(--c-bg-deep)}.task-preview-submit:hover:not(:disabled){background:linear-gradient(135deg,var(--c-gold-hover) 0%,#e6bc6f 100%);transform:translateY(-1px)}.task-preview-submit:disabled{background:rgba(var(--c-gold-rgb),.3);color:rgba(var(--c-bg-deep-rgb),.5);cursor:not-allowed}.task-preview-next{background:linear-gradient(135deg,var(--c-success) 0%,#66BB6A 100%);color:#fff}.task-preview-next:hover{background:linear-gradient(135deg,#66bb6a,#81c784);transform:translateY(-1px)}@keyframes fadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.task-preview-mobile{animation:fadeIn .3s ease-out}.level-play-progress{padding:12px 20px;background:#0003}.progress-bar{height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden;margin-bottom:8px}.progress-fill{height:100%;background:linear-gradient(90deg,var(--c-gold),var(--c-gold-hover));border-radius:3px;transition:width .3s ease}.progress-text{text-align:center;color:rgba(var(--c-gold-rgb),.8);font-size:14px;font-weight:500}.question-type{display:block;font-size:11px;color:rgba(var(--c-gold-rgb),.7);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}.level-play-finished,.level-play-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:40px;text-align:center}.finished-icon{font-size:64px;margin-bottom:20px}.level-play-finished h2{color:#fff;font-size:24px;margin-bottom:8px}.level-play-finished p{color:#ffffffb3;font-size:16px;margin-bottom:24px}.finished-stats{color:var(--c-text-accent);font-size:18px;margin-bottom:32px}.level-play-empty p{color:#ffffffb3;font-size:18px;margin-bottom:24px}.cards-interface{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px}.cards-question{background:#ffffff14;border:2px solid rgba(var(--c-gold-rgb),.3);border-radius:16px;padding:40px;min-height:200px;display:flex;align-items:center;justify-content:center;width:100%;margin-bottom:24px}.card-question-text,.card-answer{color:#fff;font-size:24px;text-align:center;font-weight:500}.card-answer{color:var(--c-text-accent)}.cards-footer{width:100%}.cards-actions{display:flex;gap:12px}.card-btn{flex:1;padding:14px 24px;border-radius:12px;border:none;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.card-btn:disabled{opacity:.4;cursor:not-allowed}.card-btn.show-answer{flex:1;width:100%;background:linear-gradient(135deg,var(--c-gold) 0%,var(--c-gold-hover) 100%);color:var(--c-bg-deep)}.card-btn.show-answer:hover{background:linear-gradient(135deg,var(--c-gold-hover) 0%,#e6bc6f 100%)}.card-btn.know{background:linear-gradient(135deg,var(--c-success) 0%,#66BB6A 100%);color:#fff}.card-btn.know:hover{background:linear-gradient(135deg,#66bb6a,#81c784)}.card-btn.dont-know{background:#f4433633;color:#f44336;border:1px solid rgba(244,67,54,.3)}.card-btn.dont-know:hover{background:#f443364d}.cards-three-buttons{display:flex;gap:12px;width:100%}.cards-three-buttons .card-btn{flex:1}.finished-buttons{display:flex;gap:12px;margin-top:20px}.finished-buttons button{flex:1}.sorting-answers{display:flex;flex-direction:column;gap:8px;padding:16px;width:100%}.sortable-item{display:flex;align-items:center;gap:12px;background:#ffffff14;border:1px solid rgba(var(--c-gold-rgb),.3);border-radius:12px;padding:12px 16px;cursor:grab;-webkit-user-select:none;user-select:none;transition:all .2s ease}.sortable-item:hover{background:#ffffff1f;border-color:rgba(var(--c-gold-rgb),.5)}.sortable-item.is-dragging{opacity:.5;background:rgba(var(--c-gold-rgb),.2)}.sortable-handle{color:rgba(var(--c-gold-rgb),.6);font-size:16px;cursor:grab}.sortable-index{color:rgba(var(--c-gold-rgb),.8);font-weight:600;min-width:24px}.sortable-text{color:#fff;flex:1}.comparison-answers{display:flex;gap:16px;padding:16px;width:100%}.comparison-left,.comparison-right{flex:1;display:flex;flex-direction:column;gap:8px}.comparison-item{display:flex;align-items:center;gap:8px;background:#ffffff14;border:1px solid rgba(var(--c-gold-rgb),.3);border-radius:12px;padding:12px;color:#fff;font-size:14px;cursor:pointer;transition:all .2s ease;text-align:left}.comparison-item:hover:not(:disabled){background:#ffffff1f;border-color:rgba(var(--c-gold-rgb),.5)}.comparison-item.selected{background:#d4af3780!important;border-color:#d4af37!important;box-shadow:0 0 10px #d4af374d}.comparison-item.matched{border-color:currentColor}.comparison-item.correct{background:rgba(var(--c-success-rgb),.3)!important;border-color:var(--c-success)!important}.comparison-item.incorrect{background:#f443364d!important;border-color:#f44336!important}.comparison-item.selectable{cursor:pointer}.comparison-item:disabled{opacity:.6;cursor:not-allowed}.match-arrow{color:rgba(var(--c-gold-rgb),.8);margin:0 4px}.matched-item{color:rgba(var(--c-success-rgb),.9)}.toolbar{position:fixed;top:60px;left:0;bottom:0;width:56px;display:flex;flex-direction:column;background-color:rgba(var(--c-bg-deep-rgb),.95);border-right:1px solid rgba(var(--c-gold-rgb),.2);padding:8px;gap:8px;z-index:50}.toolbar__tools{display:flex;flex-direction:column;gap:4px}.toolbar__tool{width:40px;height:40px;border:none;border-radius:8px;background-color:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;position:relative}.toolbar__tool-icon{display:flex;align-items:center;justify-content:center;color:rgba(var(--c-gold-rgb),.7);transition:color .2s ease}.toolbar__tool:hover{background-color:rgba(var(--c-gold-rgb),.15)}.toolbar__tool:hover .toolbar__tool-icon{color:var(--c-text-accent)}.toolbar__tool--active{background-color:rgba(var(--c-gold-rgb),.2)}.toolbar__tool--active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:24px;background-color:var(--c-gold);border-radius:0 2px 2px 0}.toolbar__tool--active .toolbar__tool-icon{color:var(--c-text-accent)}.toolbar__tool--effective{background-color:rgba(var(--c-gold-rgb),.15);border:1px dashed rgba(var(--c-gold-rgb),.5)}.toolbar__tool--effective .toolbar__tool-icon{color:rgba(var(--c-gold-rgb),.8)}.toolbar__divider{height:1px;background-color:rgba(var(--c-gold-rgb),.2);margin:4px 0}.toolbar__info{margin-top:auto;padding:4px;text-align:center}.toolbar__active-tool-name{font-size:10px;color:rgba(var(--c-gold-rgb),.6);text-transform:uppercase;letter-spacing:.5px;writing-mode:vertical-rl;text-orientation:mixed;transform:rotate(180deg);display:inline-block}@media(max-width:768px){.toolbar{inset:auto 0 0;width:100%;height:auto;flex-direction:row;border-right:none;border-top:1px solid rgba(var(--c-gold-rgb),.2);padding:8px 12px;position:fixed;z-index:100}.toolbar__tools{flex-direction:row;justify-content:center;flex:1}.toolbar__tool{width:44px;height:44px}.toolbar__divider{width:1px;height:32px;margin:0 8px}.toolbar__info{margin-top:0;margin-left:auto;display:flex;align-items:center}.toolbar__active-tool-name{writing-mode:horizontal-tb;transform:none;font-size:12px}}@keyframes toolSelected{0%{transform:scale(.9);opacity:.5}to{transform:scale(1);opacity:1}}.toolbar__tool--active{animation:toolSelected .2s ease-out}.toolbar__tool:focus{outline:2px solid rgba(var(--c-gold-rgb),.5);outline-offset:2px}.toolbar__tool:focus:not(:focus-visible){outline:none}.toolbar__tool--disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.toolbar__tool--disabled:hover{background-color:transparent}.toolbar__tool--disabled:hover .toolbar__tool-icon{color:rgba(var(--c-gold-rgb),.7)}.image-uploader{margin:16px 0;display:flex;flex-direction:column;align-items:center}.image-uploader__dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 48px;border:2px dashed var(--c-gold);border-radius:8px;cursor:pointer;transition:all .3s ease;background-color:transparent}.image-uploader__dropzone:hover{background-color:var(--c-gold);color:var(--c-text-white);transform:translateY(-2px)}.image-uploader__dropzone:hover .image-uploader__text{color:var(--c-text-white)}.image-uploader__dropzone:hover .image-uploader__icon{filter:brightness(0) invert(1)}.image-uploader__dropzone--disabled{cursor:not-allowed;opacity:.6}.image-uploader__dropzone--disabled:hover{border-color:var(--c-gold);background-color:transparent;color:var(--c-text-accent);transform:none}.image-uploader__icon{font-size:32px;margin-bottom:8px}.image-uploader__text{color:var(--c-text-accent);font-size:14px}.image-uploader__preview{display:flex;flex-direction:column;align-items:center;gap:12px;max-width:fit-content}.image-uploader__image{max-width:100%;max-height:300px;border-radius:8px;object-fit:contain;border:2px solid var(--c-gold);display:block}.image-uploader__actions{display:flex;gap:8px;justify-content:center}.image-uploader__error{color:#dc3545;font-size:12px;margin-top:8px;text-align:center}.image-uploader__pending-badge{background-color:#ffc107;color:#000;padding:4px 12px;border-radius:4px;font-size:12px;font-weight:500;text-align:center}.layout{min-height:100vh;background-size:cover;background-position:center;background-repeat:no-repeat;background-color:var(--c-bg);display:flex;justify-content:center;padding:20px}.layout-content{width:100%;max-width:1200px}.role-dialog-overlay{position:fixed;inset:0;background:radial-gradient(ellipse 80% 55% at 50% 20%,rgba(var(--c-gold-rgb),.1) 0%,transparent 70%),var(--c-bg-deep);display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.role-dialog{text-align:center;max-width:620px;width:100%}.role-dialog-logo{font-family:Cinzel,Georgia,serif;font-size:clamp(42px,8vw,72px);font-weight:900;letter-spacing:.07em;color:var(--c-text-accent);text-shadow:0 0 80px rgba(var(--c-gold-rgb),.35),0 2px 0 rgba(0,0,0,.55);margin-bottom:28px}.role-dialog-title{font-family:Cinzel,Georgia,serif;font-size:clamp(18px,3.5vw,26px);font-weight:700;color:var(--c-text);margin:0 0 10px;letter-spacing:.04em}.role-dialog-subtitle{font-size:15px;color:var(--c-text-muted);margin:0 0 44px;line-height:1.6}.role-dialog-buttons{display:grid;grid-template-columns:1fr 1fr;gap:16px}.role-dialog-btn{background:var(--c-bg-card);border:1px solid rgba(var(--c-gold-rgb),.25);border-radius:16px;padding:36px 24px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:10px;transition:border-color .3s ease,transform .3s ease,box-shadow .3s ease;position:relative;overflow:hidden}.role-dialog-btn:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--c-gold),transparent);opacity:0;transition:opacity .3s ease}.role-dialog-btn:hover{border-color:rgba(var(--c-gold-rgb),.6);transform:translateY(-5px);box-shadow:0 16px 48px #0000008c}.role-dialog-btn:hover:before{opacity:1}.role-dialog-btn-icon{font-size:42px;filter:drop-shadow(0 0 12px rgba(var(--c-gold-rgb),.3))}.role-dialog-btn-label{font-family:Cinzel,Georgia,serif;font-size:15px;font-weight:600;color:var(--c-text-accent);letter-spacing:.04em}.role-dialog-btn-desc{font-size:13px;color:var(--c-text-muted);line-height:1.5;text-align:center}@media(max-width:540px){.role-dialog-buttons{grid-template-columns:1fr}}.landing-switch-role{display:flex;align-items:center;justify-content:center;gap:12px;padding:18px 24px;background:var(--c-bg-deep);font-size:14px;color:var(--c-text-dim)}.landing-switch-role-btn{background:none;border:none;color:var(--c-text-accent);font-size:14px;font-family:inherit;cursor:pointer;opacity:.85;transition:color .2s ease,opacity .2s ease;padding:0}.landing-switch-role-btn:hover{color:var(--c-gold-hover);opacity:1}.landing-hero--teacher{padding-bottom:120px}.landing-teacher-visual{position:relative;display:flex;justify-content:center;align-items:flex-end;margin-top:64px;width:100%;max-width:900px}.landing-teacher-cards{display:flex;gap:16px;align-items:flex-end}.landing-teacher-card{background:var(--c-bg-card);border:1px solid rgba(var(--c-gold-rgb),.2);border-radius:16px;padding:28px 24px;display:flex;flex-direction:column;align-items:center;gap:12px;font-family:Cinzel,Georgia,serif;font-size:13px;color:var(--c-text-muted);letter-spacing:.03em;width:160px;transform:rotate(-3deg);box-shadow:0 20px 60px #0009;transition:transform .4s cubic-bezier(.22,1,.36,1)}.landing-teacher-card--center{transform:rotate(0) translateY(-16px);border-color:rgba(var(--c-gold-rgb),.45);color:var(--c-text-accent)}.landing-teacher-card:last-child{transform:rotate(3deg)}.landing-teacher-cards:hover .landing-teacher-card:first-child{transform:rotate(-5deg) translate(-8px)}.landing-teacher-cards:hover .landing-teacher-card--center{transform:rotate(0) translateY(-24px) scale(1.04)}.landing-teacher-cards:hover .landing-teacher-card:last-child{transform:rotate(5deg) translate(8px)}.landing-teacher-card-icon{font-size:36px;filter:drop-shadow(0 0 10px rgba(var(--c-gold-rgb),.25))}@media(max-width:540px){.landing-teacher-card{width:110px;padding:20px 14px;font-size:11px}.landing-teacher-card-icon{font-size:26px}}.reveal{opacity:0;transform:translateY(44px);transition:opacity .75s cubic-bezier(.22,1,.36,1),transform .75s cubic-bezier(.22,1,.36,1)}.reveal.visible{opacity:1;transform:translateY(0)}.landing-page{min-height:100vh;display:flex;flex-direction:column;background-color:var(--c-bg-deep);font-family:Raleway,Segoe UI,sans-serif;border-radius:24px}.landing-eyebrow,.landing-section-tag{font-size:11px;font-weight:600;letter-spacing:.35em;text-transform:uppercase;color:var(--c-text-accent);opacity:.75;margin-bottom:16px}.landing-section-title{font-family:Cinzel,Georgia,serif;font-size:clamp(22px,4vw,34px);font-weight:700;color:var(--c-text);letter-spacing:.05em;line-height:1.2}.landing-hero{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:120px 24px 80px;background:radial-gradient(ellipse 80% 55% at 50% 0%,rgba(var(--c-gold-rgb),.12) 0%,transparent 70%),linear-gradient(180deg,var(--c-bg-card) 0%,var(--c-bg) 60%,var(--c-bg-deep) 100%);overflow:hidden;border-radius:24px}.landing-logo{font-family:Cinzel,Georgia,serif;font-size:clamp(52px,10vw,96px);font-weight:900;letter-spacing:.07em;line-height:1;color:var(--c-text-accent);text-shadow:0 0 80px rgba(var(--c-gold-rgb),.35),0 2px 0 rgba(0,0,0,.55);margin-bottom:24px}.landing-subtitle{font-size:17px;font-weight:400;color:var(--c-text-muted);max-width:500px;margin:0 auto 48px;line-height:1.8;letter-spacing:.01em}.landing-loading{color:var(--c-text-gray-dark);font-size:16px;margin-bottom:20px}.landing-cta{margin-bottom:0}.landing-cta--duo{display:flex;flex-direction:column;align-items:center;gap:12px}.landing-cta.reveal,.landing-cta.reveal.visible{opacity:1;transform:translateY(0)}.landing-soon p{color:#ccc;font-size:18px;margin-bottom:12px}.landing-phones{position:relative;display:flex;justify-content:center;align-items:flex-end;margin-top:64px;width:100%;max-width:900px}.landing-phone{border-radius:18px;box-shadow:0 20px 60px #000000b3,0 0 0 1px rgba(var(--c-gold-rgb),.1);transition:transform .4s cubic-bezier(.22,1,.36,1);position:relative}.landing-phone--left{width:240px;z-index:2;transform:rotate(-4deg) translate(30px);margin-bottom:24px}.landing-phone--center{width:260px;z-index:3;margin-bottom:0}.landing-phone--right{width:240px;z-index:2;transform:rotate(4deg) translate(-30px);margin-bottom:24px}.landing-phones:hover .landing-phone--left{transform:rotate(-6deg) translate(18px) scale(1.02)}.landing-phones:hover .landing-phone--center{transform:scale(1.04) translateY(-8px)}.landing-phones:hover .landing-phone--right{transform:rotate(6deg) translate(-18px) scale(1.02)}.landing-phones-glow{position:absolute;bottom:-30px;left:50%;transform:translate(-50%);width:55%;height:80px;background:radial-gradient(ellipse,rgba(var(--c-gold-rgb),.18) 0%,transparent 70%);filter:blur(20px);pointer-events:none}.landing-telegram-section{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0;margin:0;background:var(--c-bg);border-top:1px solid rgba(var(--c-gold-rgb),.18);border-bottom:1px solid rgba(var(--c-gold-rgb),.18);overflow:hidden}.landing-telegram-section:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(var(--c-gold-rgb),.06) 0%,transparent 70%);pointer-events:none}.landing-telegram-heading{font-family:Cinzel,Georgia,serif;font-size:clamp(26px,5vw,42px);font-weight:700;color:var(--c-text);letter-spacing:.04em;line-height:1.25;margin-bottom:18px}.landing-telegram-sub{font-size:16px;color:var(--c-text-muted);max-width:440px;line-height:1.75;margin-bottom:44px}.landing-telegram-btn-wrap{display:flex;justify-content:center}.landing-telegram-image-container{position:relative;display:inline-block;border-radius:16px;overflow:hidden}.landing-telegram-image{display:block;max-width:100%;height:auto}.landing-telegram-label{position:absolute;top:40%;left:50%;transform:translate(-50%,-50%);color:var(--c-text-accent);font-size:40px;font-weight:400;text-align:center;text-shadow:0 2px 4px rgba(0,0,0,.5);white-space:nowrap;pointer-events:none}.landing-telegram-btn{position:absolute;bottom:20px;left:50%;transform:translate(-50%);transition:transform .2s ease;animation:none!important;opacity:1!important}.landing-telegram-btn:hover{transform:translate(-50%,-8px)!important}@media(max-width:768px){.landing-telegram-section{padding:0}.landing-telegram-image-container{display:flex;flex-direction:column;align-items:center;position:static;overflow:visible;border-radius:0;width:100%;gap:0;padding:32px 0}.landing-telegram-label{position:static;transform:none;top:auto;left:auto;order:1;font-size:clamp(18px,5vw,28px);white-space:normal;width:100%;padding:0 24px 24px;text-align:center;pointer-events:none}.landing-telegram-image{order:2;display:none;width:100vw;max-width:none;height:300px;object-fit:cover;object-position:center;border-radius:0;flex-shrink:0}.landing-telegram-btn{order:3;position:static;transform:none!important;left:auto;bottom:auto;margin-top:24px}.landing-telegram-btn:hover{transform:translateY(-4px)!important}}.landing-features-section{padding:100px 24px;background:var(--c-bg-deep);border-radius:24px}.landing-features-header{text-align:center;margin-bottom:60px}.landing-features{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;max-width:1100px;margin:0 auto;width:100%;box-sizing:border-box}.landing-feature{background:var(--c-bg-card);border:1px solid rgba(var(--c-gold-rgb),.2);border-radius:16px;padding:36px 28px;text-align:center;position:relative;overflow:hidden;transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}.landing-feature:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--c-gold),transparent);opacity:0;transition:opacity .3s ease}.landing-feature:hover{transform:translateY(-6px);border-color:rgba(var(--c-gold-rgb),.5);box-shadow:0 12px 40px #00000073}.landing-feature:hover:before{opacity:1}.landing-feature-icon{font-size:46px;margin-bottom:18px;display:block;filter:drop-shadow(0 0 12px rgba(var(--c-gold-rgb),.3))}.landing-feature h3{font-family:Cinzel,Georgia,serif;font-size:17px;font-weight:600;color:var(--c-text-accent);margin-bottom:12px;letter-spacing:.04em}.landing-feature p{font-size:14px;color:var(--c-text-muted);line-height:1.65;font-weight:400}.landing-callouts{display:grid;grid-template-columns:1fr 1fr;gap:0;background:var(--c-bg);border-top:1px solid rgba(var(--c-gold-rgb),.15);border-bottom:1px solid rgba(var(--c-gold-rgb),.15)}.landing-callout{padding:72px 52px;position:relative}.landing-callout:first-child{border-right:1px solid rgba(var(--c-gold-rgb),.15)}.landing-callout-question{font-size:11px;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:var(--c-text-accent);opacity:.8;margin:0 0 14px}.landing-callout-title{font-family:Cinzel,Georgia,serif;font-size:clamp(17px,2.2vw,22px);font-weight:700;color:var(--c-text);letter-spacing:.03em;line-height:1.3;margin:0 0 16px}.landing-callout-text{font-size:15px;color:var(--c-text-muted);line-height:1.8;margin:0}@media(max-width:768px){.landing-callouts{grid-template-columns:1fr}.landing-callout{padding:48px 28px}.landing-callout:first-child{border-right:none;border-bottom:1px solid rgba(var(--c-gold-rgb),.15)}}.landing-info{background:var(--c-bg-card);border-top:1px solid rgba(var(--c-gold-rgb),.2);border-bottom:1px solid rgba(var(--c-gold-rgb),.2);padding:80px 24px;text-align:center}.landing-info p{font-size:17px;color:var(--c-text-faint);max-width:680px;margin:0 auto 30px;line-height:1.9}.landing-info strong{color:var(--c-text-accent);font-weight:600}.landing-download-section{display:flex;justify-content:center;margin-top:8px}.landing-footer{margin-top:auto;padding:28px 24px;text-align:center;background:var(--c-bg-footer);color:var(--c-text-dim);font-size:13px;letter-spacing:.05em;border-top:1px solid rgba(255,255,255,.04);border-radius:0 0 24px 24px}@media(max-width:768px){.landing-hero{padding:80px 20px 60px}.landing-subtitle{font-size:15px}.landing-features-section{padding:70px 20px}.landing-features{gap:16px}}@media(max-width:540px){.landing-phone--left,.landing-phone--right{width:130px}.landing-phone--center{width:148px}.landing-phone--left{transform:rotate(-3deg) translate(16px)}.landing-phone--right{transform:rotate(3deg) translate(-16px)}}.settings-page{min-height:100vh;background-color:var(--c-bg);padding:40px 20px}.settings-container{max-width:800px;margin:0 auto}.settings-container h1{color:var(--c-text-accent);font-size:32px;margin-bottom:30px}.settings-section{background:var(--c-bg-card);border:1px solid rgba(var(--c-gold-rgb),.3);border-radius:12px;padding:24px;margin-bottom:24px}.settings-section h2{color:var(--c-text-accent);font-size:20px;margin-bottom:12px}.settings-description{color:var(--c-text-gray);font-size:14px;line-height:1.6;margin-bottom:20px}.settings-loading{color:var(--c-text-gray-dark);font-size:14px}.apk-info{background:var(--c-bg-deep);border-radius:8px;padding:16px;margin-bottom:20px}.apk-info-item{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid rgba(var(--c-gold-rgb),.2)}.apk-info-item:last-child{border-bottom:none}.apk-label{color:var(--c-text-gray-dark)}.apk-value{color:var(--c-text-accent);font-weight:500}.settings-message{padding:12px 16px;border-radius:8px;margin-bottom:20px;font-size:14px}.settings-message.success{background:rgba(var(--c-success-rgb),.2);color:var(--c-success);border:1px solid rgba(var(--c-success-rgb),.3)}.settings-message.error{background:rgba(var(--c-error-rgb),.2);color:var(--c-error);border:1px solid rgba(var(--c-error-rgb),.3)}.apk-upload{display:flex;gap:12px;flex-wrap:wrap}.apk-upload-label{cursor:pointer}.apk-input{display:none}.upload-progress{width:100%;display:flex;align-items:center;gap:12px;margin-top:12px}.progress-bar{flex:1;height:8px;background:var(--c-bg-deep);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--c-gold),var(--c-gold-hover));border-radius:4px;transition:width .3s ease}.progress-text{color:var(--c-text-accent);font-size:14px;font-weight:500;min-width:45px;text-align:right}.upload-warning{width:100%;margin-top:12px;padding:12px;background:#ff980033;border:1px solid rgba(255,152,0,.4);border-radius:8px;color:var(--c-warn-light);font-size:14px;text-align:center}@media(max-width:600px){.settings-container h1{font-size:24px}.settings-section h2{font-size:18px}.apk-upload{flex-direction:column}}.course-stub{min-height:80vh;display:flex;align-items:center;justify-content:center;padding:60px 24px;background:var(--c-bg-deep);border-radius:24px}.course-stub-content{text-align:center;max-width:480px}.course-stub-icon{font-size:64px;margin-bottom:28px;filter:drop-shadow(0 0 20px rgba(var(--c-gold-rgb),.25))}.course-stub-title{font-family:Cinzel,Georgia,serif;font-size:clamp(24px,5vw,36px);font-weight:700;color:var(--c-text-accent);letter-spacing:.05em;margin-bottom:16px}.course-stub-subtitle{font-size:16px;color:var(--c-text-muted);line-height:1.75;margin-bottom:36px}.syn-page{padding:16px 24px 18px;background:var(--c-bg-deep);border-radius:24px;font-family:Raleway,Segoe UI,sans-serif}.syn-header{display:flex;align-items:center;gap:16px;margin-bottom:14px}.syn-back{background:none;border:1px solid rgba(var(--c-gold-rgb),.22);border-radius:10px;color:var(--c-text-muted);font-family:inherit;font-size:13px;padding:7px 14px;cursor:pointer;white-space:nowrap;flex-shrink:0;transition:color .2s,border-color .2s}.syn-back:hover{color:var(--c-text-accent);border-color:rgba(var(--c-gold-rgb),.5)}.syn-eyebrow{display:block;font-size:10px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--c-text-accent);opacity:.75;margin-bottom:4px}.syn-title{font-family:Cinzel,Georgia,serif;font-size:clamp(18px,3vw,24px);font-weight:700;color:var(--c-text-accent);letter-spacing:.05em;margin:0 0 3px;text-shadow:0 0 60px rgba(var(--c-gold-rgb),.2);line-height:1.1}.syn-subtitle{font-size:13px;color:var(--c-text-muted);line-height:1.5;margin:0;max-width:520px}.syn-body{display:grid;grid-template-columns:360px 1fr;gap:16px;margin-bottom:14px;align-items:stretch}@media(max-width:900px){.syn-body{grid-template-columns:1fr}}.syn-panel{background:var(--c-bg-card);border:1px solid rgba(var(--c-gold-rgb),.18);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:10px;position:relative;overflow:hidden}.syn-panel:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(var(--c-gold-rgb),.4),transparent)}.syn-block{display:flex;flex-direction:column;gap:6px}.syn-label{font-size:10px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--c-text-accent);opacity:.85}.syn-label-opt{font-weight:400;letter-spacing:0;text-transform:none;color:var(--c-text-dim);font-size:10px}.syn-drop{border:1.5px dashed rgba(var(--c-gold-rgb),.28);border-radius:10px;padding:12px 16px;cursor:pointer;transition:border-color .25s,background .25s;background:rgba(var(--c-gold-rgb),.025)}.syn-drop:hover,.syn-drop--over{border-color:rgba(var(--c-gold-rgb),.6);background:rgba(var(--c-gold-rgb),.055)}.syn-drop--filled{border-style:solid;border-color:rgba(var(--c-gold-rgb),.4);padding:10px 14px;background:rgba(var(--c-gold-rgb),.04)}.syn-drop-inner{display:flex;flex-direction:row;align-items:center;gap:10px;text-align:left}.syn-drop-ico{font-size:22px;filter:drop-shadow(0 0 10px rgba(var(--c-gold-rgb),.3));flex-shrink:0}.syn-drop-text{font-size:13px;color:var(--c-text-muted);margin:0}.syn-drop-hint{font-size:11px;color:var(--c-text-dim);margin:0}.syn-file-row{display:flex;align-items:center;gap:10px}.syn-file-ico{font-size:24px;flex-shrink:0;filter:drop-shadow(0 0 8px rgba(var(--c-gold-rgb),.25))}.syn-file-meta{flex:1;display:flex;flex-direction:column;gap:2px;overflow:hidden}.syn-file-name{font-size:13px;color:var(--c-text);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.syn-file-size{font-size:11px;color:var(--c-text-muted)}.syn-file-remove{background:none;border:none;color:var(--c-text-dim);font-size:15px;cursor:pointer;padding:3px 5px;border-radius:5px;transition:color .2s,background .2s;flex-shrink:0}.syn-file-remove:hover{color:var(--c-text-accent);background:rgba(var(--c-gold-rgb),.08)}.syn-range-row{display:flex;align-items:center;gap:8px}.syn-num{width:62px;background:var(--c-bg-deep);border:1px solid rgba(var(--c-gold-rgb),.2);border-radius:7px;color:var(--c-text);font-family:inherit;font-size:13px;padding:6px 10px;outline:none;transition:border-color .2s;-moz-appearance:textfield}.syn-num::-webkit-outer-spin-button,.syn-num::-webkit-inner-spin-button{-webkit-appearance:none}.syn-num:focus{border-color:rgba(var(--c-gold-rgb),.55)}.syn-range-dash{color:var(--c-text-dim);font-size:13px}.syn-range-note{font-size:10px;color:var(--c-text-dim)}.syn-modes{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.syn-mode{background:var(--c-bg-deep);border:1px solid rgba(var(--c-gold-rgb),.18);border-radius:8px;padding:6px 4px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;font-family:inherit;transition:border-color .2s,background .2s,transform .15s}.syn-mode:hover{border-color:rgba(var(--c-gold-rgb),.42);transform:translateY(-1px)}.syn-mode--on{border-color:var(--c-gold);background:rgba(var(--c-gold-rgb),.09);transform:translateY(-1px)}.syn-mode-ico{font-size:16px}.syn-mode-lbl{font-size:10px;color:var(--c-text-muted);font-weight:500;font-family:inherit;white-space:nowrap}.syn-mode--on .syn-mode-lbl{color:var(--c-text-accent)}.syn-styles{display:flex;gap:6px}.syn-style-btn{background:var(--c-bg-deep);border:1px solid rgba(var(--c-gold-rgb),.18);border-radius:7px;color:var(--c-text-muted);font-family:inherit;font-size:11px;padding:5px 12px;cursor:pointer;transition:border-color .2s,color .2s}.syn-style-btn:hover{border-color:rgba(var(--c-gold-rgb),.4);color:var(--c-text-faint)}.syn-style-btn--on{border-color:rgba(var(--c-gold-rgb),.55);color:var(--c-text-accent);background:rgba(var(--c-gold-rgb),.07)}.syn-textarea{background:var(--c-bg-deep);border:1px solid rgba(var(--c-gold-rgb),.2);border-radius:9px;color:var(--c-text);font-family:inherit;font-size:13px;padding:9px 12px;resize:none;outline:none;line-height:1.55;transition:border-color .2s;width:100%;box-sizing:border-box}.syn-textarea:focus{border-color:rgba(var(--c-gold-rgb),.5)}.syn-textarea::placeholder{color:var(--c-text-placeholder)}.syn-char-hint{font-size:10px;color:var(--c-text-dim);text-align:right}.syn-progress-wrap{display:flex;flex-direction:column;gap:5px}.syn-progress-bar{height:2px;background:rgba(var(--c-gold-rgb),.1);border-radius:4px;overflow:hidden}.syn-progress-fill{height:100%;background:linear-gradient(90deg,var(--c-gold),var(--c-gold-hover));border-radius:4px;transition:width .35s ease}.syn-progress-lbl{font-size:11px;color:var(--c-text-muted);text-align:center}.syn-result-panel{background:var(--c-bg-card);border:1px solid rgba(var(--c-gold-rgb),.18);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;position:relative}.syn-result-panel:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(var(--c-gold-rgb),.4),transparent)}.syn-result{display:flex;flex-direction:column;height:100%}.syn-result-bar{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid rgba(var(--c-gold-rgb),.1);flex-wrap:wrap;gap:6px;flex-shrink:0}.syn-result-actions{display:flex;gap:6px;flex-wrap:wrap}.syn-act-btn{background:rgba(var(--c-gold-rgb),.07);border:1px solid rgba(var(--c-gold-rgb),.2);border-radius:7px;color:var(--c-text-muted);font-family:inherit;font-size:11px;padding:5px 11px;cursor:pointer;transition:color .2s,border-color .2s,background .2s}.syn-act-btn:hover{color:var(--c-text-accent);border-color:rgba(var(--c-gold-rgb),.5);background:rgba(var(--c-gold-rgb),.12)}.syn-result-body{flex:1;overflow-y:auto;padding:16px 18px 12px;min-height:0}.syn-result-pre{font-family:Raleway,Segoe UI,sans-serif;font-size:13px;color:var(--c-text-faint);line-height:1.7;white-space:pre-wrap;word-break:break-word;margin:0}.syn-result-footer{display:flex;align-items:center;gap:14px;padding:8px 16px;border-top:1px solid rgba(var(--c-gold-rgb),.08);font-size:10px;color:var(--c-text-dim);letter-spacing:.04em;flex-wrap:wrap;flex-shrink:0}.syn-footer-sep{flex:1}.syn-result-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 20px;gap:8px}.syn-empty-ico{font-size:36px;filter:drop-shadow(0 0 20px rgba(var(--c-gold-rgb),.18))}.syn-empty-text{font-size:16px;color:var(--c-text-muted);margin:0}.syn-empty-hint{font-size:12px;color:var(--c-text-dim);margin:0;text-align:center;line-height:1.5}.syn-empty-tips{display:flex;flex-direction:row;flex-wrap:wrap;justify-content:center;gap:6px;margin-top:12px;width:100%;max-width:360px}.syn-empty-tip{background:rgba(var(--c-gold-rgb),.05);border:1px solid rgba(var(--c-gold-rgb),.14);border-radius:7px;padding:6px 12px;font-size:12px;color:var(--c-text-muted)}.syn-history{display:flex;flex-direction:column;gap:8px}.syn-history-list{display:flex;flex-direction:row;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin;scrollbar-color:rgba(var(--c-gold-rgb),.2) transparent}.syn-history-list::-webkit-scrollbar{height:3px}.syn-history-list::-webkit-scrollbar-track{background:transparent}.syn-history-list::-webkit-scrollbar-thumb{background:rgba(var(--c-gold-rgb),.2);border-radius:4px}.syn-hist-card{flex-shrink:0;min-width:220px;background:var(--c-bg-card);border:1px solid rgba(var(--c-gold-rgb),.15);border-radius:10px;padding:10px 14px;display:flex;align-items:center;gap:10px;transition:border-color .2s,transform .2s}.syn-hist-card:hover{border-color:rgba(var(--c-gold-rgb),.38);transform:translateY(-2px)}.syn-hist-ico{font-size:20px;flex-shrink:0}.syn-hist-info{flex:1;display:flex;flex-direction:column;gap:2px;overflow:hidden;min-width:0}.syn-hist-name{font-size:13px;color:var(--c-text);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.syn-hist-meta{font-size:11px;color:var(--c-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.syn-hist-open{background:none;border:none;color:rgba(var(--c-gold-rgb),.5);font-family:inherit;font-size:12px;padding:2px;cursor:pointer;flex-shrink:0;transition:color .2s}.syn-hist-open:hover{color:var(--c-text-accent)}@media(max-width:600px){.syn-page{padding:14px 14px 16px}.syn-header{flex-wrap:wrap;gap:10px}.syn-modes{grid-template-columns:repeat(2,1fr)}.syn-empty-tips{flex-direction:column}}.rm-page{min-height:80vh;padding:40px 20px 100px;font-family:Raleway,Segoe UI,sans-serif}.rm-eyebrow{display:block;font-size:11px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--c-text-accent);opacity:.7;margin-bottom:10px}.rm-page--input{display:flex;flex-direction:column;align-items:center;justify-content:center}.rm-input-wrap{width:100%;max-width:540px}.rm-hero{text-align:center;margin-bottom:32px}.rm-hero-title{font-family:Cinzel,Georgia,serif;font-size:clamp(30px,7vw,46px);font-weight:700;color:var(--c-text-accent);letter-spacing:.06em;margin:0 0 12px;text-shadow:0 0 80px rgba(var(--c-gold-rgb),.25);line-height:1.15}.rm-hero-sub{font-size:15px;color:var(--c-text-muted);margin:0;line-height:1.65}.rm-input-card{background:var(--c-bg-card);border:1px solid rgba(var(--c-gold-rgb),.2);border-radius:20px;padding:28px 24px;position:relative}.rm-input-card:before{content:"";position:absolute;top:0;left:10%;right:10%;height:1px;background:linear-gradient(90deg,transparent,rgba(var(--c-gold-rgb),.55),transparent)}.rm-topic-input{width:100%;box-sizing:border-box;background:var(--c-bg-deep);border:1px solid rgba(var(--c-gold-rgb),.22);border-radius:12px;color:var(--c-text);font-family:inherit;font-size:17px;padding:15px 18px;outline:none;transition:border-color .2s,box-shadow .2s;margin-bottom:16px}.rm-topic-input:focus{border-color:rgba(var(--c-gold-rgb),.55);box-shadow:0 0 0 3px rgba(var(--c-gold-rgb),.08)}.rm-topic-input::placeholder{color:var(--c-text-dim)}.rm-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.rm-chip{background:none;border:1px solid rgba(var(--c-gold-rgb),.18);border-radius:20px;color:var(--c-text-muted);font-family:inherit;font-size:13px;padding:6px 14px;cursor:pointer;transition:all .18s;min-height:34px}.rm-chip:hover,.rm-chip--on{border-color:rgba(var(--c-gold-rgb),.5);color:var(--c-text-accent);background:rgba(var(--c-gold-rgb),.08)}.rm-depth-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin-bottom:20px}.rm-depth-opt{background:var(--c-bg-deep);border:1px solid rgba(var(--c-gold-rgb),.15);border-radius:12px;padding:10px 6px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px;font-family:inherit;transition:border-color .18s,background .18s;min-height:56px;justify-content:center}.rm-depth-opt:hover{border-color:rgba(var(--c-gold-rgb),.4)}.rm-depth-opt--on{border-color:var(--c-gold);background:rgba(var(--c-gold-rgb),.09)}.rm-depth-name{font-size:13px;font-weight:600;color:var(--c-text-muted)}.rm-depth-opt--on .rm-depth-name{color:var(--c-text-accent)}.rm-depth-hint{font-size:11px;color:var(--c-text-dim)}.rm-error{font-size:13px;color:#e07070;margin:0 0 16px;padding:10px 14px;background:#b4505014;border-radius:8px;border:1px solid rgba(180,80,80,.2);line-height:1.5}.rm-submit{width:100%;background:var(--c-gold);border:none;border-radius:12px;color:#1a1600;font-family:inherit;font-size:16px;font-weight:700;padding:15px 24px;cursor:pointer;transition:opacity .18s,transform .12s;min-height:52px}.rm-submit:hover:not(:disabled){opacity:.88;transform:translateY(-1px)}.rm-submit:active:not(:disabled){transform:translateY(0)}.rm-submit:disabled{opacity:.3;cursor:not-allowed}.rm-page--loading{display:flex;align-items:center;justify-content:center}.rm-loading{text-align:center;max-width:280px}.rm-loader{width:52px;height:52px;border-radius:50%;border:3px solid rgba(var(--c-gold-rgb),.12);border-top-color:var(--c-gold);animation:rm-spin .85s linear infinite;margin:0 auto 24px}@keyframes rm-spin{to{transform:rotate(360deg)}}.rm-loading-title{font-family:Cinzel,Georgia,serif;font-size:20px;font-weight:600;color:var(--c-text);margin:0 0 8px;letter-spacing:.04em}.rm-loading-topic{font-size:15px;color:var(--c-text-accent);margin:0 0 24px;font-style:italic}.rm-loading-steps{display:flex;flex-direction:column;gap:8px}.rm-loading-steps span{font-size:13px;color:var(--c-text-dim);animation:rm-pulse 1.8s ease-in-out infinite}.rm-loading-steps span:nth-child(2){animation-delay:.6s}.rm-loading-steps span:nth-child(3){animation-delay:1.2s}@keyframes rm-pulse{0%,to{opacity:.25}50%{opacity:1}}.rm-page--result{max-width:700px;margin:0 auto;padding-bottom:160px}.rm-result-header{display:flex;align-items:flex-start;gap:16px;margin-bottom:14px}.rm-back{background:none;border:1px solid rgba(var(--c-gold-rgb),.2);border-radius:10px;color:var(--c-text-muted);font-family:inherit;font-size:13px;padding:8px 14px;cursor:pointer;white-space:nowrap;flex-shrink:0;margin-top:8px;transition:all .18s;min-height:38px}.rm-back:hover{color:var(--c-text-accent);border-color:rgba(var(--c-gold-rgb),.45)}.rm-result-title-wrap{flex:1}.rm-result-title{font-family:Cinzel,Georgia,serif;font-size:clamp(18px,4vw,26px);font-weight:700;color:var(--c-text-accent);margin:0;letter-spacing:.03em;line-height:1.3}.rm-summary{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--c-text-muted);margin-bottom:18px;flex-wrap:wrap}.rm-dot{opacity:.35}.rm-ai-badge{font-size:10px;font-weight:700;padding:2px 8px;border-radius:20px;background:rgba(var(--c-gold-rgb),.12);color:var(--c-text-accent);border:1px solid rgba(var(--c-gold-rgb),.3);letter-spacing:.05em;white-space:nowrap}.rm-ai-badge--sm{font-size:9px;padding:1px 6px}.rm-actions{display:flex;gap:8px;margin-bottom:24px;flex-wrap:wrap}.rm-action-btn{background:none;border:1px solid rgba(var(--c-gold-rgb),.2);border-radius:10px;color:var(--c-text-muted);font-family:inherit;font-size:13px;padding:8px 16px;cursor:pointer;transition:all .18s;min-height:38px}.rm-action-btn:hover{border-color:rgba(var(--c-gold-rgb),.45);color:var(--c-text-accent)}.rm-action-btn--saved{border-color:rgba(var(--c-gold-rgb),.4);color:var(--c-text-accent);opacity:.7;cursor:default}.rm-action-btn--primary{background:rgba(var(--c-gold-rgb),.1);border-color:rgba(var(--c-gold-rgb),.45);color:var(--c-text-accent)}.rm-tree{display:flex;flex-direction:column;gap:10px}.rm-branch{background:var(--c-bg-card);border:1px solid rgba(var(--c-gold-rgb),.16);border-radius:14px;overflow:hidden;transition:border-color .18s}.rm-branch:hover{border-color:rgba(var(--c-gold-rgb),.3)}.rm-branch-header{display:flex;align-items:center;gap:12px;padding:14px 18px;cursor:pointer;-webkit-user-select:none;user-select:none}.rm-branch-num{width:26px;height:26px;border-radius:50%;border:1.5px solid rgba(var(--c-gold-rgb),.35);display:flex;align-items:center;justify-content:center;font-family:Cinzel,Georgia,serif;font-size:11px;font-weight:700;color:var(--c-text-accent);flex-shrink:0}.rm-branch-title{flex:1;font-family:Cinzel,Georgia,serif;font-size:15px;font-weight:600;color:var(--c-text);letter-spacing:.02em}.rm-branch-input{flex:1;background:var(--c-bg-deep);border:1px solid rgba(var(--c-gold-rgb),.3);border-radius:8px;color:var(--c-text);font-family:Cinzel,Georgia,serif;font-size:14px;padding:6px 10px;outline:none}.rm-branch-del{background:none;border:none;color:var(--c-text-dim);font-size:14px;cursor:pointer;padding:4px;transition:color .15s;flex-shrink:0}.rm-branch-del:hover{color:#e07070}.rm-chevron{font-size:10px;color:var(--c-text-dim);flex-shrink:0}.rm-branch-body{padding:4px 18px 14px;border-top:1px solid rgba(var(--c-gold-rgb),.08)}.rm-add-topic{background:none;border:1px dashed rgba(var(--c-gold-rgb),.25);border-radius:8px;color:var(--c-text-dim);font-family:inherit;font-size:12px;padding:6px 14px;cursor:pointer;margin-top:8px;transition:all .18s;width:100%}.rm-add-topic:hover{border-color:rgba(var(--c-gold-rgb),.5);color:var(--c-text-muted)}.rm-node{position:relative}.rm-node-row{display:flex;align-items:flex-start;gap:8px;padding:5px 0}.rm-node--d2{padding-left:0}.rm-node--d3{padding-left:18px}.rm-node--d4{padding-left:36px}.rm-node-bullet{flex-shrink:0;margin-top:7px;border-radius:50%}.rm-node--d2 .rm-node-bullet{width:6px;height:6px;background:rgba(var(--c-gold-rgb),.5)}.rm-node--d3 .rm-node-bullet{width:5px;height:5px;background:rgba(var(--c-gold-rgb),.3)}.rm-node--d4 .rm-node-bullet{width:4px;height:4px;background:rgba(var(--c-gold-rgb),.18)}.rm-node-title{flex:1;line-height:1.55;cursor:default}.rm-node--d2 .rm-node-title{font-size:14px;color:var(--c-text);font-weight:500}.rm-node--d3 .rm-node-title{font-size:13px;color:var(--c-text-muted)}.rm-node--d4 .rm-node-title{font-size:12px;color:var(--c-text-dim);font-style:italic}.rm-node-input{flex:1;background:var(--c-bg-deep);border:1px solid rgba(var(--c-gold-rgb),.22);border-radius:6px;color:var(--c-text);font-family:inherit;font-size:13px;padding:4px 8px;outline:none}.rm-node-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.rm-node-toggle{background:none;border:none;color:var(--c-text-dim);font-size:9px;cursor:pointer;padding:2px 4px}.rm-node-btn{background:none;border:none;font-size:11px;cursor:pointer;padding:2px 5px;border-radius:4px;transition:all .15s}.rm-node-btn--add{color:var(--c-text-accent)}.rm-node-btn--add:hover{background:rgba(var(--c-gold-rgb),.12)}.rm-node-btn--del{color:var(--c-text-dim)}.rm-node-btn--del:hover{color:#e07070}.rm-node-children{margin-top:2px}.rm-create-btn{background:var(--c-gold);border:none;border-radius:12px;color:#1a1600;font-family:inherit;font-size:15px;font-weight:700;padding:14px 32px;cursor:pointer;transition:opacity .18s,transform .12s;min-height:50px;letter-spacing:.02em}.rm-create-btn:hover:not(:disabled){opacity:.88;transform:translateY(-1px)}.rm-create-btn:disabled{opacity:.4;cursor:not-allowed}.rm-create-hint{font-size:12px;color:var(--c-text-dim);margin:10px 0 0;line-height:1.5}.rm-footer{position:fixed;bottom:0;left:0;right:0;display:flex;flex-direction:column;align-items:center;gap:10px;padding:12px 20px 16px;background:var(--c-bg);border-top:1px solid rgba(var(--c-gold-rgb),.12);z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.rm-footer-row{display:flex;gap:10px;align-items:center}.rm-footer-hint-btn{opacity:.65}.rm-footer-hint-btn:hover{opacity:1}.rm-footer-course{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;max-width:480px}.rm-error--footer{margin:0}.rm-footer-btn{background:none;border:1px solid rgba(var(--c-gold-rgb),.22);border-radius:20px;color:var(--c-text-muted);font-family:inherit;font-size:14px;font-weight:600;padding:9px 24px;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .18s;min-height:40px}.rm-footer-btn:hover{border-color:rgba(var(--c-gold-rgb),.5);color:var(--c-text-accent)}.rm-footer-badge{background:var(--c-gold);color:#1a1600;font-size:11px;font-weight:700;border-radius:10px;padding:1px 7px;min-width:18px;text-align:center}.rm-overlay{position:fixed;inset:0;background:#0000008c;z-index:200;display:flex;align-items:flex-end;justify-content:center}.rm-panel{background:var(--c-bg-card);border:1px solid rgba(var(--c-gold-rgb),.2);border-radius:20px 20px 0 0;width:100%;max-width:600px;max-height:70vh;display:flex;flex-direction:column;overflow:hidden;animation:rm-slide-up .22s ease-out}@keyframes rm-slide-up{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.rm-panel-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px 14px;border-bottom:1px solid rgba(var(--c-gold-rgb),.1);flex-shrink:0}.rm-panel-title{font-family:Cinzel,Georgia,serif;font-size:16px;font-weight:600;color:var(--c-text-accent);letter-spacing:.04em}.rm-panel-close{background:none;border:none;color:var(--c-text-dim);font-size:16px;cursor:pointer;padding:4px 8px;transition:color .15s}.rm-panel-close:hover{color:var(--c-text-accent)}.rm-panel-empty{font-size:14px;color:var(--c-text-dim);text-align:center;padding:32px 20px;margin:0}.rm-panel-list{overflow-y:auto;padding:10px 0;flex:1}.rm-panel-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;transition:background .15s}.rm-panel-item:hover{background:rgba(var(--c-gold-rgb),.04)}.rm-panel-item-info{flex:1;display:flex;flex-direction:column;gap:4px;min-width:0}.rm-panel-item-topic{font-size:14px;font-weight:600;color:var(--c-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rm-panel-item-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.rm-panel-item-date,.rm-panel-item-depth{font-size:12px;color:var(--c-text-dim)}.rm-panel-item-btns{display:flex;gap:6px;flex-shrink:0}.rm-panel-open{background:none;border:1px solid rgba(var(--c-gold-rgb),.25);border-radius:8px;color:var(--c-text-muted);font-family:inherit;font-size:13px;padding:5px 12px;cursor:pointer;transition:all .15s;white-space:nowrap}.rm-panel-open:hover{border-color:rgba(var(--c-gold-rgb),.5);color:var(--c-text-accent)}.rm-panel-del{background:none;border:none;color:var(--c-text-dim);font-size:14px;cursor:pointer;padding:5px 8px;transition:color .15s}.rm-panel-del:hover{color:#e07070}@media(max-width:480px){.rm-page{padding:28px 14px 100px}.rm-input-card{padding:20px 16px}.rm-topic-input{font-size:16px}.rm-chip{font-size:12px;padding:5px 11px}.rm-depth-hint{display:none}.rm-result-header{flex-direction:column;gap:8px}.rm-back{margin-top:0}.rm-branch-header{padding:12px 14px;gap:8px}.rm-branch-body{padding:4px 14px 12px}.rm-node--d3{padding-left:12px}.rm-node--d4{padding-left:24px}}.mg-page{min-height:80vh;padding:40px 28px 72px;background:var(--c-bg-deep);border-radius:24px;font-family:Raleway,Segoe UI,sans-serif}.mg-header{display:flex;align-items:flex-start;gap:20px;margin-bottom:36px}.mg-back{background:none;border:1px solid rgba(var(--c-gold-rgb),.22);border-radius:10px;color:var(--c-text-muted);font-family:inherit;font-size:13px;padding:9px 16px;cursor:pointer;white-space:nowrap;flex-shrink:0;margin-top:6px;transition:color .2s,border-color .2s}.mg-back:hover{color:var(--c-text-accent);border-color:rgba(var(--c-gold-rgb),.5)}.mg-eyebrow{display:block;font-size:11px;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:var(--c-text-accent);opacity:.75;margin-bottom:10px}.mg-title{font-family:Cinzel,Georgia,serif;font-size:clamp(22px,4vw,32px);font-weight:700;color:var(--c-text-accent);letter-spacing:.05em;margin:0 0 10px;text-shadow:0 0 60px rgba(var(--c-gold-rgb),.2)}.mg-subtitle{font-size:15px;color:var(--c-text-muted);line-height:1.7;margin:0;max-width:580px}.mg-label{font-size:11px;font-weight:600;letter-spacing:.25em;text-transform:uppercase;color:var(--c-text-accent);opacity:.85;display:block}.mg-layout{display:grid;grid-template-columns:260px 1fr;gap:24px;align-items:start}@media(max-width:900px){.mg-layout{grid-template-columns:1fr}}.mg-sidebar{background:var(--c-bg-card);border:1px solid rgba(var(--c-gold-rgb),.15);border-radius:16px;overflow:hidden;position:relative}.mg-sidebar:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(var(--c-gold-rgb),.4),transparent)}.mg-sidebar-head{padding:18px 16px 12px;display:flex;flex-direction:column;gap:10px;border-bottom:1px solid rgba(var(--c-gold-rgb),.1)}.mg-search{background:var(--c-bg-deep);border:1px solid rgba(var(--c-gold-rgb),.18);border-radius:8px;color:var(--c-text);font-family:inherit;font-size:13px;padding:8px 12px;outline:none;width:100%;box-sizing:border-box;transition:border-color .2s}.mg-search:focus{border-color:rgba(var(--c-gold-rgb),.45)}.mg-search::placeholder{color:var(--c-text-placeholder)}.mg-student-list{overflow-y:auto;max-height:480px}.mg-student-card{display:flex;align-items:center;gap:10px;width:100%;padding:12px 16px;background:none;border:none;border-bottom:1px solid rgba(var(--c-gold-rgb),.06);cursor:pointer;font-family:inherit;text-align:left;transition:background .18s}.mg-student-card:hover{background:rgba(var(--c-gold-rgb),.05)}.mg-student-card--active{background:rgba(var(--c-gold-rgb),.08);border-left:2px solid var(--c-gold);padding-left:14px}.mg-student-avatar{width:36px;height:36px;border-radius:50%;background:rgba(var(--c-gold-rgb),.12);border:1px solid rgba(var(--c-gold-rgb),.25);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:var(--c-text-accent);flex-shrink:0;font-family:Cinzel,Georgia,serif}.mg-student-info{flex:1;display:flex;flex-direction:column;gap:2px;overflow:hidden}.mg-student-name{font-size:13px;color:var(--c-text);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mg-student-meta{font-size:11px;color:var(--c-text-muted)}.mg-student-mastery-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;opacity:.8}.mg-main{display:flex;flex-direction:column;gap:18px}.mg-student-banner{background:var(--c-bg-card);border:1px solid rgba(var(--c-gold-rgb),.18);border-radius:14px;padding:18px 20px;display:flex;align-items:center;gap:16px;position:relative;overflow:hidden}.mg-student-banner:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(var(--c-gold-rgb),.4),transparent)}.mg-banner-avatar{width:48px;height:48px;border-radius:50%;background:rgba(var(--c-gold-rgb),.12);border:1.5px solid rgba(var(--c-gold-rgb),.35);display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;color:var(--c-text-accent);flex-shrink:0;font-family:Cinzel,Georgia,serif}.mg-banner-info{flex:1}.mg-banner-name{font-family:Cinzel,Georgia,serif;font-size:18px;font-weight:700;color:var(--c-text);letter-spacing:.04em;margin:0 0 4px}.mg-banner-meta{font-size:13px;color:var(--c-text-muted);margin:0}.mg-banner-grade{font-family:Cinzel,Georgia,serif;font-size:28px;font-weight:700;flex-shrink:0}.mg-stats-row{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}@media(max-width:1100px){.mg-stats-row{grid-template-columns:repeat(3,1fr)}}@media(max-width:600px){.mg-stats-row{grid-template-columns:repeat(2,1fr)}}.mg-stat{background:var(--c-bg-card);border:1px solid rgba(var(--c-gold-rgb),.13);border-radius:12px;padding:12px 10px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.mg-stat-value{font-family:Cinzel,Georgia,serif;font-size:20px;font-weight:700;color:var(--c-text-accent);line-height:1}.mg-stat-label{font-size:10px;color:var(--c-text-muted);letter-spacing:.05em;line-height:1.3}.mg-tabs{display:flex;gap:4px;background:var(--c-bg);border:1px solid rgba(var(--c-gold-rgb),.15);border-radius:10px;padding:4px}.mg-tab{background:none;border:none;color:var(--c-text-muted);font-family:inherit;font-size:13px;padding:8px 18px;border-radius:7px;cursor:pointer;transition:background .18s,color .18s;flex:1}.mg-tab:hover{color:var(--c-text-faint);background:rgba(var(--c-gold-rgb),.05)}.mg-tab--active{background:rgba(var(--c-gold-rgb),.1);color:var(--c-text-accent);font-weight:600}.mg-tab-content{background:var(--c-bg-card);border:1px solid rgba(var(--c-gold-rgb),.15);border-radius:14px;padding:24px;position:relative;overflow:hidden}.mg-tab-content:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(var(--c-gold-rgb),.35),transparent)}.mg-overview-grid{display:flex;flex-direction:column;gap:8px}.mg-topic-chip{position:relative;background:var(--c-bg-muted);border:1px solid rgba(var(--c-gold-rgb),.15);border-radius:10px;padding:12px 16px;display:flex;align-items:center;gap:14px;cursor:pointer;overflow:hidden;transition:border-color .2s,transform .2s}.mg-topic-chip:hover{transform:translate(4px);border-color:rgba(var(--c-gold-rgb),.38)}.mg-topic-bar-fill{position:absolute;left:0;top:0;bottom:0;border-radius:10px 0 0 10px;pointer-events:none;transition:width .5s ease}.mg-topic-chip-name{flex:1;font-size:14px;color:var(--c-text);font-weight:500;position:relative}.mg-topic-chip-pct{font-family:Cinzel,Georgia,serif;font-size:15px;font-weight:700;position:relative;flex-shrink:0}.mg-topic-chip-lbl{font-size:11px;font-weight:600;width:80px;text-align:right;position:relative;flex-shrink:0}.mg-overview-hint{font-size:12px;color:var(--c-text-dim);text-align:center;margin:14px 0 0}.mg-chart-wrap{display:flex;flex-direction:column;gap:12px}.mg-chart-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.mg-chart-title{font-size:13px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--c-text-accent);opacity:.85}.mg-chart-sub{font-size:12px;color:var(--c-text-muted)}.mg-activity-svg{width:100%;height:160px;display:block;border-radius:8px;background:rgba(var(--c-gold-rgb),.025)}.mg-activity-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:6px}@media(max-width:600px){.mg-activity-summary{grid-template-columns:repeat(2,1fr)}}.mg-act-stat{background:var(--c-bg-muted);border:1px solid rgba(var(--c-gold-rgb),.12);border-radius:10px;padding:12px;display:flex;flex-direction:column;align-items:center;gap:4px}.mg-act-val{font-family:Cinzel,Georgia,serif;font-size:20px;font-weight:700;color:var(--c-text-accent);line-height:1}.mg-act-lbl{font-size:11px;color:var(--c-text-muted);text-align:center;line-height:1.4}.mg-graph-wrap{display:flex;flex-direction:column;gap:12px}.mg-graph-legend{display:flex;gap:18px;flex-wrap:wrap}.mg-legend-item{font-size:12px;display:flex;align-items:center;gap:6px}.mg-legend-item:before{content:"";display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0}.mg-legend-item--high:before{background:var(--c-gold)}.mg-legend-item--mid:before{background:var(--c-gold-deep)}.mg-legend-item--low:before{background:var(--c-red-deep)}.mg-legend-item--high{color:var(--c-text-accent)}.mg-legend-item--mid{color:var(--c-gold-deep)}.mg-legend-item--low{color:var(--c-red-deep)}.mg-graph-svg{width:100%;height:auto;display:block;background:rgba(var(--c-gold-rgb),.02);border-radius:10px;border:1px solid rgba(var(--c-gold-rgb),.1)}.mg-graph-hint{font-size:12px;color:var(--c-text-dim);text-align:center;margin:0}.mg-recs-header{display:flex;align-items:center;gap:14px;margin-bottom:20px;flex-wrap:wrap}.mg-recs-badge{background:rgba(var(--c-gold-rgb),.1);border:1px solid rgba(var(--c-gold-rgb),.3);border-radius:20px;padding:4px 14px;font-size:12px;color:var(--c-text-accent);font-weight:600}.mg-recs-for{font-size:13px;color:var(--c-text-muted);margin:0}.mg-recs-list{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.mg-rec-item{display:flex;align-items:flex-start;gap:14px;background:var(--c-bg-muted);border:1px solid rgba(var(--c-gold-rgb),.12);border-radius:10px;padding:14px 16px;transition:border-color .2s,transform .2s}.mg-rec-item:hover{border-color:rgba(var(--c-gold-rgb),.32);transform:translate(4px)}.mg-rec-num{width:24px;height:24px;border-radius:50%;background:rgba(var(--c-gold-rgb),.12);border:1px solid rgba(var(--c-gold-rgb),.25);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:var(--c-text-accent);flex-shrink:0;font-family:Cinzel,Georgia,serif}.mg-rec-text{font-size:14px;color:var(--c-text-faint);line-height:1.55}.mg-recs-footer{border-top:1px solid rgba(var(--c-gold-rgb),.1);padding-top:14px}.mg-recs-footer p{font-size:12px;color:var(--c-text-dim);margin:0;text-align:center}.mg-modal-overlay{position:fixed;inset:0;background:rgba(var(--c-bg-deep-rgb),.85);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.mg-modal{background:var(--c-bg-card);border:1px solid rgba(var(--c-gold-rgb),.3);border-radius:18px;max-width:560px;width:100%;max-height:85vh;overflow-y:auto;box-shadow:0 32px 80px #000000b3,0 0 0 1px rgba(var(--c-gold-rgb),.1);animation:mg-modal-in .28s cubic-bezier(.22,1,.36,1)}@keyframes mg-modal-in{0%{opacity:0;transform:scale(.95) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.mg-modal-header{padding:24px 24px 18px;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:1px solid rgba(var(--c-gold-rgb),.12);position:relative}.mg-modal-header:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(var(--c-gold-rgb),.5),transparent);border-radius:18px 18px 0 0}.mg-modal-eyebrow{font-size:10px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--c-text-accent);opacity:.7;margin:0 0 8px}.mg-modal-topic{font-family:Cinzel,Georgia,serif;font-size:20px;font-weight:700;color:var(--c-text);letter-spacing:.04em;margin:0 0 6px}.mg-modal-student{font-size:13px;color:var(--c-text-muted);margin:0}.mg-modal-pct-wrap{display:flex;flex-direction:column;align-items:center;gap:3px;flex-shrink:0}.mg-modal-pct{font-family:Cinzel,Georgia,serif;font-size:32px;font-weight:700;line-height:1}.mg-modal-pct-lbl{font-size:11px;font-weight:600;letter-spacing:.1em}.mg-modal-body{padding:20px 24px;display:flex;flex-direction:column;gap:18px}.mg-modal-section{display:flex;flex-direction:column;gap:10px}.mg-modal-section-title{font-size:12px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--c-text-accent);opacity:.8}.mg-modal-summary{font-size:14px;color:var(--c-text-faint);line-height:1.7;margin:0;background:rgba(var(--c-gold-rgb),.04);border:1px solid rgba(var(--c-gold-rgb),.1);border-radius:8px;padding:12px 14px}.mg-modal-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:7px}.mg-modal-list li{font-size:14px;color:var(--c-text-faint);line-height:1.55;padding:9px 14px;border-radius:8px;display:flex;align-items:flex-start;gap:10px}.mg-modal-list li:before{flex-shrink:0;margin-top:1px}.mg-modal-list--mistakes{background:rgba(var(--c-red-deep),.04);border:1px solid rgba(136,64,64,.12);border-radius:10px;padding:4px}.mg-modal-list--mistakes li:before{content:"✗";color:var(--c-red-deep);font-weight:700}.mg-modal-list--recs{background:rgba(var(--c-gold-rgb),.04);border:1px solid rgba(var(--c-gold-rgb),.12);border-radius:10px;padding:4px}.mg-modal-list--recs li:before{content:"→";color:var(--c-text-accent);font-weight:700}.mg-modal-footer{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-top:1px solid rgba(var(--c-gold-rgb),.1);gap:12px}.mg-modal-ai-badge{font-size:11px;color:var(--c-text-muted);background:rgba(var(--c-gold-rgb),.06);border:1px solid rgba(var(--c-gold-rgb),.15);border-radius:20px;padding:4px 12px}.mg-modal-close-btn{background:rgba(var(--c-gold-rgb),.1);border:1px solid rgba(var(--c-gold-rgb),.3);border-radius:8px;color:var(--c-text-accent);font-family:inherit;font-size:13px;padding:8px 20px;cursor:pointer;transition:background .2s,border-color .2s}.mg-modal-close-btn:hover{background:rgba(var(--c-gold-rgb),.18);border-color:rgba(var(--c-gold-rgb),.5)}@media(max-width:640px){.mg-page{padding:24px 16px 56px}.mg-header{flex-direction:column;gap:12px}.mg-back{margin-top:0}.mg-modal{max-height:92vh}.mg-modal-pct{font-size:24px}.mg-tabs{flex-wrap:wrap}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-primary);background-color:var(--c-bg);color:var(--c-text-accent);min-height:100vh}#root{min-height:100vh}.app{min-height:100vh;display:flex;flex-direction:column}.app-main{flex:1;display:flex;flex-direction:column}.app-main-full{flex:1;display:flex;flex-direction:column;overflow:hidden}
