@font-face{font-family:Paperlogy;font-weight:700;font-display:swap;src:local(Paperlogy-7Bold),local("Paperlogy 7Bold"),local(Paperlogy Bold),url(/bootcamp/fonts/Paperlogy-7Bold.ttf)format("truetype")}@font-face{font-family:Paperlogy;font-weight:800;font-display:swap;src:local(Paperlogy-8ExtraBold),local("Paperlogy 8ExtraBold"),local(Paperlogy ExtraBold),url(/bootcamp/fonts/Paperlogy-8ExtraBold.ttf)format("truetype")}@font-face{font-family:Pretendard;font-weight:400;font-display:swap;src:local(Pretendard-Regular),local(Pretendard Regular),url(/bootcamp/fonts/Pretendard-Regular.otf)format("opentype")}@font-face{font-family:Pretendard;font-weight:500;font-display:swap;src:local(Pretendard-Medium),local(Pretendard Medium),url(/bootcamp/fonts/Pretendard-Medium.otf)format("opentype")}@font-face{font-family:Pretendard;font-weight:600;font-display:swap;src:local(Pretendard-SemiBold),local(Pretendard SemiBold),url(/bootcamp/fonts/Pretendard-SemiBold.otf)format("opentype")}@font-face{font-family:Pretendard;font-weight:700;font-display:swap;src:local(Pretendard-Bold),local(Pretendard Bold),url(/bootcamp/fonts/Pretendard-Bold.otf)format("opentype")}@font-face{font-family:Bagel Fat One;font-weight:400;font-display:block;src:local(Bagel Fat One),local(BagelFatOne-Regular),url(/bootcamp/assets/BagelFatOne-Regular.ttf)format("truetype")}:root{--ink:#131313;--ink-2:#2b2b2b;--ink-3:#444;--muted:#666;--faint:#9a9a9a;--line:#e4e4e1;--line-strong:#c9c9c5;--canvas:#efefec;--paper:#fff;--well:#f7f7f4;--well-2:#eeeeea;--lime:#cdf24f;--lime-soft:#eef9c4;--lime-ink:#1c2208;--ok:#5b3fd6;--ok-soft:#eee9fc;--ok-line:#c9bcf2;--grass:#1f7a3a;--grass-line:#176330;--done:#1f7a3a;--done-text:#6e6e6b;--warn:#9a6700;--warn-soft:#fbf0d5;--danger:#b42318;--danger-soft:#fbe7e5;--danger-line:#f1b9b4;--display:"Paperlogy","Pretendard",-apple-system,"Apple SD Gothic Neo",sans-serif;--body:"Pretendard",-apple-system,"Apple SD Gothic Neo","Noto Sans KR",sans-serif;--r:18px;--r-sm:12px;--gap:24px;--shadow-card:0 1px 2px #0000000d,0 10px 24px -14px #0000002e;--shadow-hover:0 2px 4px #0000000d,0 18px 36px -16px #00000042;--shadow-pop:0 12px 40px -8px #00000047;accent-color:var(--ink)}*{box-sizing:border-box}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}html{background:var(--canvas)}body{background:var(--canvas);color:var(--ink);font:400 18px/1.65 var(--body);word-break:keep-all;overflow-wrap:anywhere;-webkit-font-smoothing:antialiased;margin:0}::selection{background:var(--lime);color:var(--lime-ink)}h1,h2,h3,h4,p,ul,ol,figure{margin:0}ul{padding:0;list-style:none}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}input,textarea,select{font:inherit;color:inherit}img{max-width:100%;display:block}svg.i{stroke:currentColor;fill:none;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:22px;height:22px}:focus-visible{outline:3px solid var(--ink);outline-offset:3px;border-radius:6px}#main:focus{outline:none}[hidden]{display:none!important}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}h1{font:700 32px/1.25 var(--display);letter-spacing:-.025em}h2{font:700 22px/1.35 var(--display);letter-spacing:-.015em}h3{font:700 19px/1.4 var(--display);letter-spacing:-.01em}.lede{color:var(--muted);margin-top:6px;font-size:17px}.meta{color:var(--muted);font-size:15px;line-height:1.5}strong{font-weight:600}.tnum{font-variant-numeric:tabular-nums}.wrap{width:100%;max-width:1200px;margin:0 auto;padding:0 40px}#main{background:var(--canvas)}#view{background:var(--paper);min-height:calc(100vh - 76px);box-shadow:0 0 0 1px var(--line),0 0 48px -24px #0003}.top{z-index:30;background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0}.top:before{content:"";background:var(--lime);height:4px;display:block}.top .wrap{grid-template-columns:auto 1fr auto;align-items:center;gap:24px;height:72px;display:grid}.brand{--badge-width:102px;--type-size:25px;--gap:8px;align-items:center;gap:var(--gap);color:var(--ink);display:flex}.brand-mark{width:var(--badge-width);flex:none;height:auto;display:block}.brand-divider{width:1px;height:calc(var(--type-size)*1.65);background:#b9b9b6;flex-shrink:0}.brand-word{font-family:"Bagel Fat One",var(--display);font-synthesis:none;font-weight:400;font-size:var(--type-size);letter-spacing:-.03em;white-space:nowrap;color:var(--ink);gap:0;line-height:1.01;display:grid}.brand-word span{display:block}.nav{justify-content:center;gap:2px;display:flex}.nav a{height:44px;color:var(--ink-3);border-radius:999px;align-items:center;gap:8px;padding:0 18px;font-size:17px;font-weight:500;transition:background .15s,color .15s;display:inline-flex}.nav a:hover{background:var(--well-2);color:var(--ink)}.nav a[aria-current=page]{background:var(--ink);color:#fff;font-weight:600}.nav svg.i{width:19px;height:19px}.top-right{align-items:center;gap:8px;display:flex;position:relative}.icon-btn{width:44px;height:44px;color:var(--ink-3);border-radius:999px;place-items:center;display:grid;position:relative}.icon-btn:hover{background:var(--well-2);color:var(--ink)}.icon-btn .dot{background:var(--lime);border-radius:50%;width:8px;height:8px;position:absolute;top:10px;right:11px;box-shadow:0 0 0 2px #fff}.me-btn{border:1px solid var(--line);border-radius:999px;align-items:center;gap:10px;height:44px;padding:0 6px;display:flex}.me-btn:hover{border-color:var(--line-strong);background:var(--well)}.me-btn .n{padding-right:4px;font-size:16px;font-weight:600}.me-btn svg.i{width:18px;height:18px;color:var(--muted);margin-right:4px}.menu{background:var(--paper);border:1px solid var(--line);min-width:240px;box-shadow:var(--shadow-pop);z-index:40;border-radius:14px;padding:8px;position:absolute;top:calc(100% + 10px);right:0}.menu a,.menu button{text-align:left;border-radius:9px;align-items:center;gap:10px;width:100%;padding:10px 12px;font-size:16px;font-weight:500;display:flex}.menu a:hover,.menu button:hover{background:var(--well-2)}.menu .sep{background:var(--line);height:1px;margin:6px 4px}.menu .hd{color:var(--faint);padding:8px 12px 6px;font-size:13px;font-weight:600}.menu svg.i{width:19px;height:19px;color:var(--ink-3)}.menu .chip{margin-left:auto}.avatar{background:var(--well-2);width:36px;height:36px;color:var(--ink);border-radius:50%;flex:none;place-items:center;font-size:15px;font-weight:700;display:grid}.avatar.sm{width:30px;height:30px;font-size:14px}.avatar.xs{width:22px;height:22px;font-size:11px}.avatar.lg{width:56px;height:56px;font-size:22px}.avatar.xl{width:84px;height:84px;font-size:32px}.avatar.me{background:var(--ink);color:var(--lime)}.tabbar{z-index:30;background:var(--paper);border-top:1px solid var(--line);padding:6px 8px calc(6px + env(safe-area-inset-bottom));display:none;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 24px -16px #00000040}.tabbar a{color:var(--muted);border-radius:10px;flex-direction:column;flex:1;align-items:center;gap:3px;padding:8px 4px 6px;font-size:13px;font-weight:500;display:flex}.tabbar a svg.i{width:24px;height:24px}.tabbar a[aria-current=page]{color:var(--ink);font-weight:700}.page{padding:28px 0 88px}.sec{margin-top:32px}.sec-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px 16px;margin-bottom:16px;display:flex}.sec-head h2{flex:none}.sec-head .meta{flex:auto}a.more{color:var(--ink);white-space:nowrap;border-bottom:1.5px solid var(--line-strong);align-items:center;gap:3px;font-size:16px;font-weight:600;display:inline-flex}a.more:hover{border-color:var(--ink)}a.more svg.i{width:17px;height:17px}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.page-head .actions{flex-wrap:wrap;gap:10px;display:flex}.back{color:var(--ink-3);align-items:center;gap:6px;font-size:16px;font-weight:600;display:inline-flex}.back:hover{color:var(--ink)}.back svg.i{width:18px;height:18px}.g{gap:var(--gap);grid-template-columns:repeat(12,minmax(0,1fr));align-items:stretch;display:grid}.g>*{min-width:0}.g.loose{align-items:start}.s3{grid-column:span 3}.s4{grid-column:span 4}.s6{grid-column:span 6}.s8{grid-column:span 8}.s9{grid-column:span 9}.s12{grid-column:span 12}.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-card)}.card.well{background:var(--well);box-shadow:none}.card-pad{padding:20px 22px}.card-pad>.sec-head{margin-bottom:12px}.card-pad.flex{flex-direction:column;display:flex}.demo{background:var(--well-2);color:var(--ink-3);border-radius:999px;align-items:center;gap:8px;margin-top:16px;padding:6px 12px;font-size:14px;line-height:1.4;display:inline-flex}.demo svg.i{width:16px;height:16px}.foot-note{color:var(--faint);text-align:center;margin-top:56px;font-size:14px;line-height:1.6}.btn{white-space:nowrap;border:1.5px solid #0000;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:11px 20px;font-size:17px;font-weight:600;line-height:1.3;transition:background .15s,border-color .15s,transform 80ms;display:inline-flex}.btn:active{transform:translateY(1px)}.btn svg.i{width:20px;height:20px}.btn-primary{background:var(--ink);color:#fff}.btn-primary:hover{background:var(--ink-2)}.btn-lime{background:var(--lime);color:var(--lime-ink)}.btn-lime:hover{background:#c3ea3e}.btn-ghost{background:var(--paper);border-color:var(--line-strong);color:var(--ink)}.btn-ghost:hover{background:var(--well)}.btn-ghost.on-dark{color:#fff;background:0 0;border-color:#ffffff59}.btn-ghost.on-dark:hover{background:#ffffff14}.btn-soft{background:var(--well-2);color:var(--ink)}.btn-soft:hover{background:#e3e3df}.btn-sm{border-radius:10px;min-height:40px;padding:7px 14px;font-size:15px}.btn-block{width:100%}.chip{background:var(--well-2);color:var(--ink-3);white-space:nowrap;vertical-align:2px;border-radius:999px;align-items:center;gap:5px;padding:2px 10px;font-size:14px;font-weight:600;line-height:1.5;display:inline-flex}.chip-lime{background:var(--lime-soft);color:var(--lime-ink)}.chip-ok{background:var(--ok-soft);color:var(--ok)}.chip-ok svg.i{color:var(--ok)}.chip-warn{background:var(--warn-soft);color:var(--warn)}.chip-danger{background:var(--danger-soft);color:var(--danger)}.chip-ink{background:var(--ink);color:#fff}.chip-line{border:1px solid var(--line-strong);color:var(--muted);background:0 0}.seg{background:var(--well-2);border-radius:12px;gap:2px;padding:4px;display:inline-flex}.seg button{min-height:38px;color:var(--muted);border-radius:9px;padding:4px 14px;font-size:15px;font-weight:500;transition:background .15s,color .15s}.seg button[aria-pressed=true]{background:var(--paper);color:var(--ink);font-weight:600;box-shadow:0 1px 2px #0000001f}.tabs{scrollbar-width:none;border-bottom:1px solid var(--line);gap:4px;display:flex;overflow-x:auto}.tabs::-webkit-scrollbar{display:none}.tabs button{color:var(--muted);white-space:nowrap;border-bottom:2.5px solid #0000;margin-bottom:-1px;padding:12px 14px;font-size:17px;font-weight:500}.tabs button[aria-selected=true]{color:var(--ink);border-color:var(--ink);font-weight:700}.chips{scrollbar-width:none;gap:8px;padding:2px;display:flex;overflow-x:auto}.chips::-webkit-scrollbar{display:none}.chips a{border:1.5px solid var(--line-strong);background:var(--paper);min-height:40px;color:var(--muted);border-radius:999px;flex:none;align-items:center;padding:6px 16px;font-size:16px;font-weight:500;display:inline-flex}.chips a[aria-current=page]{background:var(--ink);border-color:var(--ink);color:#fff;font-weight:600}.input{border:1.5px solid var(--line-strong);background:var(--paper);border-radius:12px;width:100%;padding:12px 16px;font-size:17px;line-height:1.6;display:block}.input:focus{border-color:var(--ink);box-shadow:0 0 0 3px var(--well-2);outline:none}.note{border-radius:var(--r-sm);background:var(--well);border:1px solid var(--line);color:var(--ink-3);align-items:flex-start;gap:10px;padding:14px 16px;font-size:15px;line-height:1.55;display:flex}.note svg.i{width:19px;height:19px;color:var(--ink);margin-top:2px}.select{border:1.5px solid var(--line-strong);background:var(--paper);min-height:40px;color:var(--ink);border-radius:10px;align-items:center;gap:8px;padding:0 12px 0 14px;font-size:15px;font-weight:500;display:inline-flex;position:relative}.select svg.i{width:16px;height:16px;color:var(--muted)}.select .menu{min-width:200px;left:0;right:auto}.hero{background:var(--ink);color:#fff;border-radius:24px;grid-template-columns:minmax(0,7fr) minmax(0,5fr);display:grid;overflow:hidden;box-shadow:0 24px 48px -28px #00000080}.hero-main{padding:32px 36px 30px}.hero .date{color:#ffffff9e;align-items:center;gap:10px;font-size:16px;font-weight:500;display:flex}.hero .date i{background:var(--lime);border-radius:50%;width:8px;height:8px;display:inline-block}.hero h1{font:800 40px/1.2 var(--display);letter-spacing:-.025em;color:#fff;text-wrap:balance;margin-top:12px}.hero h1 em{color:var(--lime);font-style:normal}.hero p{color:#ffffffb8;max-width:44ch;margin-top:14px;font-size:18px;line-height:1.7}.hero .cta{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.map{background:var(--well);color:var(--ink);border-left:1px solid var(--line);flex-direction:column;justify-content:center;padding:22px 24px 20px;display:flex}.map-title{color:var(--ink-3);justify-content:space-between;gap:10px;font-size:15px;font-weight:500;display:flex}.map-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:14px;display:grid}.map-week{flex-direction:column;gap:8px;display:flex}.map-week>span{color:var(--muted);margin-top:4px;font-size:14px}.pip{background:var(--paper);border:1px solid var(--line-strong);height:36px;color:var(--muted);border-radius:9px;align-items:center;gap:8px;padding:0 11px;font-size:14px;font-weight:600;display:flex}.pip i{background:var(--line-strong);border-radius:50%;flex:none;width:8px;height:8px}.pip.done{background:var(--ok);border-color:var(--ok);color:#fff}.pip.done i{background:#fff}.pip.today{background:var(--lime);border-color:var(--lime);color:var(--lime-ink)}.pip.today i{background:var(--lime-ink)}.map-legend{color:var(--muted);gap:14px;margin-top:14px;font-size:13px;display:flex}.map-legend span{align-items:center;gap:5px;display:inline-flex}.map-legend i{border-radius:50%;width:9px;height:9px;display:inline-block}.lesson-row{border-top:1px solid var(--line);align-items:center;gap:16px;padding:13px 0;display:flex}.lesson-row .num{font:700 20px/1 var(--display);color:var(--ink);letter-spacing:-.02em;text-align:center;flex:none;width:40px}.lesson-row .num small{font-size:12px;font-family:var(--body);color:var(--muted);margin-top:4px;font-weight:600;display:block}.lesson-row .body{flex:1;min-width:0}.lesson-row .title{font-size:18px;font-weight:600;line-height:1.45}.lesson-row .title a:hover{text-underline-offset:3px;text-decoration:underline}.lesson-row .meta{margin-top:3px}.lesson-row .state{flex:none}.lesson-row.is-today .num{color:var(--lime-ink);background:var(--lime);border-radius:9px;padding:6px 0}.lesson-row.is-today .num small{color:var(--lime-ink)}.done-dot{background:var(--done);color:#fff;border-radius:50%;flex:none;place-items:center;width:22px;height:22px;display:inline-grid}.done-dot svg.i{stroke-width:3px;width:14px;height:14px}.done-state{color:var(--done-text);align-items:center;gap:7px;font-size:14px;font-weight:600;display:inline-flex}.lesson-row.is-done .num{color:var(--done-text)}.lesson-row.is-done .title a{color:var(--done-text);text-decoration:line-through;text-decoration-thickness:1.5px;-webkit-text-decoration-color:var(--done-text);text-decoration-color:var(--done-text);text-underline-offset:0}.lesson-row.is-done .title a:hover{text-decoration:underline line-through;text-decoration-thickness:1.5px}.home-lessons .rows{margin-bottom:12px}.home-lessons .rows .lesson-row:first-child{border-top:0;padding-top:4px}.task{border-radius:var(--r-sm);background:var(--well);border:1px solid var(--line);align-items:flex-start;gap:12px;margin-top:auto;padding:14px 16px;display:flex}.task svg.i{color:var(--ink);margin-top:2px}.task b{font-size:16px;font-weight:600;display:block}.task p{color:var(--ink-3);margin-top:2px;font-size:16px}.ten .meta{margin-top:4px}.dl-clock{font:700 1em/1 var(--display);font-variant-numeric:tabular-nums;letter-spacing:.02em}.dl-clock.soon{color:var(--danger)}.hero-dl{color:#ffffffb8;background:#ffffff14;border:1px solid #ffffff24;border-radius:999px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:18px;padding:8px 14px 8px 11px;font-size:15px;display:inline-flex}.hero-dl svg.i{color:#ffffffb8}.hero-dl .dl-clock{color:var(--lime);font-size:19px}.hero-dl .dl-clock.soon{color:#ff8f85}.hero-dl.done{color:#fff;border-color:#c9b8ff73}.hero-dl.done svg.i{color:#c9b8ff}.hero-dl.done span{color:#ffffff8c}.dl-box{background:var(--well);border:1px solid var(--line);border-radius:12px;align-items:center;gap:12px;margin-top:14px;padding:12px 14px;display:flex}.dl-box svg.i{color:var(--ink-3);flex:none}.dl-box .dl-clock{color:var(--ink);font-size:24px;display:block}.dl-box b{color:var(--ink-3);margin-top:2px;font-size:14px;font-weight:600;display:block}.dl-box small{color:var(--muted);margin-top:2px;font-size:13px;line-height:1.45;display:block}.dl-box.done{background:var(--ok-soft);border-color:var(--ok-line)}.dl-box.done svg.i,.dl-box.done b{color:var(--ok)}.dl-box.done b{margin-top:0;font-size:16px}.dl-bar{background:var(--well);border:1px solid var(--line);color:var(--ink-3);border-radius:12px;flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;padding:10px 14px;font-size:15px;font-weight:500;display:flex}.dl-bar svg.i{color:var(--ink-3)}.dl-bar .dl-clock{color:var(--ink);font-size:20px}.dl-bar .meta{margin-left:auto;font-size:14px}.dl-bar.done{background:var(--ok-soft);border-color:var(--ok-line);color:var(--ok)}.dl-bar.done svg.i{color:var(--ok)}.dl-card .dl-big{color:var(--ink);margin:2px 0 10px;font-size:32px;display:block}.dl-card.done{background:var(--ok-soft);border-color:var(--ok-line)}.dl-card.done svg.i{color:var(--ok)}.thumbs{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:16px;display:grid}.thumbs a{aspect-ratio:1;border:1px solid var(--line);background:var(--well);border-radius:10px;position:relative;overflow:hidden}.thumbs a img{object-fit:cover;width:100%;height:100%}.thumbs a span{color:#fff;background:linear-gradient(#0000,#000000b3);padding:3px 7px;font-size:12px;font-weight:600;position:absolute;bottom:0;left:0;right:0}.thumbs a:hover img{filter:brightness(.94)}.ten .btn{margin-top:auto}.ten .jd-wrap{margin-top:16px;margin-bottom:16px}.mini-posts{gap:10px;display:grid}.mini-posts a{background:var(--paper);border:1px solid var(--line);border-radius:12px;padding:11px 14px;transition:border-color .15s,box-shadow .15s;display:block}.mini-posts a:hover{border-color:var(--line-strong);box-shadow:var(--shadow-card)}.mini-posts .t{margin-top:3px;font-size:17px;font-weight:600;line-height:1.45}.jd-wrap{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;--jd-bg:var(--paper);--cell:minmax(18px,26px);margin:0 -4px;padding:0 4px;position:relative;overflow-x:auto}.card.well .jd-wrap{--jd-bg:var(--well)}.jd{justify-content:start;align-items:center;gap:4px;min-width:max-content;display:grid}.jd>*{min-width:0}.jd-name{z-index:1;background:var(--jd-bg);white-space:nowrap;align-items:center;gap:7px;padding-right:10px;font-size:15px;font-weight:500;display:flex;position:sticky;left:0;overflow:hidden}.jd-name.me{font-weight:700}.jd-name small{color:var(--lime-ink);background:var(--lime);border-radius:5px;padding:0 5px;font-size:11px;font-weight:700}.jd-wk{color:var(--muted);text-align:center;border-bottom:1px solid var(--line);margin-bottom:2px;padding-bottom:3px;font-size:12px;font-weight:600}.jd-d{color:var(--muted);text-align:center;padding-bottom:5px;font-size:12px;font-weight:500;line-height:1.2;position:relative}.jd-d.cls:after{content:"";background:var(--ink);border-radius:2px;width:10px;height:2px;margin-left:-5px;position:absolute;bottom:0;left:50%}.jd-d.today b{background:var(--lime);color:var(--lime-ink);border-radius:5px;padding:0 4px;font-weight:700;display:inline-block}.jd-d.we{color:var(--faint)}.jd-gap{width:8px}.jd-c{aspect-ratio:1;background:var(--well-2);color:#0000;border:1px solid #0000;border-radius:5px;place-items:center;font-size:10px;font-weight:700;line-height:1;display:grid}.jd-c.on{background:var(--grass);color:#fff;border-color:var(--grass-line)}.jd-c.miss{background:var(--danger-soft);color:var(--danger);border-color:var(--danger-line);font-size:13px;font-weight:800}.jd-c.fut{border:1px dashed var(--line-strong);background:0 0}.jd-c.pre{background:0 0;border-color:#0000}.jd-c.today{box-shadow:0 0 0 2px var(--lime)}.jd-c.today:not(.on){background:var(--lime-soft);border-color:var(--lime);color:var(--lime-ink)}.jd-cnt{color:var(--muted);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;padding-left:10px;font-size:14px}.jd-cnt b{color:var(--ink);font-size:15px;font-weight:700}.jd-cnt.hd{padding-bottom:5px;font-size:12px;font-weight:600}.jd-sum{color:var(--muted);text-align:center;font-variant-numeric:tabular-nums;border-top:1px solid var(--line);margin-top:2px;padding-top:4px;font-size:11px}.jd-sum.lbl{text-align:left;white-space:nowrap;padding-right:10px;font-size:13px;font-weight:500}.jd-sum.cnt{text-align:right}.legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 16px;margin-top:14px;font-size:13px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend .jd-c{aspect-ratio:auto;border-radius:4px;width:16px;height:16px;font-size:10px}.legend .ul{background:var(--ink);border-radius:2px;width:12px;height:2px;display:inline-block}.stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.stat{background:var(--well);border:1px solid var(--line);border-radius:12px;padding:16px 18px}.stat b{font:700 28px/1.2 var(--display);letter-spacing:-.02em;display:block}.stat b small{font:500 15px/1 var(--body);color:var(--muted);margin-left:2px}.stat span{color:var(--muted);font-size:14px}.group-head{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:12px;display:flex}.group-head h3{align-items:center;gap:8px;display:flex}.group-head .sum{color:var(--muted);white-space:nowrap;font-size:14px}.group-head .sum b{color:var(--ink);font-weight:700}.card.mine{border-color:var(--ink);box-shadow:var(--shadow-card)}.stats.four{grid-template-columns:repeat(4,minmax(0,1fr))}.stat b.txt{font-size:22px}.jd-tools{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 20px;margin-top:24px;padding:14px 16px;display:flex}.jd-tools .seg{flex-wrap:wrap}.jd-tools-r{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.jd-nav{align-items:center;gap:6px;display:inline-flex}.jd-nav b{text-align:center;white-space:nowrap;min-width:170px;font-size:15px;font-weight:700}.jd-nav .nav-btn{border:1px solid var(--line-strong);background:var(--paper);width:38px;height:38px;color:var(--ink-3);border-radius:10px;place-items:center;display:grid}.jd-nav .nav-btn:hover:not(:disabled){background:var(--well)}.jd-nav button:disabled{opacity:.35;cursor:default}.rank{gap:4px;margin-top:4px;padding:0;list-style:none;display:grid}.rank-row{text-align:left;border-radius:10px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;width:100%;padding:8px 10px;font-size:15px;display:grid}.rank-row.grp .nm{white-space:normal;gap:1px;line-height:1.3;display:grid}.rank-row.grp .sc{text-align:right}.rank-row.grp .bar{min-width:0}.rank-row .r{font:700 16px/1 var(--display);color:var(--muted);text-align:center}.rank-row .r.top{color:var(--ink)}.rank-row .nm{white-space:nowrap;align-items:center;gap:8px;min-width:0;font-weight:600;display:flex}.rank-row .nm small{color:var(--muted);font-size:13px;font-weight:500}.rank-row .sc{font-variant-numeric:tabular-nums;white-space:nowrap;font-weight:700}.rank-row .sc small{color:var(--muted);margin-left:3px;font-weight:500}.rank-row.me{background:var(--lime-soft)}.rank-row.sel{background:var(--ink);color:#fff}.rank-row.sel .r,.rank-row.sel .nm small,.rank-row.sel .sc small{color:#ffffffb3}.rank-row .bar{background:var(--well-2);border-radius:999px;min-width:60px;height:6px;overflow:hidden}.rank-row .bar i{background:var(--grass);border-radius:999px;height:100%;display:block}.rank-row.sel .bar{background:#fff3}.rank-row.sel .bar i{background:var(--lime)}button.rank-row:hover:not(.sel){background:var(--well-2)}.rank-more{color:var(--faint);text-align:center;padding:2px;font-size:13px}.jd-title h2{white-space:normal;overflow-wrap:anywhere;flex:auto;min-width:0}.jd-title h2 .period{color:var(--muted);font-size:.8em;font-weight:600;display:inline-block}.empty.small{padding:26px 18px}.pcard{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow-card);flex-direction:column;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex;overflow:hidden}.pcard:hover{border-color:var(--line-strong);box-shadow:var(--shadow-hover);transform:translateY(-1px)}.pcard .ph{aspect-ratio:16/9;background:var(--well);object-fit:cover;border-bottom:1px solid var(--line);width:100%}.pcard .cb{flex-direction:column;gap:6px;min-width:0;padding:10px 12px 12px;display:flex}.g.feed-dense{align-items:start}.g.feed-dense>.s4{grid-column:span 6}.g.feed-dense .pcard{grid-template-columns:164px minmax(0,1fr);display:grid}.g.feed-dense .pcard .ph{aspect-ratio:auto;border-bottom:0;border-right:1px solid var(--line);height:100%;min-height:132px}.g.feed-dense .pcard .cb{gap:6px;padding:12px 14px}.g.feed-dense .pcard .did{-webkit-line-clamp:2}.g.feed-dense .pcard .rx{padding-top:2px}.g.feed-tiles{align-items:start;gap:16px}.pcell{min-width:0;position:relative}.pcell .pcard.tile{flex-direction:column;height:100%;display:flex}.pcard.tile .ph{aspect-ratio:16/10}.pcard.tile .cb{gap:5px;padding:10px 12px 11px}.pcard.tile .who{gap:8px;padding-right:36px}.pcard.tile .who .avatar{width:28px;height:28px;font-size:13px}.pcard.tile .who .t{font-size:13px}.pcard.tile .who .chip{padding:0 8px;font-size:13px}.pcard.tile .rx{gap:12px;padding-top:2px}.tile-tools{position:absolute;top:6px;right:6px}.tile-tools .kebab{width:34px;height:34px;color:var(--ink-3);background:#ffffffd9}.tile-tools .kebab:hover{background:var(--paper);color:var(--ink)}.who{align-items:center;gap:10px;display:flex}.who .n{font-size:16px;font-weight:600;line-height:1.3}.who .t{color:var(--muted);font-size:14px;line-height:1.3}.who .chip{margin-left:auto}.pcard .did{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:16px;line-height:1.55;display:-webkit-box;overflow:hidden}.pcard .stuck{color:var(--muted);-webkit-line-clamp:1;-webkit-box-orient:vertical;font-size:15px;display:-webkit-box;overflow:hidden}.pcard .stuck b{color:var(--ink);font-weight:600}.pcard .rx{color:var(--muted);gap:14px;margin-top:auto;padding-top:4px;font-size:14px;display:flex}.pcard .rx span{align-items:center;gap:4px;display:inline-flex}.pcard .rx svg.i{width:16px;height:16px}.empty{text-align:center;border:1.5px dashed var(--line-strong);border-radius:var(--r);color:var(--muted);background:var(--well);padding:48px 24px}.empty h3{color:var(--ink);margin-bottom:6px}.empty .btn{margin-top:18px}.subnav{border-bottom:1px solid var(--line);gap:4px;margin-top:24px;display:flex}.subnav a{color:var(--muted);border-bottom:2.5px solid #0000;margin-bottom:-1px;padding:12px 16px;font-size:17px;font-weight:500}.subnav a[aria-current=page]{color:var(--ink);border-color:var(--ink);font-weight:700}.cal-head{align-items:center;gap:8px;margin-bottom:14px;display:flex}.cal-head h2{text-align:center;flex:none;min-width:140px}.cal-nav{width:40px;height:40px;color:var(--ink-3);border:1px solid var(--line-strong);background:var(--paper);border-radius:10px;place-items:center;display:grid}.cal-nav:hover{background:var(--well)}.cal-head .btn{margin-left:auto}.cal-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.cal-dow{display:contents}.cal-dow span{color:var(--muted);text-align:center;padding:4px 0 6px;font-size:12px;font-weight:600}.cal-dow span:nth-child(n+6){color:var(--faint)}.cal-d{border:1px solid var(--line);background:var(--paper);text-align:left;border-radius:10px;flex-direction:column;align-items:flex-start;gap:4px;min-height:86px;padding:6px;transition:border-color .15s,background .15s;display:flex}.cal-d:hover{border-color:var(--line-strong);background:var(--well)}.cal-d .d{font:600 14px/1 var(--body);color:var(--ink-2);border-radius:6px;padding:3px 5px}.cal-d.we .d{color:var(--faint)}.cal-d.out{background:0 0;border-color:#0000}.cal-d.out .d{color:var(--line-strong)}.cal-d.today .d{background:var(--lime);color:var(--lime-ink)}.cal-d.sel,.cal-d.sel:hover{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink)}.cal-d .ev{background:var(--ink);color:#fff;white-space:nowrap;text-overflow:ellipsis;border-radius:7px;max-width:100%;padding:3px 7px;font-size:12px;font-weight:700;line-height:1.3;overflow:hidden}.cal-d .ev small{color:#ffffffb3;margin-left:3px;font-weight:500}.cal-d .ev.today{background:var(--lime);color:var(--lime-ink)}.cal-d .ev.today small{color:var(--lime-ink)}.cal-d .ev.done{background:var(--done)}.cal-d .ev.tentative{color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink);background:0 0}.cal-d .ev.tentative small{color:var(--muted)}.cal-side{gap:var(--gap);align-content:start;display:grid}.ev-detail h3{text-wrap:balance;margin-top:4px;font-size:21px;line-height:1.3}.ev-detail+.ev-detail{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.ev-when{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:6px;font-size:15px;display:flex}.join{gap:10px;margin-top:18px;display:grid}.join .btn{width:100%}.lp-cta .join{width:100%;max-width:420px;margin-top:0}.lp-stage.today .join-hint,.video .join-hint{color:#fffc}.lp-stage.today .join-hint svg.i,.video .join-hint svg.i{color:var(--lime)}.video .join{z-index:1;width:100%;max-width:360px;margin-top:6px;position:relative}.video .join-hint{text-align:left;justify-content:center}.video .join .btn-primary{background:var(--lime);color:var(--lime-ink)}.join-hint{color:var(--ink-3);align-items:flex-start;gap:7px;font-size:15px;line-height:1.5;display:flex}.join-hint svg.i{width:18px;height:18px;color:var(--ink);flex:none;margin-top:2px}.btn.is-off{background:var(--well-2);color:var(--faint);border-color:var(--line);pointer-events:none}.ev-links{flex-wrap:wrap;gap:6px 20px;margin-top:16px;display:flex}.ev-links a{min-height:40px;color:var(--ink-3);align-items:center;gap:5px;font-size:16px;font-weight:600;display:inline-flex}.ev-links a:hover{color:var(--ink)}.ev-links a svg.i{width:18px;height:18px}.pending{gap:10px;margin-top:10px;padding:0;list-style:none;display:grid}.pending li{gap:2px;font-size:15px;display:grid}.pending .meta{font-size:14px}.admin-fold summary{cursor:pointer;min-height:56px;color:var(--ink);align-items:center;gap:10px;padding:16px 20px;font-size:16px;font-weight:600;list-style:none;display:flex}.admin-fold summary::-webkit-details-marker{display:none}.admin-fold summary .meta{flex:1;font-size:14px}.admin-fold summary>svg.i{color:var(--ink);flex:none;transition:transform .15s}.admin-fold[open] summary>svg.i{transform:rotate(180deg)}.admin-fold .inner{border-top:1px solid var(--line);padding:16px 20px 20px}.zoom-form{gap:14px;display:grid}.zoom-form label{color:var(--ink-3);gap:6px;font-size:14px;font-weight:600;display:grid}.zoom-form .acts{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.zoom-form .input:disabled{background:var(--well);color:var(--faint)}.zoom-form .input[aria-invalid=true]{border-color:var(--danger)}.detail{max-width:800px;margin:0 auto}.detail .photo{border-radius:var(--r-sm);border:1px solid var(--line);background:var(--well);width:100%;margin-top:20px}.detail-head{align-items:flex-start;gap:12px;display:flex}.detail-head .who{flex:1;min-width:0}.kebab{width:40px;height:40px;color:var(--muted);border-radius:10px;place-items:center;display:grid;position:relative}.kebab:hover{background:var(--well-2);color:var(--ink)}.kebab .menu{min-width:180px}.kebab-wrap .menu.up{bottom:42px;top:auto!important}.kebab .menu .danger{color:var(--danger)}.three{margin-top:26px}.three section{border-top:1px solid var(--line);padding:20px 0}.three h3{font-size:14px;font-family:var(--body);color:var(--muted);letter-spacing:.02em;align-items:center;gap:8px;margin-bottom:6px;font-weight:700;display:flex}.three h3:before{content:"";background:var(--lime);border-radius:2px;width:8px;height:8px}.three p{font-size:18px;line-height:1.7}.react{border-top:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;margin-top:8px;padding-top:22px;display:flex}.cheer{border:1.5px solid var(--line-strong);background:var(--paper);border-radius:999px;align-items:center;gap:8px;min-height:44px;padding:6px 16px;font-size:16px;font-weight:600;transition:all .15s;display:inline-flex}.cheer[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}.cheer[aria-pressed=true] svg.i{fill:var(--lime);stroke:var(--lime)}.comments{margin-top:28px}.comments h2{margin-bottom:12px;font-size:20px}.comment{border-top:1px solid var(--line);gap:12px;padding:14px 0;display:flex}.comment .n{font-size:16px;font-weight:600}.comment .n small{color:var(--muted);margin-left:8px;font-size:14px;font-weight:400}.comment p{margin-top:2px;font-size:17px}.comment .cact{align-self:flex-start;gap:4px;margin-left:auto;display:flex}.comment .cact button{color:var(--faint);border-radius:6px;padding:2px 6px;font-size:13px}.comment .cact button:hover{background:var(--well-2);color:var(--ink)}.cform{align-items:flex-start;gap:10px;margin-top:14px;display:flex}.cform .input{flex:1;min-height:50px}.answer{border-radius:var(--r-sm);background:var(--well);border:1px solid var(--line);margin-top:20px;padding:18px 20px}.answer .who{margin-bottom:8px}.answer p{font-size:17px}.progress{color:var(--muted);align-items:center;gap:14px;margin-top:24px;font-size:16px;display:flex}.progress i{background:var(--well-2);border-radius:999px;flex:1;max-width:360px;height:8px;display:block;overflow:hidden}.progress i b{background:var(--ink);border-radius:999px;height:100%;display:block}.ex{font:600 11px/1 var(--body);color:var(--muted);border:1px solid var(--line-strong);vertical-align:2px;letter-spacing:.02em;border-radius:999px;padding:3px 7px;display:inline-block}.lesson-page{align-items:start;margin-top:24px}.lesson-list .card{position:sticky;top:96px}.lw{margin-top:14px}.lw h3{font:700 13px/1 var(--body);color:var(--faint);letter-spacing:.04em;padding:0 10px 6px}.lrow{border-radius:10px;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;padding:9px 10px;font-size:16px;line-height:1.4;display:grid}.lrow:hover{background:var(--well-2)}.lrow .num{font:700 16px/1 var(--display);color:var(--muted);text-align:center}.lrow .t{color:var(--ink-2);font-weight:500}.lrow .st{color:var(--faint);white-space:nowrap;align-items:center;font-size:13px;display:inline-flex}.lrow .st svg.i{width:16px;height:16px;color:var(--ok)}.lrow.today .num{background:var(--lime);color:var(--lime-ink);border-radius:7px;padding:5px 0}.lrow.today .st{color:var(--lime-ink);font-weight:700}.lrow.upcoming .t{color:var(--ink-3)}.lrow.sel,.lrow.sel:hover{background:var(--ink)}.lrow.sel .t,.lrow.sel .num,.lrow.sel .st{color:#fff}.lrow.sel .st svg.i{color:var(--lime)}.lrow.sel.today .num{background:var(--lime);color:var(--lime-ink)}.lrow.done .num{color:var(--done-text)}.lrow.done .t{color:var(--done-text);text-decoration:line-through;text-decoration-thickness:1.5px;-webkit-text-decoration-color:var(--done-text);text-decoration-color:var(--done-text)}.lrow .st .done-dot{width:18px;height:18px}.lrow .st .done-dot svg.i{color:#fff;width:11px;height:11px}.lrow.sel.done .t{color:#ffffffb8;text-decoration-color:#ffffffb8}.lrow.sel.done .num{color:#ffffffb8}.lp{overflow:hidden}.lp-stage{background:var(--well);border-bottom:1px solid var(--line);padding:26px 26px 24px;position:relative;overflow:hidden}.lp-stage.today,.lp-stage.done{background:var(--ink);color:#fff;border-bottom:0}.lp-stage.today:after,.lp-stage.done:after{content:"";aspect-ratio:1;pointer-events:none;background:radial-gradient(circle,#cdf24f38,#0000 60%);border-radius:50%;width:60%;position:absolute;inset:auto -10% -70% auto}.lp-stage>*{z-index:1;position:relative}.lp-when{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px 14px;font-size:15px;display:flex}.lp-stage.today .lp-when,.lp-stage.done .lp-when{color:#ffffffb8}.lp-when .state{color:var(--ink);align-items:center;gap:7px;font-weight:700;display:inline-flex}.lp-stage.today .lp-when .state{color:var(--lime)}.lp-stage.done .lp-when .state{color:#fff}.lp-when .state .done-dot{width:20px;height:20px}.lp-stage h2{letter-spacing:-.01em;text-wrap:balance;margin-top:10px;font-size:28px;line-height:1.3}.lp-result{color:var(--ink-3);max-width:52ch;margin-top:8px;font-size:17px}.lp-stage.today .lp-result,.lp-stage.done .lp-result{color:#fffc}.lp-cta{flex-wrap:wrap;align-items:center;gap:10px 16px;margin-top:22px;display:flex}.lp-cta .hint{color:var(--muted);align-items:center;gap:6px;font-size:15px;display:inline-flex}.lp-stage.today .lp-cta .hint,.lp-stage.done .lp-cta .hint{color:#ffffffc7}.lp-cta .hint svg.i{width:17px;height:17px}.lp-body{padding:4px 26px 18px}.lp-row{border-top:1px solid var(--line);text-align:left;align-items:center;gap:14px;width:100%;padding:15px 0;font-size:17px;display:flex}.lp-body>.lp-row:first-child{border-top:0}.lp-row>svg.i{color:var(--ink);flex:none}.lp-row .body{flex:1;min-width:0}.lp-row .body b{font-size:17px;font-weight:600;line-height:1.4;display:block}.lp-row .body p,.lp-row .body small{color:var(--muted);margin-top:2px;font-size:15px;line-height:1.5;display:block}.lp-row .btn,.lp-row .dl{flex:none}.lp-row .dl{color:var(--ink);border-bottom:1.5px solid var(--line-strong);font-size:15px;font-weight:600}button.lp-row:hover{background:var(--well)}.lp-more{border-top:1px solid var(--line)}.lp-more summary{cursor:pointer;color:var(--ink);align-items:center;gap:12px;min-height:48px;padding:15px 0;font-size:17px;font-weight:600;list-style:none;display:flex}.lp-more summary::-webkit-details-marker{display:none}.lp-more summary .meta{flex:1;font-weight:400}.lp-more summary>svg.i{color:var(--ink);flex:none;transition:transform .15s}.lp-more[open] summary>svg.i{transform:rotate(180deg)}.lp-more .inner{padding:2px 0 20px}.lp-nav{border-top:1px solid var(--line);justify-content:space-between;gap:10px;padding-top:12px;display:flex}.lp-nav a{min-height:44px;color:var(--ink-3);align-items:center;gap:6px;font-size:16px;font-weight:600;display:inline-flex}.lp-nav a:hover{color:var(--ink)}.lp-nav a.next{margin-left:auto}.lstrip{scrollbar-width:none;gap:8px;margin-bottom:14px;padding:2px;display:none;overflow-x:auto}.lstrip::-webkit-scrollbar{display:none}.lstrip a{border:1.5px solid var(--line-strong);background:var(--paper);width:44px;height:44px;font:700 17px/1 var(--display);color:var(--ink-2);border-radius:12px;flex:none;place-items:center;display:grid;position:relative}.lstrip a.done{color:var(--done-text);text-decoration:line-through;text-decoration-thickness:1.5px}.lstrip a.today{background:var(--lime);border-color:var(--lime);color:var(--lime-ink)}.lstrip a.sel{background:var(--ink);border-color:var(--ink);color:#fff;text-decoration-color:#ffffffb8}.lstrip a.sel.done{color:#fffc}.lstrip a .done-dot{border:2px solid var(--paper);width:18px;height:18px;position:absolute;top:-6px;right:-6px}.lstrip a .done-dot svg.i{width:10px;height:10px}.lp-time{border-radius:8px;gap:3px;height:30px;font-size:13px;font-weight:600;display:flex;overflow:hidden}.lp-time span{background:var(--well-2);color:var(--ink-3);white-space:nowrap;justify-content:center;align-items:center;min-width:0;display:flex;overflow:hidden}.lp-time span.main{background:var(--ink);color:#fff}.lp-grid{row-gap:18px;margin-top:20px}.lp-sec h3{font:700 14px/1 var(--body);color:var(--muted);align-items:center;gap:8px;margin-bottom:8px;display:flex}.lp-sec p{font-size:17px;line-height:1.65}.tags{flex-wrap:wrap;gap:6px;display:flex}.tags li{border:1px solid var(--line-strong);color:var(--ink-2);border-radius:999px;padding:4px 10px;font-size:15px}.steps{counter-reset:s}.steps li{border-top:1px solid var(--line);gap:12px;padding:9px 0;font-size:17px;display:flex}.steps li:first-child{border-top:0;padding-top:0}.steps li:before{counter-increment:s;content:counter(s);background:var(--well-2);width:24px;height:24px;font:700 13px/1 var(--body);color:var(--ink);border-radius:50%;flex:none;place-items:center;margin-top:2px;display:grid}.video{aspect-ratio:16/9;border-radius:var(--r-sm);background:var(--ink);color:#fff;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:24px;display:flex;position:relative;overflow:hidden}.video:after{content:"";aspect-ratio:1;pointer-events:none;background:radial-gradient(circle,#cdf24f40,#0000 60%);border-radius:50%;width:70%;position:absolute;inset:auto -20% -60% auto}.video .play{background:var(--lime);width:72px;height:72px;color:var(--lime-ink);z-index:1;border-radius:50%;place-items:center;display:grid;position:relative}.video .play svg.i{stroke-width:2.2px;width:30px;height:30px}.video p{color:#fffc;letter-spacing:.005em;z-index:1;max-width:40ch;font-size:17px;position:relative}.video .big{font:700 22px/1.4 var(--display);color:#fff}.lesson-head{justify-content:space-between;align-items:flex-start;gap:20px;margin-top:14px;display:flex}.lesson-body{align-items:start;margin-top:24px}.tabpanel{padding:22px 0 0}.tabpanel h3{margin-bottom:10px}.goals li{border-top:1px solid var(--line);gap:12px;padding:12px 0;font-size:17px;display:flex}.goals li:first-child{border-top:0}.goals svg.i{color:var(--ink);flex:none;margin-top:3px}.file{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--paper);text-align:left;align-items:center;gap:14px;width:100%;padding:14px 16px;font-size:17px;display:flex}.file+.file{margin-top:10px}.file:hover{border-color:var(--line-strong);background:var(--well)}.file svg.i{color:var(--ink)}.file small{color:var(--muted);font-size:14px;display:block}.file .dl{color:var(--ink);border-bottom:1.5px solid var(--line-strong);margin-left:auto;font-size:15px;font-weight:600}.side-nav{align-content:start;gap:10px;display:grid}.side-nav a{border:1px solid var(--line);border-radius:var(--r-sm);background:var(--well);flex-direction:column;gap:2px;padding:14px 16px;font-size:16px;display:flex}.side-nav a:hover{border-color:var(--line-strong);background:var(--well-2)}.side-nav a small{color:var(--muted);font-size:14px}.side-nav a b{font-weight:600}.board{align-items:start;margin-top:24px}@media (min-width:1121px){.g.board{grid-template-columns:210px minmax(0,1fr) 262px}.g.board>.s3,.g.board>.s6{grid-column:auto;min-width:0}}.bmenu{padding:8px;position:sticky;top:100px}.bmenu a,.bmenu button{width:100%;color:var(--ink-3);text-align:left;border-radius:10px;align-items:center;gap:8px;padding:9px 12px;font-size:18px;font-weight:500;line-height:1.5;transition:background .15s,color .15s;display:flex}.bmenu a:hover,.bmenu button:hover{background:var(--well-2);color:var(--ink)}.bmenu [aria-current=page],.bmenu [aria-pressed=true]{background:var(--ink);color:#fff;font-weight:600}.bmenu .cnt{color:var(--faint);font-variant-numeric:tabular-nums;margin-left:auto;font-size:14px}.bmenu [aria-current=page] .cnt,.bmenu [aria-pressed=true] .cnt{color:#ffffffb3}.bmenu .grp{color:var(--faint);padding:16px 14px 6px;font-size:13px;font-weight:600}.bmenu .sep{background:var(--line);height:1px;margin:10px 4px 2px}.btools{flex-wrap:wrap;align-items:center;gap:10px;padding:10px;display:flex}.btools .search{border:1.5px solid var(--line);background:var(--paper);min-height:44px;color:var(--muted);border-radius:10px;flex:200px;align-items:center;gap:10px;padding:0 14px;font-size:16px;display:flex}.btools .search:focus-within{border-color:var(--ink)}.btools .search svg.i{width:19px;height:19px}.btools .search input{background:0 0;border:0;outline:none;flex:1;min-width:0;font-size:16px}.posts{gap:14px;margin-top:14px;display:grid}.post-card{grid-template-columns:minmax(0,1fr) auto;gap:18px;padding:16px 20px 14px;transition:border-color .15s,box-shadow .15s;display:grid}.post-card:hover{border-color:var(--line-strong);box-shadow:var(--shadow-hover)}.post-card.pinned{background:var(--well);box-shadow:none;border-left:4px solid var(--lime)}.post-card .head{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.post-card .head .n{font-size:16px;font-weight:600}.post-card .head .t{color:var(--muted);font-size:14px}.post-card h3{margin-top:6px;font-size:19px;line-height:1.4}.post-card h3 a:hover{text-underline-offset:3px;text-decoration:underline}.post-card .prev{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:6px;font-size:16px;display:-webkit-box;overflow:hidden}.post-card .foot{color:var(--muted);gap:16px;margin-top:8px;font-size:15px;display:flex}.post-card .foot span{align-items:center;gap:5px;display:inline-flex}.post-card .foot svg.i{width:18px;height:18px}.post-card .foot .act{color:var(--faint);margin-left:auto;font-size:14px}.post-card .thumb{object-fit:cover;border:1px solid var(--line);border-radius:10px;align-self:center;width:96px;height:96px}.post-card .pin{color:var(--ink);align-items:center;gap:4px;font-size:13px;font-weight:600;display:inline-flex}.post-card .head .tools{margin-top:-6px;margin-left:auto;margin-right:-8px}.post-card .head .tools .kebab{width:36px;height:36px}.post-card .pin svg.i{width:15px;height:15px}.mecard{gap:var(--gap);display:grid;position:sticky;top:100px}.mecard .card{padding:18px}@media (min-width:1121px){.bscroll{overscroll-behavior:contain;scrollbar-width:none;align-content:start;max-height:calc(100vh - 116px);margin:-4px;padding:4px;position:sticky;top:100px;overflow-y:auto}.bscroll::-webkit-scrollbar{display:none}.bscroll:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:var(--r)}}.mecard .who{align-items:center}.mecard .who .n{font-size:17px}.mecard .mstats{text-align:center;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:16px;display:grid}.mecard .mstats a{background:var(--well);border:1px solid var(--line);border-radius:10px;padding:10px 4px;display:block}.mecard .mstats a:hover{border-color:var(--line-strong)}.mecard .mstats b{font:700 20px/1.2 var(--display);display:block}.mecard .mstats span{color:var(--muted);font-size:13px}.mecard .acts{gap:8px;margin-top:16px;display:grid}.mecard h3{margin-bottom:10px;font-size:17px}.mecard .links{gap:2px;margin-top:4px;display:grid}.mecard .links a{color:var(--ink-3);border-radius:8px;align-items:center;gap:8px;padding:8px 6px;font-size:15px;display:flex}.mecard .links a:hover{background:var(--well-2);color:var(--ink)}.mecard .links svg.i{width:17px;height:17px}.mecard .links .chip{margin-left:auto}.mebar{align-items:center;gap:12px;margin-bottom:12px;padding:12px 16px;display:none}.mebar .t{min-width:0;color:var(--muted);flex:1;font-size:15px}.mebar .t b{color:var(--ink);font-size:16px;display:block}.post .meta-row{flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px;display:flex}.post .content{border-top:1px solid var(--line);margin-top:24px;padding-top:24px;font-size:18px;line-height:1.75}.post .content p+p{margin-top:16px}.post .content img{border-radius:var(--r-sm);border:1px solid var(--line);margin-top:20px}.editor{gap:var(--gap);grid-template-columns:minmax(0,1fr) 300px;align-items:start;margin-top:20px;display:grid}.editor>*{min-width:0}.ed{border:1px solid var(--line);border-radius:var(--r);background:var(--paper);box-shadow:var(--shadow-card);overflow:hidden}.ed-bar{border-bottom:1px solid var(--line);background:var(--well);z-index:5;flex-wrap:wrap;align-items:center;gap:2px;padding:8px 10px;display:flex;position:sticky;top:76px}.ed-bar .grp{align-items:center;gap:2px;display:flex}.ed-bar .vr{background:var(--line-strong);width:1px;height:22px;margin:0 6px}.ed-bar button{min-width:36px;height:36px;color:var(--ink-3);border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 8px;font-size:14px;font-weight:600;display:inline-flex}.ed-bar button:hover{background:var(--well-2);color:var(--ink)}.ed-bar button[aria-pressed=true]{background:var(--ink);color:#fff}.ed-bar button svg.i{width:18px;height:18px}.ed-bar .right{align-items:center;gap:2px;margin-left:auto;display:flex}.ed-bar .seg{padding:3px}.ed-bar .seg button{min-width:0;height:30px;padding:0 10px;font-size:13px}.ed-body{padding:28px 32px 36px}.ed-title{font:700 28px/1.3 var(--display);letter-spacing:-.02em;color:var(--ink);min-height:44px;padding:4px 0}.ed-title.ph{color:var(--faint)}.blk{border-radius:8px;padding:6px 0 6px 36px;transition:background .12s;position:relative}.blk:hover{background:var(--well)}.blk .hd{opacity:.55;flex-direction:column;align-items:center;gap:2px;display:flex;position:absolute;top:8px;left:4px}.blk:hover .hd,.blk.sel .hd{opacity:1}.blk .hd span{width:22px;height:22px;color:var(--muted);cursor:grab;border-radius:6px;place-items:center;font-size:12px;display:grid}.blk .hd span:hover{background:var(--well-2);color:var(--ink)}.blk.sel{background:var(--well);box-shadow:inset 0 0 0 1.5px var(--ink)}.blk .act{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-card);border-radius:9px;gap:2px;padding:3px;display:none;position:absolute;top:6px;right:8px}.blk:hover .act,.blk.sel .act{display:flex}.blk .act button{width:30px;height:30px;color:var(--ink-3);border-radius:6px;place-items:center;display:grid}.blk .act button:hover{background:var(--well-2);color:var(--ink)}.blk .act button svg.i{width:16px;height:16px}.blk .act .del:hover{color:var(--danger)}.blk p{padding:2px 0;font-size:18px;line-height:1.75}.blk p.ph{color:var(--faint)}.blk h3.sec-t{font:700 15px/1.4 var(--body);color:var(--muted);letter-spacing:.02em;align-items:center;gap:8px;padding:10px 0 2px;display:flex}.blk h3.sec-t:before{content:"";background:var(--lime);border-radius:2px;width:8px;height:8px}.blk .cap{color:var(--muted);text-align:center;margin-top:8px;font-size:14px}.blk .img{border-radius:var(--r-sm);border:1px solid var(--line);background:var(--well);max-width:620px;overflow:hidden}.blk .img img{width:100%}.blk .drop{border:1.5px dashed var(--line-strong);border-radius:var(--r-sm);background:var(--well);color:var(--muted);align-items:center;gap:16px;padding:26px 20px;font-size:16px;display:flex}.blk .drop svg.i{width:28px;height:28px;color:var(--ink);flex:none}.blk .drop b{color:var(--ink);font-size:17px;font-weight:600;display:block}.blk .drop .btn{margin-left:auto}.blk .vid{aspect-ratio:16/9;border-radius:var(--r-sm);background:var(--ink);color:#fff;place-items:center;max-width:620px;display:grid;position:relative}.blk .vid .play{background:var(--lime);width:56px;height:56px;color:var(--lime-ink);border-radius:50%;place-items:center;display:grid}.blk .vid small{color:#ffffffb3;font-size:13px;position:absolute;bottom:12px;left:14px}.blk .att{border:1px solid var(--line);background:var(--well);border-radius:10px;align-items:center;gap:12px;padding:12px 16px;font-size:16px;display:inline-flex}.blk .att svg.i{color:var(--ink)}.blk .att small{color:var(--muted);font-size:13px;display:block}.blk ul.li{padding-left:24px;list-style:outside}.blk ul.li li{font-size:18px;line-height:1.7}.blk blockquote{border-left:3px solid var(--lime);color:var(--ink-3);margin:0;padding:6px 18px;font-size:17px}.blk code.cd{background:var(--ink);color:#e8e8e4;border-radius:10px;max-width:620px;padding:14px 16px;font:15px/1.6 ui-monospace,Menlo,monospace;display:block}.add-blk{flex-wrap:wrap;gap:6px;padding:14px 0 0 36px;display:flex}.add-blk button{border:1px dashed var(--line-strong);height:36px;color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:14px;font-weight:600;display:inline-flex}.add-blk button:hover{border-color:var(--ink);color:var(--ink);background:var(--well)}.add-blk button svg.i{width:16px;height:16px}.ed-md{color:var(--ink-3);white-space:pre-wrap;background:var(--well);min-height:300px;padding:24px 28px;font:15px/1.7 ui-monospace,Menlo,monospace}.ed-side{gap:16px;display:grid;position:sticky;top:100px}.ed-side .card{padding:18px 20px}.ed-side h3{margin-bottom:10px;font-size:16px}.ed-side .row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding:8px 0;font-size:15px;display:flex}.ed-side .row:first-of-type{border-top:0}.ed-side .row .meta{font-size:14px}.radios{flex-wrap:wrap;gap:6px;display:flex}.radios label{border:1.5px solid var(--line-strong);background:var(--paper);cursor:pointer;border-radius:999px;align-items:center;min-height:36px;padding:4px 12px;font-size:14px;font-weight:500;display:inline-flex;position:relative}.radios label:has(input:checked){border-color:var(--ink);background:var(--ink);color:#fff;font-weight:600}.radios input{opacity:0;width:1px;height:1px;position:absolute}.check{border:1.5px solid var(--line-strong);background:var(--paper);cursor:pointer;border-radius:12px;align-items:flex-start;gap:10px;padding:12px;display:flex}.check:has(input:checked){border-color:var(--ink);background:var(--well)}.check input{flex:none;width:20px;height:20px;margin:3px 0 0}.check b{font-size:15px;font-weight:600;display:block}.check span{color:var(--muted);margin-top:2px;font-size:13px;display:block}.switch{color:var(--ink-3);align-items:center;gap:8px;font-size:14px;display:inline-flex}.switch i{background:var(--line-strong);border-radius:999px;width:34px;height:20px;display:inline-block;position:relative}.switch i:after{content:"";background:#fff;border-radius:50%;width:16px;height:16px;transition:left .15s;position:absolute;top:2px;left:2px}.switch.on i{background:var(--ink)}.switch.on i:after{left:16px}.profile-head{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.profile-head .txt{flex:1;min-width:240px}.profile-head .txt h1{margin-top:4px}.profile-head .tags{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.work{border:1px solid var(--line);border-radius:var(--r);background:var(--paper);box-shadow:var(--shadow-card);flex-direction:column;display:flex;overflow:hidden}.work img{aspect-ratio:16/10;object-fit:cover;border-bottom:1px solid var(--line);width:100%}.work .wb{padding:14px 16px 16px}.work h3{font-size:18px}.work .meta{margin-top:4px}.work .bar{gap:6px;margin-top:10px;display:flex}.work .bar i{background:var(--well-2);border-radius:3px;flex:1;height:6px}.work .bar i.on{background:var(--ink)}.badge{border:1px solid var(--line);border-radius:var(--r);background:var(--paper);align-items:center;gap:14px;padding:16px;display:flex}.badge .ico{background:var(--ink);width:56px;height:56px;color:var(--lime);border-radius:16px;flex:none;place-items:center;display:grid}.badge .ico svg.i{width:26px;height:26px}.badge.locked{background:var(--well);box-shadow:none}.badge.locked .ico{background:var(--well-2);color:var(--faint)}.badge b{font-size:17px;font-weight:600;display:block}.badge span{color:var(--muted);margin-top:2px;font-size:14px;display:block}.badge .prog{background:var(--well-2);border-radius:3px;height:5px;margin-top:8px;overflow:hidden}.badge .prog i{background:var(--ink);height:100%;display:block}.review{border:1px solid var(--line);border-radius:var(--r);background:var(--paper);box-shadow:var(--shadow-card);flex-direction:column;gap:10px;padding:20px 22px;display:flex}.review .stars{color:var(--ink);letter-spacing:2px;font-size:15px}.review p{font-size:17px;line-height:1.65}.review .who{margin-top:auto}.table{border-collapse:collapse;width:100%;font-size:16px}.table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);padding:8px 10px;font-size:13px;font-weight:600}.table td{border-bottom:1px solid var(--line);vertical-align:middle;padding:12px 10px}.table tr:last-child td{border-bottom:0}.table .bar{background:var(--well-2);border-radius:4px;min-width:120px;height:8px;overflow:hidden}.table .bar i{background:var(--ink);height:100%;display:block}.admin-nav{flex-wrap:wrap;gap:6px;margin-top:20px;display:flex}.admin-nav a{border:1.5px solid var(--line-strong);min-height:40px;color:var(--muted);border-radius:999px;align-items:center;gap:6px;padding:6px 14px;font-size:15px;font-weight:500;display:inline-flex}.admin-nav a[aria-current=page]{background:var(--ink);border-color:var(--ink);color:#fff;font-weight:600}.kpi{background:var(--well);border:1px solid var(--line);border-radius:14px;padding:18px 20px}.kpi b{font:700 30px/1.2 var(--display);letter-spacing:-.02em;display:block}.kpi b small{font:500 15px/1 var(--body);color:var(--muted);margin-left:3px}.kpi span{color:var(--muted);font-size:14px}.kpi.lime{background:var(--lime-soft);border-color:var(--lime)}.modal-bg{z-index:50;background:#0006;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{background:var(--paper);width:100%;max-width:420px;box-shadow:var(--shadow-pop);border-radius:18px;padding:28px}.modal h2{font-size:21px}.modal p{color:var(--muted);margin-top:8px;font-size:16px}.modal .acts{justify-content:flex-end;gap:8px;margin-top:22px;display:flex}.btn-danger{background:var(--danger);color:#fff}.toast{background:var(--ink);color:#fff;opacity:0;pointer-events:none;z-index:60;text-align:center;border-radius:12px;max-width:calc(100% - 32px);padding:14px 20px;font-size:16px;font-weight:500;transition:opacity .2s,transform .25s cubic-bezier(.2,.8,.2,1);position:fixed;bottom:28px;left:50%;transform:translate(-50%)translateY(16px);box-shadow:0 10px 30px #0000004d}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}@media (max-width:1120px){.g.home-row>.s8,.g.home-row>.s4{grid-column:span 12}.g.feed4>.s3,.g.feed>.s4{grid-column:span 6}.g.feed-tiles>.s3{grid-column:span 4}.g.board>.s3.bmenu{grid-column:span 3}.g.board>.s6{grid-column:span 9}.mecard{display:none}.mebar{display:flex}.g.lesson-body>.s8,.g.lesson-body>.s4,.g.lesson-page>.s8,.g.lesson-page>.s4{grid-column:span 12}.lesson-list .card{position:static}.lws{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;display:grid}.side-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.hero{grid-template-columns:1fr}.map{border-left:0}.g.status>.s6,.g.status>.s4,.g.status>.s8{grid-column:span 12}.g.quad>.s3{grid-column:span 6}.editor{grid-template-columns:1fr}.ed-side{position:static}.top .wrap{gap:16px}.nav a{padding:0 12px;font-size:16px}.nav svg.i{display:none}.g.ranks>.s6,.g.cal-page>.s8,.g.cal-page>.s4{grid-column:span 12}}@media (max-width:900px){.wrap{padding:0 20px}#view{box-shadow:none;min-height:calc(100vh - 64px)}.top .wrap{grid-template-columns:auto 1fr auto;height:60px}.brand{--badge-width:80px;--type-size:21px;--gap:6px}.nav,.me-btn .n{display:none}.me-btn{border:0;padding:0 4px}.tabbar{display:flex}.page{padding:22px 0 104px}.sec{margin-top:32px}.g.lesson-page .lesson-list{order:2}.g.lesson-page .lesson-main{order:1}.lstrip{display:flex}.g.board{display:block}.bmenu{display:none}.bchips{margin-bottom:12px;display:block}.toast{bottom:calc(92px + env(safe-area-inset-bottom))}.ed-bar{top:64px}}@media (min-width:901px){.bchips{display:none}}@media (max-width:720px){body{font-size:17px}h1{font-size:28px}h2{font-size:21px}:root{--gap:16px}.top .wrap{grid-template-columns:auto auto;justify-content:space-between;gap:12px}.top-right{gap:4px}.icon-btn{width:40px;height:40px}.me-btn{gap:0;padding:0}.me-btn svg.i{display:none}.g.lesson-page .lp-grid>.s6{grid-column:span 12}.lp-stage{padding:22px 18px 20px}.lp-stage h2{font-size:23px}.lp-cta .btn{flex:100%}.lp-body{padding:0 18px 16px}.lp-row{flex-wrap:wrap;row-gap:10px}.lp-row>.btn{flex:100%}.lp-time{font-size:12px}.lws{grid-template-columns:1fr}.hero-main{padding:26px 22px 24px}.hero h1{font-size:30px}.hero p{font-size:17px}.hero .cta .btn{flex:100%}.hero-dl{text-align:center;border-radius:14px;justify-content:center;width:100%}.dl-bar .meta{flex-basis:100%;margin-left:0}.map{padding:18px 16px 16px}.map-grid{gap:6px}.pip{gap:6px;padding:0 8px;font-size:13px}.card-pad{padding:18px}.g.feed4{scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;margin:0 -4px;padding:4px 4px 12px;display:flex;overflow-x:auto}.g.feed4>.s3{scroll-snap-align:start;flex:0 0 236px}.g.feed>.s4{grid-column:span 12}.g.feed{gap:12px}.g.feed .pcard{grid-template-columns:104px minmax(0,1fr);display:grid}.g.feed .pcard .ph{aspect-ratio:auto;border-bottom:0;border-right:1px solid var(--line);height:100%;min-height:120px}.g.feed .pcard .cb{gap:6px;padding:10px 12px}.g.feed .pcard .did{-webkit-line-clamp:2}.g.feed-tiles{gap:10px}.g.feed-tiles>.s3{grid-column:span 6}.pcard.tile .ph{aspect-ratio:4/3}.pcard.tile .cb{padding:9px 10px 10px}.pcard.tile .who{gap:6px;padding-right:30px}.pcard.tile .who .chip,.pcard.tile .stuck{display:none}.tile-tools{top:4px;right:4px}.stats.four{grid-template-columns:1fr 1fr}.jd-tools{padding:12px}.jd-tools-r{width:100%}.jd-nav b{flex:1;min-width:0}.jd-nav{width:100%}.cal-head h2{min-width:0;font-size:19px}.cal-d{gap:3px;min-height:52px;padding:4px}.cal-d .d{padding:2px 4px;font-size:13px}.cal-d .ev{border-radius:50%;width:9px;height:9px;padding:0;font-size:0}.cal-d .ev small{display:none}.lesson-row{flex-wrap:wrap;row-gap:8px}.lesson-row .num{width:36px;font-size:18px}.lesson-row .body{flex-basis:calc(100% - 52px)}.lesson-row .state{flex-basis:100%;padding-left:52px}.week-group .card{padding:4px 18px}.side-nav{grid-template-columns:1fr}.tabs{gap:0}.tabs button{white-space:normal;text-align:center;flex:1 1 0;padding:12px 6px;font-size:16px;line-height:1.3}.page-head .actions{width:100%}.page-head .actions .btn{flex:1}.three p{font-size:17px}.video .play{width:60px;height:60px}.cform{flex-direction:column}.cform .btn{width:100%}.post-card{grid-template-columns:1fr;padding:18px 18px 14px}.post-card .thumb{order:-1;width:100%;height:160px}.stats{gap:8px}.stat{padding:12px 14px}.stat b{font-size:22px}.jd-name{padding-right:8px;font-size:14px}.subnav a{padding:10px 12px;font-size:16px}.ed-body{padding:20px 16px 28px}.blk{padding-left:30px}.blk .hd{left:0}.ed-title{font-size:24px}.g.quad>.s3{grid-column:span 12}.profile-head .avatar.xl{width:64px;height:64px;font-size:26px}}.jd-people-panels{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;display:grid}.jd-people-panels.month{grid-template-columns:minmax(0,1fr)}.jd-people-panels>.card{min-width:0;padding:20px}.jd-people-panels .jd-name{box-shadow:0 0 0 3px var(--paper);align-self:stretch}.jd-panel-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;font-size:16px;display:flex}.jd-panel-head span{color:var(--muted);font-size:14px}@media (max-width:720px){.jd-people-panels{grid-template-columns:1fr;gap:16px}.jd-people-panels>.card{padding:16px}}.home-month .jd-name{box-shadow:0 0 0 3px var(--jd-bg);align-self:stretch}.board-mobile-categories{scrollbar-width:none;gap:8px;padding:2px 0 8px;display:flex;overflow-x:auto}.board-mobile-categories::-webkit-scrollbar{display:none}.board-mobile-categories .chip{white-space:nowrap;flex:none;padding:8px 12px;font-size:17px;line-height:1.5}.board-mobile-categories [aria-pressed=true]{background:var(--ink);color:#fff}.board-mobile-scope{gap:16px;padding:4px 0 12px;display:flex}.board-mobile-scope button{color:var(--muted);padding:4px 0;font-size:16px;line-height:1.5}.board-mobile-scope [aria-pressed=true]{color:var(--ink);font-weight:700}.rank-row{grid-template-columns:40px minmax(0,1fr) auto}.rank-row.grp{grid-template-columns:40px 96px minmax(0,1fr) 56px}.medal{--m1:#ffe27a;--m2:#e9a800;--mr:#b97f00;justify-self:center;place-items:center;width:34px;height:38px;padding-top:2px;display:grid;position:relative}.medal.m2{--m1:#f4f5f7;--m2:#aeb4bd;--mr:#7d848e}.medal.m3{--m1:#f6c79a;--m2:#c97a3a;--mr:#94541f}.medal .disc{z-index:1;background:radial-gradient(circle at 32% 28%,#fff8 0 14%,transparent 15%),linear-gradient(145deg,var(--m1),var(--m2));width:28px;height:28px;box-shadow:inset 0 0 0 2px #ffffffb0,inset 0 -2px 0 2px #0000000f,0 1px 0 var(--mr),0 3px 8px -3px var(--mr);border-radius:50%;place-items:center;display:grid;position:relative}.medal .disc b{font:800 14px/1 var(--display);color:#1c1a14;text-shadow:0 1px #ffffff80}.medal.m2 .disc b{color:#2a2e35}.medal.m3 .disc b{color:#3a1e08}.medal .ribbon{width:22px;height:13px;fill:var(--mr);opacity:.9;position:absolute;bottom:-5px;left:50%;transform:translate(-50%)}.medal.m1 .ribbon{fill:#1b1b18}.medal.m1 .ribbon path:last-child{fill:var(--lime)}.medal .crown{width:18px;height:11px;fill:var(--m2);stroke:var(--mr);stroke-width:.8px;z-index:2;filter:drop-shadow(0 1px #fff);position:absolute;top:-6px;left:50%;transform:translate(-50%)rotate(-8deg)}.rank-row.podium .nm{font-weight:700}.rank-row.podium.p1:not(.me):not(.sel){background:linear-gradient(90deg,#fff6d6,#0000 70%)}.rank-row.sel .medal .disc{box-shadow:inset 0 0 0 2px #fff,0 0 0 2px #ffffff30}@media (prefers-reduced-motion:no-preference){.rank-row.podium.p1 .medal .disc{animation:3.2s ease-in-out infinite medal-shine}}@keyframes medal-shine{0%,70%,to{filter:none}80%{filter:brightness(1.12)saturate(1.1)}}.jd-weekly .jd{gap:4px}.jd-weekly .jd-wk{white-space:nowrap;font-size:12px}.jd-weekly .jd-wk.current{color:var(--ink);border-bottom-color:var(--ink)}.jd-weekly .jd-d b{font-weight:600}.jd-weekly .jd-d.out{opacity:.45}.jd-weekly .jd-gap{width:auto}.legend .cls-mark{background:var(--ink);vertical-align:middle;border-radius:2px;width:12px;height:2px;margin-right:2px;display:inline-block}.jd-cnt small{color:var(--muted);margin-left:1px;font-size:12px}.peer-thumbs{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0 4px;display:grid}.peer-thumbs a{aspect-ratio:4/3;background:var(--well-2);border:1px solid var(--line);border-radius:10px;display:block;position:relative;overflow:hidden}.peer-thumbs img{object-fit:cover;width:100%;height:100%;display:block}.peer-thumbs span{color:#fff;background:linear-gradient(#0000,#000a);padding:10px 6px 4px;font-size:12px;font-weight:600;position:absolute;bottom:0;left:0;right:0}.ten .jd-wrap{margin-top:12px}.pcard .who{position:relative}.pcard .who .today-chip{align-self:flex-start;margin-left:auto;font-size:12px}.post-card .foot{justify-content:space-between;align-items:center;gap:12px;display:flex}.post-card .foot .act{color:var(--faint);white-space:nowrap;font-size:13px}.sec-head h2 .sub{letter-spacing:0;color:var(--muted);margin-left:8px;font-family:Pretendard,system-ui,sans-serif;font-size:14px;font-weight:500}.jd-corner{z-index:1;background:var(--jd-bg);box-shadow:0 0 0 3px var(--jd-bg);align-self:stretch;position:sticky;left:0}.bmenu button .cnt{color:var(--muted);font-variant-numeric:tabular-nums;margin-left:auto;font-size:13px;font-weight:600}.bmenu button{align-items:center;gap:8px;display:flex}.bmenu button[aria-current=page] .cnt{color:inherit;opacity:.75}.board-scope-note{margin:4px 2px 10px;font-size:14px}.board-person .j{color:var(--muted);margin-top:2px;font-size:13px;line-height:1.4;display:block}.lp-more summary .lp-more-meta{color:var(--muted);margin-left:10px;font-size:13px;font-weight:500}.lp-nav a{align-items:center;gap:4px;display:inline-flex}.kind-chips{flex-wrap:wrap;gap:6px;margin:10px 0 8px;display:flex}.kind-chips button{border:1.5px solid var(--line-strong);background:var(--paper);min-height:36px;font:inherit;color:var(--muted);cursor:pointer;border-radius:999px;padding:6px 14px;font-size:14px;font-weight:500}.kind-chips button[aria-checked=true]{background:var(--ink);border-color:var(--ink);color:#fff;font-weight:600}.share-opt{border:1.5px solid var(--line);cursor:pointer;border-radius:12px;align-items:flex-start;gap:10px;margin-top:10px;padding:12px;display:flex}.share-opt input{flex:none;width:18px;height:18px;margin-top:3px}.share-opt span{gap:2px;display:grid}.share-opt b{font-size:14px;font-weight:600}.share-opt small{color:var(--muted);font-size:12.5px;line-height:1.5}.hero-dl .dl-note{color:#ffffff8c;font-size:13px}.compose-side label.share-opt{flex-direction:row;grid-template-columns:none;display:flex}
.demo-boundary{text-align:center;color:var(--muted);background:var(--well);padding:12px;font-size:13px;position:relative}.entry-menu{margin-left:auto;position:relative}.entry-menu-panel{z-index:10;border:1px solid var(--line);box-shadow:var(--shadow-pop);background:#fff;border-radius:10px;min-width:120px;padding:8px;position:absolute;top:100%;right:0}.entry-menu-panel>*{text-align:left;width:100%;padding:10px;display:block}@media (max-width:720px){.demo-boundary{padding-bottom:90px}}.nav a[aria-current=page],.tabbar a[aria-current=page],.subnav a[aria-current=page]{color:var(--ink);font-weight:800}.nav a[aria-current=page]{border-bottom:3px solid var(--ink)}.page-head{justify-content:space-between;align-items:center;gap:20px;margin:0 0 26px;display:flex}.page-head h1{font-size:32px}.page-head .lede{color:var(--muted);margin-top:8px}.page-head .btn{flex-shrink:0}.checkin-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.checkin-tile{min-width:0;position:relative;overflow:visible}.checkin-tile>.entry-menu{z-index:2;background:#fff;border-radius:50%;position:absolute;top:5px;right:5px}.tile-image{background:var(--well);border-radius:var(--radius) var(--radius) 0 0;height:118px;display:block;overflow:hidden}.tile-image img{object-fit:cover;width:100%;height:100%}.tile-body{padding:14px}.tile-body .who{align-items:center;gap:8px;margin-bottom:10px;display:flex}.tile-body .who b,.tile-body .who small{display:block}.tile-body .who small{color:var(--muted);font-size:13px}.tile-text{-webkit-line-clamp:3;-webkit-box-orient:vertical;min-height:79px;font-size:17px;line-height:1.55;display:-webkit-box;overflow:hidden}.tile-body .counts{gap:16px;margin-top:12px;display:flex}.counts>*{align-items:center;gap:5px;display:inline-flex}.own-thumb{border-radius:10px;height:128px;margin:12px 0;display:block;overflow:hidden}.own-thumb img{object-fit:cover;width:100%;height:100%}.zoom-join{gap:8px;display:grid}.zoom-join small{color:var(--muted);font-size:14px}.lp-stage .zoom-join small{color:inherit}.calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.calendar-dow{text-align:center;color:var(--muted);padding:12px 0;font-size:14px}.calendar-day{text-align:left;border:1px solid var(--line);background:#fff;border-radius:8px;min-height:88px;padding:10px}.calendar-day b{font-size:16px}.calendar-day span,.calendar-day small{margin-top:8px;font-size:14px;display:block}.calendar-day:has(span){background:var(--well)}.calendar-day.selected{outline:2px solid var(--ink)}.cal-side{align-content:start;gap:18px;display:grid}.rankline{border-bottom:1px solid var(--line);grid-template-columns:28px 1fr auto;gap:12px;padding:12px 0;display:grid}.team-rank{grid-template-columns:125px minmax(20px,1fr) 50px;align-items:center;gap:12px;padding:14px 0;display:grid}.team-rank small{background:var(--lime-soft);border-radius:4px;padding:3px;font-size:12px}.team-rank .track{background:var(--well);border-radius:8px;height:8px;overflow:hidden}.team-rank .track i{background:var(--grass);height:100%;display:block}.team-rank>b{text-align:right}.compose-layout{grid-template-columns:minmax(0,1fr) 260px;align-items:start;gap:24px;display:grid}.compose-title{border:0;border-bottom:1px solid var(--line);width:100%;margin-bottom:18px;padding:18px 0;font-size:26px;font-weight:700}.compose-side label{margin:18px 0;display:block}.compose-side select{width:100%;margin-top:8px;padding:10px;display:block}.comment-row{border-bottom:1px solid var(--line);padding:18px 0}.comment-row p{margin:10px 0}.comment-row button{margin-right:10px;font-size:14px}.comment-form{gap:10px;margin-top:20px;display:flex}.comment-form textarea{border:1px solid var(--line);border-radius:10px;flex:1;min-width:0;min-height:80px;padding:12px}.bnav button{text-align:left;border-radius:8px;width:100%;padding:11px 14px}.bnav button[aria-pressed=true]{background:var(--ink);color:#fff}.search-box{border:1px solid var(--line);border-radius:10px;align-items:center;gap:8px;padding:10px 12px;display:flex}.search-box input{background:0 0;border:0;width:100%;min-width:0}.bfilters{flex-wrap:wrap;justify-content:space-between;gap:12px;margin:15px 0;display:flex}.bfeed{gap:14px;display:grid}.bscroll{scrollbar-width:none;overflow:auto}.bscroll::-webkit-scrollbar{display:none}.bscroll:focus-visible{outline:2px solid var(--ink)}@media (min-width:1050px){.board-layout{grid-template-columns:170px minmax(0,1fr) 260px;gap:24px;display:grid}.board-layout .bscroll{overscroll-behavior:contain;height:calc(100vh - 230px)}}@media (max-width:1049px){.board-layout{grid-template-columns:150px minmax(0,1fr);gap:20px;display:grid}.board-layout>.board-right{display:none}.checkin-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:720px){.page-head{align-items:flex-start;margin-bottom:20px}.page-head h1{font-size:28px}.page-head .lede{font-size:16px}.page-head .btn{padding:10px;font-size:15px}.checkin-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tile-image{height:100px}.tile-body{padding:11px}.tile-text{min-height:75px;font-size:16px}.tile-body .who b{font-size:15px}.tile-body .avatar{display:none}.tile-body .who small{font-size:12px}.compose-layout{grid-template-columns:1fr}.compose-side{order:2}.calendar-day{min-height:75px;padding:7px 5px}.calendar-day span{font-size:12px}.calendar-day small{font-size:11px}.calendar-grid{gap:3px}.team-rank{grid-template-columns:110px minmax(20px,1fr) 42px;gap:8px}.stats.four{grid-template-columns:repeat(2,1fr)}.stat{padding:14px}.board-layout{display:block}.bnav{gap:6px;margin-bottom:15px;display:flex;overflow:auto}.bnav button{white-space:nowrap;width:auto}.board-layout>.board-right{display:none}.bscroll{height:auto;overflow:visible}.comment-form{flex-wrap:wrap}.comment-form textarea{flex-basis:100%}.post-card{padding:18px}}.nav a[aria-current=page]{color:#fff;border-bottom:0}.tabbar a[aria-current=page]{color:var(--ink)}.jd-d,.jd-d b{white-space:nowrap}.jd-d.today b{padding:1px 2px}.hero .hero-dl{color:#ffffffb8}.hero .hero-dl .dl-clock{color:var(--lime)}.calendar-event{width:100%;color:inherit;text-align:left;cursor:pointer;font-size:inherit;background:0 0;border:0;padding:4px 0;line-height:1.4;display:block}.calendar-event:focus-visible{outline:2px solid var(--ink);outline-offset:2px}.lesson-content{overflow-wrap:anywhere}.lesson-content img{max-width:100%;height:auto}.lesson-content table{display:block;overflow-x:auto}.video iframe{border:0;width:100%;height:100%;min-height:320px}.thumbnail-empty{height:100%;color:var(--muted);justify-content:center;align-items:center;font-size:14px;display:flex}.calendar-day:has(.calendar-event){background:var(--well)}@media (max-width:720px){.calendar-event{font-size:12px}}.calendar-event{white-space:nowrap}.calendar-day{min-width:0}@media (max-width:720px){.calendar-day{padding:7px 2px}.calendar-event{font-size:12px}}.account-menu-root{align-items:center;display:flex;position:relative}@media (min-width:1050px){.g.board>.bscroll{height:calc(100dvh - var(--app-header-height,75px) - 150px);overscroll-behavior:contain;min-height:320px}}.review-rating{border:0;flex-wrap:wrap;gap:8px;margin:20px 0;padding:0;display:flex}.review-rating legend{margin-bottom:10px}.review-actions{flex-wrap:wrap;gap:8px;display:flex}.push-preferences{gap:12px;margin:20px 0;display:grid}.push-preferences label{justify-content:space-between;align-items:center;gap:16px;display:flex}.push-preferences input{width:20px;height:20px;accent-color:var(--ink,#141414)}.badge-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:16px;margin:20px 0;display:grid}@media (max-width:720px){.writing-shell>#view.wrap{padding-left:0;padding-right:0}.writing-page{padding:8px 0 0!important}.writing-page>.page-head,.writing-page>.back,.writing-page>.assignment-picker{margin-left:12px;margin-right:12px}.writing-page>.page-head{margin-bottom:10px}.writing-page>.page-head .lede{display:none}.writing-page .compose-layout{gap:14px}.writing-page .compose-main{min-width:0;box-shadow:none;border:0;border-radius:0;padding:0}.writing-page .compose-title{margin:0;padding:12px;font-size:22px}.writing-page .compose-side{margin:0 12px 16px;padding:16px}:is(body:has(.writing-shell [data-keyboard-open=true]) .tabbar,body:has(.writing-shell [data-keyboard-open=true]) .demo-boundary){display:none}}.notice-body{display:block}.notice-body textarea{border:1px solid var(--line);width:100%;font:inherit;resize:vertical;border-radius:12px;padding:16px;display:block}.pcard .ph{display:block;overflow:hidden}.pcard .ph img{object-fit:cover;width:100%;height:100%}.rx{color:var(--muted);align-items:center;gap:14px;font-size:14px;display:flex}.rx>*{align-items:center;gap:4px;display:inline-flex}.rx svg{width:16px;height:16px}.rx button[aria-pressed=true] svg{fill:var(--ink);stroke:var(--ink)}.tile-tools .icon-btn{background:#ffffffe6;border-radius:9px;width:34px;height:34px}.post-card .head .tools{margin-left:auto}.zoom-join.join{width:100%}.home-lessons .task{margin-top:auto}.lesson-row .state{white-space:nowrap}.jd-d small{font-size:10px;line-height:1.4;display:block}.mecard,.mecard>.card{min-width:0;max-width:100%}.checkin-detail{margin-top:14px}.checkin-detail .photo{overflow:hidden}.checkin-detail .photo img{width:100%;height:auto;display:block}.checkin-detail .three h2{font-family:var(--body);color:var(--muted);border-top:1px solid var(--line);margin:24px 0 8px;padding-top:20px;font-size:14px}.checkin-detail .three p{font-size:18px;line-height:1.7}.checkin-detail .cform textarea{width:100%;padding:12px}.checkin-detail .comment>div{min-width:0}.checkin-detail .comment p{overflow-wrap:anywhere}@media (max-width:720px){.checkin-detail .three p{font-size:17px}.checkin-detail .photo{margin-top:16px}}.compose-guidance{padding:20px 0}.compose-guidance h3{margin:16px 0 6px;font-size:17px}.compose-guidance p{color:var(--muted);font-size:16px;line-height:1.6}.compose-side .dl-box{margin-top:16px}.compose-side>h3{font-size:20px}@media (min-width:1121px){.compose-layout{grid-template-columns:minmax(0,2fr) minmax(280px,1fr)}}.cal-pending{align-items:flex-start;gap:10px;margin-top:16px;display:flex}.cal-pending .i{width:20px;margin-top:2px}.cal-pending b,.cal-pending small{display:block}.cal-pending small{color:var(--muted);margin-top:4px;font-size:15px}.assignment-compose-info{border-bottom:1px solid var(--line);margin-bottom:18px;padding:14px 0 20px}.assignment-compose-info b{font-size:18px;line-height:1.55}.assignment-compose-info .more{margin-top:10px;font-size:15px;display:inline-block}.compose-side-stack{gap:16px;display:grid}.compose-side-stack .card h3{margin-bottom:16px}.compose-side-stack .row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.compose-side-stack .meta{margin-top:12px}.compose-side-stack label{margin:0}.compose-side-stack input[type=url]{border:1px solid var(--line);border-radius:8px;width:100%;margin-top:12px;padding:10px}@media (max-width:720px){.writing-page .compose-side-stack{margin:0 12px 16px;padding:0}}.mecard .mstat{background:var(--well);border:1px solid var(--line);color:var(--ink);border-radius:10px;padding:10px 4px;display:block}.mecard .mstat b{font-size:20px;font-weight:700;line-height:1.2;display:block}.mecard .mstat>span{color:var(--muted);margin-top:5px;font-size:13px;display:block}.mecard .mcard-link{color:var(--ink);border-radius:8px;align-items:center;gap:8px;padding:8px 6px;font-size:15px;line-height:1.65;display:flex}.mecard .mcard-link .chip{margin-left:auto;padding:2px 7px;font-size:12px}.mecard .mcard-link svg{flex:none;width:17px;height:17px}.board-person{min-width:0;display:block}.board-person .t{word-break:keep-all;margin-top:5px;line-height:1.5;display:block}.mecard .who{align-items:center}.mecard .who>.av{flex-shrink:0}.mecard .more{align-items:center;gap:6px;margin-top:12px;font-size:15px;display:inline-flex}.board-group-empty{color:var(--muted);padding:16px 0 2px;font-size:14px;line-height:1.7}.menu .account-menu-item{color:var(--ink);border-radius:8px;align-items:center;gap:10px;padding:10px 12px;font-size:16px;display:flex}.menu .account-menu-item svg{flex:none;width:18px;height:18px}.menu .account-menu-item .chip{margin-left:auto}.menu .hd{overflow-wrap:anywhere;line-height:1.5}.menu{max-width:calc(100vw - 24px)}.jd-wk.current{color:var(--ink);border-bottom-color:var(--ink);font-weight:700}.checkin-detail .react .counts{align-items:center;gap:16px;display:flex}.checkin-detail .react>.meta{margin-left:auto}.checkin-detail .three h2{align-items:center;gap:8px;display:flex}.checkin-detail .three h2:before{content:"";background:var(--lime);border-radius:2px;flex-shrink:0;width:8px;height:8px}
