.m-app{--m-bg: #eef5ef;--m-card: #ffffff;--m-soft: #f2f7f2;--m-ink: #10231a;--m-muted: #5b6b62;--m-line: #e1ebe3;--m-green: #17603a;--m-green-2: #0f4d2d;--m-leaf: #1f8a52;--m-gold: #b8862b;--m-gold-soft: #fbf1db;--m-warn-bg: #fde7b3;--m-warn: #8a5a06;--m-info-bg: #e2efff;--m-info: #1f5fae;--m-bad-bg: #fde3dd;--m-bad: #b23a22;--m-base: #17603a;--m-foco: #b8862b;--m-shadow: 0 1px 2px rgba(16, 35, 26, .05), 0 10px 24px -16px rgba(16, 35, 26, .3);min-height:100vh;min-height:100dvh;background:var(--m-bg);color:var(--m-ink);font:400 15px/1.45 var(--body);padding-bottom:calc(84px + env(safe-area-inset-bottom))}@media(prefers-color-scheme:dark){.m-app{--m-bg: #0c1611;--m-card: #13211a;--m-soft: #182a20;--m-ink: #e6efe9;--m-muted: #9db0a4;--m-line: #22362a;--m-green: #3fae72;--m-green-2: #2b8d58;--m-leaf: #5fc68a;--m-gold: #e2bd72;--m-gold-soft: #2c2415;--m-warn-bg: #3a2c0e;--m-warn: #f0c46a;--m-info-bg: #12263d;--m-info: #8cc0f2;--m-bad-bg: #3a1a14;--m-bad: #f09a86;--m-base: #5fc68a;--m-foco: #e2bd72;--m-shadow: 0 10px 24px -16px rgba(0, 0, 0, .8)}}.m-app h1,.m-app h2,.m-app h3{color:var(--m-ink);font-family:var(--display);margin:0}.m-app p{margin:0}.m-app button{cursor:pointer}.m-app button:disabled{cursor:not-allowed;opacity:.55}.ic{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}.m-muted{color:var(--m-muted)}.m-app .small{font-size:13px}.m-pad{padding:24px 0}.m-main{max-width:560px;margin:0 auto;padding:4px 16px 24px}.m-stack{display:grid;gap:16px}.m-stack-sm{display:grid;gap:12px}.m-row-between{display:flex;align-items:center;justify-content:space-between;gap:12px}.m-empty{color:var(--m-muted);text-align:center;padding:18px 8px}.m-top{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:10px;max-width:560px;margin:0 auto;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;background:color-mix(in srgb,var(--m-bg) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.m-logo{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--m-green);min-width:0}.m-logo img{width:46px;height:46px;object-fit:contain;border-radius:8px;mix-blend-mode:multiply}.m-logo span{display:grid;line-height:1}.m-logo em{font:600 9px/1 var(--brand);letter-spacing:.3em;font-style:normal;color:var(--m-gold);text-align:center}.m-logo b{font:600 25px/1.05 var(--brand);letter-spacing:.04em}.m-logo small{font:700 7.5px/1 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--m-green)}.m-logo.small img{width:36px;height:36px}.m-logo.small b{font-size:20px}.m-top-end{margin-left:auto;display:flex;align-items:center;gap:12px}.m-bell{position:relative;color:var(--m-ink);display:grid}.m-avatar,.m-kid-av{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--m-green);color:#fff;font:700 19px/1 var(--display);text-decoration:none;flex:none}.m-icon-btn{display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:12px;background:transparent;color:var(--m-ink)}.m-nav{position:fixed;z-index:10;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(4,1fr);gap:4px;max-width:560px;margin:0 auto;padding:8px 10px calc(8px + env(safe-area-inset-bottom));background:var(--m-card);border-radius:22px 22px 0 0;box-shadow:0 -8px 24px -16px #10231a59}.m-nav a{display:grid;justify-items:center;gap:2px;padding:8px 4px;border-radius:16px;color:var(--m-muted);text-decoration:none;font:600 12.5px/1.1 var(--body)}.m-nav a.active{background:linear-gradient(180deg,var(--m-green),var(--m-green-2));color:#fff;box-shadow:0 6px 14px -8px var(--m-green)}.m-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.m-head>div:first-child{flex:1 1 200px;display:grid;gap:6px}.m-head-side{display:grid;gap:6px;justify-items:end}.m-hello{font:700 26px/1.1 var(--display);color:var(--m-green)}.m-h1{font:800 32px/1.05 var(--display)!important;letter-spacing:-.02em}.m-h2{font:800 25px/1.1 var(--display)!important}.m-h3{font:700 20px/1.2 var(--display)!important}.m-eyebrow{font:700 12px/1 var(--body);letter-spacing:.16em;text-transform:uppercase;color:var(--m-green);margin-bottom:8px!important}.m-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:4px}.m-section-head h3{font-size:20px}.m-ok-note{display:inline-flex;align-items:center;gap:6px;color:var(--m-green);font-size:13px}.m-ok-note .ic{background:var(--m-green);color:#fff;border-radius:50%;padding:2px}.m-month{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;background:var(--m-card);border-radius:14px;box-shadow:var(--m-shadow);color:var(--m-green)}.m-month select{border:0;background:transparent;color:var(--m-ink);font:600 14.5px/1 var(--body)}.m-card{display:block;background:var(--m-card);border-radius:22px;padding:16px;box-shadow:var(--m-shadow);color:inherit;text-decoration:none}.m-card-head{display:flex;align-items:flex-start;gap:12px;margin-bottom:12px}.m-card-head>div{flex:1;min-width:0}.m-card-head>.ic{color:var(--m-green);margin-top:2px}.m-card-head h3{font-size:18px}.m-card-head p{color:var(--m-muted);font-size:13.5px}.m-link{display:inline-flex;align-items:center;gap:4px;color:var(--m-green);font-weight:700;font-size:14px;white-space:nowrap;text-decoration:underline;text-underline-offset:3px}.m-motto{display:flex;align-items:center;gap:10px;background:var(--m-soft);border-radius:18px;padding:12px 14px;max-width:210px;color:var(--m-green)}.m-motto .ic{color:var(--m-gold)}.m-motto p{font-size:13.5px;color:var(--m-green)}.m-hex-row{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px}.m-hex-row .m-motto{flex-direction:column;align-items:flex-start;max-width:120px}.m-hex{margin:0}.m-hex svg{width:100%;max-width:360px;display:block;margin:0 auto;overflow:visible}.m-hex .ring{fill:none;stroke:color-mix(in srgb,var(--m-leaf) 25%,transparent)}.m-hex .ring:first-child{fill:color-mix(in srgb,var(--m-leaf) 7%,transparent);stroke:color-mix(in srgb,var(--m-leaf) 55%,transparent)}.m-hex .spoke{stroke:color-mix(in srgb,var(--m-leaf) 18%,transparent)}.m-hex .now{fill:color-mix(in srgb,var(--m-leaf) 26%,transparent);stroke:var(--m-leaf);stroke-width:2.5}.m-hex .prev{fill:none;stroke:var(--m-muted);stroke-width:1.6;stroke-dasharray:5 4}.m-hex .dot{fill:var(--m-green)}.m-hex .lbl{font:600 12.5px var(--body);fill:var(--m-ink)}.m-hex .val{font:600 12px var(--body);fill:var(--m-green)}.m-legend{display:flex;justify-content:center;gap:16px;font-size:12.5px;color:var(--m-muted)}.m-legend i{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:-1px}.m-legend i.now{background:var(--m-leaf)}.m-legend i.prev{background:var(--m-muted)}.m-journey{display:flex;align-items:center;gap:12px}.m-journey-body{flex:1;display:grid;gap:10px;min-width:0}.m-journey h3{font-size:18px}.m-journey p{font-size:13px}.m-level{display:grid;justify-items:center;gap:4px}.m-level b{background:#1e3a8a;color:#fff;font:800 12px/1 var(--display);padding:5px 10px;border-radius:8px;letter-spacing:.04em;text-transform:uppercase;border:2px solid #e7c25d}.m-next-level{display:grid;padding:8px 12px;border-radius:14px;background:var(--m-soft);font:700 16px/1.2 var(--display);white-space:nowrap}.m-next-level small{font:500 12px var(--body);color:var(--m-green)}.m-xp{display:flex;align-items:center;gap:10px;margin-top:6px;font-size:14px;color:var(--m-muted);white-space:nowrap}.m-xp b{color:var(--m-ink)}.m-bar{flex:1;display:block;height:12px;border-radius:99px;background:var(--m-line);overflow:hidden;min-width:60px}.m-bar i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--m-green-2),var(--m-leaf))}.m-badge{position:relative;display:inline-grid;place-items:center;flex:none}.m-badge svg{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;filter:drop-shadow(0 4px 6px rgba(80,55,0,.25))}.m-badge .rim{fill:url(#gold)}.m-badge .core{fill:#0f4d2d}.m-badge.off .core{fill:#29483a}.m-badge.off .rim{filter:saturate(.7)}.m-badge-ic{position:relative;color:#f2cb5f;stroke-width:2.2}.m-badge-mark{position:absolute;right:-2%;bottom:6%;display:grid;place-items:center;width:32%;height:32%;border-radius:50%;background:var(--m-green);color:#fff;border:2.5px solid #fff}.m-badge.off .m-badge-mark{background:#8b958f}.m-badges{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.m-badge-tile{display:grid;justify-items:center;align-content:start;gap:6px;padding:12px 6px;border-radius:18px;background:var(--m-soft);border:0;color:var(--m-ink);text-decoration:none;text-align:center;font:inherit}.m-badge-tile span{font-weight:700;font-size:13.5px;line-height:1.2;color:var(--m-green)}.m-badge-tile small{font-size:12px;color:var(--m-muted);line-height:1.25}.m-next{position:relative;display:flex;align-items:center;gap:14px}.m-next>div{flex:1;min-width:0}.m-next small{color:var(--m-green);font-weight:600}.m-next h3{font-size:21px}.m-chev{color:var(--m-muted);flex:none}.m-almost{display:grid;grid-template-columns:1fr 1fr;gap:10px}.m-almost-item{display:flex;align-items:center;gap:10px;padding:12px}.m-almost-item>div{display:grid;gap:2px;min-width:0}.m-almost-item b{font-size:14px}.m-almost-item small{font-size:12px;line-height:1.25}.m-pill{display:inline-flex;align-items:center;gap:6px;width:fit-content;padding:5px 11px;border-radius:99px;font:600 12.5px/1.1 var(--body);white-space:nowrap}.m-pill.ok{background:color-mix(in srgb,var(--m-leaf) 16%,transparent);color:var(--m-green)}.m-pill.warn{background:var(--m-warn-bg);color:var(--m-warn)}.m-pill.info{background:var(--m-info-bg);color:var(--m-info)}.m-pill.bad{background:var(--m-bad-bg);color:var(--m-bad)}.m-pill.base{background:color-mix(in srgb,var(--m-leaf) 14%,transparent);color:var(--m-green)}.m-pill.foco{background:var(--m-gold-soft);color:var(--m-gold)}.m-btn{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:13px 18px;border:0;border-radius:14px;background:linear-gradient(180deg,var(--m-leaf),var(--m-green-2));color:#fff;font:700 16px/1 var(--body);text-decoration:none;box-shadow:0 8px 18px -12px var(--m-green)}.m-btn.big{padding:17px;font-size:19px;border-radius:16px}.m-btn.outline{background:transparent;color:var(--m-green);border:1.5px solid var(--m-green);box-shadow:none}.m-chip-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border-radius:14px;border:1px solid var(--m-line);background:var(--m-card);color:var(--m-ink);font-weight:600;box-shadow:var(--m-shadow)}.m-chip-btn .ic{color:var(--m-green)}.m-tabs{display:flex;gap:4px;padding:5px;background:var(--m-card);border-radius:18px;box-shadow:var(--m-shadow);overflow-x:auto}.m-tabs button{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:11px 10px;border:0;border-radius:14px;background:transparent;color:var(--m-ink);font:600 14px/1 var(--body);white-space:nowrap}.m-tabs button[aria-selected=true]{background:linear-gradient(180deg,var(--m-leaf),var(--m-green-2));color:#fff}.m-task{display:grid;gap:12px}.m-task-main{display:flex;gap:12px;color:inherit;text-decoration:none;position:relative}.m-task-ic{display:grid;place-items:center;width:54px;height:54px;border-radius:16px;flex:none}.m-task-ic.base{background:color-mix(in srgb,var(--m-leaf) 13%,transparent);color:var(--m-green)}.m-task-ic.demand{background:var(--m-gold-soft);color:var(--m-gold)}.m-task-ic.lg{width:72px;height:72px;border-radius:50%}.m-task-ic.sm{width:34px;height:34px;border-radius:10px}.m-task-text{flex:1;display:grid;gap:3px;min-width:0}.m-task-text b{font:700 19px/1.15 var(--display)}.m-task-text .m-muted{font-size:14px}.m-task-side{display:grid;justify-items:end;align-content:start;gap:4px;padding-right:18px}.m-task-side small{font-size:12px;color:var(--m-muted)}.m-task-main .m-chev{position:absolute;right:-4px;top:30px}.m-due{display:inline-flex;align-items:center;gap:8px;font-size:14px;color:var(--m-ink)}.m-due.big{font-size:17px}.m-due .ic{color:var(--m-green)}.m-due.ok .ic{background:var(--m-green);color:#fff;border-radius:50%;padding:2px}.m-task-head{display:flex;align-items:flex-start;gap:14px;flex-wrap:wrap}.m-task-head>.m-pill{margin-left:auto}.m-app hr{border:0;border-top:1px solid var(--m-line);margin:0;width:100%}.m-statement{background:var(--m-soft);border-radius:14px;padding:12px 14px;white-space:pre-wrap}.m-files{display:grid;grid-template-columns:1fr 1fr;gap:10px}.m-file{display:flex;align-items:center;gap:10px;padding:12px;border-radius:16px;border:1px solid var(--m-line);background:var(--m-soft);color:var(--m-ink);text-align:left;font:inherit;min-width:0}.m-file.static{background:var(--m-card)}.m-file>.ic{color:var(--m-green)}.m-file-ic{display:grid;place-items:center;width:40px;height:48px;border-radius:8px;background:var(--m-green);color:#fff;font:800 11px/1 var(--body);flex:none}.m-file-text{display:grid;gap:2px;min-width:0;flex:1}.m-file-text b{font-size:14px;line-height:1.2;overflow:hidden;text-overflow:ellipsis}.m-file-text small{font-size:12px;color:var(--m-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.m-duo{display:grid;grid-template-columns:1fr 1fr;gap:10px}.m-tile-btn{display:flex;align-items:center;justify-content:center;gap:12px;padding:18px 10px;border-radius:16px;border:1px solid var(--m-line);background:var(--m-card);color:var(--m-ink);font:600 16px/1.1 var(--body)}.m-tile-btn .ic{color:var(--m-green)}.m-pages{display:grid;grid-template-columns:1fr 1fr;gap:12px}.m-pages figure{position:relative;margin:0}.m-pages img{width:100%;aspect-ratio:3/2;object-fit:cover;border-radius:14px;display:block;background:var(--m-soft)}.m-pages figcaption{font-size:14px;color:var(--m-muted);margin-top:4px}.m-page-n{position:absolute;top:8px;left:8px;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--m-green);color:#fff;font-weight:700}.m-page-x{position:absolute;top:8px;right:8px;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:0;background:#fff;color:#10231a;box-shadow:var(--m-shadow)}.m-add{display:flex;align-items:center;justify-content:center;gap:12px;padding:16px;border-radius:16px;border:1.5px dashed var(--m-line);background:transparent;color:var(--m-green);font:600 17px/1 var(--body)}.m-add span{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--m-green);color:#fff}.m-warn-note,.m-sent-note{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;background:var(--m-soft);font-size:14px;color:var(--m-muted)}.m-warn-note .ic{color:var(--m-gold)}.m-sent-note .ic{color:var(--m-green)}.m-corr-top{display:grid;gap:12px}.m-grade{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 14px;background:var(--m-soft);border-radius:18px;padding:14px}.m-grade>.ic{color:var(--m-gold)}.m-grade>div{display:grid}.m-grade b{font:800 42px/1 var(--display)}.m-grade small{font-size:13px;color:var(--m-muted)}.m-grade p{grid-column:1 / -1;font-size:14px;color:var(--m-muted)}.m-grade p b{display:block;font:700 17px/1.3 var(--display);color:var(--m-ink)}.m-comment{display:flex;gap:12px;padding:14px;border-radius:16px;background:color-mix(in srgb,var(--m-leaf) 8%,var(--m-card));border:1px solid var(--m-line)}.m-comment>.ic{color:var(--m-green)}.m-comment b{color:var(--m-green)}.m-comment p{font-size:14px;color:var(--m-muted)}.m-qnav{display:inline-flex;align-items:center;gap:8px}.m-round{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;border:0;background:var(--m-line);color:var(--m-ink)}.m-qtitle{display:inline-flex;align-items:center;gap:12px;font:700 18px/1 var(--display)}.m-num{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--m-green);color:#fff}.m-explain{display:grid;gap:12px;background:var(--m-soft);border-radius:16px;padding:14px}.m-explain p{display:flex;gap:10px;font-size:14px}.m-explain span{display:grid;gap:2px}.m-explain .ok{color:var(--m-green)}.m-explain .gold{color:var(--m-gold)}.m-qchips{display:grid;grid-template-columns:repeat(auto-fill,minmax(58px,1fr));gap:8px}.m-qchips button{display:grid;justify-items:center;gap:2px;padding:8px 4px;border-radius:12px;border:1.5px solid var(--m-line);background:var(--m-card);color:var(--m-ink);font:inherit}.m-qchips button b{font-size:17px}.m-qchips small{font-size:11.5px}.m-qchips .ok{border-color:color-mix(in srgb,var(--m-leaf) 45%,transparent)}.m-qchips .ok .ic,.m-qchips .ok small{color:var(--m-green)}.m-qchips .bad{border-color:color-mix(in srgb,var(--m-bad) 45%,transparent)}.m-qchips .bad .ic,.m-qchips .bad small{color:var(--m-bad)}.m-qchips .none .ic,.m-qchips .none small{color:var(--m-warn)}.m-qchips button[aria-pressed=true]{outline:2.5px solid var(--m-green);outline-offset:1px}.m-filter{display:flex;align-items:center;justify-content:space-between;font-weight:700}.m-info{display:flex;gap:10px;padding:12px 14px;border-radius:16px;background:color-mix(in srgb,var(--m-leaf) 12%,var(--m-card));border:1px solid color-mix(in srgb,var(--m-leaf) 25%,transparent);font-size:13.5px;color:var(--m-ink)}.m-info .ic{color:var(--m-green);margin-top:1px}.m-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.m-stats>div{display:grid;justify-items:center;gap:4px;padding:14px 6px;border-radius:18px;background:var(--m-card);box-shadow:var(--m-shadow);text-align:center}.m-stats b{font:700 22px/1.1 var(--display);color:var(--m-green)}.m-stats span{font-size:12px;color:var(--m-muted)}.m-stats.parent>div{justify-items:start;text-align:left;padding:14px 12px}.m-stats.parent b{color:var(--m-ink);font-size:24px}.m-stats.parent b small,.m-stats.parent>div>small{font-size:12.5px;color:var(--m-muted);font-weight:500}.m-stat-ic{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:color-mix(in srgb,var(--m-leaf) 13%,transparent);color:var(--m-green);flex:none}.m-line{width:100%;display:block;overflow:visible}.m-line .grid{stroke:var(--m-line)}.m-line .axis{font:500 10.5px var(--body);fill:var(--m-muted)}.m-line .goal{stroke:var(--m-foco);stroke-dasharray:5 4;stroke-width:1.5}.m-line .goal-t{font:700 9.5px var(--body);fill:var(--m-foco)}.m-line .stroke{fill:none;stroke-width:2.6;stroke-linejoin:round}.m-line .pv{font:700 11px var(--body)}.m-line.base .stroke{stroke:var(--m-base)}.m-line.base .pt,.m-line.base .pv{fill:var(--m-base)}.m-line.base .area{fill:color-mix(in srgb,var(--m-base) 10%,transparent)}.m-line.foco .stroke{stroke:var(--m-foco)}.m-line.foco .pt,.m-line.foco .pv{fill:var(--m-foco)}.m-line.foco .area{fill:color-mix(in srgb,var(--m-foco) 12%,transparent)}.m-chart-foot{border-top:1px solid var(--m-line);margin-top:8px!important;padding-top:8px;font-size:12px;color:var(--m-muted)}.m-keep{display:flex;align-items:center;gap:12px}.m-keep>div{flex:1;display:grid;gap:4px}.m-keep>.ic{color:var(--m-green)}.m-keep p{font-size:13.5px}.m-hero{display:grid;grid-template-columns:auto 1fr;gap:16px;align-items:center;background:linear-gradient(135deg,var(--m-gold-soft),var(--m-card) 60%)}.m-hero>div{display:grid;gap:8px}.m-hero h3{font:800 26px/1.1 var(--display)}.m-hero-sub{font-size:17px}.m-hero .m-muted{font-size:14px}.m-when{display:flex;align-items:center;gap:12px}.m-when .ic{color:var(--m-green)}.m-when>div{display:grid}.m-when small{font-size:13px;color:var(--m-muted)}.m-quote{margin:0;padding:14px 16px;border-radius:18px;background:color-mix(in srgb,var(--m-leaf) 12%,var(--m-card));color:var(--m-green);font-style:italic;font-size:15px}.m-kid{display:flex;align-items:center;gap:14px}.m-kid>div{flex:1;display:grid;gap:2px;min-width:0}.m-kid b{font:700 20px/1.2 var(--display)}.m-kid .m-muted{font-size:13.5px}.m-kid-av{width:56px;height:56px;border-radius:16px;background:color-mix(in srgb,var(--m-leaf) 16%,transparent);color:var(--m-green);font-size:22px}.m-kid-tag{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:14px;background:var(--m-soft);color:var(--m-green);font:700 12.5px/1.2 var(--body);max-width:110px}.m-lessons{list-style:none;margin:0;padding:0;display:grid}.m-lesson{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;border-top:1px solid var(--m-line)}.m-lesson:first-child{border-top:0;padding-top:0}.m-lesson>div:first-child{display:grid;gap:2px;min-width:0}.m-lesson .m-muted{font-size:13.5px}.m-lesson-side{display:grid;justify-items:end;gap:6px;white-space:nowrap}.m-notice{display:flex;gap:12px}.m-notice>div{flex:1;display:grid;gap:4px}.m-quiz{background:var(--m-card);border-radius:22px;padding:16px;box-shadow:var(--m-shadow);color:var(--ink)}@media(max-width:400px){.m-h1{font-size:28px!important}.m-files,.m-almost,.m-hex-row{grid-template-columns:1fr}.m-hex-row .m-motto{max-width:none;flex-direction:row}.m-hero{grid-template-columns:1fr;justify-items:center;text-align:center}.m-hero>div{justify-items:center}.m-stats b{font-size:19px}.m-task-side{padding-right:0}.m-task-main .m-chev{display:none}}@media(max-width:360px){.m-badges{grid-template-columns:1fr 1fr}.m-logo small{display:none}}:root{--paper: #f6f8f3;--grid: rgba(23, 96, 58, .075);--surface: #ffffff;--ink: #142219;--muted: #5d6c62;--line: #dfe6de;--tint: #eaf2eb;--tint-2: #f4f8f3;--forest: #17603a;--on-forest: #ffffff;--leaf: #2f9e5f;--honey: #ecb441;--on-honey: #2a1e05;--honey-soft: #fbf0d6;--gold: #8a6420;--ok: #1f7a45;--warn: #9c600d;--bad: #b5432c;--info: #2c6c9c;--base: #2c6c9c;--demand: #8a6420;--l1: #a9d6bb;--l2: #4e9a6b;--l3: #17603a;--st-mastered: #2f9e5f;--st-progress: #efb04a;--st-gap: #d9604a;--st-none: #e1e8e0;--on-st: #ffffff;--on-progress: #3a2906;--shadow: 0 1px 0 rgba(20, 34, 25, .04), 0 14px 32px -22px rgba(20, 34, 25, .35);--shadow-lift: 0 2px 0 rgba(20, 34, 25, .05), 0 24px 44px -22px rgba(20, 34, 25, .45);--r-xl: 28px;--r-lg: 22px;--r-md: 16px;--r-sm: 12px;--display: "Gabarito", "Manrope", system-ui, sans-serif;--body: "Manrope", "Segoe UI", system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, Consolas, monospace;--hand: "Caveat", "Segoe Print", "Bradley Hand", cursive;--brand: "Cinzel", Georgia, serif;color-scheme:light}@media(prefers-color-scheme:dark){:root{--paper: #0d1510;--grid: rgba(120, 200, 150, .055);--surface: #142019;--ink: #e7efe9;--muted: #9db0a4;--line: #24362b;--tint: #1a2b21;--tint-2: #17241c;--forest: #6fcf98;--on-forest: #08140d;--leaf: #5fc68a;--honey: #e9b54e;--on-honey: #251a03;--honey-soft: #2f2715;--gold: #e2bd72;--ok: #6fcf98;--warn: #e8ad4f;--bad: #ec8169;--info: #86bfe6;--base: #86bfe6;--demand: #e2bd72;--l1: #37684d;--l2: #4e9a6b;--l3: #9ad8b3;--st-mastered: #3aa86a;--st-progress: #e0a23e;--st-gap: #d4644e;--st-none: #23352a;--shadow: 0 1px 0 rgba(0, 0, 0, .25), 0 14px 32px -20px rgba(0, 0, 0, .7);--shadow-lift: 0 2px 0 rgba(0, 0, 0, .3), 0 24px 44px -20px rgba(0, 0, 0, .8);color-scheme:dark}}*{box-sizing:border-box}html,body{margin:0}body{background-color:var(--paper);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:26px 26px;background-position:-1px -1px;color:var(--ink);font:400 15px/1.55 var(--body);min-height:100vh}h1,h2,h3{margin:0;font-family:var(--display);color:var(--ink);text-wrap:balance}h1{font-weight:800;font-size:clamp(30px,4vw,44px);line-height:1.04;letter-spacing:-.025em}h2{font-weight:700;font-size:19px;line-height:1.2;letter-spacing:-.01em}h3{font-weight:700;font-size:21px;line-height:1.2;letter-spacing:-.015em}p{margin:0}a{color:inherit}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2.5px solid var(--honey);outline-offset:3px;border-radius:10px}.muted{color:var(--muted)}.small{font-size:13px}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.label{display:inline-block;font:500 11px/1.3 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}.label.accent{color:var(--forest)}.eyebrow{display:inline-flex;align-items:center;gap:9px;font:500 11.5px/1 var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--forest);margin-bottom:12px}.eyebrow:before{content:"";border-left:6px solid transparent;border-right:6px solid transparent;border-bottom:10px solid var(--honey)}.grow{flex:1;min-width:0;display:grid;gap:3px}.stack{display:grid;gap:24px}.marker{position:relative;display:inline-block;white-space:nowrap;z-index:0}.marker svg{position:absolute;left:-3%;width:106%;bottom:-.2em;height:.42em;z-index:-1;overflow:visible}.marker path{fill:none;stroke:var(--honey);stroke-width:5;stroke-linecap:round;vector-effect:non-scaling-stroke}.marker path+path{stroke-width:3.5;opacity:.85}.sparkle{width:18px;height:18px;fill:var(--leaf);flex:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;padding:12px 22px;background:var(--forest);color:var(--on-forest);font:700 14.5px/1 var(--body);cursor:pointer;white-space:nowrap;text-decoration:none;transition:transform .15s,box-shadow .15s,background .15s}.btn:hover{transform:translateY(-1px);box-shadow:0 10px 20px -12px var(--forest)}.btn:disabled{opacity:.55;cursor:default;transform:none;box-shadow:none}.btn.dark{background:var(--ink);color:var(--surface)}.btn.dark:hover{box-shadow:0 10px 20px -12px var(--ink)}.btn.sun{background:var(--honey);color:var(--on-honey)}.btn.sun:hover{box-shadow:0 10px 22px -10px var(--honey)}.btn.ghost{background:var(--surface);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line)}.btn.ghost:hover{box-shadow:inset 0 0 0 1.5px var(--ink)}.btn.sm{padding:8px 15px;font-size:13px}.btn.block{width:100%}.icon-btn{border:0;background:var(--tint);width:32px;height:32px;border-radius:50%;cursor:pointer;font-size:18px;line-height:1;color:var(--ink)}.icon-btn:disabled{opacity:.35;cursor:default}.linkish{border:0;background:none;padding:0;text-align:left;cursor:pointer;color:var(--forest);font-weight:700}.linkish b{color:var(--ink)}.linkish:hover b,.linkish:hover{text-decoration:underline;text-decoration-color:var(--honey);text-decoration-thickness:2px;text-underline-offset:3px}.shell{padding:16px 16px 0}.topbar{position:sticky;top:12px;z-index:10;max-width:1180px;margin:0 auto;display:flex;align-items:center;gap:18px;padding:8px 8px 8px 12px;background:color-mix(in srgb,var(--surface) 90%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:999px;box-shadow:var(--shadow);flex-wrap:wrap}.brand{display:flex;align-items:center;gap:10px}.brand img{width:40px;height:40px;object-fit:contain;border-radius:50%;background:#fff;padding:5px;box-shadow:0 0 0 1px var(--line)}.brand b{font:600 17px/1 var(--brand);letter-spacing:.14em;color:var(--ink)}.brand small{display:block;font:500 9.5px/1 var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-top:5px}.topbar nav{display:flex;gap:4px;flex:1;justify-content:center}.topbar nav a{text-decoration:none;padding:9px 18px;border-radius:999px;color:var(--muted);font-weight:700;font-size:14px}.topbar nav a:hover{color:var(--ink);background:var(--tint-2)}.topbar nav a.active{background:var(--ink);color:var(--surface)}.who{display:flex;align-items:center;gap:10px;font-weight:700;font-size:14px}.who-text{text-align:right;line-height:1.2}.who small{display:block;font:500 10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-top:3px}.main{max-width:1180px;margin:0 auto;padding:40px 0 88px}.page-head{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;flex-wrap:wrap}.head-title{display:flex;align-items:center;gap:18px}.head-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.back{justify-self:start;text-decoration:none;color:var(--ink);font-weight:700;font-size:13px;padding:8px 15px;border-radius:999px;background:var(--surface);border:1px solid var(--line)}.back:hover{border-color:var(--ink)}.month{display:flex;align-items:center;gap:4px;background:var(--surface);border:1px solid var(--line);padding:4px;border-radius:999px}.month span{min-width:150px;text-align:center;font-weight:700;font-size:14px}.avg-badge{width:120px;height:120px;border-radius:50%;background:var(--honey);color:var(--on-honey);display:grid;place-content:center;text-align:center;box-shadow:0 0 0 5px var(--surface),0 16px 30px -16px #14221980;transform:rotate(-6deg)}.avg-badge small{font:500 10px var(--mono);letter-spacing:.12em;text-transform:uppercase}.avg-badge b{font:800 42px/1 var(--display);letter-spacing:-.03em}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:22px 24px;display:grid;gap:16px;align-content:start;min-width:0;box-shadow:var(--shadow)}.panel.featured{border:1.5px solid var(--ink);box-shadow:none}.panel-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}.panel-head .label{display:block;margin-bottom:6px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}.grid-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:22px;align-items:start}.grid-side{display:grid;grid-template-columns:minmax(280px,360px) 1fr;gap:22px;align-items:start}.empty{color:var(--muted);font-size:14px;padding:18px;text-align:center;background:var(--tint-2);border-radius:var(--r-md);border:1.5px dashed var(--line)}.error{color:var(--bad);font-size:14px;font-weight:600;background:color-mix(in srgb,var(--bad) 9%,transparent);padding:10px 14px;border-radius:var(--r-sm)}.success{color:var(--ok);font-size:14px;font-weight:600;background:color-mix(in srgb,var(--ok) 10%,transparent);padding:10px 14px;border-radius:var(--r-sm)}.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:16px 18px;display:grid;gap:8px;box-shadow:var(--shadow)}.tile b{font:800 34px/1 var(--display);letter-spacing:-.03em;font-variant-numeric:tabular-nums}.tile .muted{font-size:12.5px}.bar{height:8px;background:var(--tint);border-radius:999px;overflow:hidden}.bar i{display:block;height:100%;background:var(--leaf);border-radius:999px}.trophies{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.trophy{display:grid;gap:7px;justify-items:center;text-align:center;align-content:start;padding:4px 2px}.medal{position:relative;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:var(--tint-2);box-shadow:inset 0 0 0 2px var(--line)}.medal .cup{width:28px;height:28px;fill:color-mix(in srgb,var(--muted) 40%,transparent)}.medal .sparkle{position:absolute;right:-5px;top:-5px;width:20px;height:20px}.trophy.on .medal{background:var(--honey);box-shadow:0 0 0 4px var(--surface),0 0 0 5.5px var(--honey),0 12px 20px -10px var(--honey)}.trophy.on .medal .cup{fill:#fff}.trophy b{font:700 13.5px/1.2 var(--display)}.trophy small{font-size:11px;color:var(--muted);line-height:1.3;max-width:16ch}.trophy.on small{color:var(--gold);font-weight:700}.chart-wrap{overflow-x:auto}.chart{width:100%;min-width:320px;height:auto;display:block}.chart .grid{stroke:var(--line);stroke-width:1;stroke-dasharray:3 5}.chart .axis{fill:var(--muted);font:500 11px var(--mono)}.chart .area{fill:var(--leaf);opacity:.13}.chart .line{fill:none;stroke:var(--forest);stroke-width:3;stroke-linejoin:round;stroke-linecap:round}.chart .dot{fill:var(--surface);stroke:var(--forest);stroke-width:2.5}.chart .dot.last{fill:var(--honey);stroke:var(--surface);stroke-width:3}.rows{list-style:none;margin:0;padding:0;display:grid;gap:8px}.row{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:var(--r-md);background:var(--tint-2);border:1px solid transparent;transition:border-color .15s}.row:hover{border-color:var(--line)}.row.col{flex-direction:column;align-items:stretch;gap:12px}.row-top{display:flex;align-items:center;gap:14px}.row b{font-weight:700}.row .muted,.t-body .muted{font-size:13px;display:flex;align-items:center;gap:7px;flex-wrap:wrap}.statement{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 16px;font-size:14px;white-space:pre-wrap}.submit-line{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.notes{list-style:none;margin:0;padding:0;display:grid;gap:14px}.note{background:var(--honey-soft);border-radius:6px 20px 20px;padding:14px 18px 12px}.note:nth-child(odd){transform:rotate(-.5deg)}.note:nth-child(2n){transform:rotate(.45deg)}.note p{font:600 22px/1.22 var(--hand);color:var(--ink)}.note small{display:block;margin-top:8px;font:500 10.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.chip{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;padding:5px 12px;border-radius:999px;white-space:nowrap;background:color-mix(in srgb,currentColor 12%,transparent)}.chip.ok{color:var(--ok)}.chip.warn{color:var(--warn)}.chip.bad{color:var(--bad)}.chip.info{color:var(--info)}.chip.outline{background:var(--surface);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line);font-weight:600;padding:7px 14px}.chip.outline.mono{font-family:var(--mono);font-size:12px}.chips{display:flex;gap:8px;flex-wrap:wrap}.badge{background:var(--honey);color:var(--on-honey);font-size:11px;font-weight:800;border-radius:999px;padding:1px 8px;margin-left:7px}.tab-count{font:500 11px var(--mono);margin-left:8px;opacity:.75}.track{font:600 10px/1 var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:4px 8px;border-radius:999px;background:color-mix(in srgb,currentColor 12%,transparent)}.track.base{color:var(--base)}.track.demand{color:var(--demand)}.lvl-tag{font:600 11px var(--mono);width:36px;height:36px;display:grid;place-items:center;border-radius:50%;color:#fff;flex:none}.l1{--c: var(--l1)}.l2{--c: var(--l2)}.l3{--c: var(--l3)}.lvl-tag.l1{background:var(--l1);color:var(--ink)}.lvl-tag.l2{background:var(--l2)}.lvl-tag.l3{background:var(--l3);color:var(--paper)}.role{font-size:12px;font-weight:700;padding:4px 11px;border-radius:999px;background:var(--tint);color:var(--ink)}.noshame{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.avatar{--a: var(--l2);width:44px;height:44px;border-radius:50%;display:inline-grid;place-items:center;flex:none;background:var(--a);color:#fff;font:700 15px/1 var(--display);letter-spacing:.02em}.avatar.a0{--a: #2f9e5f}.avatar.a1{--a: #d0593f}.avatar.a2{--a: #2c6c9c}.avatar.a3{--a: #b07f1f}.avatar.sm{width:34px;height:34px;font-size:13px}.avatar.lg{width:64px;height:64px;font-size:22px}.avatar.xl{width:96px;height:96px;font-size:34px}.avatar.sticker{box-shadow:0 0 0 4px #fff,0 10px 20px -8px #1422198c}.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(330px,1fr));gap:18px}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:20px;text-decoration:none;color:inherit;box-shadow:var(--shadow);display:grid;gap:16px;transition:transform .18s,box-shadow .18s,border-color .18s}.card:hover{transform:translateY(-3px);box-shadow:var(--shadow-lift);border-color:var(--ink)}.card-top{display:flex;align-items:center;gap:14px}.student-card .name{font:700 19px/1.15 var(--display);letter-spacing:-.01em}.card-foot{display:grid;gap:8px;padding-top:14px;border-top:1.5px dashed var(--line)}.between{display:flex;justify-content:space-between;gap:10px;align-items:baseline}.tabs{display:inline-flex;gap:4px;padding:5px;background:var(--surface);border:1px solid var(--line);border-radius:999px;justify-self:start;max-width:100%;overflow-x:auto}.tabs button{border:0;background:none;padding:10px 18px;font-weight:700;font-size:14px;color:var(--muted);cursor:pointer;border-radius:999px;white-space:nowrap}.tabs button:hover{color:var(--ink)}.tabs button[aria-selected=true]{background:var(--ink);color:var(--surface)}.seg{display:inline-flex;background:var(--surface);border:1px solid var(--line);padding:4px;border-radius:999px}.seg button{border:0;background:none;padding:7px 16px;border-radius:999px;font-weight:700;font-size:13px;color:var(--muted);cursor:pointer}.seg button[aria-pressed=true]{background:var(--ink);color:var(--surface)}.form{display:grid;gap:14px}label{display:grid;gap:6px;font-size:13px;font-weight:700;color:var(--ink)}input,select,textarea{border:1.5px solid var(--line);background:var(--surface);border-radius:999px;padding:11px 16px;font-size:14px;font-weight:500;width:100%;color:var(--ink);transition:border-color .15s,box-shadow .15s}textarea{border-radius:var(--r-md);resize:vertical}input:focus,select:focus,textarea:focus{outline:none;border-color:var(--forest);box-shadow:0 0 0 4px color-mix(in srgb,var(--forest) 16%,transparent)}fieldset{border:0;padding:0;margin:0;display:grid;gap:8px}legend{font-size:13px;font-weight:700;margin-bottom:6px}.inline{display:grid;grid-template-columns:96px 1fr;gap:10px}.levels{grid-template-columns:repeat(3,1fr)}.lvl{border:0;background:var(--surface);border-radius:999px;padding:10px 4px;font-size:12px;font-weight:700;cursor:pointer;box-shadow:inset 0 0 0 1.5px var(--line)}.lvl[aria-pressed=true]{background:var(--c);color:#fff;box-shadow:0 6px 14px -6px var(--c)}.lvl.l1[aria-pressed=true]{color:var(--ink)}.checks{gap:6px}.check{display:flex;align-items:center;gap:10px;font-weight:500;padding:8px 12px;border-radius:999px;background:var(--tint-2)}.check input{width:18px;height:18px;accent-color:var(--forest)}.grade-form{display:grid;grid-template-columns:120px 1fr auto;gap:8px}.record{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.toggle{display:flex;align-items:center;gap:2px;font-size:12px;font-weight:700;color:var(--muted);background:var(--surface);padding:3px 3px 3px 12px;border-radius:999px;border:1px solid var(--line)}.toggle span{margin-right:6px}.toggle button{border:0;background:none;padding:5px 12px;border-radius:999px;font-size:12px;font-weight:700;cursor:pointer;color:var(--muted)}.toggle button[aria-pressed=true]:first-of-type{background:var(--ok);color:var(--surface)}.toggle button[aria-pressed=true]:last-of-type{background:var(--bad);color:var(--surface)}.toggle button:disabled{opacity:.4;cursor:default}.part{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);background:var(--surface);padding:3px 3px 3px 12px;border-radius:999px;border:1px solid var(--line)}.part select{width:62px;padding:5px 10px;border:0;background:var(--tint-2)}.row.lesson{display:grid;grid-template-columns:36px minmax(0,1fr) auto;column-gap:14px;row-gap:10px}.row.lesson.recorded .record{grid-column:2 / -1}.table-wrap{overflow-x:auto}table{width:100%;border-collapse:separate;border-spacing:0 6px;font-size:14px}th{text-align:left;font:500 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding:4px 14px}td{padding:12px 14px;background:var(--tint-2);vertical-align:middle}td:first-child{border-radius:999px 0 0 999px;padding-left:20px}td:last-child{border-radius:0 999px 999px 0;text-align:right}tr.inactive td{opacity:.5}.panel-head select{width:auto;padding:7px 14px}.skillmap{display:grid;gap:16px}.band{display:grid;grid-template-columns:200px 1fr;gap:18px;align-items:start;padding-top:16px;border-top:1.5px dashed var(--line)}.band:first-child{border-top:0;padding-top:0}.band-head{display:grid;gap:7px}.band-head b{font:700 16px/1.2 var(--display)}.stackbar{display:flex;gap:3px;height:8px}.stackbar i{border-radius:999px;min-width:6px}.stackbar .mastered{background:var(--st-mastered)}.stackbar .progress{background:var(--st-progress)}.stackbar .gap{background:var(--st-gap)}.stackbar .none{background:var(--st-none)}.band-tiles{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch}.skill{display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border-radius:12px;border:0;font:600 13px/1.2 var(--body);text-align:left}.skill:before{font:700 12px/1 var(--mono)}.skill.mastered{background:var(--st-mastered);color:var(--on-st)}.skill.mastered:before{content:"✓"}.skill.progress{background:var(--st-progress);color:var(--on-progress)}.skill.progress:before{content:"◐"}.skill.gap{background:var(--st-gap);color:var(--on-st)}.skill.gap:before{content:"!"}.skill.none{background:transparent;color:var(--muted);box-shadow:inset 0 0 0 1.5px var(--line)}.skill.none:before{content:"○"}.skill.anchor{padding:15px 17px;font-size:14.5px;font-weight:800;border-radius:16px}.skill.anchor:after{content:"âncora";font:500 9.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;opacity:.75}.skill.sm{padding:6px 11px;font-size:12.5px}.skill.paintable{cursor:pointer;transition:transform .12s,box-shadow .12s}.skill.paintable:hover{transform:translateY(-2px);box-shadow:0 8px 14px -10px var(--ink)}.skill.paintable.none:hover{box-shadow:inset 0 0 0 1.5px var(--ink)}.legend{display:flex;gap:8px 18px;flex-wrap:wrap;font-size:13px;color:var(--muted);padding-top:14px;border-top:1.5px dashed var(--line)}.legend span{display:inline-flex;align-items:center;gap:7px}.legend b{color:var(--ink);font-weight:600}.legend-anchor{margin-left:auto;font-style:italic}.skill-dot{width:12px;height:12px;border-radius:4px;display:inline-block;flex:none}.skill-dot.mastered{background:var(--st-mastered)}.skill-dot.progress{background:var(--st-progress)}.skill-dot.gap{background:var(--st-gap)}.skill-dot.none{box-shadow:inset 0 0 0 1.5px var(--muted)}.brushes{display:flex;align-items:center;gap:6px;flex-wrap:wrap;padding:6px 6px 6px 16px;border-radius:999px;background:var(--tint-2);justify-self:start}.brushes .label{margin-right:6px}.brush{display:inline-flex;align-items:center;gap:8px;border:0;background:transparent;padding:8px 14px;border-radius:999px;font-weight:700;font-size:13px;color:var(--muted);cursor:pointer}.brush:hover{color:var(--ink)}.brush[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}.focus-line{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:12px 14px;border-radius:var(--r-md);background:var(--tint-2)}.focus-line .label{margin-right:6px}.quest{background:var(--surface);border:1.5px solid var(--ink);border-radius:var(--r-xl);padding:22px 24px;display:grid;gap:14px;align-content:start}.quest.draft{border-style:dashed}.quest.won{background:linear-gradient(160deg,var(--honey-soft),var(--surface) 60%)}.quest-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.quest-head .state{color:var(--forest)}.quest-head .state.pending{color:var(--gold)}.quest-head .state.won{color:var(--gold);font-weight:600}.quest h3{font-size:26px;font-weight:800;letter-spacing:-.02em}.reward{display:flex;align-items:center;gap:10px;font-size:15px;flex-wrap:wrap}.reward svg{width:22px;height:22px;flex:none;fill:var(--honey)}.segbar{display:flex;gap:4px;height:14px}.segbar i{flex:1;border-radius:999px;background:var(--st-none)}.segbar i.on{background:var(--leaf)}.segbar.cont i{flex:0 1 auto}.seg-legend{display:flex;justify-content:space-between;gap:10px;font:500 12px var(--mono);color:var(--muted)}.seg-legend b{color:var(--ink);font-weight:600}.signatures{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding-top:14px;border-top:1.5px dashed var(--line)}.signatures>div{display:grid;gap:2px;align-content:start}.sig{font:700 30px/1.05 var(--hand);color:var(--forest)}.sig-pending{font-size:14px;color:var(--muted);font-style:italic;padding-top:6px}.quest-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.won-note{font:700 22px/1.2 var(--hand);color:var(--gold)}.timeline{list-style:none;margin:0;padding:0;display:grid}.timeline li{position:relative;display:grid;grid-template-columns:44px 1fr auto;gap:14px;align-items:center;padding:7px 0}.timeline li:before{content:"";position:absolute;left:21px;top:0;bottom:0;width:2px;background:color-mix(in srgb,var(--leaf) 35%,transparent)}.timeline li:first-child:before{top:50%}.timeline li:last-child:before{bottom:50%}.timeline li:only-child:before{display:none}.node{position:relative;z-index:1;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--forest);color:var(--on-forest);font:600 13px var(--mono);box-shadow:0 0 0 5px var(--surface)}.node.future{background:var(--surface);color:var(--forest);box-shadow:inset 0 0 0 2px var(--forest),0 0 0 5px var(--surface)}.node.sm{width:36px;height:36px;font-size:12px;box-shadow:none}.node.sm.future{box-shadow:inset 0 0 0 2px var(--forest);background:transparent}.t-body{display:grid;gap:3px;min-width:0}.t-body b{font-weight:700}.teacher-card{display:grid;grid-template-columns:150px 1fr;gap:20px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:12px;box-shadow:var(--shadow)}.sticker-tile{aspect-ratio:1;border-radius:20px;display:grid;place-items:center;background-color:var(--honey);background-image:linear-gradient(rgba(255,255,255,.28) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.28) 1px,transparent 1px);background-size:15px 15px}.teacher-info{display:grid;gap:4px;padding-right:12px}.teacher-info h3{font-size:24px;font-weight:800}.login{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr)}.login-left{padding:32px clamp(20px,5vw,72px) 40px;display:grid;align-content:start;gap:30px}.login-copy{display:grid;gap:18px;max-width:34rem;margin-top:3vh}.login-copy h1{font-size:clamp(40px,5.2vw,66px);line-height:.98;letter-spacing:-.035em}.lead{font-size:17px;color:var(--muted);max-width:44ch}.login-card{display:grid;gap:14px;max-width:26rem;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-xl);padding:22px;box-shadow:var(--shadow)}.login-card h2{font-size:21px}.sparkles{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px 22px}.sparkles li{display:flex;gap:8px;align-items:center;font-weight:700;font-size:14px}.login-art{position:relative;overflow:hidden;min-height:560px}.arc{position:absolute;top:0;right:0;bottom:0;left:0;clip-path:ellipse(80% 96% at 100% 50%);background-color:#0f4a2b;background-image:linear-gradient(rgba(255,255,255,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.07) 1px,transparent 1px);background-size:26px 26px}.shards{position:absolute;right:-6%;bottom:-8%;width:70%;fill:#ffffff0f}.deck{position:absolute;left:24%;right:7%;top:50%;height:540px;transform:translateY(-50%)}.mini{position:absolute;right:0;width:min(390px,100%);border-radius:22px;padding:20px 22px 22px;display:grid;gap:10px;background:#fff;color:#142219;box-shadow:0 30px 50px -26px #0009}.mini .label{color:#17603a}.mini h3{color:#142219;font-size:24px;font-weight:800;letter-spacing:-.02em}.mini.c3{top:0;transform:rotate(4deg);background:#0b1f13;box-shadow:0 0 0 1px #ffffff1f,0 30px 50px -26px #0009}.mini.c3 h3{color:#f4f1e6}.mini.c3 .label{color:#ecb441}.mini.c2{top:150px;right:40px;transform:rotate(1.5deg);background:#f3f8f3}.mini.c1{top:300px;right:84px;transform:rotate(-3deg)}.mini-spark{width:100%;height:54px}.mini-spark path{fill:none;stroke:#ecb441;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.mini-spark circle{fill:#ecb441}.steps-mini{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;align-items:end}.steps-mini span{border-radius:10px;padding:8px 6px;font:600 10px var(--mono);color:#fff;text-align:center}.steps-mini span:nth-child(1){background:#a9d6bb;color:#142219}.steps-mini span:nth-child(2){background:#4e9a6b;padding-top:18px}.steps-mini span:nth-child(3){background:#17603a;padding-top:28px}.heat{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.heat small{display:block;font:600 11px var(--body);color:#5d6c62;margin-bottom:6px}.heat>div>div{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.heat i{aspect-ratio:1;border-radius:5px}.heat .m{background:#2f9e5f}.heat .p{background:#efb04a}.heat .g{background:#d9604a}.heat .n{background:#e1e8e0}@media(prefers-reduced-motion:reduce){*{transition:none!important}}@media(max-width:1000px){.grid-side,.grid-2,.grid-hero{grid-template-columns:1fr}.tiles{grid-template-columns:repeat(2,1fr)}.band{grid-template-columns:1fr;gap:10px}}@media(max-width:900px){.login{grid-template-columns:1fr}.login-art{display:none}}@media(max-width:600px){.topbar{border-radius:var(--r-lg);gap:10px;top:8px}.topbar nav{order:3;flex-basis:100%;justify-content:flex-start}.who-text{display:none}.trophies{grid-template-columns:repeat(3,1fr)}.grade-form,.inline,.signatures,.cards{grid-template-columns:1fr}.panel,.quest{padding:18px;border-radius:var(--r-lg)}.teacher-card{grid-template-columns:110px 1fr}.head-title{gap:12px}.avg-badge{width:96px;height:96px}.avg-badge b{font-size:32px}.legend-anchor{margin-left:0}}
