:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--bg: #0b0f14;--card: rgba(10, 14, 20, .7);--text: #ffffff;--muted: rgba(255, 255, 255, .55);--primary: #6b5cff;--primaryHover: #7a6cff;--secondary: rgba(255, 255, 255, .12);--secondaryHover: rgba(255, 255, 255, .18);--shadow: 0 20px 60px rgba(0,0,0,.55)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;background:radial-gradient(1200px 700px at 50% 10%,#131a26 0%,var(--bg) 60%);color:var(--text);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial,"Apple Color Emoji","Segoe UI Emoji"}.page{min-height:100%;display:grid;place-items:center;padding:28px 18px}.card{width:min(420px,100%);background:var(--card);border:1px solid rgba(255,255,255,.08);border-radius:26px;padding:28px 22px 24px;box-shadow:var(--shadow);text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.iconWrap{position:relative;width:148px;height:148px;margin:4px auto 18px;display:grid;place-items:center}.iconGlow{position:absolute;inset:0;border-radius:999px;background:radial-gradient(circle at 50% 50%,#6b5cff6b,#6b5cff14 55%,#6b5cff00 70%);filter:blur(2px)}.iconCircle{width:118px;height:118px;border-radius:999px;border:3px solid rgba(107,92,255,.85);box-shadow:0 0 30px #6b5cff73;display:grid;place-items:center;background:#0c10188c}.iconImg{width:150px;height:150px;opacity:1}.title{font-size:22px;line-height:1.25;font-weight:800;margin:0 auto 10px}.subtitle{font-size:14px;line-height:1.45;color:var(--muted);margin:0 auto 22px}.buttons{display:flex;gap:12px;justify-content:center}.btn{border:0;border-radius:14px;padding:14px 18px;font-weight:800;font-size:16px;cursor:pointer;transition:transform .06s ease,background .15s ease,opacity .15s ease;min-width:150px}.btn:active{transform:translateY(1px)}.btnPrimary{background:var(--primary);color:#fff}.btnPrimary:hover{background:var(--primaryHover)}.btnSecondary{background:var(--secondary);color:#ffffffdb}.btnSecondary:hover{background:var(--secondaryHover)}.btn:disabled{opacity:.55;cursor:not-allowed}.result{margin-top:16px;padding:12px 14px;border-radius:14px;font-size:14px;text-align:left;border:1px solid rgba(255,255,255,.1);background:#00000040}.result.ok{border-color:#50c87859}.result.fail{border-color:#ff505059}.hint{margin-top:14px;font-size:13px;color:#ffffff8c}.cardWide{width:min(420px,calc(100vw - 36px))}.cardLoading{min-height:210px;display:grid;place-items:center;gap:10px}.spinner{width:38px;height:38px;border-radius:999px;border:3px solid rgba(255,255,255,.18);border-top-color:#6b5cfff2;animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.subtitle.strongLine{font-weight:800;font-size:16px;margin-top:6px;color:#ffffffeb}.buttons.one{justify-content:center}.segmented{display:flex;background:#ffffff1a;border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:6px;gap:6px;margin:10px 0 14px}.segBtn{flex:1;border:0;border-radius:12px;padding:10px 12px;font-weight:800;font-size:14px;cursor:pointer;background:transparent;color:#ffffffbf}.segBtn.active{background:#6b5cff59;color:#fffffff2;border:1px solid rgba(107,92,255,.55)}.inputWrap{margin:8px 0 10px}.input{width:100%;padding:14px;border-radius:14px;border:1px solid rgba(255,255,255,.12);outline:none;background:#00000040;color:#ffffffeb;font-size:16px}.input::placeholder{color:#fff6}.suggestBox{margin:8px 0 12px;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.1);background:#0000002e}.suggestItem{width:100%;text-align:left;padding:12px 14px;border:0;cursor:pointer;background:transparent;color:#ffffffe6;font-size:14px}.suggestItem+.suggestItem{border-top:1px solid rgba(255,255,255,.08)}.suggestItem:hover{background:#ffffff0f}.scheduleShell{height:100vh;width:100%;max-width:100vw;background:#000;color:#fff;padding:12px 14px 18px;overflow-x:hidden}.scheduleBody{margin-top:22px;height:calc(100vh - 210px);display:grid;place-items:center;width:100%}.topBar{position:relative;display:flex;align-items:center;justify-content:space-between;padding-top:6px;min-height:44px}.topTitle{position:absolute;left:50%;transform:translate(-50%);text-align:center;width:min(320px,76vw);pointer-events:auto}.topTitleMain{font-size:14px;font-weight:900;letter-spacing:.2px;line-height:1.05;opacity:.92}.topTitleSub{margin-top:2px;background:transparent;border:0;color:#ffffff8c;font-weight:900;font-size:18px;cursor:pointer;padding:6px 10px;border-radius:12px}.topActions{display:flex;justify-content:flex-end;gap:12px}.iconBtn{width:44px;height:44px;border:0;background:transparent;padding:0;border-radius:14px;display:grid;place-items:center;cursor:pointer}.iconBtn img{width:24px;height:24px;opacity:.95}.weekRow{position:relative;display:grid;grid-template-columns:repeat(7,1fr);gap:10px;margin-top:18px;padding:0 2px}.dayCell .dayNum{font-size:19px;font-weight:900;line-height:1}.dayCell .dayDow{margin-top:6px;font-size:11px;font-weight:800;opacity:.85}.weekIndicator{position:absolute;top:0;height:100%;background:#fff;border-radius:14px;z-index:0;will-change:left;--gap: 10px;--pad: 2px;--cell: calc((100% - (var(--gap) * 6)) / 7);width:calc(var(--cell) - 0px);left:calc(var(--pad) + (var(--cell) + var(--gap)) * var(--i));transition:left .22s cubic-bezier(.22,1,.36,1)}.dayCell{border:0;background:transparent;border-radius:14px;padding:10px 0 8px;color:#ffffff8c;cursor:pointer;text-align:center;position:relative;z-index:1;transition:color .18s ease}.dayCell.selected{color:#000}.dayCell.selected .dayDow{color:#000;opacity:1}.dateLine{margin-top:14px;padding-left:2px;color:#ffffff59;font-weight:800;font-size:15px}.scheduleBody{margin-top:22px;height:calc(100vh - 210px);display:grid;place-items:center}.scheduleBody.isLoading{place-items:center!important;align-content:center!important;overflow:hidden!important;padding:0!important}.scheduleHint{font-size:22px;font-weight:900;text-align:center;color:#ffffffeb;padding:0 16px}.historyDropdown{position:absolute;left:50%;transform:translate(-50%);top:62px;width:min(340px,92vw);background:#151515;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;filter:none!important;border:1px solid rgba(255,255,255,.14);border-radius:18px;overflow:hidden;z-index:50;box-shadow:0 14px 28px #000000bf}.historyItem{width:100%;border:0;background:transparent;color:#ffffffeb;padding:12px 14px;text-align:left;font-weight:900;font-size:15px;cursor:pointer;display:flex;align-items:center;justify-content:space-between}.historyItem:hover{background:#ffffff0d}.historyItem+.historyItem{border-top:1px solid rgba(255,255,255,.08)}.historyTag{color:#ffffff73;font-size:12px;font-weight:900;margin-left:10px}.historyEmpty{padding:14px;color:#ffffff8c;font-weight:800}.scheduleHint.anim{animation:pop .18s ease-out}.scheduleHint.anim.left{animation:slideLeft .2s ease-out}.scheduleHint.anim.right{animation:slideRight .2s ease-out}@keyframes pop{0%{transform:scale(.98);opacity:.85}to{transform:scale(1);opacity:1}}@keyframes slideLeft{0%{transform:translate(-10px) scale(.99);opacity:.85}to{transform:translate(0) scale(1);opacity:1}}@keyframes slideRight{0%{transform:translate(10px) scale(.99);opacity:.85}to{transform:translate(0) scale(1);opacity:1}}.scheduleBody.hasPairs{place-items:start stretch;height:calc(100vh - 210px);overflow-y:auto;padding:6px 0 18px;-webkit-overflow-scrolling:touch}.pairLeft{min-width:0}.pairMeta{display:flex;align-items:center;gap:10px;color:#ffffff8c;font-weight:900;font-size:14px;text-transform:uppercase;letter-spacing:.6px}.pairIcon{width:14px;height:14px;flex:0 0 auto}.pairDot{opacity:.7}.pairTitle{margin-top:8px;font-size:22px;font-weight:900;line-height:1.15;color:#fffffff5;word-break:break-word}.pairTeacher,.pairRoom{margin-top:4px;font-size:16px;font-weight:800;color:#ffffff8c;word-break:break-word}.pairTime{margin-top:10px;font-size:20px;font-weight:900;color:var(--primary)}.pairRight{flex:0 0 auto;display:flex;align-items:center}.pairAddBtn{width:44px;height:44px;border-radius:12px;border:2px solid rgba(255,255,255,.18);background:#ffffff05;display:grid;place-items:center;padding:0}.pairAddBtn img{width:24px;height:24px;opacity:.9}.pairsList{width:100%;max-width:none;display:grid;gap:14px;padding:0}.pairCard{background:#ffffff14;border-radius:18px;padding:14px 14px 12px;box-shadow:0 12px 26px #00000073}.pairTop{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.pairMeta{display:flex;align-items:center;gap:10px;color:#ffffff8c;font-weight:900;letter-spacing:.6px;text-transform:uppercase;font-size:12px}.pairIcon{width:14px;height:14px;opacity:.95}.pairDot{opacity:.55}.pairAddBtn{width:46px;height:46px;border-radius:12px;border:2px solid rgba(255,255,255,.18);background:transparent;display:grid;place-items:center;padding:0}.pairAddBtn img{width:22px;height:22px;opacity:.9}.pairTitle{font-weight:900;font-size:16px;line-height:1.15;color:#fffffff2;margin-bottom:6px}.pairTeacher{font-size:14px;font-weight:700;color:#fff9;line-height:1.25}.pairRoom{margin-top:3px;font-size:14px;font-weight:700;color:#fff9;line-height:1.25}.pairTime{margin-top:6px;font-size:15px;font-weight:900;color:#6b5cff;letter-spacing:.2px}html,body{width:100%;margin:0}#root{width:100%;max-width:none;margin:0;padding:0}.calFull{position:fixed;inset:0;z-index:999;background:#111;color:#fff;display:flex;flex-direction:column}.calTop{height:56px;padding:12px 16px 8px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center}.calTopLeft{height:1px}.calTopTitle{font-weight:900;font-size:18px;text-align:center;opacity:.95}.calTopHide{justify-self:end;border:0;background:transparent;font-weight:900;font-size:18px;color:var(--primary);padding:8px 10px;border-radius:12px}.calTopHide:active{opacity:.75}.calScroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:0 16px}.calMonthBlock{padding:10px 0 24px}.calMonthTitle{font-size:40px;font-weight:1000;letter-spacing:-.6px;margin:6px 0 10px;opacity:.98}.calDowRow{display:grid;grid-template-columns:repeat(7,1fr);gap:10px;margin-bottom:10px;padding:0 2px}.calDowCell{text-align:center;font-size:16px;font-weight:900;color:#ffffff59}.calGrid{display:grid;grid-template-columns:repeat(7,1fr);gap:16px 10px;padding:6px 2px 0}.calEmpty{height:44px}.calDay{height:44px;border:0;background:transparent;border-radius:999px;font-size:22px;font-weight:900;color:#6b5cfff2;display:grid;place-items:center;cursor:pointer}.calDay:active{transform:scale(.98);opacity:.85}.calDay.sel{background:#6b5cfff2;color:#fff}.calBottomPad{height:24px}.calDowRow,.calGrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calDowRow{gap:10px;margin-bottom:0;padding:0 2px}.calGrid{gap:10px 10px;padding:0 2px;align-items:stretch}.calMonthTitle{font-size:30px;margin:6px 0 8px}.calDowCell{font-size:15px;font-weight:900}.calDay{width:100%;height:34px;font-size:15px;border-radius:999px}.calEmpty{height:34px}.calMonthBlock{padding:8px 0 18px}.calDay{position:relative;isolation:isolate;padding:0;line-height:1}.calDay:before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);height:100%;width:auto;aspect-ratio:1 / 1;border-radius:999px;background:transparent;z-index:-1}.calDay.sel{background:transparent!important;color:#fff}.calDay.sel:before{background:#6b5cfff2}.pairCard{position:relative;padding-bottom:12px}.pairAddBtn{position:absolute;right:12px;bottom:12px;margin:0!important}.pairTime{padding-right:60px}.hwFull{position:fixed;inset:0;z-index:1200;background:#000;color:#fff;display:flex;flex-direction:column}.hwTopBar{height:64px;padding:10px 14px;display:grid;grid-template-columns:auto 1fr auto;align-items:center}.hwClose{border:0;background:transparent;color:#78a0fff2;font-weight:900;font-size:18px;padding:8px 10px}.hwTopTitle{text-align:center;font-weight:900;font-size:18px;opacity:.95;line-height:1.1}.hwTopSub{margin-top:2px;font-weight:900;font-size:14px;opacity:.55}.hwTopRight{width:44px;height:1px}.hwContent{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:14px 14px 18px}.hwHeader{text-align:center;font-weight:900;font-size:20px;margin:10px 0 12px}.hwGroup{text-decoration:underline}.hwPairCard{margin-bottom:18px;background:#ffffff14;border-radius:18px;padding:14px 14px 12px;box-shadow:0 12px 26px #00000073}.hwPairMeta{display:flex;align-items:center;gap:10px;font-weight:900;font-size:12px;color:#ffffff8c;text-transform:uppercase;letter-spacing:.6px}.hwSquare{width:14px;height:14px;border-radius:4px;background:#6b5cfff2;flex:0 0 auto}.hwPairTitle{margin-top:8px;font-size:18px;font-weight:900;line-height:1.15}.hwPairTeacher{margin-top:4px;font-size:14px;font-weight:800;opacity:.55}.hwPairLine{margin-top:8px;font-size:16px;font-weight:900;color:#6b5cfff2}.hwSectionTitle{text-align:center;font-size:18px;font-weight:900;margin:6px 0 12px}.hwTextarea{width:100%;height:180px;resize:none;border-radius:16px;padding:14px;border:2px solid rgba(255,255,255,.16);background:#00000040;color:#ffffffeb;font-size:16px;outline:none;margin-bottom:12px}.hwTextarea::placeholder{color:#ffffff59;font-weight:800}.hwActionRow{width:100%;border-radius:14px;padding:14px;border:2px solid rgba(255,255,255,.16);background:transparent;color:#ffffffa6;font-weight:900;font-size:16px;display:flex;align-items:center;gap:12px;margin-bottom:12px}.hwPlus{font-size:22px;font-weight:1000;opacity:.85}.hwBottomButtons{margin-top:18px;display:grid;grid-template-columns:1fr 1fr;gap:14px}.hwBtn{border:0;border-radius:16px;padding:16px 14px;font-weight:1000;font-size:18px}.hwBtnPrimary{background:#6b5cfff2;color:#fff}.hwBtnSecondary{background:#ffffff59;color:#fffffff2}.hwModalOverlay{position:fixed;inset:0;background:#0000008c;display:grid;place-items:center;z-index:1300;padding:18px}.hwModal{width:min(420px,92vw);background:#151515;border:1px solid rgba(255,255,255,.14);border-radius:18px;box-shadow:0 14px 28px #000000bf;padding:16px}.hwModalText{font-weight:900;font-size:16px;color:#ffffffeb;line-height:1.35;margin-bottom:14px}.hwModalBtns{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hwList{margin-top:12px;display:grid;gap:12px}.hwCard{background:#ffffff0f;border-radius:18px;padding:12px;box-shadow:0 12px 26px #0006}.hwTop{display:flex;align-items:center;justify-content:space-between;gap:10px}.hwMeta{display:flex;align-items:center;gap:10px;font-weight:900;font-size:12px;color:#ffffff8c}.hwIcon{width:14px;height:14px;opacity:.95}.hwEditBtn{width:46px;height:46px;border-radius:12px;border:2px solid rgba(255,255,255,.18);background:transparent;display:grid;place-items:center;padding:0;opacity:.65}.hwEditBtn img{width:24px;height:24px;opacity:.9}.hwTitle{margin-top:8px;font-weight:900;font-size:16px;line-height:1.15}.hwDeadline{margin-top:10px;font-weight:1000;font-size:16px;color:#6b5cfff2}.pairBlock{display:grid;gap:12px}.hwList{margin-top:0;display:grid;gap:12px}.hwCard{background:#ffffff14;border-radius:18px;padding:15px 15px 12px;box-shadow:0 12px 26px #00000073}.hwEditBtn{border:2px solid rgba(255,255,255,.18);background:transparent;opacity:1}.hwEditBtn img{width:22px;height:22px}.hwCard{position:relative;padding-bottom:12px}.hwTop{justify-content:flex-start}.hwEditBtn{position:absolute;right:12px;bottom:12px;margin:0!important;opacity:1}.hwDeadline{padding-right:60px}.fileFull{position:fixed;inset:0;z-index:1400;background:#000;color:#fff;display:flex;flex-direction:column}.fileContent{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:18px 14px}.fileTitle{text-align:center;font-weight:1000;font-size:20px;margin:8px 0 14px}.fileCard{background:#ffffff14;border-radius:18px;padding:14px 14px 12px;box-shadow:0 12px 26px #00000073;margin-bottom:14px}.fileRow{display:flex;justify-content:space-between;gap:12px;padding:6px 0}.fileLabel{font-weight:900;color:#ffffff8c;font-size:14px}.fileValue{font-weight:900;color:#ffffffeb;font-size:14px;text-align:right;word-break:break-word}.fileSectionTitle{text-align:center;font-size:18px;font-weight:900;margin:10px 0}.fileInput{width:100%;padding:14px;border-radius:14px;border:2px solid rgba(255,255,255,.16);outline:none;background:#00000040;color:#ffffffeb;font-size:16px;margin-bottom:14px}.fileBtns{display:grid;grid-template-columns:1fr 1fr;gap:14px}.hwFilesList{display:grid;gap:10px;margin-bottom:12px}.hwFileItem{background:#ffffff14;border-radius:14px;padding:12px;box-shadow:0 10px 20px #00000059}.hwFileName{font-weight:1000;font-size:15px;color:#fffffff2;line-height:1.2}.hwFileMeta{margin-top:4px;font-weight:900;font-size:12px;color:#ffffff8c;word-break:break-word}.hwFileRow{background:#ffffff14;border-radius:14px;padding:12px;box-shadow:0 10px 20px #00000059;display:flex;align-items:center;justify-content:space-between;gap:12px}.hwFileLeft{display:flex;align-items:center;gap:10px;min-width:0}.hwFileIcon{width:22px;height:22px;flex:0 0 auto;opacity:.9}.hwFileTitle{font-weight:1000;font-size:14px;color:#fffffff2;line-height:1.2;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:70vw}.fileRemoveBtn{width:34px;height:34px;border-radius:10px;border:1px solid rgba(255,255,255,.18);background:transparent;padding:0;cursor:pointer;display:grid;place-items:center;position:relative;overflow:hidden}.fileRemoveBtn:before{content:"";position:absolute;inset:0;border-radius:10px;background:repeating-linear-gradient(0deg,rgba(255,255,255,.18) 0 1px,transparent 1px 7px),repeating-linear-gradient(90deg,rgba(255,255,255,.12) 0 1px,transparent 1px 7px);opacity:.22}.fileRemoveBtn span{position:relative;font-size:18px;font-weight:1000;line-height:1;color:#ffffffeb}.fileRemoveBtn:active{transform:scale(.98);opacity:.85}.hwAttachList{margin-top:10px;display:grid;gap:8px;padding-right:60px}.hwAttachBtn{width:fit-content;max-width:100%;display:inline-flex;align-items:center;max-width:70vw;gap:10px;padding:10px 12px;border-radius:12px;border:2px solid rgba(255,255,255,.16);background:#0000001f;color:#ffffffe6;font-weight:900;font-size:14px;cursor:pointer}.hwAttachBtn:active{transform:scale(.99);opacity:.85}.hwAttachIcon{width:18px;height:18px;flex:0 0 auto;opacity:.9}.hwAttachName{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;max-width:100%}
