@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/438aa629764e75f3-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/875ae681bfde4580-s.p.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/51251f8b9793cdb3-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e857b654a2caa584-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/cc978ac5ee68c2b6-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Manrope;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/4c9affa5bc8f420e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/438aa629764e75f3-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/875ae681bfde4580-s.p.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/51251f8b9793cdb3-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/e857b654a2caa584-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/cc978ac5ee68c2b6-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Manrope;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/4c9affa5bc8f420e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/438aa629764e75f3-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/875ae681bfde4580-s.p.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/51251f8b9793cdb3-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/e857b654a2caa584-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/cc978ac5ee68c2b6-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Manrope;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/4c9affa5bc8f420e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/438aa629764e75f3-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/875ae681bfde4580-s.p.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/51251f8b9793cdb3-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/e857b654a2caa584-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/cc978ac5ee68c2b6-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Manrope;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/4c9affa5bc8f420e-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Manrope Fallback;src:local("Arial");ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.00%;size-adjust:103.19%}.__className_f82309{font-family:Manrope,Manrope Fallback;font-style:normal}:root{--bg:#eef1f6;--bg-2:#e7eaf1;--card:#ffffff;--text:#2a2d36;--muted:#8b909c;--line:rgba(42,45,54,0.08);--purple:#6b5cff;--purple-soft:rgba(107,92,255,0.12);--orange:#ff8a1f;--weekend:#ff4d42;--shadow:0 8px 24px rgba(42,36,68,0.06);--radius:20px;--tabbar-h:calc(var(--tab-icon-size) + 50px);--tab-icon-size:22px;--tab-font-size:10px;--app-wallpaper-size:280px;--app-wallpaper-zoom:1;--tab-icon-url:none;--chrome-h:0px;--pad:16px;--max:1120px;--font:inherit}*{box-sizing:border-box}body,html{margin:0;min-height:100%}html{-webkit-text-size-adjust:100%}body{color:var(--text);background:var(--bg-2);font-weight:400;font-size:15px;line-height:1.45;letter-spacing:-.01em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;border:none;background:none}b,h1,h2,h3,h4,strong{font-weight:500}.app{min-height:100dvh;position:relative;background:linear-gradient(180deg,rgba(255,255,255,.45),rgba(255,255,255,.12)),var(--bg)}.app:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.18;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='180' height='180' viewBox='0 0 180 180'><g fill='none' stroke='%239aa0ae' stroke-width='1.3'><path d='M22 28c8-2 14 8 8 14-10 2-16-10-8-14z'/><path d='M78 18c6 8-2 16-10 12 1-8 8-14 10-12z'/><path d='M140 36c10 0 12 14 2 16-10-2-8-16-2-16z'/><path d='M30 96c6-10 20-6 16 6-8 8-20 0-16-6z'/><path d='M100 88c8 0 10 12 1 14-9 0-10-14-1-14z'/><ellipse cx='48' cy='150' rx='10' ry='7'/><path d='M48 143v7'/><path d='M120 130c8 4 6 16-4 16s-10-12-2-16c4-2 6-2 6 0z'/><circle cx='158' cy='108' r='7'/><path d='M158 101v7'/></g></svg>");background-size:calc(180px * var(--app-wallpaper-zoom, 1))}.has-wallpaper .app{background:linear-gradient(180deg,rgba(255,255,255,.42),rgba(255,255,255,.1))}.has-wallpaper .app:before{opacity:1;background-image:var(--app-wallpaper);background-size:var(--app-wallpaper-size) auto;background-position:0 0;background-repeat:repeat}.chrome{justify-content:space-between;gap:12px;position:relative;z-index:2;padding:max(14px,env(safe-area-inset-top)) var(--pad) 0}.chrome,.person{display:flex;align-items:center}.person{gap:10px;min-width:0}.person__text{display:grid;min-width:0}.person__text strong{font-size:16px;font-weight:500;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.person__text span{color:var(--muted);font-size:12.5px;font-weight:400}.avatar{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:500;font-size:14px;flex:none}.avatar--sm{width:32px;height:32px;font-size:11px}.icon-row{display:flex;gap:8px;align-items:center;justify-content:flex-end}.ghost-icon{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;color:#7a808c;background:rgba(255,255,255,.7)}.ghost-icon svg{width:20px;height:20px}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:50;height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding:8px 4px calc(8px + env(safe-area-inset-bottom));background:rgba(255,255,255,.92);-webkit-backdrop-filter:blur(18px) saturate(1.2);backdrop-filter:blur(18px) saturate(1.2);border-top:1px solid var(--line);display:flex;align-items:flex-start;justify-content:space-evenly;gap:0}.tabbar a{flex:1 1;min-width:0;display:grid;justify-items:center;grid-gap:3px;gap:3px;color:#b4b8c1;font-size:var(--tab-font-size,10px);font-weight:500;padding:4px 2px;text-align:center}.tabbar a.is-active{color:var(--orange)}.tabbar .tab-icon,.tabbar svg{width:var(--tab-icon-size,22px);height:var(--tab-icon-size,22px);stroke-width:1.7;flex:none}.icon-slot__preview .tab-icon,.tabbar .tab-icon{display:block;background-color:currentColor;-webkit-mask-image:var(--tab-icon-url);mask-image:var(--tab-icon-url);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}.screen{position:relative;z-index:1;width:min(var(--max),100%);max-width:100%;margin:0 auto;padding:8px var(--pad) calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 20px);overflow-x:clip}.layout-split,.stack{min-width:0}.week{display:grid;grid-template-columns:repeat(7,1fr);grid-gap:2px;gap:2px;margin:10px 0 12px}.week--dual button:nth-child(n+8){display:none}.week button{display:grid;justify-items:center;grid-gap:4px;gap:4px;padding:6px 2px;color:#8b909c}.week .wd{font-size:11px;font-weight:400}.week .dn{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:500;font-size:14px}.week .weekend{color:var(--weekend)}.week .is-active .dn{background:var(--purple);color:#fff;box-shadow:0 6px 14px rgba(107,92,255,.28)}.week .is-active .wd{color:var(--text)}.week .is-today .dn{box-shadow:inset 0 0 0 1.5px var(--purple)}.week .is-active.is-today .dn{box-shadow:0 6px 14px rgba(107,92,255,.28)}.month-cal{background:#fff;border-radius:20px;box-shadow:var(--shadow);padding:12px 10px 14px;margin:8px 0 14px}.month-cal__head{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;margin-bottom:10px}.month-cal__head strong{text-align:center;font-size:16px;letter-spacing:-.02em}.month-cal__nav{width:36px;height:36px;border-radius:12px;background:#f3f4fb;color:var(--text);font-size:22px;line-height:1}.month-cal__grid,.month-cal__weekdays{display:grid;grid-template-columns:repeat(7,1fr)}.month-cal__weekdays span{text-align:center;font-size:11px;color:#8b909c;padding-bottom:6px}.month-cal__weekdays .weekend{color:var(--weekend)}.month-cal__grid button{display:grid;place-items:center;padding:4px 0;color:var(--text)}.month-cal__grid .dn{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:500;font-size:14px}.month-cal__grid .weekend{color:var(--weekend)}.month-cal__grid .is-today .dn{box-shadow:inset 0 0 0 1.5px var(--purple)}.month-cal__grid .is-active .dn{background:var(--purple);color:#fff;box-shadow:0 6px 14px rgba(107,92,255,.28)}.sheet-back{position:fixed;inset:0;z-index:80;background:rgba(42,45,54,.38);display:grid;align-items:end}.sheet{background:#fff;border-radius:28px 28px 0 0;padding:8px 16px calc(18px + env(safe-area-inset-bottom));max-height:92dvh;overflow:auto}.sheet__handle{width:40px;height:4px;border-radius:999px;background:#e4e6ee;margin:6px auto 10px}.sheet h3{margin:0;text-align:center}.sheet .mini{text-align:center;margin:4px 0 8px}.sheet .month-cal{box-shadow:none;padding:4px 0 10px;margin:0}.sheet .ghost-btn,.sheet .primary{width:100%}.sheet .ghost-btn{margin-bottom:8px}.pills{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:14px}.pill{background:#fff;border-radius:999px;padding:8px 13px;font-weight:500;font-size:13px;box-shadow:var(--shadow);white-space:nowrap}.pill.is-quiet{color:#6b7280;padding:8px 11px}.pill--date{display:inline-flex;align-items:center;gap:6px;color:var(--text);padding:7px 12px 7px 10px}.pill--date .calendar-mark{width:16px;height:16px;color:var(--purple);flex:0 0 auto}.pill.is-on{background:var(--purple);color:#fff;box-shadow:0 6px 14px rgba(107,92,255,.28)}.spacer{margin-left:auto}.subject-pills{display:flex;flex-wrap:wrap;gap:8px;margin:-4px 0 16px}.subject-pills .pill{padding:7px 12px;font-size:12.5px}.card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 16px;min-width:0;max-width:100%}.lesson-list{display:grid;grid-gap:10px;gap:10px}.lesson-card{position:relative;background:#fff;border-radius:20px;padding:14px 16px 12px;box-shadow:var(--shadow);text-align:left;width:100%;transition:transform .16s ease,box-shadow .16s ease}.lesson-card:hover{transform:translateY(-1px);box-shadow:0 12px 28px rgba(42,36,68,.09)}.lesson-card__main{display:block;color:inherit;text-decoration:none}.lesson-card--editable{cursor:pointer;border:0;color:inherit}.lesson-card__hint{display:block;margin-top:8px;color:var(--purple);font-size:11.5px}.lesson-grades{position:absolute;top:10px;right:10px;z-index:2;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px;max-width:calc(100% - 20px)}.lesson-grade{position:static;top:auto;right:auto;z-index:2;min-width:44px;min-height:36px;height:auto;padding:5px 8px;border-radius:10px;background:#f3f4f8;color:#1c1c1e;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;font-size:16px;font-weight:600;line-height:1;box-sizing:border-box;text-decoration:none}.lesson-grade.has-comment{min-width:52px;padding:5px 7px}.lesson-grade__value{display:inline-flex;align-items:center;justify-content:center;gap:4px}.lesson-grade__type{max-width:72px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8e8e93;font-size:9px;font-weight:500;line-height:1.1;text-align:center}.lesson-grade .comment-cloud{width:14px;height:14px;color:#8e8e93;flex:0 0 auto}.lesson-card .meta{color:var(--muted);font-size:12.5px;font-weight:400;margin-bottom:3px;padding-right:110px}.lesson-time{color:#1c1c1e;font-weight:700}.lesson-card h2{margin:0;font-size:17px;font-weight:500;letter-spacing:-.03em;padding-right:110px}.hw-row{margin-top:8px;display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12.5px;font-weight:400}.hw-row .home-mark{width:16px;height:16px;flex:none}.gradient{margin:-16px calc(var(--pad) * -1) 16px;padding:14px var(--pad) 20px;background:linear-gradient(160deg,#7a5bff,#9d5bff 48%,#c15bff);color:#fff;border-bottom-left-radius:26px;border-bottom-right-radius:26px}.gradient .nav{display:grid;grid-template-columns:36px 1fr 36px;align-items:center;margin-bottom:16px}.gradient .nav span{text-align:center;font-weight:500;font-size:15px}.back{width:36px;height:36px;color:#fff;font-size:28px;font-weight:300;display:grid;place-items:center;line-height:1}.gradient .when{text-align:center;opacity:1;font-size:13.5px;font-weight:400;color:rgba(255,255,255,.78)}.gradient .when .lesson-time{color:#fff;font-weight:700;opacity:1}.gradient h2{margin:8px 0 14px;text-align:center;font-size:28px;font-weight:500;letter-spacing:-.03em}.info-chip{background:rgba(255,255,255,.16);border-radius:8px;padding:8px 12px 8px 8px;display:flex;align-items:center;gap:10px;color:#fff;font-weight:400;font-size:14px}.info-badge{width:36px;height:36px;flex:none;border-radius:6px;background:#fff;display:grid;place-items:center}.info-badge img{width:22px;height:22px;object-fit:contain;display:block}.subtabs{display:grid;grid-template-columns:1fr 1fr;margin:14px -4px -20px}.subtabs button{color:rgba(255,255,255,.68);padding:12px 0 14px;font-weight:500}.subtabs .is-on{color:#fff;box-shadow:inset 0 -2px 0 #fff}.task-card h3{margin:0 0 8px;font-size:16px;font-weight:500}.task-card .check{margin-bottom:8px;font-size:16px;font-weight:500}.task-card p{margin:0;color:var(--muted);font-size:13.5px;line-height:1.45;font-weight:400}.share{margin-top:14px;width:100%;border-radius:14px;background:#edf2ff;color:#5b6cff;padding:11px;font-weight:500}.section-label{margin:18px 4px 8px;color:#9aa0aa;font-size:11px}.drop,.section-label{font-weight:500;letter-spacing:.06em}.drop{min-height:110px;display:grid;place-items:center;color:#c0c4cc;font-size:12px}.sheet-title{display:flex;align-items:center;justify-content:space-between;gap:12px}.sheet-title h3{margin:4px 0 14px}.sheet-close{width:34px;height:34px;border-radius:50%;background:#f2f2f7;color:#777d88;font-size:22px}.edit-lesson{display:grid;grid-gap:10px;gap:10px}.edit-lesson .field{margin:0}.field-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.field-row .field{margin-bottom:0}.edit-files-current{min-width:0}.edit-files-current .attachment-list{margin-top:7px}.field-caption{display:block;color:var(--muted);font-size:12px;margin-bottom:4px}.file-mode{display:grid;grid-template-columns:1fr 1fr;grid-gap:4px;gap:4px;padding:4px;border-radius:14px;background:#f3f4fb}.file-mode button{padding:9px 8px;border-radius:11px;color:var(--muted);font-size:12.5px}.file-mode button.is-on{color:var(--purple);background:#fff;box-shadow:0 4px 12px rgba(42,36,68,.08)}.day-actions{margin:4px 0 10px}.day-dup-btn{width:100%;margin-top:0;padding:11px 14px;font-size:13.5px}.dup-mode{display:grid;grid-template-columns:1fr 1fr;grid-gap:8px;gap:8px;margin:12px 0 4px}.dup-mode button{padding:14px 10px;border-radius:14px;background:#f3f4fb;color:var(--text);font-size:14px;font-weight:500}.dup-mode button:disabled{opacity:.55}.dup-mode button:first-child{color:var(--purple);background:#ece8ff}.dup-mode button:last-child{color:#b42318;background:#fdeceb}.form-error{color:#d93025;font-size:13px;line-height:1.4}.file-drop{border:1.5px dashed #c8c3ee;border-radius:16px;padding:18px;background:#faf9ff;display:grid;grid-gap:4px;gap:4px;text-align:center;cursor:pointer;color:var(--purple)}.file-drop input{position:absolute;width:1px;height:1px;opacity:0}.file-drop strong{font-size:14px;font-weight:500}.file-drop span{color:var(--muted);font-size:11.5px}.attachment-list{display:grid;grid-gap:8px;gap:8px;margin-top:12px}.attachment{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;grid-gap:6px;gap:6px;padding:8px;border-radius:14px;background:#f6f5fb}.attachment__open{min-width:0;display:flex;align-items:center;gap:10px;text-align:left;color:var(--text)}.attachment__open>span:last-child{min-width:0}.attachment__open strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:500}.attachment__open small{display:block;margin-top:2px;color:var(--muted);font-size:11px}.attachment__icon{width:34px;height:34px;flex:none;display:grid;place-items:center;border-radius:10px;background:#fff;color:var(--purple)}.attachment__delete{width:32px;height:32px;border-radius:10px;color:#ff3b30;font-size:20px}.homework-row{padding:7px 0;border-bottom:1px solid var(--line)}.homework-row:last-child{border-bottom:0}.homework-row .attachment-list{margin:4px 0 0 30px}.range-row{display:grid;grid-template-columns:1fr auto;grid-gap:8px;gap:8px;margin-bottom:14px}.range{background:#fff;border-radius:16px;padding:10px 8px;display:grid;grid-template-columns:28px 1fr 28px;align-items:center;box-shadow:var(--shadow);font-weight:500}.range b{text-align:center;font-size:14px;font-weight:500}.day-block{margin-bottom:14px}.day-block .label{color:#9aa0aa;font-size:11px;font-weight:500;margin:0 8px 8px;letter-spacing:.06em}.day-block .label small{display:block;font-weight:400;letter-spacing:0;text-transform:none;color:#b0b4bc}.grade-row{width:100%;display:grid;grid-template-columns:52px 1fr auto;grid-gap:12px;gap:12px;align-items:center;padding:8px 0;text-align:left}.grade-chip{width:46px;height:46px;border-radius:13px;background:#f3f4f8;display:grid;place-items:center;position:relative;font-size:20px;font-weight:500}.grade-chip em{position:absolute;right:6px;bottom:4px;font-style:normal;font-size:10px;color:#8e8e93;font-weight:400}.grade-row h3{margin:0;font-size:15px;font-weight:500}.grade-row p{margin:2px 0 0;color:var(--muted);font-size:13px;font-weight:400}.chev{color:#c5c8d0;font-size:20px;font-weight:300}.switcher{position:-webkit-sticky;position:sticky;bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 10px);z-index:4;background:#fff;border-radius:999px;display:grid;grid-template-columns:1fr 1fr;padding:4px;box-shadow:var(--shadow);margin-top:8px}.switcher button{border-radius:999px;padding:9px;color:#8e8e93;font-weight:500;font-size:13.5px}.switcher .is-on{background:#f3f4f8;color:var(--text)}.grade-detail-hero{padding-bottom:26px;text-align:center}.grade-hero{width:72px;height:72px;margin:8px auto 16px;border-radius:18px;background:#fff;color:#1c1c1e;display:grid;place-items:center;position:relative;font-size:34px;font-weight:500;box-shadow:0 10px 24px rgba(40,20,80,.08)}.grade-hero em{position:absolute;right:8px;bottom:6px;font-size:12px;color:#8e8e93;font-style:normal;font-weight:400}.grade-subject{display:inline-flex;align-items:center;justify-content:center;gap:8px;color:#fff;font-size:24px;font-weight:500;letter-spacing:-.03em;line-height:1.15}.grade-play{width:22px;height:22px;flex:none;display:block}.grade-work{margin-top:6px;color:rgba(255,255,255,.82);font-size:14px;font-weight:400}.comment-card{position:relative;overflow:hidden;background:#fff;border:1.6px solid #9bb8ff;border-radius:18px;padding:14px 16px 16px;line-height:1.45;font-weight:400;box-shadow:var(--shadow)}.comment-card:after{content:"";position:absolute;right:10px;top:34px;width:54px;height:54px;pointer-events:none;opacity:.22;background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64' fill='none'><path fill='%239aa0aa' d='M8 8h30a8 8 0 0 1 8 8v16a8 8 0 0 1-8 8H26l-12 10v-10H8a8 8 0 0 1-8-8V16a8 8 0 0 1 8-8z'/><path fill='%23b8bcc4' d='M24 22h32a8 8 0 0 1 8 8v16a8 8 0 0 1-8 8h-8v8L38 54H24a8 8 0 0 1-8-8V30a8 8 0 0 1 8-8z'/></svg>") 50% /contain no-repeat}.comment-card p{margin:0;position:relative;z-index:1;font-size:15px;color:var(--text)}.comment-card .k,.k{color:#9aa0aa;font-size:11px;font-weight:500;letter-spacing:.06em;margin-bottom:6px}.card.grade-lesson{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding:14px 16px}.card.grade-lesson h3{margin:0;font-size:15px;font-weight:500}.card.grade-lesson p{margin:3px 0 0;color:var(--muted);font-size:13px;font-weight:400}.class-results{margin-top:10px}.class-results__head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}.class-results__head .k{margin:0}.class-results__close{width:28px;height:28px;color:#c5c8d0;font-size:24px;font-weight:300;line-height:1;display:grid;place-items:center}.class-results__item,.class-results__row{display:grid;grid-template-columns:46px 1fr;grid-gap:12px;gap:12px;align-items:center}.class-results__chip{width:46px;height:46px;border-radius:50%;background:#f3f4f8;display:grid;place-items:center;font-size:18px;font-weight:500;color:#2a2d36}.class-results__row strong{display:block;font-size:15px;font-weight:500}.class-results__row p{margin:3px 0 0;color:var(--muted);font-size:13px;font-weight:400}.class-results__list{display:grid;grid-gap:10px;gap:10px;margin-top:14px;padding-top:12px;border-top:1px solid var(--line)}.class-results__item span:last-child{color:var(--muted);font-size:13px}.class-results__more{margin-top:12px;padding:0;color:#3478f6;font-size:15px;font-weight:500}.hw-day{border:1.5px solid transparent}.hw-day.is-today{border-color:#d4ccff}.fire{display:inline-flex;align-items:center;gap:8px;color:#ff4d4f;font-weight:500;font-size:11px;letter-spacing:.05em}.subject-title{margin:12px 0 6px;font-weight:500}.check{display:flex;gap:10px;align-items:flex-start;width:100%;text-align:left;padding:4px 0 8px;font-weight:400}.box{width:20px;height:20px;border:1.5px solid #d7dbe3;border-radius:6px;flex:none;margin-top:1px}.box.is-on{background:var(--purple);border-color:var(--purple)}.services-head{display:flex;justify-content:space-between;color:#9aa0aa;font-size:11px;font-weight:500;letter-spacing:.07em;margin:4px 4px 8px}.services{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px 8px;gap:16px 8px;text-align:center;padding:8px 4px 6px}.service-icon{width:52px;height:52px;margin:0 auto 8px;border-radius:16px;color:#fff;display:grid;place-items:center;font-size:18px;font-weight:500}.services span{font-size:12px;font-weight:400}.rank-row{display:grid;grid-template-columns:28px 1fr auto auto;grid-gap:8px;gap:8px;align-items:center;margin:10px 0;color:#8e8e93;font-weight:400}.bar{height:8px;background:#eceff5;overflow:hidden}.bar,.bar>i{border-radius:999px}.bar>i{display:block;height:100%;background:#d9dde8}.rank-row.is-me{color:var(--text);font-weight:500}.rank-row.is-me .bar>i{background:var(--purple)}.login{min-height:100dvh;display:grid;place-items:center;padding:24px 16px;position:relative;background:linear-gradient(180deg,rgba(255,255,255,.5),rgba(255,255,255,.1)),var(--bg)}.has-wallpaper .login{background:linear-gradient(180deg,rgba(255,255,255,.42),rgba(255,255,255,.12))}.has-wallpaper .login:before{content:"";position:fixed;inset:0;z-index:0;pointer-events:none;background-image:var(--app-wallpaper);background-size:var(--app-wallpaper-size) auto;background-position:0 0;background-repeat:repeat}.login-card{width:min(400px,100%);background:#fff;border-radius:24px;padding:28px 22px;box-shadow:var(--shadow);position:relative;z-index:1}.login-card h1{margin:0 0 6px;font-size:24px;font-weight:500}.login-card p{color:var(--muted);margin:0 0 18px;font-weight:400}.field{display:grid;grid-gap:6px;gap:6px;margin-bottom:12px;min-width:0}.field span{font-size:12.5px;color:var(--muted);font-weight:400}.field input,.field select,.field textarea{width:100%;min-width:0;max-width:100%;box-sizing:border-box;border:1px solid #ececf0;border-radius:12px;padding:11px 13px;background:#f7f7fb;font-weight:400}.primary{width:100%;border-radius:14px;background:linear-gradient(180deg,#7a5bff,#6b4dff);color:#fff;padding:13px;font-weight:500;margin-top:8px}.hints{margin-top:16px;font-size:13px;color:var(--muted);line-height:1.55;font-weight:400}.error,.ok{font-size:13px;margin-top:8px;overflow-wrap:anywhere}.error{color:#ff3b30}.ok{color:#34c759}.name-grid{display:grid;grid-template-columns:1fr;grid-gap:10px;gap:10px;min-width:0}.name-grid .field{margin-bottom:0}.user-row{width:100%;display:grid;grid-template-columns:36px minmax(0,1fr) auto;grid-gap:10px;gap:10px;align-items:center;padding:8px 6px;border-radius:14px;text-align:left}.user-row h3{margin:0;font-size:15px;font-weight:500}.user-row h3,.user-row p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-row p{margin:2px 0 0;color:var(--muted);font-size:12.5px}.user-row.is-on{background:var(--purple-soft)}.access-dot{width:8px;height:8px;border-radius:50%;background:#d0d4dc}.access-dot.is-on{background:#34c759}.toggle{display:flex;align-items:center;gap:8px;margin:8px 0 4px;font-size:14px}.ghost-btn{flex:1 1;border-radius:14px;padding:13px;font-weight:500;background:#f3f4fb;margin-top:8px}.row-actions{display:grid;grid-template-columns:1fr;grid-gap:8px;gap:8px;min-width:0}.row-actions .file-btn,.row-actions .ghost-btn,.row-actions .primary{width:100%;margin-top:0}.subject-picks{display:flex;flex-wrap:wrap;gap:8px}.chip-check{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:8px 12px;border-radius:999px;background:#f3f4fb;font-size:13px;cursor:pointer}.chip-check input{position:absolute;opacity:0;pointer-events:none}.chip-check.is-on{background:var(--purple-soft);color:#5b3dff}.card h3{margin:0 0 12px;font-size:17px;font-weight:500}.admin-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:4px;gap:4px;margin:2px 0 12px;padding:3px;background:rgba(255,255,255,.72);border-radius:14px;box-shadow:var(--shadow)}.admin-nav a{text-align:center;border-radius:11px;padding:8px 4px;font-size:13px;font-weight:500;color:#8b909c;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-nav a.is-on{background:#fff;color:var(--purple);box-shadow:0 6px 16px rgba(42,36,68,.08)}.admin-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:0 0 12px}.admin-head h2{margin:0;font-size:22px;letter-spacing:-.03em}.admin-head p{margin:2px 0 0;color:var(--muted);font-size:13px}.user-list{display:grid;grid-gap:2px;gap:2px}.people-page{display:grid;grid-gap:10px;gap:10px;min-width:0;max-width:100%}.people-page .admin-head,.people-page .admin-nav{margin:0}.people-create-toggle{width:100%;margin:0}.people-create{display:none}.people-create.is-open{display:block}.quiet-list{list-style:none;margin:0 0 14px;padding:0;display:grid;grid-gap:8px;gap:8px}.quiet-list li{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:14px;background:#f7f7fb}.quiet-list strong{font-weight:500}.quiet-list span{color:var(--muted);font-size:13px}.inline-add{display:grid;grid-template-columns:1fr auto;grid-gap:8px;gap:8px;align-items:center}.inline-add input{border:1px solid #ececf0;border-radius:12px;padding:11px 13px;background:#f7f7fb}.inline-add .primary{width:auto;margin:0;padding:11px 16px}.file-btn{display:inline-flex;align-items:center;justify-content:center;flex:1 1;border-radius:14px;padding:13px;font-weight:500;background:linear-gradient(180deg,#7a5bff,#6b4dff);color:#fff;margin-top:8px;cursor:pointer}.file-btn input{display:none}.file-btn.is-off{opacity:.5;pointer-events:none}.icon-admin-list{display:grid;grid-gap:8px;gap:8px;margin-top:4px}.icon-line{display:grid;grid-template-columns:auto 1fr auto auto;grid-gap:10px;gap:10px;align-items:center;padding:8px;border-radius:16px;background:#f7f7fb}.icon-line strong{display:block;font-size:14px;font-weight:500}.icon-line p{margin:2px 0 0;color:var(--muted);font-size:12px}.icon-line .file-btn,.icon-line .soft-btn{margin:0;flex:none;padding:9px 12px;font-size:13px;width:auto}.theme-preview{width:100%;height:168px;border-radius:18px;overflow:hidden;background:#eef1f6;margin:10px 0 4px}.theme-preview img{width:100%;height:100%;object-fit:cover;display:block}.theme-preview--empty{display:grid;place-items:center;color:var(--muted);font-size:13px}.seg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:3px;gap:3px;padding:3px;margin:0 0 10px;background:#f3f4fb;border-radius:12px}.seg button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0;border-radius:10px;padding:7px 2px 6px;font-size:12px;font-weight:500;color:#8b909c;line-height:1.2}.seg button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.seg button em{font-style:normal;min-width:16px;height:16px;padding:0 5px;border-radius:999px;background:rgba(139,144,156,.12);color:#8b909c;font-size:10px;display:grid;place-items:center}.seg button.is-on{background:#fff;color:var(--purple);box-shadow:0 6px 16px rgba(42,36,68,.08)}.seg button.is-on em{background:var(--purple-soft);color:var(--purple)}.subject-admin-list{display:grid;grid-gap:8px;gap:8px;margin:8px 0 14px}.subject-admin-row{display:grid;grid-template-columns:1fr auto auto;grid-gap:6px;gap:6px;align-items:center}.subject-add input,.subject-admin-row input{border:1px solid #ececf0;border-radius:12px;padding:10px 12px;background:#f7f7fb;width:100%}.subject-add{display:grid;grid-template-columns:1fr auto;grid-gap:8px;gap:8px;align-items:center}.subject-add .primary{width:auto;margin:0;padding:11px 16px}.soft-btn{border-radius:12px;padding:10px 12px;background:#f3f4fb;font-size:13px;font-weight:500;color:#5c6270;white-space:nowrap}.soft-btn:disabled{opacity:.35}.soft-btn.is-danger{color:#ff3b30;background:rgba(255,59,48,.08)}@media (max-width:640px){.subject-admin-row{grid-template-columns:1fr 1fr}.subject-admin-row input{grid-column:1/-1}.inline-add,.subject-add{grid-template-columns:1fr}.icon-line{grid-template-columns:auto 1fr}.icon-line .file-btn,.icon-line .soft-btn{justify-self:start}.admin-head p{display:none}.people-page .card{padding:12px}.chip-check{padding:6px 10px;font-size:12px}}.icon-slot__previews{display:flex;gap:6px}.icon-slot__preview{width:40px;height:40px;border-radius:12px;background:#fff;color:#b4b8c1;display:grid;place-items:center;overflow:hidden}.icon-slot__preview.is-on{color:var(--orange);background:rgba(255,138,31,.12)}.icon-slot__preview .tab-icon,.icon-slot__preview img,.icon-slot__preview svg{width:22px;height:22px;object-fit:contain}.size-slider{display:grid;grid-gap:8px;gap:8px;margin:12px 0 4px}.size-slider span{display:flex;justify-content:space-between;font-size:13px;color:var(--muted)}.size-slider em{font-style:normal;color:var(--text);font-weight:500}.size-slider input[type=range]{width:100%;accent-color:#6b4dff}.mini{font-size:13px;color:var(--muted);font-weight:400}.card .mini{margin:-4px 0 12px}.layout-split,.stack{display:grid;grid-gap:12px;gap:12px}.staff-form{max-width:520px}.journal{margin-top:10px;padding:4px 16px 8px}.journal-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;grid-gap:6px 12px;gap:6px 12px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line)}.journal-row:last-child{border-bottom:0}.journal-row.has-grade{margin:0 -8px;padding-left:8px;padding-right:8px;border-radius:14px;background:rgba(107,92,255,.045)}.journal-row__who strong{display:block;font-size:15px;font-weight:500}.journal-row__who p{margin:2px 0 0;color:var(--muted);font-size:13px;font-weight:400}.grade-status{display:flex;flex-wrap:wrap;gap:5px 8px;align-items:center;margin-top:5px;color:#5b3dff;font-size:11.5px}.grade-status span{font-weight:500}.grade-status em{font-style:normal;padding:3px 7px;border-radius:999px;background:var(--purple-soft)}.grade-status.is-empty{color:var(--muted)}.grade-progress{margin-top:12px;padding:12px;border-radius:14px;background:#f7f6fd}.grade-progress>div:first-child{display:flex;align-items:baseline;gap:6px}.grade-progress strong{color:var(--purple);font-size:20px}.grade-progress span{color:var(--muted);font-size:12px}.grade-progress__bar{height:5px;margin-top:9px;overflow:hidden;border-radius:999px;background:#e5e2f3}.grade-progress__bar span{display:block;height:100%;border-radius:inherit;background:var(--purple);transition:width .18s ease}.grade-type-summary{margin-top:10px}.grade-type-summary>span{color:var(--muted);font-size:12px}.grade-type-summary>div{display:flex;flex-wrap:wrap;gap:6px;margin-top:7px}.grade-type-summary button{padding:6px 9px;border-radius:999px;background:#f3f4f8;color:#696f7a;font-size:11.5px}.grade-type-summary button.is-on{color:#fff;background:var(--purple)}.journal-row__actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:4px}.journal-row__note{padding:0;color:#3478f6;font-size:12.5px;font-weight:500}.danger,.journal-row__note.is-danger{color:#ff3b30}.danger{width:100%;border-radius:14px;background:#fff1f0;padding:13px;font-weight:500;margin-top:8px}.grade-edit{margin-top:10px}.grade-edit .marks{margin:8px 0 12px}.journal-row__comment{grid-column:1/-1;display:grid;grid-gap:8px;gap:8px}.journal-row__comment .primary{margin-top:0}.marks{display:flex;gap:6px}.marks button{width:36px;height:36px;border-radius:10px;background:#f3f4f8;font-weight:500}.marks button.is-on{background:var(--purple);color:#fff}.marks button:disabled{opacity:.55}.mini a{color:#3478f6;font-weight:500}.app--detail .gradient{padding-top:max(16px,env(safe-area-inset-top))}@media (min-width:900px){:root{--pad:0px;--tabbar-h:0px}.app{display:flex;flex-direction:column}.app,.chrome{align-items:center}.chrome{display:grid;grid-template-columns:minmax(240px,1fr) auto minmax(160px,1fr);grid-gap:16px;gap:16px;position:-webkit-sticky;position:sticky;top:18px;z-index:40;width:min(var(--max),calc(100% - 48px));margin:18px auto 0;padding:10px 14px 10px 12px;background:rgba(255,255,255,.72);-webkit-backdrop-filter:blur(22px) saturate(1.35);backdrop-filter:blur(22px) saturate(1.35);border:1px solid rgba(255,255,255,.88);border-radius:28px;box-shadow:0 16px 48px rgba(40,32,72,.08)}.app>.chrome>.icon-row,.app>.chrome>.person,.tabbar{position:static;padding:0}.tabbar{height:auto;background:transparent;border:0;display:flex;gap:4px;-webkit-backdrop-filter:none;backdrop-filter:none}.tabbar a{display:flex;flex-direction:row;align-items:center;gap:8px;padding:9px 14px;border-radius:16px;font-size:max(12.5px,var(--tab-font-size));font-weight:500;color:#7a808c}.icon-slot__preview.is-on,.tabbar a.is-active{color:var(--purple);background:var(--purple-soft)}.tabbar .tab-icon,.tabbar svg{width:var(--tab-icon-size,18px);height:var(--tab-icon-size,18px)}.screen{width:min(var(--max),calc(100% - 48px));padding:28px 0 56px}.screen--detail{width:min(760px,calc(100% - 48px));padding-top:28px}.gradient{margin:0 0 20px;border-radius:28px;padding:22px 28px 26px}.lesson-list{grid-template-columns:1fr 1fr;gap:14px}.lesson-list>.lesson-card:last-child:nth-child(odd){grid-column:1/-1}.lesson-list--stack{grid-template-columns:1fr}.lesson-list--stack>.lesson-card:last-child:nth-child(odd){grid-column:auto}.layout-split{grid-template-columns:1.15fr .85fr;gap:16px;align-items:start}.services{grid-template-columns:repeat(3,1fr);gap:20px 12px}.week--dual{width:100%;max-width:none;grid-template-columns:repeat(14,minmax(0,1fr));gap:4px;margin:4px 0 16px;padding:12px 14px;background:#fff;border-radius:22px;box-shadow:var(--shadow)}.week--dual button:nth-child(n+8){display:grid}.week--dual button.week-break{border-left:1px solid var(--line);margin-left:2px;padding-left:4px}.week--dual .dn{width:36px;height:36px;font-size:14px}.week--dual .wd{font-size:11px}.month-cal,.range-row{max-width:none;width:100%}.switcher{position:static;max-width:320px;margin:0 0 18px auto}.admin-nav{gap:6px;margin:4px 0 18px;padding:4px;border-radius:18px}.admin-nav a{border-radius:14px;padding:10px 8px;font-size:14px}.admin-head{margin:0 0 16px}.admin-head h2{font-size:26px}.admin-head p{font-size:13.5px;margin-top:4px;display:block}.name-grid,.row-actions{grid-template-columns:1fr 1fr}.people-create-toggle{display:none}.people-create{display:block}.seg{gap:4px;padding:4px;margin:0 0 14px;border-radius:16px}.seg button{flex-direction:row;gap:6px;padding:10px 8px;font-size:13.5px;border-radius:12px}.seg button em{min-width:20px;height:20px;padding:0 6px;font-size:11px}.pills{width:100%;margin-bottom:18px}.pills,.staff-form,.subject-pills{max-width:none}.staff-form{margin-top:8px}.card.hw-day,.day-block,.day-block .card,.journal-row,.people-list,.quiet-list{width:100%}.sheet-back{align-items:center;justify-items:center}.sheet{width:min(420px,calc(100% - 48px));border-radius:24px;padding:18px 20px 20px;max-height:min(640px,86dvh)}.sheet__handle{display:none}}