:root{--tb:#0c0c0e;--panel:#0c0c0e;--panel-2:#1a1a1f;--canvas:#08080a;--frame:#141418;--frame-line:#26262d;--text:#f7f7f9;--text-2:#9a9aa4;--text-3:#61616b;--edge:#000;--div:#212127;--accent:#ffd60a;--accent-press:#eac400;--on-accent:#0a0a0b;--purple:#3b82f6;--purple-press:#2e6fe0;--sel:#ffd60a24;--sel2:#3b82f629;--hover:#ffffff0d;--good:#4fd06a;--grid-dot:#ffffff08;--grid-line:#ffffff07;--radius:6px;--font:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;--mono:ui-monospace,SFMono-Regular,"SF Mono",Menlo,Consolas,monospace;--lp:262px;--rp:296px;--cpad:40px;--tbh:48px}:root[data-theme=light]{--tb:#fff;--panel:#fff;--panel-2:#f0f0f2;--canvas:#ededef;--frame:#fff;--frame-line:#e5e5e8;--text:#0e0e11;--text-2:#5b5b64;--text-3:#8a8a93;--edge:#dcdce0;--div:#eaeaed;--accent:#f2c200;--accent-press:#dbb000;--on-accent:#0a0a0b;--purple:#2e6fe0;--purple-press:#245bc0;--sel:#f2c2002e;--sel2:#2e6fe01f;--hover:#0000000b;--good:#1e8e3e;--grid-dot:#0000000b}@media (prefers-color-scheme:light){:root:not([data-theme]){--tb:#fff;--panel:#fff;--panel-2:#f0f0f2;--canvas:#ededef;--frame:#fff;--frame-line:#e5e5e8;--text:#0e0e11;--text-2:#5b5b64;--text-3:#8a8a93;--edge:#dcdce0;--div:#eaeaed;--accent:#f2c200;--accent-press:#dbb000;--on-accent:#0a0a0b;--purple:#2e6fe0;--purple-press:#245bc0;--sel:#f2c2002e;--sel2:#2e6fe01f;--hover:#0000000b;--good:#1e8e3e;--grid-dot:#0000000b}}*{box-sizing:border-box}html,body{height:100%}body{margin:0}.app{font-family:var(--font);color:var(--text);background:var(--canvas);-webkit-font-smoothing:antialiased;height:100dvh;font-size:13px;overflow:hidden}h1,h2,h3,h4{letter-spacing:-.01em;margin:0}button{cursor:pointer;color:inherit;font-family:inherit}a{color:inherit;text-decoration:none}.mono{font-family:var(--mono)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--text) 18%,transparent);background-clip:padding-box;border:2px solid #0000;border-radius:20px}.fig{grid-template-rows:var(--tbh) 1fr;height:100dvh;display:grid}.toolbar{grid-template-columns:var(--lp) 1fr;background:var(--tb);border-bottom:1px solid var(--edge);height:var(--tbh);z-index:30;align-items:stretch;display:grid}.tb-left{border-right:1px solid var(--edge);align-items:center;gap:10px;min-width:0;padding:0 14px;display:flex}.tb-main{padding:0 20px 0 var(--cpad);align-items:center;gap:16px;min-width:0;display:flex}.tb-logo{object-fit:cover;border-radius:8px;flex:none;width:32px;height:32px;display:block}.tb-brandtext{flex-direction:column;min-width:0;line-height:1.05;display:flex}.tb-brandtext b{letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:700;overflow:hidden}.tb-brandtext span{color:var(--text-3);text-transform:lowercase;letter-spacing:.02em;font-size:10px}.tb-title{color:var(--text);background:var(--canvas);border:1px solid var(--div);cursor:default;border-radius:7px;align-items:center;gap:7px;min-width:0;padding:6px 13px;font-size:13px;font-weight:600;display:flex}.tb-title #tbName{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tb-title .sub{color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;font-weight:400;overflow:hidden}.tb-right{flex:none;align-items:center;gap:8px;margin-left:auto;display:flex}.zoom{font-family:var(--mono);color:var(--text-2);background:var(--panel-2);border-radius:6px;align-items:center;gap:6px;padding:5px 9px;font-size:12px;display:flex}.zoom b{color:var(--accent);font-weight:700}.role-seg{background:var(--panel-2);border-radius:6px;padding:2px;display:flex}.role-seg button{color:var(--text-2);background:0 0;border:none;border-radius:4px;padding:5px 12px;font-size:12px;font-weight:600}.role-seg button.on{background:var(--accent);color:var(--on-accent)}.tb-ico{width:30px;height:30px;color:var(--text-2);background:0 0;border:none;border-radius:6px;place-items:center;display:grid}.tb-ico:hover{background:var(--hover);color:var(--text)}.tb-av{background:var(--accent);width:28px;height:28px;color:var(--on-accent);border:2px solid var(--tb);border-radius:50%;place-items:center;font-size:12px;font-weight:700;display:grid}.menu-btn{display:none}.body{grid-template-columns:var(--lp) 1fr;min-height:0;display:grid;overflow:hidden}.lpanel{background:var(--panel);border-right:1px solid var(--edge);flex-direction:column;min-height:0;display:flex;overflow:hidden}.lp-sec-h{letter-spacing:.02em;color:var(--text-2);text-transform:uppercase;align-items:center;gap:6px;padding:11px 14px 7px;font-size:11px;font-weight:700;display:flex}.lp-sec-h .cnt{color:var(--text-3);font-family:var(--mono);margin-left:auto;font-weight:500}.pages{border-bottom:1px solid var(--div);padding:0 6px 8px}.page-row{text-align:left;width:100%;color:var(--text-2);background:0 0;border:none;border-radius:5px;align-items:center;gap:9px;padding:7px 9px;font-size:13px;font-weight:500;display:flex}.page-row:hover{background:var(--hover);color:var(--text)}.page-row.on{background:var(--panel-2);color:var(--text);font-weight:600}.page-row .pb{background:var(--accent);color:var(--on-accent);font-family:var(--mono);border-radius:20px;margin-left:auto;padding:0 6px;font-size:10px}.tree{flex:1;min-height:0;padding:6px 6px 20px;overflow-y:auto}.lp-foot{border-top:1px solid var(--div);background:var(--panel);flex:none;padding:14px 16px 16px}.lp-foot .fr{justify-content:space-between;align-items:center;margin-bottom:9px;display:flex}.lp-foot .fk{text-transform:uppercase;letter-spacing:.04em;color:var(--text-2);font-size:11px;font-weight:700}.lp-foot .fv{font-family:var(--mono);color:var(--accent);font-variant-numeric:tabular-nums;font-size:13px;font-weight:700}.lp-foot .fbar{background:color-mix(in srgb,var(--text) 12%,transparent);border-radius:20px;height:9px;overflow:hidden}.lp-foot .fbar>i{background:linear-gradient(90deg,var(--accent),var(--purple));height:100%;transition:width .4s cubic-bezier(.3,.8,.3,1);display:block}.lp-foot .fsub{font-family:var(--mono);color:var(--text-3);margin-top:8px;font-size:10.5px;line-height:1.4}.resume{text-align:left;border:1px solid color-mix(in srgb,var(--accent) 55%,transparent);background:0 0;border-radius:11px;align-items:center;gap:10px;width:100%;margin-bottom:14px;padding:8px;transition:transform 80ms,border-color .12s;display:flex}.resume:hover{border-color:var(--accent);transform:translateY(-1px)}.resume .rz-th{border-radius:6px;flex:none;width:46px;height:30px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #0000004d}.resume .rz-play{color:#fff;place-items:center;display:grid;position:absolute;inset:0}.resume .rz-tx{flex-direction:column;min-width:0;line-height:1.15;display:flex}.resume .rz-k{font-family:var(--mono);text-transform:uppercase;letter-spacing:.04em;color:var(--accent);font-size:10px;font-weight:700}.resume .rz-n{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:600;overflow:hidden}.player .pscrub{background:#ffffff2e;height:4px;position:absolute;bottom:0;left:0;right:0}.player .pscrub>i{background:var(--accent);height:100%;display:block}.player .pscrub>b{background:var(--accent);border-radius:50%;width:12px;height:12px;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 3px #00000059}.player .resume-pill{color:#fff;font-family:var(--mono);background:#000000b3;border:1px solid #ffffff40;border-radius:20px;padding:4px 11px;font-size:11px;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.mod{margin-bottom:1px}.mod-h{text-align:left;width:100%;color:var(--text);background:0 0;border:none;border-radius:5px;align-items:center;gap:6px;padding:7px 8px;font-size:12px;font-weight:700;display:flex}.mod-h:hover{background:var(--hover)}.caret{color:var(--text-3);flex:none;transition:transform .15s;display:grid}.mod.collapsed .caret{transform:rotate(-90deg)}.mod-h .mod-av{background:var(--accent);width:26px;height:26px;color:var(--on-accent);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:800;display:grid}.mod-h .mod-av.soon{background:color-mix(in srgb,var(--text) 12%,transparent);color:var(--text-3)}.mod-h .mname{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.mod-h .mprog{font-family:var(--mono);color:var(--text-3);flex:none;margin-left:auto;font-size:10px;font-weight:500}.mod-h .mtag{font-family:var(--mono);text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);background:color-mix(in srgb,var(--text) 8%,transparent);border-radius:20px;flex:none;margin-left:auto;padding:1px 6px;font-size:9px}.lrow-empty{font-family:var(--mono);color:var(--text-3);padding:8px 12px 10px 46px;font-size:11px;font-style:italic}.mod-lessons{display:block}.mod.collapsed .mod-lessons{display:none}.lrow{text-align:left;width:100%;color:var(--text-2);background:0 0;border:none;border-radius:5px;align-items:center;gap:9px;padding:6px 8px 6px 14px;font-size:12.5px;display:flex}.lrow:hover{background:var(--hover);color:var(--text)}.lrow.on{background:var(--sel);color:var(--accent)}.lrow .lnum{font-family:var(--mono);color:var(--text-3);text-align:right;flex:none;width:16px;font-size:10px}.lrow.on .lnum{color:var(--accent)}.lrow .ldot{flex:none;place-items:center;width:14px;height:14px;display:grid}.lrow .lthumb-mini{border-radius:4px;flex:none;width:42px;height:27px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #00000047}.lrow .lthumb-mini .pl{color:#ffffffeb;place-items:center;display:grid;position:absolute;inset:0}.lrow .lthumb-mini .gl{background:#ffffff73;height:1px;position:absolute;top:5px;left:5px;right:14px;box-shadow:0 5px #ffffff47,0 10px #ffffff29}.lrow .lthumb-mini .ck{background:var(--good);color:#fff;width:13px;height:13px;box-shadow:0 0 0 1.5px var(--panel);border-radius:50%;place-items:center;display:grid;position:absolute;bottom:2px;right:2px}.lrow.done .lthumb-mini{opacity:.5}.lrow.on .lthumb-mini{box-shadow:inset 0 0 0 1px #00000047, 0 0 0 1.5px var(--accent)}.lrow .lname{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.lrow.done .lname{color:var(--text-3)}.lrow .chk{color:var(--good);flex:none}.canvas{background:var(--canvas);background-image:linear-gradient(var(--grid-line) 1px, transparent 1px), linear-gradient(90deg, var(--grid-line) 1px, transparent 1px);background-size:38px 38px;min-height:0;position:relative;overflow:auto}.canvas-inner{padding:34px var(--cpad) 80px;justify-content:flex-start;min-height:100%;display:flex}.frame-wrap{width:100%;max-width:880px}.frame-label{font-family:var(--mono);color:var(--accent);letter-spacing:.02em;margin:0 0 7px 2px;font-size:11px;font-weight:600}.lesson-nav{align-items:center;gap:14px;margin:0 2px 10px;display:flex}.lesson-nav .ln-mid{text-align:center;min-width:0;font-family:var(--mono);letter-spacing:.02em;color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:11px;font-weight:600;overflow:hidden}.lnav{color:var(--text-3);background:0 0;border:none;flex:none;align-items:center;gap:6px;padding:4px 2px;font-size:13px;font-weight:600;transition:color .12s,transform .12s;display:inline-flex}.lnav:hover{color:var(--accent)}.lnav[data-lnav=prev]:hover{transform:translate(-2px)}.lnav[data-lnav=next]:hover{transform:translate(2px)}.lnav.off{opacity:.3;pointer-events:none}.frame{background:var(--frame);border:1px solid var(--frame-line);border-radius:18px;overflow:hidden}.player{aspect-ratio:16/9;border-bottom:1px solid var(--frame-line);background:#000;place-items:center;display:grid;position:relative}.player .pbtn{background:var(--accent);border:2px solid #fff;border-radius:50%;place-items:center;width:70px;height:70px;display:grid;box-shadow:0 8px 30px #00000080}.player .pbtn:hover{background:var(--accent-press)}.player .wm{font-family:var(--mono);color:#ffffff80;font-size:11px;position:absolute;bottom:12px;right:14px}.player .rec{font-family:var(--mono);color:#fff;background:#00000080;border-radius:20px;align-items:center;gap:6px;padding:3px 9px;font-size:11px;display:flex;position:absolute;top:12px;left:14px}.player .rec .rd{background:var(--accent);border-radius:50%;width:7px;height:7px}.frame-body{padding:26px 30px 32px}.lesson-eyebrow{font-family:var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);font-size:11px}.frame-body h1.lt{color:var(--text);margin-top:8px;font-size:26px;font-weight:800}.ftabs{border-bottom:1px solid var(--frame-line);gap:0;margin:20px 0 0;display:flex}.ftab{color:var(--text-3);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:10px 15px;font-size:13.5px;font-weight:600}.ftab.on{color:var(--text);border-bottom-color:var(--accent)}.prose{color:var(--text-2);padding:22px 0 0;font-size:14.5px;line-height:1.65}.prose h3{color:var(--text);margin:2px 0 10px;font-size:17px}.prose h4{color:var(--text);margin:18px 0 8px;font-size:14px}.prose ul{padding-left:20px}.prose li{margin:6px 0}.prose p{margin:0 0 13px}.prose b{color:var(--text)}.callout{border-left:3px solid var(--accent);background:var(--sel);color:var(--text);border-radius:0 6px 6px 0;margin:15px 0;padding:12px 15px;font-size:13.5px}.lsec{border-bottom:1px solid var(--div);padding:24px 0}.lsec:first-of-type{padding-top:22px}.lsec-h{letter-spacing:-.015em;margin-bottom:14px;font-size:18px;font-weight:800}.lsec-sub{color:var(--text-3);margin:-8px 0 14px;font-size:12.5px}.lsec .prose{padding:0}.lsec .tg-msg{margin-top:0}.lsec .tg-msg+.prose{margin-top:20px}.tg-msg{align-items:flex-start;gap:12px;margin:18px 0 2px;display:flex}.tg-av{background:linear-gradient(135deg,var(--accent),#7a6a00);border-radius:50%;flex:none;place-items:center;width:44px;height:44px;display:grid;overflow:hidden}.tg-av img{object-fit:cover;width:100%;height:100%;display:block}.tg-av .av-l{color:var(--on-accent);font-size:17px;font-weight:800}.tg-bubble{background:var(--panel-2);color:var(--text);border-radius:6px 18px 18px;max-width:78%;padding:12px 16px;font-size:14.5px;line-height:1.55;position:relative}.tg-bubble .nm{color:var(--accent);align-items:center;gap:7px;margin-bottom:4px;font-size:12.5px;font-weight:700;display:flex}.tg-role{font-family:var(--mono);text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);background:var(--hover);border-radius:20px;padding:1px 6px;font-size:9.5px;font-weight:600}.tg-bubble:before{content:"";border:7px solid #0000;border-top-color:var(--panel-2);border-right-color:var(--panel-2);position:absolute;top:2px;left:-6px}.player .live{font-family:var(--mono);color:#fff;background:#0000008c;border-radius:20px;align-items:center;gap:6px;padding:3px 9px;font-size:11px;display:flex;position:absolute;top:12px;right:14px}.player .live .ld{background:var(--good);width:7px;height:7px;box-shadow:0 0 0 0 var(--good);border-radius:50%;animation:2s infinite lpulse}@keyframes lpulse{0%{box-shadow:0 0 #4fd06a80}70%{box-shadow:0 0 0 6px #4fd06a00}to{box-shadow:0 0 #4fd06a00}}.chapters{background:var(--frame);border:1px solid var(--frame-line);border-radius:18px;margin-top:18px;padding:20px 22px}.chapters-h{margin-bottom:14px}.chapters-h h3{letter-spacing:-.01em;font-size:17px;font-weight:800}.chapters-h span{color:var(--text-3);margin-top:3px;font-size:12.5px;display:block}.chap-list{flex-direction:column;display:flex}.chap{border:none;border-top:1px solid var(--div);text-align:left;background:0 0;align-items:center;gap:14px;width:100%;padding:11px 4px;transition:padding-left .1s;display:flex}.chap:hover{padding-left:10px}.chap .tc{font-family:var(--mono);color:var(--on-accent);background:var(--accent);text-align:center;border-radius:7px;flex:none;min-width:54px;padding:3px 8px;font-size:12px;font-weight:700}.chap .ct{color:var(--text-2);font-size:14px;font-weight:500}.chap:hover .ct{color:var(--text)}.acc{border:1px solid var(--frame-line);background:color-mix(in srgb,var(--text) 2.5%,transparent);border-radius:12px}.acc>summary{cursor:pointer;color:var(--text);border-radius:11px;align-items:center;gap:10px;padding:14px 16px;font-size:15px;font-weight:700;list-style:none;transition:background .12s;display:flex}.acc>summary::-webkit-details-marker{display:none}.acc>summary:hover{background:var(--hover)}.acc>summary .acc-s{color:var(--text-3);margin-left:auto;font-size:12px;font-weight:500}.acc>summary .acc-ic{color:var(--text-3);flex:none;transition:transform .18s;display:grid}.acc[open]>summary{border-bottom:1px solid var(--frame-line);border-radius:11px 11px 0 0}.acc[open]>summary .acc-ic{transform:rotate(180deg)}.acc[open]>summary .acc-s{visibility:hidden}.acc-b{padding:2px 16px 16px}.hwbox{border:1px dashed var(--accent);background:var(--sel);border-radius:8px;padding:17px}.fileline{border:1px solid var(--frame-line);background:color-mix(in srgb,var(--text) 3%,transparent);border-radius:8px;align-items:center;gap:12px;margin-bottom:9px;padding:11px 13px;display:flex}.fileline .fi{width:36px;height:36px;font-family:var(--mono);color:#fff;border-radius:7px;flex:none;place-items:center;font-size:9px;font-weight:700;display:grid}.fileline .fn{color:var(--text);font-size:13.5px;font-weight:600}.fileline .fs{font-family:var(--mono);color:var(--text-3);font-size:11px}.fileline .dl{color:var(--accent);margin-left:auto}.rpanel{background:var(--panel);border-left:1px solid var(--edge);min-height:0;overflow-y:auto}.insp-h{border-bottom:1px solid var(--div);align-items:center;gap:8px;padding:13px 16px;display:flex}.insp-h h3{text-transform:uppercase;letter-spacing:.04em;color:var(--text-2);font-size:13px;font-weight:700}.insp-sec{border-bottom:1px solid var(--div);padding:15px 16px}.insp-sec .sh{text-transform:uppercase;letter-spacing:.05em;color:var(--text-3);margin-bottom:10px;font-size:11px;font-weight:700}.prop{justify-content:space-between;align-items:center;padding:5px 0;font-size:13px;display:flex}.prop .k{color:var(--text-3);font-family:var(--mono);text-transform:uppercase;letter-spacing:.03em;font-size:11.5px}.prop .v{color:var(--text);font-weight:600;font-family:var(--mono);font-variant-numeric:tabular-nums}.desc-txt{color:var(--text-2);font-size:13.5px;line-height:1.55}.bar{background:color-mix(in srgb,var(--text) 12%,transparent);border-radius:20px;height:6px;overflow:hidden}.bar>i{background:var(--accent);height:100%;display:block}.btn{border:1px solid var(--div);background:var(--panel-2);border-radius:11px;justify-content:center;align-items:center;gap:8px;width:100%;padding:11px 16px;font-size:13px;font-weight:600;display:inline-flex}.btn:hover{border-color:var(--text-3)}.btn.primary{background:var(--accent);color:var(--on-accent);border-color:var(--accent)}.btn.primary:hover{background:var(--accent-press);border-color:var(--accent-press)}.btn.sm{width:auto;padding:7px 11px;font-size:12px}.mini-lessons{flex-direction:column;gap:1px;display:flex}.ml{text-align:left;color:var(--text-2);background:0 0;border:none;border-radius:5px;align-items:center;gap:8px;width:100%;padding:6px 8px;font-size:12.5px;display:flex}.ml:hover{background:var(--hover)}.ml.on{color:var(--accent);background:var(--sel)}.ml .n{font-family:var(--mono);color:var(--text-3);width:16px;font-size:10px}.ml.on .n{color:var(--accent)}.ml .c{color:var(--good);margin-left:auto}.insp-actions{flex-direction:column;gap:9px;padding:14px 16px;display:flex}.row2{gap:9px;display:flex}.row2 .btn{flex:1}.tag{font-family:var(--mono);text-transform:uppercase;letter-spacing:.04em;background:var(--sel);color:var(--accent);border-radius:20px;padding:3px 8px;font-size:11px;font-weight:600}.tag.good{background:color-mix(in srgb,var(--good) 18%,transparent);color:var(--good)}.tag.purple{background:var(--sel2);color:var(--purple)}.btn.purple{background:var(--purple);color:#fff;border-color:var(--purple)}.btn.purple:hover{background:var(--purple-press);border-color:var(--purple-press)}.page-row.on.rec-on{background:var(--panel-2);color:var(--text)}.rec-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;display:grid}.rec-card{text-align:left;background:var(--frame);border:1px solid var(--frame-line);border-radius:16px;padding:0;transition:transform .1s,border-color .1s;display:block;overflow:hidden}.rec-card:hover{border-color:var(--purple);transform:translateY(-3px)}.rec-card .rt{aspect-ratio:16/9;display:block;position:relative;overflow:hidden}.rec-card .rb,.rec-card .rttl{display:block}.lib-sec{margin-bottom:24px}.lib-h{align-items:center;gap:10px;margin-bottom:12px;display:flex}.lib-ic{width:28px;height:28px;font-family:var(--mono);border-radius:7px;flex:none;place-items:center;font-size:11px;font-weight:800;display:grid}.lib-h h3{color:var(--text);font-size:16px;font-weight:800}.lib-h .lib-cnt{font-family:var(--mono);color:var(--text-3);border:1px solid var(--frame-line);border-radius:20px;margin-left:auto;padding:2px 9px;font-size:11px}.lib-grid{columns:2;column-gap:16px}.lib-card{background:var(--frame);border:1px solid var(--frame-line);break-inside:avoid;-webkit-column-break-inside:avoid;border-radius:16px;margin:0 0 16px;padding:17px 20px 6px}.lib-card .lib-h{border-bottom:1px solid var(--frame-line);margin-bottom:0;padding-bottom:13px}.lib-list{flex-direction:column;display:flex}.lib-item{text-align:left;border:none;border-bottom:1px solid var(--div);width:100%;color:var(--text-2);background:0 0;align-items:center;gap:12px;padding:11px 2px;font-size:13.5px;line-height:1.35;transition:color .12s,padding-left .12s;display:flex}.lib-item:last-child{border-bottom:none}.lib-item:hover{color:var(--text);padding-left:6px}.lib-item .li-t{flex:1;min-width:0}.lib-item .li-go{color:var(--text-3);opacity:.5;flex:none;transition:opacity .12s,color .12s,transform .12s;display:grid}.lib-item:hover .li-go{opacity:1;color:var(--accent);transform:translate(2px,-2px)}.home-hero{margin-bottom:22px}.home-hero .tag{margin-bottom:14px;display:inline-block}.home-hero h1{color:var(--text);letter-spacing:-.01em;font-size:32px;font-weight:800;line-height:1.15}.home-lead{color:var(--text-2);max-width:64ch;margin-top:14px;font-size:15px;line-height:1.7}.home-video{border:1px solid var(--frame-line);background:var(--frame);border-radius:16px;overflow:hidden}.home-video .player{border-bottom:1px solid var(--frame-line)}.home-vcap{color:var(--text-3);padding:12px 16px;font-size:13px}.home-cta{background:var(--frame);border:1px solid var(--frame-line);border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-top:22px;padding:20px 22px;display:flex}.home-cta h3{color:var(--text);font-size:17px;font-weight:800}.home-cta p{color:var(--text-3);max-width:52ch;margin-top:5px;font-size:13.5px}.ach-grid{grid-template-columns:1fr 1fr;gap:16px;margin-bottom:26px;display:grid}.ach-card{padding:20px 22px!important}.ach-h{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:16px;display:flex}.ach-h h3{color:var(--text);font-size:16px;font-weight:800}.ach-total{font-family:var(--mono);color:var(--accent);font-size:20px;font-weight:800}.inc-chart{align-items:flex-end;gap:12px;min-height:150px;padding:8px 2px 0;display:flex}.inc-bar{flex-direction:column;flex:1;align-items:center;gap:7px;min-width:0;display:flex}.ib-track{background:var(--hover);border-radius:8px 8px 4px 4px;align-items:flex-end;width:100%;max-width:52px;height:110px;display:flex;overflow:hidden}.ib-track i{background:linear-gradient(180deg,var(--accent),color-mix(in srgb,var(--accent) 55%,var(--purple)));border-radius:8px 8px 0 0;width:100%;min-height:4px;display:block}.ib-amt{font-family:var(--mono);color:var(--text);font-size:12px;font-weight:700}.ib-lab{color:var(--text-3);text-align:center;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;max-width:80px;font-size:10.5px;line-height:1.25;display:-webkit-box;overflow:hidden}.inc-form{border-top:1px solid var(--frame-line);gap:9px;margin-top:16px;padding-top:16px;display:flex}.inc-form input{background:var(--frame);border:1px solid var(--frame-line);min-width:0;color:var(--text);border-radius:8px;flex:1;padding:9px 12px;font-size:13px}.inc-form input:focus{border-color:var(--accent);outline:none}.miles{flex-direction:column;gap:9px;display:flex}.mile{border:1px solid var(--frame-line);background:var(--frame);opacity:.6;border-radius:12px;align-items:center;gap:13px;padding:11px 14px;display:flex}.mile.on{opacity:1;border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:var(--sel)}.mile-p{font-family:var(--mono);color:var(--text);flex:none;width:44px;font-size:16px;font-weight:800}.mile.on .mile-p{color:var(--accent)}.mile-mid{flex:1;min-width:0}.mile-km{color:var(--text);font-size:13px;font-weight:700}.mile-s{color:var(--text-3);margin-top:2px;font-size:11px}.mile-badge{width:24px;height:24px;color:var(--text-3);background:var(--hover);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:800;display:grid}.mile.on .mile-badge{background:var(--accent);color:var(--on-accent)}.donut-wrap{align-items:center;gap:20px;padding:6px 0 4px;display:flex}.donut{width:132px;height:132px;box-shadow:inset 0 0 0 1px var(--frame-line);border-radius:50%;flex:none;position:relative}.donut-hole{background:var(--frame);text-align:center;border-radius:50%;place-items:center;display:grid;position:absolute;inset:26px}.donut-hole b{font-family:var(--mono);color:var(--text);font-size:22px;font-weight:800;line-height:1}.inc-coins{border-top:1px solid var(--frame-line);margin-top:14px;padding-top:14px}.ic-h{color:var(--text-2);margin-bottom:9px;font-size:12px;font-weight:700;display:block}.imiles{gap:9px;display:flex}.imile{border:1px solid var(--frame-line);background:var(--frame);opacity:.6;border-radius:12px;flex-direction:column;flex:1;gap:2px;min-width:0;padding:10px 12px;display:flex}.imile.on{opacity:1;border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:var(--sel)}.imile .im-top{justify-content:space-between;align-items:center;gap:8px;margin-bottom:3px;display:flex}.imile .im-th{font-family:var(--mono);color:var(--text);white-space:nowrap;font-size:12.5px;font-weight:800}.imile.on .im-th{color:var(--accent)}.imile .im-badge{width:20px;height:20px;color:var(--text-3);background:var(--hover);border-radius:50%;flex:none;place-items:center;font-size:11px;font-weight:800;display:grid}.imile.on .im-badge{background:var(--accent);color:var(--on-accent)}.imile .im-km{color:var(--text);font-size:12.5px;font-weight:700;line-height:1.2}.imile .im-s{color:var(--text-3);font-size:10.5px}.leg-x{color:var(--text-3);opacity:.4;cursor:pointer;background:0 0;border:none;flex:none;margin-left:2px;padding:0 2px;font-size:16px;line-height:1}.leg-x:hover{opacity:1;color:#ff5c5c}.donut-legend{flex-direction:column;flex:1;gap:9px;min-width:0;display:flex}.leg{align-items:center;gap:9px;font-size:13px;display:flex}.leg-dot{border-radius:3px;flex:none;width:11px;height:11px}.leg-t{min-width:0;color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.leg-a{font-family:var(--mono);color:var(--text);flex:none;font-size:12px;font-weight:700}.home-feats{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.feat{color:var(--text-2);background:var(--frame);border:1px solid var(--frame-line);border-radius:20px;align-items:center;gap:8px;padding:7px 14px 7px 12px;font-size:13px;display:inline-flex}.feat svg{color:var(--accent);flex:none}.home-note{background:var(--sel);border:1px solid color-mix(in srgb,var(--accent) 32%,transparent);border-left:3px solid var(--accent);color:var(--text-2);border-radius:0 10px 10px 0;margin-top:16px;padding:13px 16px;font-size:14px}.home-note b{color:var(--text)}.player.has-poster{background-position:50%;background-size:cover}.player.has-poster:before{content:"";z-index:0;background:linear-gradient(#0003,#0000008c);position:absolute;inset:0}.player.has-poster .rec,.player.has-poster .wm,.player.has-poster .pbtn{z-index:1}.player.has-poster .rec{left:auto;right:14px}.shop-av{background-position:50%;background-size:cover}.shop-buy{font-family:var(--mono);align-items:center;gap:6px;font-weight:700;display:inline-flex}.cart-ic{flex:none}.tariff-badge{color:var(--text-2);background:var(--panel-2);border:1px solid var(--frame-line);border-radius:7px;align-items:center;gap:5px;padding:6px 12px;font-size:12.5px;display:inline-flex}.tariff-badge b{color:var(--good);font-weight:700}.tariff-badge.lib b{color:var(--accent)}.tsel{background:var(--panel-2);border:1px solid var(--frame-line);color:var(--good);cursor:pointer;border-radius:7px;padding:5px 9px;font-size:12px;font-weight:600}.tsel.lib{color:var(--accent)}.km-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px;display:flex}.km-head h3{color:var(--text);font-size:17px;font-weight:800}.km-head p{color:var(--text-3);margin-top:4px;font-size:13px}.km-head p b{color:var(--accent)}.km-bal{font-family:var(--mono);color:var(--text);align-items:center;gap:8px;font-size:22px;font-weight:800;display:flex}.km-coin{background:var(--accent);width:30px;height:30px;color:var(--on-accent);border-radius:50%;place-items:center;font-size:11px;font-weight:800;display:grid}.km-sub{font-family:var(--sans,inherit);color:var(--text-3);font-size:12px;font-weight:500}.shop-item{border-bottom:1px solid var(--frame-line);align-items:center;gap:14px;padding:15px 18px;display:flex}.shop-item:last-child{border-bottom:none}.shop-ic{color:#fff;width:42px;height:42px;font-family:var(--mono);border-radius:11px;flex:none;place-items:center;font-size:13px;font-weight:800;display:grid}.shop-t{color:var(--text);font-size:14px;font-weight:700}.shop-d{color:var(--text-3);margin-top:2px;font-size:12.5px}.rec-card .rt .pl{place-items:center;display:grid;position:absolute;inset:0}.rec-card .rt .plc{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;background:#00000073;border:1.5px solid #fff9;border-radius:50%;place-items:center;width:48px;height:48px;display:grid}.rec-card .rt .dur{color:#fff;font-family:var(--mono);background:#000000bf;border-radius:4px;padding:2px 6px;font-size:11px;position:absolute;bottom:8px;right:8px}.rec-card .rt .kind{position:absolute;top:8px;left:8px}.rec-card .rb{padding:13px 14px 15px}.rec-card .rttl{color:var(--text);font-size:14px;font-weight:700;line-height:1.25}.rec-card .rmeta{font-family:var(--mono);color:var(--text-3);margin-top:7px;font-size:11px}.page-frame{max-width:860px}.banner-slot{aspect-ratio:40/9;border:2px dashed var(--frame-line);text-align:center;width:100%;color:var(--text-3);background:var(--frame);border-radius:18px;place-items:center;margin-bottom:26px;display:grid}.banner-slot .bl{color:var(--text-2);letter-spacing:-.01em;font-size:18px;font-weight:800}.banner-slot .bs{font-family:var(--mono);color:var(--text-3);margin-top:6px;font-size:12px}.banner-slot.has-img{background:0 0;border:none;padding:0;overflow:hidden}.banner-slot.has-img img{object-fit:cover;width:100%;height:100%;display:block}.pf-head{margin-bottom:20px}.pf-head h1{color:var(--text);font-size:26px;font-weight:800}.pf-head p{color:var(--text-3);margin:8px 0 0;font-size:14px}.card{background:var(--frame);border:1px solid var(--frame-line);border-radius:16px;padding:0;overflow:hidden}.event{border-bottom:1px solid var(--frame-line);grid-template-columns:76px 1fr auto;align-items:center;gap:16px;padding:15px 18px;display:grid}.event:last-child{border-bottom:none}.event .dt{text-align:center;border-right:1px solid var(--frame-line);padding-right:14px}.event .dt .d{color:var(--text);font-size:26px;font-weight:800}.event .dt .mo{font-family:var(--mono);text-transform:uppercase;color:var(--text-3);font-size:10px}.event .et{color:var(--text);font-size:15px;font-weight:700}.event .em{font-family:var(--mono);color:var(--text-3);flex-wrap:wrap;gap:14px;margin-top:4px;font-size:11.5px;display:flex}.event.past{opacity:.5}.req{border-bottom:1px solid var(--frame-line);flex-wrap:wrap;align-items:center;gap:10px 12px;padding:13px 18px;display:flex}.req:last-child{border-bottom:none}.req .a{flex-shrink:0}.req .nm{color:var(--text);font-size:14px;font-weight:700}.req .em{font-family:var(--mono);color:var(--text-3);font-size:11.5px}.req .a{gap:8px;margin-left:auto;display:flex}.req.rq{flex-wrap:nowrap}.req.rq .rq-txt{flex:1;min-width:0}.req.rq .rq-txt .em{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.req.rq .when{font-family:var(--mono);color:var(--text-3);margin-top:3px;font-size:11px}.req.rq .a{align-self:center}.req.mod-row .rq-txt{min-width:0}.row2 .fld{flex:1 1 0;min-width:0}.mav{background:var(--accent);width:32px;height:32px;color:var(--on-accent);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:700;display:grid}.ib{border:1px solid var(--div);background:var(--panel-2);border-radius:7px;place-items:center;width:34px;height:34px;display:grid}.ib.ok{background:var(--good);color:#fff;border-color:var(--good)}.ib.no{color:var(--accent)}.fld{flex-direction:column;gap:6px;margin:0 18px 12px;display:flex}.fld:first-child{margin-top:16px}.fld .l{font-family:var(--mono);text-transform:uppercase;color:var(--text-3);letter-spacing:.04em;font-size:11px}.fld input,.fld select{border:1px solid var(--div);background:var(--canvas);color:var(--text);font-family:var(--font);border-radius:6px;padding:9px 11px;font-size:13.5px}.fld input:focus,.fld select:focus{border-color:var(--accent);outline:none}.fld textarea{border:1px solid var(--div);background:var(--canvas);color:var(--text);font-family:var(--font);resize:vertical;border-radius:8px;padding:10px 11px;font-size:13.5px}.fld textarea:focus{border-color:var(--accent);outline:none}.fld .fh{color:var(--text-3);font-size:11.5px}.ed-card{padding:8px 20px 18px!important}.ed-card .fld{margin:16px 0 0}.ed-card .fld:first-child{margin-top:8px}.ed-card .row2{gap:14px;margin-top:16px}.ed-card .row2 .fld{margin:0}.upload{border:1px dashed var(--div);border-radius:10px;align-items:center;gap:13px;padding:13px 15px;display:flex}.upload .up-ic{background:var(--sel);width:40px;height:40px;color:var(--accent);border-radius:9px;flex:none;place-items:center;display:grid}.tc-row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.tc-row input{border:1px solid var(--div);background:var(--canvas);min-width:0;color:var(--text);font-size:13px;font-family:var(--font);border-radius:6px;flex:1;padding:8px 10px}.tc-row .tc-in{font-family:var(--mono);flex:0 0 84px}.icon-x{border:1px solid var(--div);background:var(--panel-2);width:30px;height:30px;color:var(--text-2);border-radius:6px;flex:none;font-size:18px;line-height:1}.icon-x:hover{color:var(--accent);border-color:var(--accent)}.editor-actions{align-items:center;gap:10px;margin-top:20px;display:flex}.btn.danger{color:#ff5c5c;border-color:color-mix(in srgb,#ff5c5c 40%,var(--div))}.cm-row{border-bottom:1px solid var(--frame-line);align-items:center;gap:10px;padding:11px 16px;display:flex}.cm-row:last-child{border-bottom:none}.tb-contact{border:1px solid var(--div);background:var(--panel-2);color:var(--text);border-radius:20px;align-items:center;gap:7px;padding:6px 12px;font-size:12.5px;font-weight:600;display:inline-flex}.tb-contact:hover{border-color:var(--accent)}.tb-contact .cav{object-fit:cover;border-radius:50%;width:20px;height:20px}.tb-contact svg{color:var(--accent)}table.tbl{border-collapse:collapse;width:100%}table.tbl th{font-family:var(--mono);text-transform:uppercase;color:var(--text-3);text-align:left;border-bottom:1px solid var(--frame-line);padding:10px 18px;font-size:11px}table.tbl td{border-bottom:1px solid var(--frame-line);color:var(--text);padding:11px 18px;font-size:13.5px}table.tbl tr:last-child td{border-bottom:none}.banner{background:var(--sel);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);color:var(--text);border-radius:8px;align-items:center;gap:12px;margin-bottom:18px;padding:12px 16px;font-size:13.5px;display:flex}.split{grid-template-columns:1fr 1fr;gap:16px;display:grid}.empty{text-align:center;color:var(--text-3);font-family:var(--mono);padding:26px;font-size:12px}.toast{background:var(--accent);color:var(--on-accent);z-index:100;border-radius:8px;padding:11px 18px;font-size:13.5px;font-weight:600;transition:transform .3s cubic-bezier(.2,.8,.2,1);position:fixed;bottom:24px;left:50%;transform:translate(-50%)translateY(150%);box-shadow:0 10px 40px #0006}.toast.show{transform:translate(-50%)translateY(0)}.scrim,.lp-tools,.lp-bottom,.mtl{display:none}@media (max-width:820px){:root{--tbh:54px;--cpad:16px}.toolbar{align-items:center;gap:10px;padding:0 12px;display:flex}.tb-left{border-right:none;flex:none;gap:9px;padding:0}.tb-main{flex:1;min-width:0;padding:0}.tb-right{gap:6px}.menu-btn{width:34px;height:34px;display:grid}.tb-brandtext b{font-size:14px}.tb-brandtext span{display:none}.tb-contact{border-radius:50%;padding:7px}.tb-av{width:32px;height:32px}.body{grid-template-columns:1fr}.lpanel{top:var(--tbh);z-index:45;border-right:none;border-left:1px solid var(--edge);width:min(86vw,320px);padding-bottom:env(safe-area-inset-bottom);transition:transform .24s cubic-bezier(.3,.8,.3,1);position:fixed;bottom:0;left:auto;right:0;transform:translate(101%);box-shadow:0 0 40px #0000008c}.lpanel.open{transform:none}.lp-bottom{border-top:1px solid var(--div);padding:12px;padding-bottom:calc(12px + env(safe-area-inset-bottom));flex:none;display:block}.lp-bottom .tb-contact{border-radius:11px;justify-content:center;width:100%;padding:11px 14px;font-size:13.5px}.lp-bottom .tb-contact .ct-tx{display:inline}.scrim{top:var(--tbh);z-index:44;opacity:0;pointer-events:none;background:#00000080;transition:opacity .24s;display:block;position:fixed;bottom:0;left:0;right:0}.lpanel.open~.scrim{opacity:1;pointer-events:auto}.lp-tools{border-bottom:1px solid var(--div);flex-wrap:wrap;align-items:center;gap:8px;padding:11px 12px;display:flex}.page-row{padding:11px 12px;font-size:14px}.lrow{padding:9px 8px 9px 12px;font-size:13.5px}.mod-h{padding:10px 8px;font-size:13px}.lp-sec-h{padding:12px 14px 8px}.canvas-inner{padding:16px var(--cpad) calc(64px + env(safe-area-inset-bottom))}.frame{border-radius:14px}.frame-body{padding:18px 16px 24px}.frame-body h1.lt{font-size:21px}.mtl{scroll-snap-type:x proximity;scrollbar-width:none;margin:0 calc(var(--cpad) * -1) 12px;padding:2px var(--cpad) 4px;gap:8px;display:flex;overflow-x:auto}.mtl::-webkit-scrollbar{display:none}.mtl-i{scroll-snap-align:center;border:1px solid var(--frame-line);background:var(--frame);width:38px;height:38px;color:var(--text-2);border-radius:50%;flex:none;place-items:center;font-size:13px;font-weight:800;transition:background .14s,color .14s,border-color .14s;display:grid;position:relative}.mtl-i:after{content:"";background:var(--frame-line);width:8px;height:1px;position:absolute;top:50%;left:100%}.mtl-i:last-child:after{display:none}.mtl-i.done{border-color:color-mix(in srgb,var(--good) 50%,transparent);color:var(--good)}.mtl-i.soon{opacity:.4}.mtl-i.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.lesson-nav{justify-content:space-between;margin-bottom:9px}.lesson-nav .ln-mid{display:none}.lnav{padding:6px 2px;font-size:14px}.lsec{padding:20px 0}.lsec-h{font-size:16px}.tg-av{width:34px;height:34px}.tg-bubble{border-radius:4px 14px 14px;max-width:100%;padding:11px 13px;font-size:14px}.prose{font-size:14px}.chap{gap:10px}.chap .tc{min-width:48px;font-size:11.5px}.acc>summary{padding:13px 14px;font-size:14.5px}.acc-b{padding:2px 14px 14px}.split,.ach-grid{grid-template-columns:1fr}.lib-grid{columns:1}.frame-wrap.page-frame{max-width:100%}.pf-head h1{font-size:22px}.home-hero h1{font-size:24px}.home-lead{font-size:14.5px}.home-cta{padding:16px}.ach-card{padding:16px!important}.donut{width:104px;height:104px}.donut-hole{inset:20px}.donut-hole b{font-size:18px}.donut-wrap{gap:14px}.inc-form{flex-wrap:wrap;gap:8px}.inc-form input{flex:calc(50% - 4px);min-width:0}.inc-form input[type=number]{max-width:none!important}.inc-form .btn{flex:100%;width:100%!important}.imiles{flex-wrap:wrap}.imile{min-width:96px}.shop-item{flex-wrap:wrap;row-gap:10px;padding:14px}.shop-buy{margin-left:auto}.lib-card{padding:15px 16px 4px}.event{grid-template-columns:58px 1fr;row-gap:10px}.event>:last-child{grid-column:1/-1}table.tbl{min-width:0;display:block}table.tbl thead{display:none}table.tbl tbody,table.tbl tr,table.tbl td{width:100%;display:block}table.tbl tr{border-bottom:1px solid var(--frame-line);padding:14px 16px}table.tbl tr:last-child{border-bottom:none}table.tbl td{border:none;align-items:center;gap:10px;padding:0;font-size:13.5px;display:flex}table.tbl td+td{margin-top:9px}table.tbl td:before{content:attr(data-l);font-family:var(--mono);text-transform:uppercase;letter-spacing:.04em;color:var(--text-3);flex:0 0 88px;font-size:10.5px}table.tbl td:first-child{padding-bottom:4px;font-size:15px;font-weight:700}table.tbl td:first-child:before{display:none}.req.mod-row{flex-wrap:wrap;align-items:flex-start}.req.mod-row .rq-txt{flex:1 1 0}.req.mod-row .a{flex:100%;gap:10px;margin-left:0}.req.mod-row .a .btn{flex:1 1 0;width:auto}.row2{flex-wrap:wrap}.row2 .fld{flex:100%}input,textarea{font-size:16px!important}.fld select{font-size:16px}.tsel{padding:6px 10px;font-size:13px;font-weight:600}}@media (max-width:420px){:root{--cpad:12px}.frame-body h1.lt{font-size:19px}.home-hero h1{font-size:22px}.pf-head h1{font-size:20px}}@media (hover:none){.chap:hover{padding-left:4px}.lib-item:hover{padding-left:2px}.lib-item:hover .li-go{color:var(--text-3);opacity:.5;transform:none}.rec-card:hover{border-color:var(--frame-line);transform:none}.resume:hover{border-color:color-mix(in srgb,var(--accent) 55%,transparent);transform:none}.lnav:hover{color:var(--text-3);transform:none}.page-row:hover,.lrow:hover,.mod-h:hover,.acc>summary:hover,.tb-ico:hover{background:0 0}.page-row.on{background:var(--panel-2)}.lrow.on{background:var(--sel)}}.auth{z-index:200;color:var(--text);background:radial-gradient(80% 60% at 76% 26%, color-mix(in srgb,var(--accent) 12%,transparent), transparent 55%), radial-gradient(70% 60% at 44% 108%, #ffffff0d, transparent 60%), #08080a;display:none;position:fixed;inset:0;overflow:hidden}.auth.show{display:block}.auth:before{content:"";pointer-events:none;opacity:.5;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:42px 42px;position:absolute;inset:0}.auth-plate{z-index:0;background:linear-gradient(160deg,#141419,#0c0c0f 70%);border:1px solid #ffffff0f;border-radius:40px;width:min(920px,60%);position:absolute;top:5%;bottom:5%;right:2.5%;box-shadow:0 40px 120px -40px #000c,inset 0 1px #ffffff0d}.auth-photo{z-index:1;pointer-events:none;filter:drop-shadow(0 30px 60px #00000080);width:auto;height:98%;max-height:1010px;position:absolute;bottom:0;left:52%;transform:translate(-50%);-webkit-mask-image:linear-gradient(#000 84%,#0000 99%);mask-image:linear-gradient(#000 84%,#0000 99%)}.auth-brand{z-index:4;align-items:center;gap:11px;display:flex;position:absolute;top:34px;left:46px}.auth-logo{border-radius:11px;width:42px;height:42px}.auth-brand b{font-size:15px;font-weight:800;display:block}.auth-brand span{color:var(--text-3);text-transform:lowercase;font-size:11px}.auth-foot{z-index:4;font-family:var(--mono);color:var(--text-3);font-size:11px;position:absolute;bottom:30px;left:46px}.auth-stage{z-index:3;grid-template-columns:1fr 400px;align-items:center;gap:40px;max-width:1440px;height:100%;margin:0 auto;padding:104px clamp(28px,5vw,72px) 80px;display:grid;position:relative}.auth-hero{max-width:clamp(320px,36vw,520px)}.auth-hero h1{letter-spacing:-.025em;font-size:clamp(32px,3.6vw,48px);font-weight:800;line-height:1.08}.auth-feat{flex-direction:column;gap:15px;margin:32px 0 0;padding:0;list-style:none;display:flex}.auth-feat li{color:var(--text-2);padding-left:32px;font-size:15.5px;position:relative}.auth-feat li:before{content:"✓";background:var(--accent);width:22px;height:22px;color:var(--on-accent);border-radius:50%;place-items:center;font-size:12px;font-weight:800;display:grid;position:absolute;top:0;left:0}.auth-right{justify-self:end;place-items:center;width:100%;display:grid}.auth-card{-webkit-backdrop-filter:blur(24px)saturate(1.35);backdrop-filter:blur(24px)saturate(1.35);background:#1212168c;border:1px solid #ffffff1a;border-radius:22px;flex-direction:column;justify-content:center;width:100%;max-width:400px;min-height:652px;padding:26px 26px 24px;display:flex;position:relative;box-shadow:0 40px 100px -30px #000000bf,inset 0 1px #ffffff17}.auth-tabs{background:#00000059;border:1px solid #ffffff0f;border-radius:11px;margin-bottom:22px;padding:3px;display:flex}.auth-tabs button{color:var(--text-2);background:0 0;border:none;border-radius:8px;flex:1;padding:10px;font-size:14px;font-weight:600;transition:background .14s,color .14s}.auth-tabs button.on{background:var(--accent);color:var(--on-accent)}.auth-card h2{letter-spacing:-.015em;font-size:24px;font-weight:800}.auth-sub{color:var(--text-3);margin:6px 0 20px;font-size:13.5px}.afld{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.afld span{color:var(--text-2);font-size:12px;font-weight:600}.afld input{color:var(--text);font-size:14px;font-family:var(--font);background:#0000004d;border:1px solid #ffffff1f;border-radius:11px;padding:12px 14px}.afld input:focus{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent);outline:none}.auth-row{color:var(--text-2);justify-content:space-between;align-items:center;margin:2px 0 18px;font-size:12.5px;display:flex}.auth-row .chk{cursor:pointer;align-items:center;gap:7px;display:flex}.auth-row a{color:var(--accent);cursor:pointer}.auth-btn{border-radius:12px;width:100%;margin-bottom:11px;padding:13px;font-size:14.5px}.tg-btn{background:#ffffff0a;border:1px solid #ffffff1f;border-radius:12px;width:100%;padding:12px}.tg-btn:hover{background:#ffffff14}.auth-note{color:var(--text-3);text-align:center;margin:14px 0 0;font-size:11.5px;line-height:1.5}.auth-switch{text-align:center;color:var(--text-3);cursor:pointer;margin-top:20px;font-size:12.5px}.auth-switch:hover{color:var(--text)}@media (max-width:1080px){.auth-plate{width:64%;right:0}.auth-photo{left:45%}.auth-stage{grid-template-columns:1fr 380px}}@media (max-width:820px){.auth-photo,.auth-plate,.auth-foot{display:none}.auth-stage{grid-template-columns:1fr;place-items:center;padding:0 20px}.auth-hero{display:none}.auth-right{justify-self:center}.auth-card{min-height:0;padding:22px 20px 20px}.auth-card h2{font-size:21px}}@media (max-width:900px){.tb-contact .ct-tx{display:none}.tb-contact{padding:6px}}@media (prefers-reduced-motion:reduce){*{transition:none!important}}@keyframes frameIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes growX{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes popIn{0%{opacity:0;transform:translateY(8px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes coinSpin{0%{transform:rotateY(0)}to{transform:rotateY(360deg)}}@keyframes softGlow{0%,to{box-shadow:0 0 0 0 color-mix(in srgb,var(--accent) 0%,transparent)}50%{box-shadow:0 0 22px 0 color-mix(in srgb,var(--accent) 34%,transparent)}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.canvas-inner>*{animation:.34s cubic-bezier(.22,.61,.36,1) both frameIn}.bar>i,.fbar>i{transform-origin:0;animation:.7s cubic-bezier(.22,.61,.36,1) both growX}.btn{transition:transform 80ms,background .12s,border-color .12s,box-shadow .15s}.btn:active{transform:translateY(1px)}.btn.primary{box-shadow:0 4px 16px -6px color-mix(in srgb,var(--accent) 55%,transparent)}.btn.primary:hover{box-shadow:0 6px 22px -6px color-mix(in srgb,var(--accent) 70%,transparent);transform:translateY(-1px)}.player .pbtn{transition:transform .14s cubic-bezier(.34,1.56,.64,1),background .12s}.player .pbtn:hover{transform:scale(1.08)}.shop-item{transition:background .14s}.shop-item:hover{background:var(--hover)}.mile{transition:transform .14s,border-color .14s}.mile.on:hover{transform:translate(2px)}.feat{transition:transform .12s,border-color .12s,color .12s}.feat:hover{border-color:color-mix(in srgb,var(--accent) 45%,transparent);color:var(--text);transform:translateY(-2px)}.rec-card,.req,.cm-row,tr{transition:background .14s}.page-row,.lrow{transition:background .12s,color .12s}.leg{transition:opacity .12s}.home-feats .feat{animation:.4s both popIn}.home-feats .feat:first-child{animation-delay:20ms}.home-feats .feat:nth-child(2){animation-delay:70ms}.home-feats .feat:nth-child(3){animation-delay:.12s}.home-feats .feat:nth-child(4){animation-delay:.17s}.home-feats .feat:nth-child(5){animation-delay:.22s}.card .shop-item{animation:.4s both popIn}.card .shop-item:first-child{animation-delay:30ms}.card .shop-item:nth-child(2){animation-delay:.1s}.card .shop-item:nth-child(3){animation-delay:.17s}.donut{animation:.5s cubic-bezier(.22,.61,.36,1) both popIn}.km-coin{animation:3.4s ease-in-out infinite softGlow}.km-bal:hover .km-coin{animation:.7s coinSpin}.shop-ic{transition:transform .16s cubic-bezier(.34,1.56,.64,1)}.shop-item:hover .shop-ic{transform:scale(1.07)rotate(-3deg)}input,textarea,select{transition:border-color .14s,box-shadow .14s}input:focus,textarea:focus,select:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 16%,transparent)}
.auth-error,.auth-ok{border-radius:10px;margin:2px 0 12px;padding:10px 12px;font-size:13px;line-height:1.45}.auth-error{color:#ff8f8f;background:#ff5c5c1a;border:1px solid #ff5c5c52}.auth-ok{color:var(--good);background:color-mix(in srgb, var(--good) 14%, transparent);border:1px solid color-mix(in srgb, var(--good) 38%, transparent)}.btn[disabled],.auth-btn[disabled]{opacity:.6;pointer-events:none}.auth-card{min-height:0}.auth-hero{align-self:center;margin-top:0}@media (min-width:821px) and (max-height:760px){.auth-stage{padding-top:60px;padding-bottom:44px}.auth-feat{gap:12px;margin-top:24px}}.gate{background:var(--canvas);place-items:center;min-height:100dvh;padding:24px;display:grid}.gate-card{background:var(--frame);border:1px solid var(--frame-line);text-align:center;border-radius:18px;width:100%;max-width:460px;padding:30px 28px 26px}.gate-card .gate-ic{background:var(--sel);width:54px;height:54px;color:var(--accent);border-radius:50%;place-items:center;margin:0 auto 16px;display:grid}.gate-card h1{letter-spacing:-.01em;color:var(--text);font-size:22px;font-weight:800}.gate-card p{color:var(--text-2);margin-top:10px;font-size:14.5px;line-height:1.6}.gate-actions{gap:10px;margin-top:22px;display:flex}.gate-actions .btn{flex:1}.tb-logo-link{flex:none;place-items:center;display:grid}.page-row .page-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.drawer-only{display:none}.tb-only{display:contents}.lp-bottom{border-top:1px solid var(--div);padding:10px 12px calc(10px + env(safe-area-inset-bottom));flex:none;display:block}.lp-user{align-items:center;gap:10px;margin-top:8px;display:flex}.lp-user:first-child{margin-top:0}.lp-user-txt{flex:1;min-width:0}.lp-user-txt b{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;display:block;overflow:hidden}.lp-user-txt span{font-family:var(--mono);color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;display:block;overflow:hidden}.lp-signout{border:1px solid var(--div);background:var(--panel-2);width:32px;height:32px;color:var(--text-2);border-radius:8px;flex:none;place-items:center;transition:color .12s,border-color .12s;display:grid}.lp-signout:hover{color:var(--accent);border-color:var(--accent)}@media (max-width:820px){.tb-only{display:none}.drawer-only{display:block}.lp-bottom .drawer-only+.lp-user{margin-top:10px}}.soon-row{align-items:flex-start;gap:16px;display:flex}.soon-ic{background:var(--sel);width:46px;height:46px;color:var(--accent);border-radius:12px;flex:none;place-items:center;display:grid}.soon-t{color:var(--text);font-size:15px;font-weight:700}.soon-d{color:var(--text-3);max-width:56ch;margin-top:5px;font-size:13.5px;line-height:1.6}.player .kinescope{border:0;width:100%;height:100%;position:absolute;inset:0}.player-empty{text-align:center;place-items:center;gap:6px;padding:20px;display:grid}.player-empty b{color:var(--text-2);font-size:14px;font-weight:700}.player-empty span{color:var(--text-3);max-width:40ch;font-size:12.5px}.lesson-notes{white-space:pre-wrap}.lesson-blank{color:var(--text-3);border:1px dashed var(--frame-line);border-radius:12px;margin-top:20px;padding:16px;font-size:13.5px;line-height:1.6}.lrow .ldraft{font-family:var(--mono);color:var(--text-3);background:color-mix(in srgb, var(--text) 10%, transparent);border-radius:4px;flex:none;padding:1px 5px;font-size:9px;font-weight:700}.leg .leg-x{background:0 0;border:none}.leg form{display:contents}.leg-empty{color:var(--text-3);padding:6px 2px 2px;font-size:13px}.mile-note{color:var(--text-3);margin-top:12px;font-size:12px}.shop-msg{color:var(--text);background:var(--sel);border:1px solid color-mix(in srgb, var(--accent) 34%, transparent);border-radius:10px;margin-bottom:12px;padding:10px 13px;font-size:13px}img.shop-av{object-fit:cover}.shop-ic.with-icon{justify-content:center;align-items:center;gap:1px;display:flex}.shop-ic.with-icon .ic-tag{font-family:var(--mono);letter-spacing:-.03em;font-size:10.5px;font-weight:800}.lib-ic{color:#fff}.lib-src{color:var(--text-3);align-items:center;gap:8px;margin-top:4px;font-size:13px;transition:color .12s;display:inline-flex}.lib-src:hover{color:var(--text-2)}.lib-src:hover .li-go{opacity:1;color:var(--accent)}.locked-card{text-align:center;padding:34px 28px}.locked-ic{background:var(--sel);width:56px;height:56px;color:var(--accent);border-radius:50%;place-items:center;margin:0 auto 16px;display:grid}.locked-card h3{color:var(--text);font-size:19px;font-weight:800}.locked-card p{color:var(--text-2);max-width:46ch;margin:10px auto 20px;font-size:14.5px;line-height:1.6}.rec-card .rt{--rt-fallback:linear-gradient(135deg, #2b2b33, #16161a);background-color:#16161a;background-image:var(--rt-fallback);background-position:50%;background-size:cover}.rec-card .rt .pl{background:#00000047}.player .kn-frame{border:0;width:100%;height:100%;display:block;position:absolute;inset:0}.player .kn-host,.player .kn-host iframe{border:0;width:100%;height:100%;position:absolute;inset:0}.chap{cursor:pointer}.chap.chap-static{cursor:default;opacity:.75}.chap.chap-static:hover{padding-left:4px}.chap:not(.chap-static):hover .tc{background:var(--accent-press)}.fileline.no-url{opacity:.6;cursor:default}.fileline.no-url .fs{font-style:italic}.tag.warn{color:#ffb066;background:#ff9f4333}.adm-bar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:14px;display:flex}.adm-bar .adm-add{width:auto;margin-left:auto}.adm-back{width:auto;margin-bottom:16px;display:inline-flex}.adm-link{color:var(--accent)}.adm-link:hover{text-decoration:underline}.adm-sub{align-items:center;gap:10px;margin:22px 0 12px;display:flex}.adm-sub h3{color:var(--text);font-size:16px;font-weight:800}.adm-sub .btn{margin-left:auto}.mav.sm-av{vertical-align:middle;width:26px;height:26px;margin-right:9px;font-size:11px;display:inline-grid}.mav.dim{background:var(--hover);color:var(--text-2)}.td-dim{color:var(--text-3);font-size:12px}.adm-tag{vertical-align:middle;margin-left:8px}.st-name{vertical-align:middle;flex-direction:column;gap:2px;display:inline-flex}.st-since{color:var(--text-3);font-size:11px;font-weight:400}.prog-cell{align-items:center;gap:8px;display:flex}.prog-n{color:var(--text-2);font-size:11px}.prog-abs{color:var(--text-3);font-size:11px}.tbl form{margin:0}@media (min-width:821px){table.tbl th,table.tbl td:first-child,table.tbl .td-dim,table.tbl .prog-cell,table.tbl .prog-abs{white-space:nowrap}table.tbl th,table.tbl td{padding-left:14px;padding-right:14px}table.tbl .td-dim{text-overflow:ellipsis;max-width:220px;overflow:hidden}}.mod-row .mod-av{background:var(--accent);width:26px;height:26px;color:var(--on-accent);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:800;display:grid}.mod-row .mod-av.soon{background:color-mix(in srgb, var(--text) 12%, transparent);color:var(--text-3)}.cm-n{color:var(--text-3);flex:0 0 22px;width:22px;font-size:12px}.cm-t{min-width:0;color:var(--text);flex-direction:column;flex:1;gap:3px;font-size:13.5px;display:flex}.cm-s{color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;overflow:hidden}.cm-tag{margin-left:8px}.cm-row form{margin:0;display:flex}.cm-head{background:var(--panel-2)}.cm-head .lib-ic{color:#fff;width:26px;height:26px}.cm-dot{border-radius:2px;flex:none;width:7px;height:7px}.lib-adm{margin-bottom:14px}.cm-det>summary{cursor:pointer;list-style:none;transition:background .14s}.cm-det>summary::-webkit-details-marker{display:none}.cm-det>summary:hover{background:var(--hover)}.cm-det[open]>summary{background:var(--sel)}.cm-edit{font-family:var(--mono);color:var(--text-3);text-transform:uppercase;letter-spacing:.04em;flex:none;font-size:11px}.cm-det[open] .cm-edit{color:var(--accent)}.cm-plus{text-align:center;width:22px;color:var(--accent);flex:0 0 22px;font-size:16px;font-weight:700}.cm-plus.dim{color:var(--text-3);font-size:13px}.cm-add .cm-t{color:var(--text-2);font-size:13px}.cm-body{border-bottom:1px solid var(--frame-line);background:color-mix(in srgb, var(--panel-2) 55%, transparent);padding:4px 0 16px}.cm-body .fld{margin:14px 18px 0}.cm-body .row2,.cm-body .row3{gap:12px;margin:14px 18px 0}.cm-body .row2 .fld,.cm-body .row3 .fld{margin:0}.cm-acts{gap:10px;padding:16px 18px 0;display:flex}.cm-del{border-top:1px solid var(--frame-line);margin-top:12px;padding:12px 18px 0}.new-cat{margin-top:4px}.new-cat .cm-body{border-bottom:none}.row3{gap:9px;display:flex}.row3 .fld{flex:1 1 0;min-width:0}.fld-check{cursor:pointer;align-items:flex-start;gap:10px;margin:16px 0 0;display:flex}.fld-check input{width:16px;height:16px;accent-color:var(--accent);flex:none;margin-top:2px}.fld-check>span{flex-direction:column;gap:3px;display:flex}.fld-check b{color:var(--text);font-size:13.5px;font-weight:700}.ed-card .fld-check{margin:18px 0 2px}.mono-area{line-height:1.6;font-family:var(--mono)!important;font-size:12.5px!important}@media (max-width:820px){.req.rq{flex-wrap:wrap}.req.rq .a{flex:100%;justify-content:flex-end;margin-left:0}.adm-bar .adm-add{flex:100%;width:100%;margin-left:0}.adm-sub,.cm-body .row2,.cm-body .row3,.row3{flex-wrap:wrap}.cm-edit,.prog-abs{display:none}}
