*{box-sizing:border-box}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f5f5f5;--card-bg:#fff;--text:#333;--border:#ddd;--border-light:#eee;--row-alt:#fafafa;--hover-bg:#f0f0f0;--primary:#1976d2;--primary-hover:#1565c0;--primary-text:#1976d2;--primary-bg:#e3f2fd;--primary-bg-hover:#bbdefb;--accent:#2196f3;--accent-hover:#1976d2;--label:#555;--muted:#888;--muted-2:#999;--status:#666;--input-bg:#fff;--input-border:#ccc;--fav-inactive:#ccc;--star:#ffc107;--star-bg:#fff8e1;--offline:#d97706;--error:#d00;--today:#e65100;--overlay:rgba(0,0,0,.5);--shadow:rgba(0,0,0,.1);--shadow-strong:rgba(0,0,0,.3);--grad:linear-gradient(135deg,var(--accent)0%,var(--primary)100%);--header-bg:rgba(255,255,255,.95);--tabs-bg:rgba(245,245,245,.95);--radius:6px}[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#121212;--card-bg:#1e1e1e;--text:#e8e8e8;--border:#333;--border-light:#2c2c2c;--row-alt:#242424;--hover-bg:#333;--primary:#1976d2;--primary-hover:#1e88e5;--primary-text:#64b5f6;--primary-bg:#1d2d3d;--primary-bg-hover:#2a4258;--accent:#2196f3;--accent-hover:#1e88e5;--label:#bbb;--muted:#9e9e9e;--muted-2:#8a8a8a;--status:#aaa;--input-bg:#2a2a2a;--input-border:#444;--fav-inactive:#666;--star:#ffc107;--star-bg:#3d3320;--offline:#f59e0b;--error:#ff6b6b;--today:#ffb74d;--overlay:rgba(0,0,0,.7);--shadow:rgba(0,0,0,.4);--shadow-strong:rgba(0,0,0,.6);--grad:linear-gradient(135deg,var(--accent)0%,var(--primary-hover)100%);--header-bg:rgba(18,18,18,.95);--tabs-bg:rgba(18,18,18,.95)}body{background:var(--bg);color:var(--text);margin:0;padding:20px;font-family:Segoe UI,Arial,sans-serif;transition:background .25s,color .25s}.current-week{color:var(--primary-text);margin-bottom:18px;font-weight:600}.site-header{background:var(--card-bg);border-bottom:1px solid var(--border);box-shadow:0 2px 8px var(--shadow);z-index:500;justify-content:space-between;align-items:center;gap:12px;margin:-20px -20px 16px;padding:12px 20px;display:flex;position:-webkit-sticky;position:sticky;top:0}.header-title{color:var(--primary-text);white-space:nowrap;text-overflow:ellipsis;font-size:18px;font-weight:700;overflow:hidden}.main-nav{background:var(--row-alt);border:1px solid var(--border);border-radius:999px;gap:4px;padding:4px;display:flex}.nav-link{color:var(--label);white-space:nowrap;border-radius:999px;padding:7px 15px;font-size:13.5px;font-weight:600;text-decoration:none;transition:all .15s}.nav-ico{display:none}.nav-link:hover{color:var(--primary-text);background:var(--hover-bg)}.nav-link.active{background:var(--grad);color:#fff;box-shadow:0 2px 8px var(--shadow)}.header-actions{flex:none;align-items:center;gap:8px;display:flex}.login-btn{background:var(--accent);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:6px;padding:9px 18px;font-size:14px;font-weight:600;transition:background .2s}.login-btn:hover{background:var(--accent-hover)}.theme-toggle{border:1px solid var(--border);background:var(--input-bg);width:38px;height:38px;color:var(--text);cursor:pointer;border-radius:50%;flex:none;justify-content:center;align-items:center;font-size:18px;line-height:1;transition:background .25s,border-color .25s;display:flex}.theme-toggle:hover{border-color:var(--primary-text)}.user-chip{text-overflow:ellipsis;white-space:nowrap;max-width:190px;color:var(--text);background:var(--input-bg);border:1px solid var(--border);border-radius:999px;align-items:center;padding:7px 13px;font-size:13.5px;font-weight:600;display:inline-flex;overflow:hidden}.group-toggle-btn{cursor:pointer;border:2px solid var(--primary);background:var(--primary);color:#fff;border-radius:6px;justify-content:space-between;align-items:center;width:100%;max-width:320px;margin-bottom:10px;padding:12px 20px;font-size:16px;font-weight:600;transition:background .2s;display:flex}.group-toggle-btn:hover{background:var(--primary-hover)}.favorites-container{flex-wrap:wrap;gap:8px;max-width:320px;margin-bottom:15px;display:flex}.fav-chip{background:var(--primary-bg);color:var(--primary-text);border:1px solid var(--primary);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-radius:16px;align-items:center;gap:4px;padding:6px 12px;font-size:13px;transition:background .2s;display:flex}.fav-chip:hover{background:var(--primary-bg-hover)}.fav-chip .star{color:var(--star)}.group-controls{background:var(--card-bg);border:1px solid var(--border);box-shadow:0 2px 8px var(--shadow);border-radius:6px;flex-direction:column;gap:12px;max-width:320px;margin-bottom:15px;padding:15px;display:none}.group-controls.visible{display:flex}.group-controls label{color:var(--label);flex-direction:column;font-size:14px;font-weight:500;display:flex}.group-controls select{border:1px solid var(--input-border);background:var(--input-bg);color:var(--text);border-radius:4px;margin-top:4px;padding:8px 12px;font-size:14px}.group-select-wrapper{align-items:center;gap:8px;display:flex}.group-select-wrapper select{flex:1}.fav-btn{background:var(--input-bg);border:1px solid var(--input-border);cursor:pointer;color:var(--fav-inactive);border-radius:4px;justify-content:center;align-items:center;height:38px;padding:6px 10px;font-size:20px;line-height:1;transition:all .2s;display:flex}.fav-btn:hover{border-color:var(--star);color:var(--star)}.fav-btn.active{color:var(--star);border-color:var(--star);background:var(--star-bg)}.apply-group-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:4px;margin-top:5px;padding:10px;font-size:14px;font-weight:600;transition:background .2s}.apply-group-btn:hover{background:var(--accent-hover)}.toggles-row{flex-wrap:wrap;gap:12px;max-width:560px;margin-bottom:20px;display:flex}.subgroup-toggle{flex:260px;display:flex}.subgroup-toggle button{cursor:pointer;border:2px solid var(--accent);background:var(--input-bg);color:var(--accent);text-align:center;white-space:nowrap;flex:1;padding:10px 16px;font-size:14px;transition:all .2s}.subgroup-toggle button:first-child{border-radius:6px 0 0 6px}.subgroup-toggle button:last-child{border-radius:0 6px 6px 0}.subgroup-toggle button:not(:first-child){border-left:none}.subgroup-toggle button.active{background:var(--accent);color:#fff}.day-header{background:var(--primary);color:#fff;border-radius:6px 6px 0 0;margin-top:20px;padding:10px 15px;font-size:16px;font-weight:700}.day-tabs{display:none}.table-wrapper{-webkit-overflow-scrolling:touch;background:var(--card-bg);width:100%;overflow-x:auto}table{border-collapse:collapse;background:var(--card-bg);width:100%;min-width:560px;box-shadow:0 1px 3px var(--shadow)}th{background:var(--primary-bg);color:var(--text);text-align:left;border:1px solid var(--border);white-space:nowrap;padding:10px;font-size:14px}td{text-align:left;border:1px solid var(--border-light);color:var(--text);padding:10px;font-size:15px}tr:nth-child(2n){background:var(--row-alt)}tbody tr{cursor:pointer}tbody tr:hover{background:var(--primary-bg)}.time-col{color:var(--primary-text);white-space:nowrap;font-weight:700}.discipline{min-width:180px;font-weight:600}.empty-day{color:var(--muted-2);background:var(--card-bg);padding:15px;font-style:italic}.status{color:var(--status);font-style:italic}.offline{color:var(--offline);font-style:italic}.error{color:var(--error)}.modal-overlay{background:var(--overlay);z-index:1000;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.modal-card{background:var(--card-bg);color:var(--text);width:100%;max-width:480px;max-height:85vh;box-shadow:0 8px 30px var(--shadow-strong);border-radius:8px;padding:20px;position:relative;overflow-y:auto}.modal-close{cursor:pointer;color:var(--muted);background:0 0;border:none;border-radius:4px;padding:4px 10px;font-size:24px;line-height:1;position:absolute;top:8px;right:8px}.modal-close:hover{color:var(--text);background:var(--hover-bg)}.modal-title{color:var(--primary-text);margin:0 32px 16px 0;font-size:17px;font-weight:700;line-height:1.35}.modal-row{border-top:1px solid var(--border-light);gap:12px;padding:8px 0;font-size:14px;display:flex}.modal-label{color:var(--muted);flex:0 0 128px}.modal-value{color:var(--text);word-break:break-word;flex:1}.modal-value small{color:var(--muted)}.auth-wrap{justify-content:center;align-items:center;min-height:70vh;display:flex}.auth-card{background:var(--card-bg);border:1px solid var(--border);width:100%;max-width:400px;box-shadow:0 4px 14px var(--shadow);border-radius:8px;flex-direction:column;gap:16px;padding:32px;display:flex}.auth-title{color:var(--text);text-align:center;margin-bottom:4px;font-size:20px;font-weight:700}.auth-label{color:var(--label);flex-direction:column;gap:6px;font-size:13px;font-weight:600;display:flex}.auth-input{border:1px solid var(--input-border);background:var(--input-bg);color:var(--text);border-radius:4px;padding:11px 13px;font-family:inherit;font-size:15px;transition:border-color .15s}.auth-input:focus{border-color:var(--accent);outline:none}.auth-submit{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:6px;margin-top:6px;padding:12px;font-family:inherit;font-size:15px;font-weight:700;transition:background .2s}.auth-submit:hover{background:var(--accent-hover)}.auth-error{color:var(--error);text-align:center;background:rgba(220,38,38,.1);border:1px solid rgba(220,38,38,.3);border-radius:4px;padding:9px 12px;font-size:13px}.auth-hint{color:var(--muted);text-align:center;font-size:12px}.admin-page{max-width:1200px}.admin-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:16px;display:flex}.admin-title{color:var(--text);margin:0 0 4px;font-size:22px;font-weight:700}.admin-sub{color:var(--muted);margin:0;font-size:13.5px}.saving-dot{color:var(--primary-text);font-weight:600}.admin-card{background:var(--card-bg);border:1px solid var(--border);box-shadow:0 2px 8px var(--shadow);border-radius:6px;overflow:hidden}.subject-picker{background:var(--card-bg);border:1px solid var(--border);border-radius:6px;flex-wrap:wrap;gap:4px;padding:4px;display:flex}.subject-btn{color:var(--label);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:8px 14px;font-family:inherit;font-size:13.5px;font-weight:600;transition:all .15s}.subject-btn:hover{background:var(--hover-bg);color:var(--primary-text)}.subject-btn.active{background:var(--accent);color:#fff;box-shadow:0 2px 8px var(--shadow)}.legend{flex-wrap:wrap;gap:8px;margin-bottom:14px;display:flex}.legend-item{background:var(--card-bg);border:1px solid var(--border);color:var(--label);border-radius:999px;align-items:center;gap:7px;padding:5px 13px;font-size:12.5px;display:inline-flex}.legend-item b{border-radius:6px;justify-content:center;align-items:center;width:22px;height:22px;font-size:12px;font-weight:800;display:inline-flex}.legend-item[data-mark=б] b{color:#ea580c;background:rgba(234,88,12,.14)}.legend-item[data-mark=о] b{color:#2563eb;background:rgba(37,99,235,.14)}.legend-item[data-mark=к] b{color:#9333ea;background:rgba(147,58,234,.14)}.legend-item[data-mark=р] b{color:#16a34a;background:rgba(22,163,74,.14)}.legend-item[data-mark="2"] b{color:#fff;background:#ef4444}.legend-empty{border:1px dashed var(--input-border);border-radius:6px;width:22px;height:22px;display:inline-block}.journal-scroll{max-height:76vh;overflow:auto}table.journal{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%}.journal thead th{z-index:3;background:var(--card-bg);text-align:center;border-bottom:1px solid var(--border);vertical-align:top;text-transform:none;letter-spacing:0;padding:9px 6px;font-size:12px;position:-webkit-sticky;position:sticky;top:0}.journal-col-head{min-width:66px}.journal-date{color:var(--text);font-variant-numeric:tabular-nums;font-size:12.5px;font-weight:700;display:block}.journal-type{color:var(--muted);margin-top:2px;font-size:10.5px;font-weight:500;display:block}.journal-corner{z-index:5;background:var(--card-bg);text-align:left;color:var(--muted);text-transform:uppercase;letter-spacing:.06em;border-right:1px solid var(--border);min-width:180px;padding:12px 14px;font-size:11px;font-weight:700;position:-webkit-sticky;position:sticky;top:0;left:0}.journal-name{z-index:2;background:var(--card-bg);color:var(--text);border-right:1px solid var(--border);border-bottom:1px solid var(--border-light);white-space:nowrap;min-width:180px;padding:9px 14px;font-size:14px;font-weight:600;position:-webkit-sticky;position:sticky;left:0}.journal tbody tr:hover .journal-name{background:var(--hover-bg)}.mark-cell{text-align:center;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-bottom:1px solid var(--border-light);min-width:54px;height:42px;padding:6px;font-size:15px;font-weight:800;transition:background .12s,color .12s}.mark-cell:hover{box-shadow:inset 0 0 0 2px var(--accent)}.mark-cell[data-mark=б]{color:#ea580c;background:rgba(234,88,12,.13)}.mark-cell[data-mark=о]{color:#2563eb;background:rgba(37,99,235,.13)}.mark-cell[data-mark=к]{color:#9333ea;background:rgba(147,58,234,.13)}.mark-cell[data-mark=р]{color:#16a34a;background:rgba(22,163,74,.13)}.mark-cell[data-mark="2"]{color:#fff;background:#ef4444}.journal tfoot td{z-index:3;background:var(--card-bg);border-top:2px solid var(--border);border-bottom:none;font-weight:800;position:-webkit-sticky;position:sticky;bottom:0}.journal tfoot .journal-name{z-index:4;color:var(--primary-text)}.total-cell{text-align:center;font-variant-numeric:tabular-nums;color:var(--text);min-width:54px;font-size:15px}.quota-bar{background:var(--row-alt);border:1px solid var(--border);border-radius:999px;height:10px;margin-bottom:14px;overflow:hidden}.quota-fill{background:var(--accent);border-radius:999px;height:100%;transition:width .3s}.quota-danger .quota-fill{background:var(--error)}.admin-msg{border-radius:4px;margin-bottom:12px;padding:10px 14px;font-size:13.5px;font-weight:500}.admin-msg-ok{color:#16a34a;background:rgba(22,163,74,.12);border:1px solid rgba(22,163,74,.3)}.admin-msg-err{color:var(--error);background:rgba(220,38,38,.1);border:1px solid rgba(220,38,38,.3)}.drop-zone{border:2px dashed var(--input-border);background:var(--card-bg);cursor:pointer;color:var(--label);border-radius:6px;align-items:center;gap:14px;margin-bottom:16px;padding:22px;font-size:14px;transition:border-color .15s,background .15s;display:flex}.drop-zone:hover,.drop-zone.drag-over{border-color:var(--accent);background:var(--primary-bg)}.drop-icon{font-size:28px}.drop-link{color:var(--primary-text);font-weight:600;text-decoration:underline}.drop-hint{color:var(--muted);margin-top:4px;font-size:12px}.file-list{margin:0;padding:6px;list-style:none}.file-row{border-radius:4px;align-items:center;gap:12px;padding:10px 12px;transition:background .12s;display:flex}.file-row:hover{background:var(--hover-bg)}.file-row+.file-row{border-top:1px solid var(--border-light)}.file-icon{font-size:20px}.file-info{flex:1;min-width:0}.file-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;text-decoration:none;display:block;overflow:hidden}.file-name:hover{color:var(--primary-text)}.file-meta{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:2px;font-size:12px}.file-action{cursor:pointer;color:var(--label);background:0 0;border:none;border-radius:4px;padding:8px;font-family:inherit;font-size:16px;line-height:1;text-decoration:none;transition:background .12s}.file-action:hover{background:var(--primary-bg)}.file-delete:hover{background:rgba(220,38,38,.12)}.storage-empty{text-align:center;color:var(--muted);padding:30px;font-size:14px}@media (max-width:700px){body{padding:10px}.site-header{flex-wrap:wrap;margin:-10px -10px 16px;padding:10px 12px}.header-title{font-size:16px}.main-nav{order:3;justify-content:center;width:100%}.user-chip{max-width:110px;padding:7px 10px;font-size:12.5px}.group-toggle-btn,.favorites-container,.group-controls{width:100%;max-width:100%}.toggles-row{max-width:100%}.day-tabs{z-index:100;background:var(--bg);gap:4px;padding:8px 0;display:flex;position:-webkit-sticky;position:sticky;top:0}.day-tab{text-align:center;cursor:pointer;border:1px solid var(--border);background:var(--card-bg);color:var(--text);border-radius:6px;flex:1;padding:8px 2px 11px;font-size:13px;font-weight:600;transition:background .15s,color .15s}.day-tab.active{background:var(--accent);border-color:var(--accent);color:#fff}.day-tab.today{border-color:var(--today);color:var(--today);position:relative}.day-tab.today:after{content:"";background:var(--today);border-radius:50%;width:5px;height:5px;position:absolute;bottom:4px;left:50%;transform:translate(-50%)}.day-tab.today.active{border-color:var(--accent);color:#fff}.day-tab.today.active:after{background:#fff}.day-header{margin-top:8px}.subgroup-toggle button{padding:10px 8px;font-size:13px}.table-wrapper{overflow-x:hidden}table{table-layout:fixed;min-width:100%;font-size:13px}th,td{overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;padding:8px 5px;font-size:13px}th{white-space:normal}th:first-child{width:22%}th:nth-child(2){width:32%}th:nth-child(3),th:nth-child(4){width:16%}th:nth-child(5){width:14%}.time-col{white-space:normal;font-size:12px}.discipline{min-width:0}.admin-title{font-size:19px}.journal-scroll{max-height:70vh}.journal-corner,.journal-name{min-width:140px;padding:8px 10px;font-size:13px}.mark-cell{min-width:44px;height:38px}}a.header-title{cursor:pointer;text-decoration:none}a.header-title:hover{opacity:.85}.vault-note{background:var(--card-bg);border:1px solid var(--border);color:var(--label);border-radius:12px;padding:14px 16px;font-size:13px;line-height:1.55}.fp-badge{letter-spacing:.04em;color:var(--primary-text);background:var(--primary-bg);border:1px solid var(--border);white-space:nowrap;border-radius:999px;align-items:center;gap:6px;padding:7px 13px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12.5px;font-weight:700;display:inline-flex}.site-footer{border-top:1px solid var(--border);color:var(--muted);margin-top:32px;padding-top:14px;font-size:12.5px}.site-footer a{color:var(--primary-text);text-decoration:none}.site-footer a:hover{text-decoration:underline}.auth-links{flex-wrap:wrap;justify-content:space-between;gap:10px;display:flex}.auth-links a{color:var(--primary-text);font-size:13px;font-weight:600;text-decoration:none}.auth-links a:hover{text-decoration:underline}.code-display{letter-spacing:.12em;text-align:center;color:var(--primary-text);background:var(--primary-bg);border:1.5px dashed var(--primary-text);-webkit-user-select:all;-moz-user-select:all;user-select:all;border-radius:12px;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;margin:4px 0 14px;padding:16px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:22px;font-weight:800;display:flex}.code-timer{color:var(--muted);letter-spacing:.04em;font-size:14px;font-weight:700}.profile-form{flex-wrap:wrap;align-items:flex-start;gap:12px;display:flex}.profile-section{color:var(--text);margin:0 0 6px;font-size:16px;font-weight:800}.session-list{margin:12px 0 0;padding:0;list-style:none}.session-row{align-items:center;gap:12px;padding:10px 4px;display:flex}.session-row+.session-row{border-top:1px solid var(--border-light)}.session-info{flex:1;min-width:0}.session-device{color:var(--text);flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.session-badge{color:var(--primary-text);background:var(--primary-bg);border-radius:999px;padding:2px 9px;font-size:11px;font-weight:700}.session-meta{color:var(--muted);margin-top:3px;font-size:12px}@media (max-width:700px){.main-nav{flex-wrap:wrap}}.legal-page{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius,14px);max-width:820px;box-shadow:0 4px 14px var(--shadow);padding:28px 30px;font-size:14.5px;line-height:1.65}.legal-page h2{color:var(--primary-text);margin:22px 0 8px;font-size:16px}.legal-page ul{margin:8px 0;padding-left:22px}.legal-page li{margin:4px 0}.legal-page code{background:var(--row-alt);border-radius:6px;padding:1px 6px;font-size:13px}.legal-updated{color:var(--muted);margin:2px 0 14px;font-size:13px}.legal-links{border-top:1px solid var(--border-light);margin-top:26px;padding-top:14px}.legal-links a{color:var(--primary-text);margin-right:14px;font-weight:600}.legal-page a{color:var(--primary-text);text-underline-offset:2px;font-weight:600;text-decoration:underline}.legal-page a:hover{color:var(--primary-hover)}.todo{color:#7a5c00;background:#fff3cd;border:1px dashed #e0a800;border-radius:6px;padding:1px 6px;font-style:normal;font-weight:700}[data-theme=dark] .todo{color:#ffd75e;background:#3d3208;border-color:#7a5c00}.global-footer{border-top:1px solid var(--border);text-align:center;margin-top:40px;padding-top:16px}.footer-links{flex-wrap:wrap;justify-content:center;gap:18px;margin-bottom:8px;display:flex}.footer-links a{color:var(--primary-text);font-weight:600;text-decoration:none}.footer-links a:hover{text-decoration:underline}.footer-note{color:var(--muted);font-size:12px;line-height:1.5}.cookie-banner{z-index:1200;background:var(--card-bg);border:1px solid var(--border);box-shadow:0 8px 30px var(--shadow-strong);border-radius:14px;align-items:center;gap:14px;max-width:720px;margin:0 auto;padding:14px 18px;display:flex;position:fixed;bottom:12px;left:12px;right:12px}.cookie-text{color:var(--label);flex:1;font-size:13px;line-height:1.45}.cookie-text a{color:var(--primary-text);font-weight:600}.cookie-btn{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:10px;flex:none;padding:9px 18px;font-family:inherit;font-size:13.5px;font-weight:700}.cookie-btn:hover{filter:brightness(1.08)}.consent-label{align-items:flex-start;gap:10px;line-height:1.45;color:var(--label)!important;flex-direction:row!important;font-size:12.5px!important;display:flex!important}.consent-label input{width:16px;height:16px;accent-color:var(--accent);flex:none;margin-top:2px}.consent-label a{color:var(--primary-text);font-weight:600}.danger-zone{border-color:rgba(220,38,38,.4)!important}.danger-zone .profile-section{color:var(--error)}@media (max-width:700px){.legal-page{padding:20px 16px;font-size:13.5px}.cookie-banner{text-align:left;flex-direction:column;align-items:stretch}}.code-steps{color:var(--label);margin:14px 0 0;padding-left:20px;font-size:13px;line-height:1.75}.code-steps li{margin:4px 0}.code-steps b{color:var(--primary-text)}.code-actions{flex-wrap:wrap;justify-content:center;gap:8px;margin:4px 0 10px;display:flex}.ghost-btn{border:1px solid var(--input-border);color:var(--label);cursor:pointer;background:0 0;border-radius:6px;padding:9px 14px;font-family:inherit;font-size:13px;font-weight:600;transition:all .15s}.ghost-btn:hover:not(:disabled){border-color:var(--accent);color:var(--primary-text);background:var(--primary-bg)}.ghost-btn:disabled{opacity:.55;cursor:default}.waiting-note{text-align:center;color:var(--muted);padding:4px 0 10px;font-size:14px;font-weight:600;animation:1.6s ease-in-out infinite waiting-pulse}.waiting-note-ok{color:#16a34a;animation:none}@keyframes waiting-pulse{0%,to{opacity:1}50%{opacity:.55}}.pending-list{flex-direction:column;gap:10px;margin:12px 0 0;padding:0;list-style:none;display:flex}.pending-card{border:1px solid var(--border);background:var(--row-alt);border-radius:10px;padding:14px}.pending-highlight{border-color:var(--accent)!important}.pending-head{color:var(--text);flex-wrap:wrap;align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}.pending-badge{background:var(--accent);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:22px;margin-left:6px;padding:0 7px;font-size:12.5px;font-weight:800;display:inline-flex}.pending-meta{color:var(--muted);margin:4px 0 12px;font-size:12.5px}.approve-row{flex-wrap:wrap;gap:10px;display:flex}.approve-code{letter-spacing:.22em;text-align:center;flex:1;min-width:170px;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:20px;font-weight:700}.approve-row .auth-submit{flex:1;min-width:170px;margin-top:0}.reject-btn{color:var(--error);border-color:rgba(220,38,38,.45)}.reject-btn:hover:not(:disabled){border-color:var(--error);color:var(--error);background:rgba(220,38,38,.08)}.pwd-form{flex-direction:column;gap:12px;max-width:420px;margin-top:12px;display:flex}.pwd-form .auth-submit{margin-top:4px}@media (max-width:700px){.auth-card{gap:14px;padding:22px 16px}.auth-input{padding:13px;font-size:16px}.auth-submit{width:100%;min-height:46px;font-size:15.5px}.ghost-btn{min-height:44px;padding:10px 16px}.subject-btn{flex:1;min-height:44px;padding:11px 10px;font-size:14px}.code-display{letter-spacing:.14em;padding:18px 10px;font-size:26px}.code-actions .ghost-btn{flex:45%}.approve-row{flex-direction:column}.approve-row .auth-submit,.approve-row .ghost-btn{width:100%}.approve-code{min-height:52px;font-size:22px}.profile-form{flex-direction:column}.profile-form .auth-submit{width:100%;margin-top:6px}.profile-form label{width:100%!important;min-width:0!important}.pwd-form{max-width:none}.session-row{gap:8px}.session-row .file-action{min-width:44px;min-height:44px;font-size:18px}}@media (min-width:701px){body{max-width:1320px;margin:0 auto;padding:20px 24px 56px}.site-header{margin:-20px -24px 16px;padding:12px 24px}.sched-toolbar{z-index:400;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:0 2px 8px var(--shadow);flex-wrap:wrap;align-items:center;gap:10px 14px;margin-bottom:16px;padding:10px 14px;display:flex;position:-webkit-sticky;position:sticky;top:64px}.sched-toolbar .current-week{white-space:nowrap;margin-bottom:0}.sched-toolbar .group-toggle-btn{width:auto;min-width:210px;margin-bottom:0;padding:10px 16px}.sched-toolbar .favorites-container{max-width:none;margin-bottom:0}.sched-toolbar .group-controls{max-width:none;box-shadow:none;background:var(--row-alt);flex-flow:wrap;flex:100%;align-items:flex-end;gap:14px;margin-bottom:0}.sched-toolbar .group-controls label{flex:160px;min-width:0}.sched-toolbar .group-controls select{width:100%}.sched-toolbar .apply-group-btn{flex:none;margin-top:0;padding:9px 22px}.sched-toolbar .toggles-row{max-width:none;margin-bottom:0;margin-left:auto}.sched-toolbar .subgroup-toggle button{padding:8px 14px}#schedule{grid-template-columns:1fr;gap:0;display:grid}.day-block{min-width:0}}@media (min-width:1100px){#schedule{grid-template-columns:1fr 1fr;align-items:start;gap:4px 24px}.day-block .table-wrapper table{min-width:0}.day-block .table-wrapper tbody tr:hover{background:var(--primary-bg)}}.groups-list{flex-wrap:wrap;gap:8px;margin:10px 0 14px;display:flex}.group-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--row-alt);align-items:center;gap:12px;padding:8px 12px;display:flex}.group-create-form{flex-wrap:wrap;gap:10px;display:flex}.group-create-form .auth-input{flex:280px}.group-create-form .auth-submit{flex:none;width:auto;margin:0;padding:10px 22px}.users-scroll{-webkit-overflow-scrolling:touch;margin-top:12px;overflow-x:auto}.users-table{border-collapse:collapse;width:100%;min-width:720px;font-size:14px}.users-table th{text-align:left;border-bottom:2px solid var(--border);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);white-space:nowrap;padding:8px 10px;font-size:12px}.users-table td{border-bottom:1px solid var(--border-light);vertical-align:middle;padding:8px 10px}.users-table tbody tr:hover{background:var(--row-alt)}.users-table tr.row-blocked{opacity:.55}.users-group-select{min-width:150px;padding:7px 10px}.role-badge{border:1px solid var(--border);background:var(--row-alt);color:var(--muted);border-radius:999px;margin-right:4px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.role-badge.role-admin{background:var(--primary-bg);border-color:var(--primary);color:var(--primary-text)}.role-badge.role-blocked-badge{border-color:var(--error);color:var(--error);background:#fdecea}[data-theme=dark] .role-badge.role-blocked-badge{background:rgba(255,107,107,.12)}.danger-link{color:var(--error);border-color:var(--error)}.users-table .ghost-btn{white-space:nowrap;padding:6px 12px;font-size:13px}.chat-page{max-width:900px}.chat-card{flex-direction:column;display:flex;overflow:hidden;padding:0!important}.chat-log{background:var(--card-bg);flex-direction:column;flex:auto;gap:6px;height:calc(100vh - 250px);min-height:320px;padding:16px;display:flex;overflow-y:auto}.chat-empty{text-align:center;max-width:380px;color:var(--muted-2);margin:auto;padding:24px;font-size:14px;line-height:1.55}.chat-day-sep{background:var(--row-alt);border:1px solid var(--border-light);color:var(--muted);border-radius:999px;align-self:center;margin:10px 0 6px;padding:3px 12px;font-size:11.5px;font-weight:600}.chat-msg{background:var(--row-alt);border:1px solid var(--border-light);border-radius:12px 12px 12px 4px;align-self:flex-start;max-width:76%;padding:8px 12px}.chat-msg.mine{background:var(--primary-bg);border-color:var(--primary-bg-hover);border-bottom-right-radius:4px;border-bottom-left-radius:12px;align-self:flex-end}.chat-msg-author{color:var(--primary-text);margin-bottom:2px;font-size:12px;font-weight:700}.chat-msg-text{overflow-wrap:anywhere;color:var(--text);white-space:pre-wrap;word-break:break-word;font-size:14px;line-height:1.45}.chat-msg-time{color:var(--muted-2);text-align:right;font-variant-numeric:tabular-nums;margin-top:3px;font-size:10.5px}.chat-input-row{border-top:1px solid var(--border);background:var(--card-bg);gap:8px;padding:12px 16px;display:flex}.chat-input-row .auth-input{flex:auto;margin:0}.chat-input-row .auth-submit{flex:none;width:auto;margin:0;padding:10px 22px}@media (max-width:700px){.chat-log{height:calc(100vh - 260px);min-height:260px;padding:12px}.chat-msg{max-width:88%}.chat-input-row{padding:10px 12px}.chat-input-row .auth-submit{padding:10px 14px}}.msngr{grid-template-columns:300px 1fr;align-items:start;gap:16px;display:grid}.msngr-side{background:var(--card-bg,#fff);border:1px solid var(--border,#e5e7eb);border-radius:14px;flex-direction:column;gap:4px;max-height:70vh;padding:10px;display:flex;overflow-y:auto}.msngr-side-title{text-transform:uppercase;letter-spacing:.04em;opacity:.55;padding:10px 8px 4px;font-size:12px;font-weight:600}.msngr-side-empty{opacity:.6;padding:6px 8px;font-size:13px}.msngr-conv{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:10px;align-items:center;gap:10px;padding:9px 10px;display:flex}.msngr-conv:hover:not(:disabled){background:rgba(127,127,127,.08)}.msngr-conv.active{background:rgba(59,130,246,.12)}.msngr-conv:disabled{opacity:.45;cursor:not-allowed}.msngr-conv-ico{flex:none;font-size:18px}.msngr-conv-name{flex-direction:column;gap:2px;min-width:0;font-size:14px;font-weight:500;display:flex}.msngr-conv-sub{opacity:.55;white-space:nowrap;text-overflow:ellipsis;font-size:11.5px;font-weight:400;overflow:hidden}.msngr-main{min-width:0;display:flex}.msngr-chat{flex-direction:column;flex:1;min-width:0;display:flex}.msngr-conv-head{border-bottom:1px solid var(--border,#e5e7eb);align-items:center;gap:10px;padding:10px 14px;display:flex}.msngr-conv-title{flex:1;min-width:0;font-size:15px;font-weight:600}.msngr-count{font-variant-numeric:tabular-nums;cursor:help;background:rgba(127,127,127,.12);border-radius:999px;flex:none;padding:3px 10px;font-size:12px}.msngr-back{padding:4px 10px;display:none}.chat-sys{text-align:center;opacity:.75;background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.35);border-radius:10px;max-width:560px;margin:14px auto;padding:8px 14px;font-size:12.5px;line-height:1.5}.chat-file{font:inherit;color:inherit;cursor:pointer;background:rgba(127,127,127,.12);border:1px solid rgba(127,127,127,.25);border-radius:10px;align-items:center;gap:8px;max-width:100%;padding:7px 12px;font-size:13.5px;display:inline-flex}.chat-file:hover{background:rgba(127,127,127,.2)}.chat-file-size{opacity:.6;font-size:11.5px}.chat-composer{flex-direction:column;gap:6px;display:flex}.chat-pending{background:rgba(59,130,246,.08);border:1px solid rgba(59,130,246,.3);border-radius:10px;align-items:center;gap:8px;padding:6px 10px;font-size:13px;display:flex}.chat-mod-warn{color:#fff;background:#b91c1c;border:1px solid #7f1d1d;border-radius:10px;padding:8px 12px;font-size:13px;line-height:1.45}.chat-mod-warn b{font-weight:800;text-decoration:underline}.chat-pending span{opacity:.6}.chat-pending-x{color:inherit;cursor:pointer;background:0 0;border:none;border-radius:6px;margin-left:auto;padding:2px 6px;font-size:13px}.chat-pending-x:hover{background:rgba(127,127,127,.15)}.chat-attach{flex:none;padding:8px 10px;font-size:16px}@media (max-width:700px){.msngr{grid-template-columns:1fr}.msngr-side{max-height:none}.msngr.conv-open .msngr-side,.msngr:not(.conv-open) .msngr-main{display:none}.msngr-back{display:inline-block}}.profile-card{margin-bottom:16px;padding:20px}.profile-card:last-child{margin-bottom:0}@media (min-width:701px){.profile-page{max-width:760px;margin:0 auto}}@media (min-width:1080px){.profile-page{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);grid-template-areas:"head head""pseudonym pending""sessions password""recovery danger";align-items:start;gap:16px;max-width:1180px;display:grid}.profile-head-zone{grid-area:head}.card-pending{grid-area:pending}.card-pseudonym{grid-area:pseudonym}.card-sessions{grid-area:sessions}.card-password{grid-area:password}.card-recovery{grid-area:recovery}.card-danger{grid-area:danger}.profile-page>.status{grid-column:1/-1}.profile-card,.profile-head-zone>:last-child{margin-bottom:0}.card-password .pwd-form{max-width:none}}.profile-avatar{object-fit:cover;border:2px solid var(--border-light);background:var(--primary-bg);border-radius:50%;flex:none;width:72px;height:72px}.profile-avatar-empty{color:var(--primary-text);justify-content:center;align-items:center;font-size:30px;font-weight:700;display:flex}.header-avatar{object-fit:cover;vertical-align:middle;border:1px solid var(--border-light);border-radius:50%;width:26px;height:26px;margin-right:8px}.header-avatar-empty{background:var(--primary-bg);color:var(--primary-text);justify-content:center;align-items:center;font-size:13px;font-weight:700;display:inline-flex}.chat-textarea{resize:none;flex:1;min-height:44px;max-height:132px;font-family:inherit;line-height:1.35}.chat-avatar{object-fit:cover;vertical-align:middle;border:1px solid var(--border-light);border-radius:50%;width:22px;height:22px;margin-right:6px}.chat-avatar-side{flex:none;width:34px;height:34px;margin-right:0}.chat-media{border:1px solid var(--border-light);object-fit:cover;border-radius:10px;max-width:240px;max-height:240px;margin-top:6px;display:block}.news-badge{background:var(--error);color:#fff;vertical-align:middle;border-radius:999px;justify-content:center;align-items:center;min-width:17px;height:17px;margin-left:6px;padding:0 5px;font-size:10.5px;font-weight:700;line-height:1;display:inline-flex}.nav-link.active .news-badge{color:var(--error);background:#fff}.news-banner{background:var(--error);color:#fff;align-items:center;gap:10px;padding:8px 16px;font-size:14px;display:flex}.news-banner-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.news-banner a{color:#fff;white-space:nowrap;font-weight:700;text-decoration:underline}.news-banner-close{color:#fff;cursor:pointer;background:0 0;border:none;flex:none;padding:2px 6px;font-size:15px}.news-chip{background:var(--error);color:#fff;letter-spacing:.4px;vertical-align:middle;border-radius:999px;margin-right:6px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.news-item-urgent{border-left:4px solid var(--error)}.news-audience{opacity:.65;white-space:nowrap;font-size:12px}.dz-deadline{white-space:nowrap;opacity:.85;font-size:13px}.dz-deadline-soon{color:var(--offline);opacity:1;font-weight:700}.dz-deadline-over{color:var(--error);opacity:1;font-weight:700}.md-editor{border:1px solid var(--border-light);background:var(--card-bg);border-radius:10px;margin-top:6px;padding:8px}.md-toolbar{flex-wrap:wrap;align-items:center;gap:4px;margin-bottom:8px;display:flex}.md-tb-btn{font-size:14px;line-height:1.2}.md-tb-sep{background:var(--border-light);width:1px;height:22px;margin:0 4px}.md-font-select{max-width:190px;padding:4px 8px;font-size:13px}.md-textarea{resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;line-height:1.55}.md-preview{border:1px dashed var(--border-light);border-radius:8px;min-height:120px;padding:10px 12px}.md-files{flex-direction:column;gap:4px;margin:8px 0 0;padding:0;list-style:none;display:flex}.md-files li{border:1px solid var(--border-light);border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:4px 8px;font-size:13px;display:flex}.md-file-name{overflow-wrap:anywhere}.md-body{overflow-wrap:anywhere;text-align:justify;-webkit-hyphens:auto;hyphens:auto;line-height:1.6}.md-body pre,.md-body code{text-align:left;-webkit-hyphens:none;hyphens:none}.md-body th,.md-body td{text-align:left}.md-body h1,.md-body h2,.md-body h3,.md-body h4{margin:14px 0 8px;line-height:1.3}.md-body p{margin:8px 0}.md-body ul,.md-body ol{margin:8px 0;padding-left:24px}.md-body blockquote{border-left:3px solid var(--border-light);opacity:.85;margin:8px 0;padding:4px 12px}.md-body code{background:rgba(127,127,127,.14);border-radius:4px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.92em}.md-body pre{background:rgba(127,127,127,.12);border-radius:8px;margin:8px 0;padding:10px 12px;overflow-x:auto}.md-body pre code{background:0 0;padding:0}.md-body table{border-collapse:collapse;margin:8px 0}.md-body th,.md-body td{border:1px solid var(--border-light);padding:4px 8px}.md-img{border-radius:10px;max-width:100%;margin:6px 0;display:block}.md-video{border-radius:10px;max-width:100%;margin:6px 0}.md-audio{flex-direction:column;gap:2px;max-width:420px;margin:8px 0;display:flex}.md-audio audio{width:100%}.md-attach-cap{opacity:.7;font-size:12px}.md-file-link{display:inline-block}.md-body .katex-display{padding:4px 0;overflow-x:auto;overflow-y:hidden}.material-card{margin-bottom:10px}.material-editing{outline:2px solid var(--accent);outline-offset:1px}.material-head{cursor:pointer;text-align:left;width:100%;color:inherit;font:inherit;background:0 0;border:none;justify-content:space-between;align-items:baseline;gap:10px;padding:2px 0;display:flex}.material-head-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.material-head-row .material-head{flex:1}.material-title{font-size:16px;font-weight:700}.material-meta{opacity:.65;white-space:nowrap;font-size:12px}.material-body{border-top:1px dashed var(--border-light);margin-top:10px;padding-top:10px}.material-files{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.sub-list{flex-direction:column;gap:8px;margin:10px 0;padding:0;list-style:none;display:flex}.sub-item{border:1px solid var(--border-light);border-radius:10px;padding:8px 12px}.sub-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.sub-service{opacity:.75}.sub-meta{opacity:.75;margin-top:2px;font-size:13px}.sub-note{opacity:.85;overflow-wrap:anywhere;margin-top:4px;font-size:13px}.sub-badge{border:1px solid var(--border-light);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600;display:inline-block}.sub-badge-soon{color:#b45309;background:rgba(245,158,11,.14);border-color:#f59e0b}.sub-badge-over{color:#fff;background:var(--error,#ef4444);border-color:var(--error,#ef4444)}.sub-badge-none{opacity:.6}.sub-warn{color:#b45309;background:rgba(245,158,11,.12);border:1px solid #f59e0b;border-radius:10px;margin-bottom:10px;padding:8px 12px;font-weight:600}[data-theme=dark] .sub-badge-soon,[data-theme=dark] .sub-warn{color:#fbbf24}.curator-table-wrap{border:1px solid var(--border-light);border-radius:10px;overflow-x:auto}.curator-table{border-collapse:collapse;width:100%;font-size:14px}.curator-table th,.curator-table td{border-bottom:1px solid var(--border-light);text-align:center;padding:6px 8px}.curator-table th{white-space:nowrap;font-size:12px;line-height:1.3}.curator-table td:first-child,.curator-table th:first-child{text-align:left;background:var(--card-bg);white-space:nowrap;position:-webkit-sticky;position:sticky;left:0}.curator-table .mark-cell[data-mark=""]{color:#16a34a;font-weight:700}.curator-table .mark-cell{cursor:default;min-width:44px;height:auto}.date-view{grid-column:1/-1}.date-nav{flex-wrap:nowrap;justify-content:center;align-items:center;gap:12px;margin:4px 0 12px;display:flex}.date-nav-btn{border-radius:var(--radius);flex:none;min-width:44px;height:44px;padding:0 12px;font-size:24px;line-height:1}.date-nav-title{min-width:0;color:var(--text);text-align:center;flex-direction:column;flex:auto;align-items:center;gap:4px;font-size:17px;font-weight:600;display:flex}.date-nav-line{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;min-width:0;display:flex}.date-nav-weekday{letter-spacing:.2px;font-size:19px;font-weight:700}.date-nav-date{opacity:.85;font-size:14px;font-weight:500}@media (max-width:700px){.date-nav{gap:8px}.date-nav-btn{min-width:40px;height:40px;padding:0 8px;font-size:22px}.date-nav-weekday{font-size:17px}.date-nav-date{font-size:13px}}.date-today-badge{background:var(--today);color:#fff;white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600}.date-week-chip{background:var(--primary-bg);color:var(--primary-text);white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:12px;font-weight:600}.fp-banner{z-index:900;color:#fff;background:#8b1a1a;align-items:flex-start;gap:10px;padding:10px 14px;font-size:14px;line-height:1.45;display:flex;position:fixed;top:0;left:0;right:0;box-shadow:0 2px 14px rgba(0,0,0,.45)}.fp-banner-icon{flex:none;font-size:18px;line-height:1.2}.fp-banner-text{flex:auto}.fp-banner-close{color:#fff;cursor:pointer;opacity:.85;background:0 0;border:none;border-radius:4px;flex:none;padding:2px 6px;font-size:16px}.fp-banner-close:hover{opacity:1;background:rgba(255,255,255,.15)}.user-create-form{border:1px dashed var(--border);border-radius:var(--radius);background:var(--row-alt);margin-top:12px;padding:14px}.user-create-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));align-items:end;gap:10px;display:grid}.recovery-once{flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px;display:flex}.recovery-once code{letter-spacing:1px;background:var(--card-bg);color:var(--text);border:1px solid var(--border);border-radius:var(--radius);-webkit-user-select:all;-moz-user-select:all;user-select:all;padding:6px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:17px;font-weight:700}.deleted-chip{border:1px solid var(--border);background:var(--card-bg);border-radius:999px;flex-wrap:wrap;align-items:center;gap:8px;padding:4px 6px 4px 12px;font-size:14px;display:inline-flex}.qr-display{flex-direction:column;align-items:center;gap:8px;margin:10px 0 4px;display:flex}.qr-canvas{border:1px solid var(--border);background:#fff;border-radius:12px;width:256px;max-width:100%;height:256px;padding:6px}.qr-timer{color:var(--text);opacity:.75;font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.link-device{margin-top:10px}.link-device .admin-msg{margin-bottom:10px}.link-device-confirm{border:1px solid var(--border);background:var(--row-alt);border-radius:10px;padding:12px}.link-device-keyok{color:#15803d;background:rgba(22,163,74,.08);border:1px solid rgba(22,163,74,.35);border-radius:10px;margin-top:10px;padding:9px 12px;font-size:13px;line-height:1.45}[data-theme=dark] .link-device-keyok{color:#4ade80}.qr-scan-overlay{z-index:1100;background:rgba(0,0,0,.82);justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.qr-scan-box{background:var(--card-bg);width:100%;max-width:420px;color:var(--text);border-radius:14px;flex-direction:column;gap:10px;padding:14px;display:flex;box-shadow:0 10px 40px rgba(0,0,0,.5)}.qr-scan-head{justify-content:space-between;align-items:center;font-weight:700;display:flex}.qr-scan-close{min-width:36px;height:36px;padding:0 10px}.qr-scan-video-wrap{aspect-ratio:4/3;background:#000;border-radius:10px;width:100%;position:relative;overflow:hidden}.qr-scan-video{object-fit:cover;width:100%;height:100%}.qr-scan-frame{aspect-ratio:1;pointer-events:none;border:3px solid rgba(255,255,255,.85);border-radius:14px;width:62%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 9999px rgba(0,0,0,.25)}.qr-scan-status{text-align:center;color:#fff;background:rgba(0,0,0,.55);justify-content:center;align-items:center;padding:16px;font-size:14px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.qr-scan-status-err{color:#fecaca}.qr-scan-hint{opacity:.8;margin:0;font-size:13px;line-height:1.45}.qr-scan-actions{flex-wrap:wrap;gap:8px;display:flex}.material-task{color:var(--text);opacity:.85;white-space:pre-line;text-align:left;margin-top:4px;font-size:13.5px;font-weight:500;line-height:1.45;display:block}.md-body details{border:1px solid var(--border);background:var(--row-alt);border-radius:10px;margin:10px 0;overflow:hidden}.md-body details summary{cursor:pointer;color:var(--accent);-webkit-user-select:none;-moz-user-select:none;user-select:none;padding:10px 14px;font-weight:700;list-style:none}.md-body details summary::-webkit-details-marker{display:none}.md-body details summary:before{content:"▸ "}.md-body details[open] summary:before{content:"▾ "}.md-body details[open] summary{border-bottom:1px solid var(--border)}.md-body details>:not(summary){margin-left:14px;margin-right:14px}.md-body details>:last-child{margin-bottom:12px}.md-attach-missing{color:#b91c1c;background:rgba(185,28,28,.08);border:1px dashed #b91c1c;border-radius:8px;margin:6px 0;padding:6px 10px;font-size:13px;font-weight:600;display:inline-block}.week-view{grid-column:1/-1}.week-table-wrapper{overflow-x:auto}.week-table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%}.week-table th,.week-table td{border:1px solid var(--border);vertical-align:top;text-align:left;padding:6px 8px}.week-table thead th{background:var(--row-alt);text-align:center;z-index:5;padding:8px 6px;position:-webkit-sticky;position:sticky;top:0}.week-day-name{font-size:15px;font-weight:700;display:block}.week-day-date{opacity:.8;justify-content:center;align-items:center;gap:6px;margin-top:2px;font-size:12px;font-weight:500;display:flex}.week-time-col{white-space:nowrap;background:var(--card-bg);width:74px;min-width:74px;font-weight:700;text-align:center!important}.week-table thead .week-time-col{background:var(--row-alt)}.week-table th.week-today,.week-table td.week-today{background:color-mix(in srgb,var(--today)12%,var(--card-bg))}.week-table th.week-today{background:color-mix(in srgb,var(--today)26%,var(--row-alt));border-bottom:3px solid var(--today)}.week-table td.week-today{box-shadow:inset 2px 0 0 0 var(--today),inset -2px 0 0 0 var(--today)}.week-table th.week-holiday,.week-table td.week-holiday{background:color-mix(in srgb,var(--accent)6%,var(--card-bg))}.empty-day-holiday{background:color-mix(in srgb,var(--accent)8%,var(--card-bg));border:1px dashed var(--accent);border-radius:10px;font-weight:600}.week-holiday-chip{background:var(--accent);color:#fff;white-space:nowrap;border-radius:999px;margin-top:2px;padding:1px 8px;font-size:10.5px;font-weight:700;display:inline-block}.week-cell-empty{text-align:center;opacity:.35;padding:6px 0;display:block}.week-lesson{border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--card-bg);cursor:pointer;border-radius:8px;margin:2px 0;padding:6px 8px;transition:box-shadow .15s,transform .15s}.week-lesson:hover{box-shadow:0 2px 10px var(--shadow);transform:translateY(-1px)}.week-lesson-transfer{background:rgba(217,119,6,.06);border-left-color:#d97706}.week-lesson-title{color:var(--text);font-size:13px;font-weight:600;line-height:1.3}.week-lesson-meta{opacity:.75;margin-top:3px;font-size:11.5px;line-height:1.3}.week-today-btn{min-width:0;height:auto;padding:3px 12px;font-size:12px}.transfer-badge{color:#d97706;cursor:help;margin-right:4px;font-weight:700;display:inline-block}@media (max-width:700px){.week-time-col{width:56px;min-width:56px;font-size:12px}.week-lesson-title{font-size:12px}}.rc-overlay{z-index:1300;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:rgba(0,0,0,.62);justify-content:center;align-items:center;padding:14px;display:flex;position:fixed;top:0;bottom:0;left:0;right:0;overflow-y:auto}.rc-card{background:var(--card-bg);width:100%;max-width:460px;max-height:calc(100dvh - 28px);color:var(--text);border:1px solid var(--border);border-radius:16px;margin:auto;padding:22px 20px;position:relative;overflow-y:auto;box-shadow:0 16px 48px rgba(0,0,0,.4)}.rc-close{color:var(--text);opacity:.55;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:6px 9px;font-size:15px;position:absolute;top:10px;right:10px}.rc-close:hover{opacity:1;background:var(--row-alt)}.rc-title{margin:0 28px 10px 0;font-size:19px;font-weight:800;line-height:1.3}.rc-sub{opacity:.85;margin:0 0 12px;font-size:13.5px;line-height:1.55}.rc-hint{opacity:.7;font-size:12.5px}.rc-code{letter-spacing:1.5px;text-align:center;word-break:break-word;overflow-wrap:anywhere;background:var(--row-alt);border:2px dashed var(--accent);cursor:pointer;-webkit-user-select:all;-moz-user-select:all;user-select:all;border-radius:12px;margin:0 0 12px;padding:14px 12px;font-family:Courier New,Courier,monospace;font-size:21px;font-weight:700;line-height:1.5}.rc-actions{gap:8px;display:flex}.rc-btn{flex:1 1 0;margin-top:0!important;margin-bottom:0!important}.rc-ack{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;align-items:center;gap:10px;margin:14px 0 12px;font-size:14px;font-weight:600;display:flex}.rc-ack input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent);cursor:pointer;flex:none}.rc-done{width:100%}.rc-done:disabled{opacity:.5;cursor:not-allowed}@media (max-width:480px){.rc-overlay{padding:8px}.rc-card{border-radius:14px;padding:18px 14px}.rc-actions{flex-direction:column}.rc-code{letter-spacing:1px;padding:12px 8px;font-size:18px}.rc-title{font-size:17px}}.form-grid-2{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-grid-student{grid-template-columns:2fr 2fr 1fr auto;align-items:end;gap:8px;display:grid}.form-grid-column{grid-template-columns:2fr 1fr 1fr 1fr auto;align-items:end;gap:8px;display:grid}@media (max-width:700px){.form-grid-2,.form-grid-student,.form-grid-column{grid-template-columns:1fr}.subgroup-toggle.admin-tabs{flex:none;grid-template-columns:1fr 1fr;gap:6px;display:grid}.subgroup-toggle.admin-tabs button{border:2px solid var(--accent);white-space:normal;border-radius:6px;padding:10px 8px;font-size:13px}.admin-head{flex-direction:column;align-items:flex-start;gap:8px}.material-head-row{flex-wrap:wrap}.material-head-row .material-head{flex:100%}}.material-card.personal{border-left:3px solid var(--accent)}.badge-personal{color:var(--accent);letter-spacing:.4px;vertical-align:1px;white-space:nowrap;background:rgba(33,150,243,.15);border-radius:999px;margin-left:8px;padding:2px 8px;font-size:11px;font-weight:800;display:inline-block}.storage-headline{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.journal-roster-card{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:12px 0;padding:10px 14px;display:flex}.journal-roster{flex:260px;min-width:0}.journal-roster-summary{cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;color:var(--primary-text);padding:6px 0;font-size:14.5px;font-weight:700}.journal-roster-row{border-top:1px solid var(--border-light);align-items:center;gap:6px;display:flex}.journal-roster-row:first-of-type{margin-top:6px}.journal-roster-name{cursor:pointer;min-width:0;font:inherit;color:inherit;text-align:left;background:0 0;border:none;flex:1;align-items:center;gap:8px;padding:9px 4px;display:flex}.journal-roster-name:hover b{color:var(--primary-text)}.journal-roster-name b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.journal-roster-import{flex:none}.jr-badge{color:var(--accent);white-space:nowrap;background:rgba(33,150,243,.14);border-radius:999px;flex:none;padding:2px 8px;font-size:11px;font-weight:700}.jr-badge-off{color:var(--muted);background:rgba(127,127,127,.14)}.jr-edit{cursor:pointer;color:var(--label);vertical-align:middle;background:0 0;border:none;border-radius:8px;flex:none;justify-content:center;align-items:center;width:36px;height:36px;padding:0;font-family:inherit;font-size:16px;line-height:1;display:inline-flex}.jr-edit:hover{background:var(--hover-bg);color:var(--primary-text)}.jr-name-cell{z-index:2;background:var(--card-bg);white-space:nowrap;text-align:left;padding:4px 6px;position:-webkit-sticky;position:sticky;left:0}.jr-name-text{text-overflow:ellipsis;vertical-align:middle;max-width:220px;display:inline-block;overflow:hidden}.jr-name-sub{opacity:.6;font-size:12px}.mark-btn{border:1px solid var(--border-light);width:34px;height:34px;color:inherit;cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;padding:0;font-family:inherit;font-size:14px;font-weight:600;line-height:1;display:inline-flex}.mark-btn.filled{background:var(--star);color:#fff;border-color:transparent}.journal-edit-card{max-width:440px}.journal-edit-sep{border-top:1px solid var(--border-light);color:var(--muted);margin:16px 0 8px;padding-top:12px;font-size:13px;font-weight:700}.journal-edit-actions{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.journal-edit-actions .auth-submit{flex:160px;margin-top:0}.journal-card{padding:14px 16px}.journal-grid-card{-webkit-overflow-scrolling:touch;overflow-x:auto}.journal-grid-head{flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px 4px;display:flex}@media (max-width:700px){.main-nav{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto}.main-nav::-webkit-scrollbar{display:none}.nav-link{flex:none;justify-content:center;align-items:center;padding:8px 12px;font-size:13px;display:inline-flex;position:relative}.nav-text{display:none}.nav-ico{font-size:18px;line-height:1;display:block}.news-badge{border:1.5px solid var(--card-bg);min-width:15px;height:15px;margin-left:0;padding:0 3px;font-size:9px;position:absolute;top:-3px;right:-3px}.site-header{gap:8px;padding:8px 10px}.header-actions{gap:6px}.theme-toggle{width:36px;height:36px}.login-btn{justify-content:center;align-items:center;padding:8px 11px;font-size:13px;display:inline-flex}.modal-overlay{padding:8px}.modal-card{max-height:calc(100dvh - 16px);padding:16px 14px}.chat-log{height:calc(100dvh - 235px);min-height:240px}.material-meta{white-space:normal;text-align:right}.material-title{font-size:15px}.drop-zone{gap:10px;padding:14px 12px;font-size:13.5px}.drop-icon{font-size:22px}.file-row{gap:8px;padding:8px 6px}.file-action{padding:10px;font-size:17px}.mark-btn{width:38px;height:38px}.jr-name-text{max-width:140px}.journal-roster-card{padding:8px 10px}.journal-edit-actions{flex-direction:column}.journal-edit-actions .ghost-btn{width:100%}.vault-note{padding:12px}.storage-empty{padding:20px 12px}.day-tabs{top:104px}.journal-card{padding:10px 12px}}@media (max-width:560px){.user-chip{max-width:none;padding:3px}.user-chip-name{display:none}.header-avatar{margin-right:0}}
@font-face{font-display:block;font-family:KaTeX_AMS;font-style:normal;font-weight:400;src:url(../media/KaTeX_AMS-Regular.c30af439.woff2)format("woff2"),url(../media/KaTeX_AMS-Regular.e6a3cada.woff)format("woff"),url(../media/KaTeX_AMS-Regular.892f691b.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:700;src:url(../media/KaTeX_Caligraphic-Bold.db991531.woff2)format("woff2"),url(../media/KaTeX_Caligraphic-Bold.2f97783e.woff)format("woff"),url(../media/KaTeX_Caligraphic-Bold.a36b8125.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Caligraphic;font-style:normal;font-weight:400;src:url(../media/KaTeX_Caligraphic-Regular.c20eee08.woff2)format("woff2"),url(../media/KaTeX_Caligraphic-Regular.2b13f013.woff)format("woff"),url(../media/KaTeX_Caligraphic-Regular.7c50032c.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:700;src:url(../media/KaTeX_Fraktur-Bold.d514bd28.woff2)format("woff2"),url(../media/KaTeX_Fraktur-Bold.5fa2f5e4.woff)format("woff"),url(../media/KaTeX_Fraktur-Bold.e311399d.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Fraktur;font-style:normal;font-weight:400;src:url(../media/KaTeX_Fraktur-Regular.5d62e468.woff2)format("woff2"),url(../media/KaTeX_Fraktur-Regular.18139813.woff)format("woff"),url(../media/KaTeX_Fraktur-Regular.2a73476d.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:700;src:url(../media/KaTeX_Main-Bold.f4e2828d.woff2)format("woff2"),url(../media/KaTeX_Main-Bold.c24b5ba7.woff)format("woff"),url(../media/KaTeX_Main-Bold.6d137c77.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:700;src:url(../media/KaTeX_Main-BoldItalic.f1884480.woff2)format("woff2"),url(../media/KaTeX_Main-BoldItalic.079b33ae.woff)format("woff"),url(../media/KaTeX_Main-BoldItalic.c003d3ec.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:italic;font-weight:400;src:url(../media/KaTeX_Main-Italic.a3746929.woff2)format("woff2"),url(../media/KaTeX_Main-Italic.26a3619b.woff)format("woff"),url(../media/KaTeX_Main-Italic.61da3e93.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Main;font-style:normal;font-weight:400;src:url(../media/KaTeX_Main-Regular.12644167.woff2)format("woff2"),url(../media/KaTeX_Main-Regular.d511f158.woff)format("woff"),url(../media/KaTeX_Main-Regular.876b86ad.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:700;src:url(../media/KaTeX_Math-BoldItalic.5c6a6a93.woff2)format("woff2"),url(../media/KaTeX_Math-BoldItalic.ad4dffd5.woff)format("woff"),url(../media/KaTeX_Math-BoldItalic.e73b3bf0.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Math;font-style:italic;font-weight:400;src:url(../media/KaTeX_Math-Italic.d8564edb.woff2)format("woff2"),url(../media/KaTeX_Math-Italic.1cd2c488.woff)format("woff"),url(../media/KaTeX_Math-Italic.03974bc4.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:700;src:url(../media/KaTeX_SansSerif-Bold.a03f9428.woff2)format("woff2"),url(../media/KaTeX_SansSerif-Bold.ff51ef5c.woff)format("woff"),url(../media/KaTeX_SansSerif-Bold.d4608ed5.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:italic;font-weight:400;src:url(../media/KaTeX_SansSerif-Italic.9245afda.woff2)format("woff2"),url(../media/KaTeX_SansSerif-Italic.8ed740d6.woff)format("woff"),url(../media/KaTeX_SansSerif-Italic.c0b22b1e.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_SansSerif;font-style:normal;font-weight:400;src:url(../media/KaTeX_SansSerif-Regular.128c9bc2.woff2)format("woff2"),url(../media/KaTeX_SansSerif-Regular.ee7b0a16.woff)format("woff"),url(../media/KaTeX_SansSerif-Regular.156dbd4e.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Script;font-style:normal;font-weight:400;src:url(../media/KaTeX_Script-Regular.186c7155.woff2)format("woff2"),url(../media/KaTeX_Script-Regular.afc2fd5a.woff)format("woff"),url(../media/KaTeX_Script-Regular.00d9a561.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size1;font-style:normal;font-weight:400;src:url(../media/KaTeX_Size1-Regular.4450ef36.woff2)format("woff2"),url(../media/KaTeX_Size1-Regular.e5bf4c74.woff)format("woff"),url(../media/KaTeX_Size1-Regular.9aaff96b.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size2;font-style:normal;font-weight:400;src:url(../media/KaTeX_Size2-Regular.6a97527b.woff2)format("woff2"),url(../media/KaTeX_Size2-Regular.8fbd32af.woff)format("woff"),url(../media/KaTeX_Size2-Regular.f11810ed.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size3;font-style:normal;font-weight:400;src:url(../media/KaTeX_Size3-Regular.54b7ce9d.woff2)format("woff2"),url(../media/KaTeX_Size3-Regular.45ae8eba.woff)format("woff"),url(../media/KaTeX_Size3-Regular.9812ade2.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Size4;font-style:normal;font-weight:400;src:url(../media/KaTeX_Size4-Regular.927fc5b9.woff2)format("woff2"),url(../media/KaTeX_Size4-Regular.b211e3d3.woff)format("woff"),url(../media/KaTeX_Size4-Regular.44a4d487.ttf)format("truetype")}@font-face{font-display:block;font-family:KaTeX_Typewriter;font-style:normal;font-weight:400;src:url(../media/KaTeX_Typewriter-Regular.ff99d643.woff2)format("woff2"),url(../media/KaTeX_Typewriter-Regular.68b6c3a9.woff)format("woff"),url(../media/KaTeX_Typewriter-Regular.a1a7ff52.ttf)format("truetype")}.katex{text-indent:0;text-rendering:auto;font:1.21em/1.2 KaTeX_Main,Times New Roman,serif;position:relative}.katex *{border-color:currentColor;-ms-high-contrast-adjust:none!important}.katex .katex-version:after{content:"0.18.9"}.katex .katex-mathml{clip-path:inset(50%);border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.katex .katex-html>.katex-newline{display:block}.katex .katex-base{white-space:nowrap;width:min-content;position:relative}.katex .katex-base,.katex .katex-strut{display:inline-block}.katex .textbf{font-weight:700}.katex .textit{font-style:italic}.katex .textrm{font-family:KaTeX_Main}.katex .textsf{font-family:KaTeX_SansSerif}.katex .texttt{font-family:KaTeX_Typewriter}.katex .mathnormal{font-family:KaTeX_Math;font-style:italic}.katex .mathit{font-family:KaTeX_Main;font-style:italic}.katex .mathrm{font-style:normal}.katex .mathbf{font-family:KaTeX_Main;font-weight:700}.katex .boldsymbol{font-family:KaTeX_Math;font-style:italic;font-weight:700}.katex .amsrm,.katex .mathbb,.katex .textbb{font-family:KaTeX_AMS}.katex .mathcal{font-family:KaTeX_Caligraphic}.katex .mathfrak,.katex .textfrak{font-family:KaTeX_Fraktur}.katex .mathboldfrak,.katex .textboldfrak{font-family:KaTeX_Fraktur;font-weight:700}.katex .mathtt{font-family:KaTeX_Typewriter}.katex .mathscr,.katex .textscr{font-family:KaTeX_Script}.katex .mathsf,.katex .textsf{font-family:KaTeX_SansSerif}.katex .mathboldsf,.katex .textboldsf{font-family:KaTeX_SansSerif;font-weight:700}.katex .mathitsf,.katex .mathsfit,.katex .textitsf{font-family:KaTeX_SansSerif;font-style:italic}.katex .mainrm{font-family:KaTeX_Main;font-style:normal}.katex .vlist-t{border-collapse:collapse;table-layout:fixed;display:inline-table}.katex .vlist-r{display:table-row}.katex .vlist{vertical-align:bottom;display:table-cell;position:relative}.katex .vlist>span{height:0;display:block;position:relative}.katex .vlist>span>span{display:inline-block}.katex .vlist>span>.pstrut{width:0;overflow:hidden}.katex .vlist-t2{margin-right:-2px}.katex .vlist-s{vertical-align:bottom;width:2px;min-width:2px;font-size:1px;display:table-cell}.katex .katex-vbox{flex-direction:column;align-items:baseline;display:inline-flex}.katex .katex-thinbox{flex-direction:row;width:0;max-width:0;display:inline-flex}.katex .msupsub{text-align:left}.katex .mfrac>span>span{text-align:center}.katex .mfrac .frac-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .katex-hdashline,.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-rule,.katex .katex-underline .underline-line,.katex .mfrac .frac-line{min-height:1px}.katex .mspace{display:inline-block}.katex .katex-smash{line-height:0;display:inline}.katex .clap,.katex .llap,.katex .rlap{width:0;position:relative}.katex .clap>.katex-inner,.katex .llap>.katex-inner,.katex .rlap>.katex-inner{position:absolute}.katex .clap>.katex-fix,.katex .llap>.katex-fix,.katex .rlap>.katex-fix{display:inline-block}.katex .llap>.katex-inner{right:0}.katex .clap>.katex-inner,.katex .rlap>.katex-inner{left:0}.katex .clap>.katex-inner>span{margin-left:-50%;margin-right:50%}.katex .katex-rule{border:0 solid;display:inline-block;position:relative}.katex .katex-hline,.katex .katex-overline .overline-line,.katex .katex-underline .underline-line{border-bottom-style:solid;width:100%;display:inline-block}.katex .katex-hdashline{border-bottom-style:dashed;width:100%;display:inline-block}.katex .sqrt>.katex-root{margin-left:.277778em;margin-right:-.555556em}.katex .fontsize-ensurer.reset-size1.size1,.katex .katex-sizing.reset-size1.size1{font-size:1em}.katex .fontsize-ensurer.reset-size1.size2,.katex .katex-sizing.reset-size1.size2{font-size:1.2em}.katex .fontsize-ensurer.reset-size1.size3,.katex .katex-sizing.reset-size1.size3{font-size:1.4em}.katex .fontsize-ensurer.reset-size1.size4,.katex .katex-sizing.reset-size1.size4{font-size:1.6em}.katex .fontsize-ensurer.reset-size1.size5,.katex .katex-sizing.reset-size1.size5{font-size:1.8em}.katex .fontsize-ensurer.reset-size1.size6,.katex .katex-sizing.reset-size1.size6{font-size:2em}.katex .fontsize-ensurer.reset-size1.size7,.katex .katex-sizing.reset-size1.size7{font-size:2.4em}.katex .fontsize-ensurer.reset-size1.size8,.katex .katex-sizing.reset-size1.size8{font-size:2.88em}.katex .fontsize-ensurer.reset-size1.size9,.katex .katex-sizing.reset-size1.size9{font-size:3.456em}.katex .fontsize-ensurer.reset-size1.size10,.katex .katex-sizing.reset-size1.size10{font-size:4.148em}.katex .fontsize-ensurer.reset-size1.size11,.katex .katex-sizing.reset-size1.size11{font-size:4.976em}.katex .fontsize-ensurer.reset-size2.size1,.katex .katex-sizing.reset-size2.size1{font-size:.833333em}.katex .fontsize-ensurer.reset-size2.size2,.katex .katex-sizing.reset-size2.size2{font-size:1em}.katex .fontsize-ensurer.reset-size2.size3,.katex .katex-sizing.reset-size2.size3{font-size:1.16667em}.katex .fontsize-ensurer.reset-size2.size4,.katex .katex-sizing.reset-size2.size4{font-size:1.33333em}.katex .fontsize-ensurer.reset-size2.size5,.katex .katex-sizing.reset-size2.size5{font-size:1.5em}.katex .fontsize-ensurer.reset-size2.size6,.katex .katex-sizing.reset-size2.size6{font-size:1.66667em}.katex .fontsize-ensurer.reset-size2.size7,.katex .katex-sizing.reset-size2.size7{font-size:2em}.katex .fontsize-ensurer.reset-size2.size8,.katex .katex-sizing.reset-size2.size8{font-size:2.4em}.katex .fontsize-ensurer.reset-size2.size9,.katex .katex-sizing.reset-size2.size9{font-size:2.88em}.katex .fontsize-ensurer.reset-size2.size10,.katex .katex-sizing.reset-size2.size10{font-size:3.45667em}.katex .fontsize-ensurer.reset-size2.size11,.katex .katex-sizing.reset-size2.size11{font-size:4.14667em}.katex .fontsize-ensurer.reset-size3.size1,.katex .katex-sizing.reset-size3.size1{font-size:.714286em}.katex .fontsize-ensurer.reset-size3.size2,.katex .katex-sizing.reset-size3.size2{font-size:.857143em}.katex .fontsize-ensurer.reset-size3.size3,.katex .katex-sizing.reset-size3.size3{font-size:1em}.katex .fontsize-ensurer.reset-size3.size4,.katex .katex-sizing.reset-size3.size4{font-size:1.14286em}.katex .fontsize-ensurer.reset-size3.size5,.katex .katex-sizing.reset-size3.size5{font-size:1.28571em}.katex .fontsize-ensurer.reset-size3.size6,.katex .katex-sizing.reset-size3.size6{font-size:1.42857em}.katex .fontsize-ensurer.reset-size3.size7,.katex .katex-sizing.reset-size3.size7{font-size:1.71429em}.katex .fontsize-ensurer.reset-size3.size8,.katex .katex-sizing.reset-size3.size8{font-size:2.05714em}.katex .fontsize-ensurer.reset-size3.size9,.katex .katex-sizing.reset-size3.size9{font-size:2.46857em}.katex .fontsize-ensurer.reset-size3.size10,.katex .katex-sizing.reset-size3.size10{font-size:2.96286em}.katex .fontsize-ensurer.reset-size3.size11,.katex .katex-sizing.reset-size3.size11{font-size:3.55429em}.katex .fontsize-ensurer.reset-size4.size1,.katex .katex-sizing.reset-size4.size1{font-size:.625em}.katex .fontsize-ensurer.reset-size4.size2,.katex .katex-sizing.reset-size4.size2{font-size:.75em}.katex .fontsize-ensurer.reset-size4.size3,.katex .katex-sizing.reset-size4.size3{font-size:.875em}.katex .fontsize-ensurer.reset-size4.size4,.katex .katex-sizing.reset-size4.size4{font-size:1em}.katex .fontsize-ensurer.reset-size4.size5,.katex .katex-sizing.reset-size4.size5{font-size:1.125em}.katex .fontsize-ensurer.reset-size4.size6,.katex .katex-sizing.reset-size4.size6{font-size:1.25em}.katex .fontsize-ensurer.reset-size4.size7,.katex .katex-sizing.reset-size4.size7{font-size:1.5em}.katex .fontsize-ensurer.reset-size4.size8,.katex .katex-sizing.reset-size4.size8{font-size:1.8em}.katex .fontsize-ensurer.reset-size4.size9,.katex .katex-sizing.reset-size4.size9{font-size:2.16em}.katex .fontsize-ensurer.reset-size4.size10,.katex .katex-sizing.reset-size4.size10{font-size:2.5925em}.katex .fontsize-ensurer.reset-size4.size11,.katex .katex-sizing.reset-size4.size11{font-size:3.11em}.katex .fontsize-ensurer.reset-size5.size1,.katex .katex-sizing.reset-size5.size1{font-size:.555556em}.katex .fontsize-ensurer.reset-size5.size2,.katex .katex-sizing.reset-size5.size2{font-size:.666667em}.katex .fontsize-ensurer.reset-size5.size3,.katex .katex-sizing.reset-size5.size3{font-size:.777778em}.katex .fontsize-ensurer.reset-size5.size4,.katex .katex-sizing.reset-size5.size4{font-size:.888889em}.katex .fontsize-ensurer.reset-size5.size5,.katex .katex-sizing.reset-size5.size5{font-size:1em}.katex .fontsize-ensurer.reset-size5.size6,.katex .katex-sizing.reset-size5.size6{font-size:1.11111em}.katex .fontsize-ensurer.reset-size5.size7,.katex .katex-sizing.reset-size5.size7{font-size:1.33333em}.katex .fontsize-ensurer.reset-size5.size8,.katex .katex-sizing.reset-size5.size8{font-size:1.6em}.katex .fontsize-ensurer.reset-size5.size9,.katex .katex-sizing.reset-size5.size9{font-size:1.92em}.katex .fontsize-ensurer.reset-size5.size10,.katex .katex-sizing.reset-size5.size10{font-size:2.30444em}.katex .fontsize-ensurer.reset-size5.size11,.katex .katex-sizing.reset-size5.size11{font-size:2.76444em}.katex .fontsize-ensurer.reset-size6.size1,.katex .katex-sizing.reset-size6.size1{font-size:.5em}.katex .fontsize-ensurer.reset-size6.size2,.katex .katex-sizing.reset-size6.size2{font-size:.6em}.katex .fontsize-ensurer.reset-size6.size3,.katex .katex-sizing.reset-size6.size3{font-size:.7em}.katex .fontsize-ensurer.reset-size6.size4,.katex .katex-sizing.reset-size6.size4{font-size:.8em}.katex .fontsize-ensurer.reset-size6.size5,.katex .katex-sizing.reset-size6.size5{font-size:.9em}.katex .fontsize-ensurer.reset-size6.size6,.katex .katex-sizing.reset-size6.size6{font-size:1em}.katex .fontsize-ensurer.reset-size6.size7,.katex .katex-sizing.reset-size6.size7{font-size:1.2em}.katex .fontsize-ensurer.reset-size6.size8,.katex .katex-sizing.reset-size6.size8{font-size:1.44em}.katex .fontsize-ensurer.reset-size6.size9,.katex .katex-sizing.reset-size6.size9{font-size:1.728em}.katex .fontsize-ensurer.reset-size6.size10,.katex .katex-sizing.reset-size6.size10{font-size:2.074em}.katex .fontsize-ensurer.reset-size6.size11,.katex .katex-sizing.reset-size6.size11{font-size:2.488em}.katex .fontsize-ensurer.reset-size7.size1,.katex .katex-sizing.reset-size7.size1{font-size:.416667em}.katex .fontsize-ensurer.reset-size7.size2,.katex .katex-sizing.reset-size7.size2{font-size:.5em}.katex .fontsize-ensurer.reset-size7.size3,.katex .katex-sizing.reset-size7.size3{font-size:.583333em}.katex .fontsize-ensurer.reset-size7.size4,.katex .katex-sizing.reset-size7.size4{font-size:.666667em}.katex .fontsize-ensurer.reset-size7.size5,.katex .katex-sizing.reset-size7.size5{font-size:.75em}.katex .fontsize-ensurer.reset-size7.size6,.katex .katex-sizing.reset-size7.size6{font-size:.833333em}.katex .fontsize-ensurer.reset-size7.size7,.katex .katex-sizing.reset-size7.size7{font-size:1em}.katex .fontsize-ensurer.reset-size7.size8,.katex .katex-sizing.reset-size7.size8{font-size:1.2em}.katex .fontsize-ensurer.reset-size7.size9,.katex .katex-sizing.reset-size7.size9{font-size:1.44em}.katex .fontsize-ensurer.reset-size7.size10,.katex .katex-sizing.reset-size7.size10{font-size:1.72833em}.katex .fontsize-ensurer.reset-size7.size11,.katex .katex-sizing.reset-size7.size11{font-size:2.07333em}.katex .fontsize-ensurer.reset-size8.size1,.katex .katex-sizing.reset-size8.size1{font-size:.347222em}.katex .fontsize-ensurer.reset-size8.size2,.katex .katex-sizing.reset-size8.size2{font-size:.416667em}.katex .fontsize-ensurer.reset-size8.size3,.katex .katex-sizing.reset-size8.size3{font-size:.486111em}.katex .fontsize-ensurer.reset-size8.size4,.katex .katex-sizing.reset-size8.size4{font-size:.555556em}.katex .fontsize-ensurer.reset-size8.size5,.katex .katex-sizing.reset-size8.size5{font-size:.625em}.katex .fontsize-ensurer.reset-size8.size6,.katex .katex-sizing.reset-size8.size6{font-size:.694444em}.katex .fontsize-ensurer.reset-size8.size7,.katex .katex-sizing.reset-size8.size7{font-size:.833333em}.katex .fontsize-ensurer.reset-size8.size8,.katex .katex-sizing.reset-size8.size8{font-size:1em}.katex .fontsize-ensurer.reset-size8.size9,.katex .katex-sizing.reset-size8.size9{font-size:1.2em}.katex .fontsize-ensurer.reset-size8.size10,.katex .katex-sizing.reset-size8.size10{font-size:1.44028em}.katex .fontsize-ensurer.reset-size8.size11,.katex .katex-sizing.reset-size8.size11{font-size:1.72778em}.katex .fontsize-ensurer.reset-size9.size1,.katex .katex-sizing.reset-size9.size1{font-size:.289352em}.katex .fontsize-ensurer.reset-size9.size2,.katex .katex-sizing.reset-size9.size2{font-size:.347222em}.katex .fontsize-ensurer.reset-size9.size3,.katex .katex-sizing.reset-size9.size3{font-size:.405093em}.katex .fontsize-ensurer.reset-size9.size4,.katex .katex-sizing.reset-size9.size4{font-size:.462963em}.katex .fontsize-ensurer.reset-size9.size5,.katex .katex-sizing.reset-size9.size5{font-size:.520833em}.katex .fontsize-ensurer.reset-size9.size6,.katex .katex-sizing.reset-size9.size6{font-size:.578704em}.katex .fontsize-ensurer.reset-size9.size7,.katex .katex-sizing.reset-size9.size7{font-size:.694444em}.katex .fontsize-ensurer.reset-size9.size8,.katex .katex-sizing.reset-size9.size8{font-size:.833333em}.katex .fontsize-ensurer.reset-size9.size9,.katex .katex-sizing.reset-size9.size9{font-size:1em}.katex .fontsize-ensurer.reset-size9.size10,.katex .katex-sizing.reset-size9.size10{font-size:1.20023em}.katex .fontsize-ensurer.reset-size9.size11,.katex .katex-sizing.reset-size9.size11{font-size:1.43981em}.katex .fontsize-ensurer.reset-size10.size1,.katex .katex-sizing.reset-size10.size1{font-size:.24108em}.katex .fontsize-ensurer.reset-size10.size2,.katex .katex-sizing.reset-size10.size2{font-size:.289296em}.katex .fontsize-ensurer.reset-size10.size3,.katex .katex-sizing.reset-size10.size3{font-size:.337512em}.katex .fontsize-ensurer.reset-size10.size4,.katex .katex-sizing.reset-size10.size4{font-size:.385728em}.katex .fontsize-ensurer.reset-size10.size5,.katex .katex-sizing.reset-size10.size5{font-size:.433944em}.katex .fontsize-ensurer.reset-size10.size6,.katex .katex-sizing.reset-size10.size6{font-size:.48216em}.katex .fontsize-ensurer.reset-size10.size7,.katex .katex-sizing.reset-size10.size7{font-size:.578592em}.katex .fontsize-ensurer.reset-size10.size8,.katex .katex-sizing.reset-size10.size8{font-size:.694311em}.katex .fontsize-ensurer.reset-size10.size9,.katex .katex-sizing.reset-size10.size9{font-size:.833173em}.katex .fontsize-ensurer.reset-size10.size10,.katex .katex-sizing.reset-size10.size10{font-size:1em}.katex .fontsize-ensurer.reset-size10.size11,.katex .katex-sizing.reset-size10.size11{font-size:1.19961em}.katex .fontsize-ensurer.reset-size11.size1,.katex .katex-sizing.reset-size11.size1{font-size:.200965em}.katex .fontsize-ensurer.reset-size11.size2,.katex .katex-sizing.reset-size11.size2{font-size:.241158em}.katex .fontsize-ensurer.reset-size11.size3,.katex .katex-sizing.reset-size11.size3{font-size:.281351em}.katex .fontsize-ensurer.reset-size11.size4,.katex .katex-sizing.reset-size11.size4{font-size:.321543em}.katex .fontsize-ensurer.reset-size11.size5,.katex .katex-sizing.reset-size11.size5{font-size:.361736em}.katex .fontsize-ensurer.reset-size11.size6,.katex .katex-sizing.reset-size11.size6{font-size:.401929em}.katex .fontsize-ensurer.reset-size11.size7,.katex .katex-sizing.reset-size11.size7{font-size:.482315em}.katex .fontsize-ensurer.reset-size11.size8,.katex .katex-sizing.reset-size11.size8{font-size:.578778em}.katex .fontsize-ensurer.reset-size11.size9,.katex .katex-sizing.reset-size11.size9{font-size:.694534em}.katex .fontsize-ensurer.reset-size11.size10,.katex .katex-sizing.reset-size11.size10{font-size:.833601em}.katex .fontsize-ensurer.reset-size11.size11,.katex .katex-sizing.reset-size11.size11{font-size:1em}.katex .delimsizing.size1{font-family:KaTeX_Size1}.katex .delimsizing.size2{font-family:KaTeX_Size2}.katex .delimsizing.size3{font-family:KaTeX_Size3}.katex .delimsizing.size4{font-family:KaTeX_Size4}.katex .delimsizing.mult .delim-size1>span{font-family:KaTeX_Size1}.katex .delimsizing.mult .delim-size4>span{font-family:KaTeX_Size4}.katex .nulldelimiter{width:.12em;display:inline-block}.katex .delimcenter,.katex .op-symbol{position:relative}.katex .op-symbol.small-op{font-family:KaTeX_Size1}.katex .op-symbol.large-op{font-family:KaTeX_Size2}.katex .katex-accent>.vlist-t,.katex .op-limits>.vlist-t{text-align:center}.katex .katex-accent .accent-body{position:relative}.katex .katex-accent .accent-body:not(.accent-full){width:0}.katex .katex-overlay{display:block}.katex .mtable .vertical-separator{min-width:1px;display:inline-block}.katex .mtable .arraycolsep{display:inline-block}.katex .mtable .col-align-c>.vlist-t{text-align:center}.katex .mtable .col-align-l>.vlist-t{text-align:left}.katex .mtable .col-align-r>.vlist-t{text-align:right}.katex .svg-align{text-align:left}.katex svg{fill:currentColor;stroke:currentColor;height:inherit;width:100%;display:block;position:absolute}.katex svg path{stroke:none}.katex svg{fill-rule:nonzero;fill-opacity:1;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1}.katex img{border-style:none;min-width:0;max-width:none;min-height:0;max-height:none}.katex .katex-stretchy{width:100%;display:block;position:relative;overflow:hidden}.katex .katex-stretchy:after,.katex .katex-stretchy:before{content:""}.katex .hide-tail{width:100%;position:relative;overflow:hidden}.katex .halfarrow-left{width:50.2%;position:absolute;left:0;overflow:hidden}.katex .halfarrow-right{width:50.2%;position:absolute;right:0;overflow:hidden}.katex .brace-left{width:25.1%;position:absolute;left:0;overflow:hidden}.katex .brace-center{width:50%;position:absolute;left:25%;overflow:hidden}.katex .brace-right{width:25.1%;position:absolute;right:0;overflow:hidden}.katex .x-arrow-pad{padding:0 .5em}.katex .cd-arrow-pad{padding:0 .55556em 0 .27778em}.katex .mover,.katex .munder,.katex .x-arrow{text-align:center}.katex .boxpad{padding:0 .3em}.katex .fbox,.katex .fcolorbox{box-sizing:border-box;border:.04em solid}.katex .cancel-pad{padding:0 .2em}.katex .cancel-lap{margin-left:-.2em;margin-right:-.2em}.katex .katex-sout{border-bottom-style:solid;border-bottom-width:.08em}.katex .angl{box-sizing:border-box;border-top:.049em solid;border-right:.049em solid;margin-right:.03889em}.katex .anglpad{padding:0 .03889em}.katex .reflectbox{display:inline-block;transform:scaleX(-1)}.katex .eqn-num:before{content:"(" counter(katexEqnNo)")";counter-increment:katexEqnNo}.katex .mml-eqn-num:before{content:"(" counter(mmlEqnNo)")";counter-increment:mmlEqnNo}.katex .mtr-glue{width:50%}.katex .cd-vert-arrow{display:inline-block;position:relative}.katex .cd-label-left{text-align:left;display:inline-block;position:absolute;right:calc(50% + .3em)}.katex .cd-label-right{text-align:right;display:inline-block;position:absolute;left:calc(50% + .3em)}.katex-display{text-align:center;margin:1em 0;display:block}.katex-display>.katex{text-align:center;white-space:nowrap;display:block}.katex-display>.katex>.katex-html{display:block;position:relative}.katex-display>.katex>.katex-html>.katex-tag{position:absolute;right:0}.katex-display.leqno>.katex>.katex-html>.katex-tag{left:0;right:auto}.katex-display.fleqn>.katex{text-align:left;padding-left:2em}body{counter-reset:katexEqnNo mmlEqnNo}
