:root{color-scheme:light;--ink:#0D1B2E;--ink-2:#46586F;--ink-3:#7A8AA0;--ink-4:#9AA7B8;--bg:#F2F5F9;--surface:#FFFFFF;--surface-2:#F7F9FC;--surface-3:#EDF1F7;--rule:#DDE4EE;--rule-2:#EAEFF5;--primary:#17457F;--primary-soft:#E9F0FA;--primary-line:#BDD1EA;--signal:#C24A16;--signal-soft:#FDF0E8;--signal-line:#F0C9B2;--signal-bright:#E0651F;--ok:#237A52;--ok-soft:#E7F4EC;--ok-line:#A9D2BC;--violet:#5B4A94;--violet-soft:#EFEBF8;--w1:#17457F;--w2:#1F6E86;--w3:#C24A16;--w4:#3D5E93;--w5:#237A52;--w6:#5B4A94;--s1:#3E88B5;--s1-soft:#EAF4FA;--s1-line:#B6DAEC;--s2:#2A64A0;--s2-soft:#E9F1FA;--s2-line:#B7D0EA;--s3:#1B4278;--s3-soft:#E8EDF6;--s3-line:#B4C5E0;--s4:#C24A16;--s4-soft:#FDF0E8;--s4-line:#F0C9B2;--side:#10233F;--side-fg:#B7C4D8;--side-mut:#4B5F7E;--side-hd:#657A99;--sans:"Pretendard Variable",Pretendard,-apple-system,BlinkMacSystemFont, system-ui,"Apple SD Gothic Neo","Malgun Gothic",sans-serif;--serif:var(--sans);--mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace;--tight:-.032em;--tighter:-.042em;--sh-1:0 1px 2px rgba(13,27,46,.05);--sh-2:0 1px 2px rgba(13,27,46,.05), 0 14px 28px -22px rgba(13,27,46,.28);--sh-3:0 2px 6px rgba(13,27,46,.06), 0 24px 48px -30px rgba(13,27,46,.34);--r-card:11px;--r-ctl:8px;--r-chip:100px;--r-badge:5px;--side-w:248px;--top-h:58px}:root[data-theme=dark]{color-scheme:dark;--ink:#E3EAF3;--ink-2:#A8B7CA;--ink-3:#8496AC;--ink-4:#6B7D94;--bg:#0A1420;--surface:#12202F;--surface-2:#16283A;--surface-3:#1C3145;--rule:#27394E;--rule-2:#1D2E41;--primary:#6FA6E8;--primary-soft:#132840;--primary-line:#274A70;--signal:#E8834B;--signal-soft:#3A2318;--signal-line:#5E3927;--signal-bright:#E8834B;--ok:#5FBE8A;--ok-soft:#12301F;--ok-line:#245B3C;--violet:#A192DA;--violet-soft:#231E38;--w1:#6FA6E8;--w2:#57AFC4;--w3:#E8834B;--w4:#7E9AD0;--w5:#5FBE8A;--w6:#A192DA;--s1:#7CC0E4;--s1-soft:#122B3A;--s1-line:#1F4A63;--s2:#6FA6E8;--s2-soft:#132840;--s2-line:#274A70;--s3:#8FB4E8;--s3-soft:#16233A;--s3-line:#2B4066;--s4:#E8834B;--s4-soft:#3A2318;--s4-line:#5E3927;--side:#071019;--side-fg:#A7B6CA;--side-mut:#3C4E68;--side-hd:#5A6E8B;--sh-1:0 1px 2px rgba(0,0,0,.45);--sh-2:0 1px 2px rgba(0,0,0,.45), 0 14px 28px -22px rgba(0,0,0,.85);--sh-3:0 2px 6px rgba(0,0,0,.5), 0 24px 48px -30px rgba(0,0,0,.9)}*{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:15.5px;line-height:1.75;font-weight:400;letter-spacing:-.01em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}h1,h2,h3,h4{margin:0;font-weight:700;letter-spacing:var(--tight);word-break:keep-all;overflow-wrap:break-word;text-wrap:balance}p,li,td,th,dd,dt{word-break:keep-all;overflow-wrap:break-word}p{margin:0}a{color:var(--primary);text-decoration:none}a:hover{color:var(--primary);text-decoration:underline}button{font-family:inherit;cursor:pointer}:focus-visible{outline:2px solid var(--primary);outline-offset:2px;border-radius:3px}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}code{font-family:var(--mono);font-size:.92em;background:var(--surface-3);padding:1px 5px;border-radius:4px}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.serif{font-family:var(--serif)}.app{display:flex;min-height:100vh}.side{width:var(--side-w);flex:0 0 var(--side-w);background:var(--side);display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.side-hd{padding:22px 22px 18px;border-bottom:1px solid rgba(255,255,255,.08)}.side-hd .brand{display:flex;align-items:center;gap:11px}.side-hd .bt{display:flex;flex-direction:column;min-width:0}.side-hd .bm{font-size:18.5px;font-weight:800;color:#fff;letter-spacing:-.035em;white-space:nowrap;line-height:1.2}.side-hd .bs{font-family:var(--mono);font-size:8.5px;letter-spacing:.16em;color:var(--side-hd);white-space:nowrap}.side-hd .course{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--ink-3);margin-top:9px}.side-hd .course img{border-radius:3px;flex:0 0 auto}.side-nav{padding:18px 14px;display:flex;flex-direction:column;gap:22px;flex:1;overflow-y:auto}.nav-grp{display:flex;flex-direction:column;gap:2px}.nav-grp>.lbl{font-family:var(--mono);font-size:10px;font-weight:500;letter-spacing:.17em;color:var(--side-mut);padding:0 11px 8px}.nav-item{position:relative;display:flex;align-items:center;gap:12px;padding:10px 11px;border-radius:8px;color:var(--side-fg);font-size:14px;font-weight:500;letter-spacing:-.015em;text-decoration:none;transition:background .14s,color .14s}.nav-item:hover{background:#ffffff0f;color:#fff;text-decoration:none}.nav-item.on{background:#ffffff1c;color:#fff;font-weight:600}.nav-item.on:before{content:"";position:absolute;left:-14px;top:8px;bottom:8px;width:3px;background:var(--signal-bright);border-radius:0 2px 2px 0}.nav-item svg{flex:0 0 auto}.nav-item .n{margin-left:auto;background:var(--signal);color:#fff;font-family:var(--mono);font-size:10px;padding:1px 6px;border-radius:var(--r-chip)}.side-ft{padding:14px 22px;border-top:1px solid rgba(255,255,255,.08);display:flex;align-items:center;gap:10px}.side-ft .av{width:30px;height:30px;flex:0 0 30px;border-radius:50%;background:#1d3a48;color:#9fb6be;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.side-ft .nm{font-size:13.5px;color:#dce7ea;font-weight:600;letter-spacing:-.015em}.side-ft .sub{font-size:10.5px;color:var(--side-hd)}.side-ft button{background:none;border:0;color:var(--side-hd);font-size:11px;padding:2px}.side-ft button:hover{color:#dce7ea}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{height:var(--top-h);flex:0 0 var(--top-h);background:var(--surface);border-bottom:1px solid var(--rule);display:flex;align-items:center;padding:0 30px;gap:16px;position:sticky;top:0;z-index:30}.crumb{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--ink-3)}.crumb b{color:var(--ink);font-weight:500}.search{display:flex;align-items:center;gap:8px;background:var(--bg);border:1px solid var(--rule);border-radius:7px;padding:6px 12px;width:250px}.search input{border:0;background:none;outline:none;font-family:inherit;font-size:12.5px;color:var(--ink);width:100%}.search input::placeholder{color:var(--ink-4)}.page{padding:26px 30px 60px;flex:1}.ph{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;margin-bottom:22px}.ph .eyebrow{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.16em;color:var(--signal);margin-bottom:7px}.ph h1{font-size:32px;font-weight:800;letter-spacing:var(--tighter);line-height:1.28}.ph .sub{margin-top:9px;font-size:14.5px;color:var(--ink-2);max-width:64ch;letter-spacing:-.012em}.sh{font-size:19px;font-weight:700;letter-spacing:var(--tight);margin-bottom:15px}.sh-row{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.sh-row h2{font-size:19px;font-weight:700;letter-spacing:var(--tight)}.sh-row .more{font-size:12.5px;color:var(--primary)}.card{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-card);box-shadow:var(--sh-1);transition:box-shadow .16s,border-color .16s}.card.lift{box-shadow:var(--sh-2)}.card.pad{padding:20px 22px}.grid{display:grid;gap:15px}.g2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.g3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.g4{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.spread{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.stack{display:flex;flex-direction:column}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:var(--r-ctl);border:1px solid var(--rule);background:var(--surface);color:var(--ink);font-size:14.5px;font-weight:600;letter-spacing:-.015em;transition:border-color .14s,background .14s,filter .14s,transform .14s,box-shadow .14s}.btn:hover:not(:disabled){border-color:var(--primary);background:var(--surface-2)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 1px 2px #0f6e783d,0 8px 18px -10px #0f6e7880}.btn.primary:active:not(:disabled){transform:translateY(1px)}.btn.primary:hover:not(:disabled){filter:brightness(1.1);background:var(--primary)}.btn.signal{background:var(--signal);border-color:var(--signal);color:#fff}.btn.signal:hover:not(:disabled){filter:brightness(1.08);background:var(--signal)}.btn.sm{padding:8px 14px;font-size:13.5px}.btn.block{width:100%}.chips{display:flex;flex-wrap:wrap;gap:8px}.chip{background:var(--surface);color:var(--ink-2);border:1px solid var(--rule);border-radius:var(--r-chip);padding:8px 16px;font-size:13.5px;font-weight:500;letter-spacing:-.012em;transition:border-color .14s,color .14s,background .14s}.chip:hover{border-color:var(--primary);color:var(--ink)}.chip.on{background:var(--ink);color:#fff;border-color:var(--ink);font-weight:600}.chip .c{font-family:var(--mono);font-size:11px;opacity:.6;margin-left:4px}.badge{display:inline-block;font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.06em;padding:2px 9px;border-radius:var(--r-chip);border:1px solid currentColor;white-space:nowrap}.badge.hi{color:var(--signal)}.badge.mid{color:var(--primary)}.badge.lo{color:var(--ink-3)}.badge.ok{color:var(--ok)}.tag{display:inline-block;font-size:11.5px;font-weight:600;border-radius:var(--r-badge);padding:3px 9px;white-space:nowrap;letter-spacing:-.01em}.tag.midterm,.tag.final{color:var(--signal);background:var(--signal-soft);border:1px solid var(--signal-line)}.tag.quiz{color:var(--primary);background:var(--primary-soft);border:1px solid var(--primary-line)}.tag.summary{color:var(--violet);background:var(--violet-soft);border:1px solid transparent}.tag.assignment{color:var(--ink-2);background:var(--surface-3);border:1px solid var(--rule)}.bar{height:5px;background:var(--surface-3);border-radius:3px;overflow:hidden}.bar i{display:block;height:100%;background:var(--primary);border-radius:3px;transition:width .35s}.bar.signal i{background:var(--signal)}.bar.ok i{background:var(--ok)}.bar.lg{height:6px}.tile{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-card);padding:19px 21px;transition:box-shadow .16s,transform .16s}.tile:hover{box-shadow:var(--sh-2);transform:translateY(-1px)}.tile .lab{font-size:12.5px;color:var(--ink-3);font-weight:500;letter-spacing:-.01em}.tile .val{font-size:34px;font-weight:800;line-height:1.15;margin:6px 0 4px;letter-spacing:var(--tighter);font-variant-numeric:tabular-nums}.tile .val span,.tile .val small{font-size:17px;color:var(--ink-4);font-weight:600}.tile .sub{font-size:12.5px;color:var(--ink-4);margin-bottom:10px}.tile.p{background:linear-gradient(180deg,var(--primary-soft) 0%,var(--surface) 62%);border-color:var(--primary-line)}.tile.p .val{color:var(--primary)}.tile.s .val{color:var(--signal)}.week{position:relative;background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-card);overflow:hidden;box-shadow:var(--sh-2);transition:box-shadow .18s,transform .18s,border-color .18s}.week:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:var(--wc, var(--rule));opacity:.9}.week:hover{box-shadow:var(--sh-3);transform:translateY(-2px)}.week.open{border-color:var(--wc, var(--primary-line))}.week-hd{display:flex;align-items:center;gap:18px;padding:19px 22px 19px 26px;width:100%;background:none;border:0;text-align:left;color:inherit}.week-hd:hover{background:var(--surface-2)}.week.open .week-hd{border-bottom:1px solid var(--rule-2)}.wnum{width:52px;height:52px;flex:0 0 52px;border-radius:13px;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1;background:var(--surface-3);color:var(--ink-3);position:relative}.wnum b{font-size:22px;font-weight:800;letter-spacing:var(--tighter);font-variant-numeric:tabular-nums}.wnum span{font-size:8.5px;margin-top:3px;opacity:.8;font-weight:500}.wnum.act{background:var(--wc, var(--primary));color:#fff}.wnum.act span{opacity:.72}.wnum.done{background:var(--ink);color:#fff}.wnum.done span{opacity:.55}.week-ti{flex:1;min-width:0}.week-ti h3{font-size:18px;font-weight:700;letter-spacing:var(--tight);display:inline}.week-ti .sub{font-size:13.5px;color:var(--ink-3);margin-top:5px;letter-spacing:-.012em}.week-pr{flex:0 0 140px}.week-pr .t{display:flex;justify-content:space-between;font-size:12px;color:var(--ink-4);margin-bottom:6px;font-weight:500}.item{display:flex;align-items:center;gap:15px;padding:14px 22px 14px 30px;border-bottom:1px solid var(--rule-2);width:100%;background:none;border-left:0;border-right:0;border-top:0;text-align:left;color:inherit;transition:background .13s}.item:last-child{border-bottom:0}.item:hover{background:var(--surface-2)}.ico{width:34px;height:34px;flex:0 0 34px;border-radius:9px;display:flex;align-items:center;justify-content:center}.ico.lesson{background:var(--signal-soft);color:var(--signal)}.ico.formula{background:var(--primary-soft);color:var(--primary)}.ico.card{background:var(--violet-soft);color:var(--violet)}.ico.quiz{background:var(--ok-soft);color:var(--ok)}.item .ti{flex:1;min-width:0}.item .ti b{font-size:14.5px;font-weight:600;display:block;letter-spacing:-.015em}.item .ti span{font-size:12.5px;color:var(--ink-4);letter-spacing:-.01em}.chk{width:20px;height:20px;flex:0 0 20px;border-radius:50%;border:1.5px solid var(--rule);background:var(--bg);display:flex;align-items:center;justify-content:center;color:transparent}.chk.on{background:var(--ok);border-color:var(--ok);color:#fff}.tw{overflow-x:auto;border:1px solid var(--rule);border-radius:var(--r-card);background:var(--surface);box-shadow:var(--sh-2)}table{border-collapse:collapse;width:100%;font-size:14.5px;min-width:560px}th,td{padding:14px 15px;text-align:left;border-bottom:1px solid var(--rule-2)}thead th{background:var(--surface-2);font-size:12.5px;letter-spacing:-.01em;color:var(--ink-3);font-weight:600;white-space:nowrap;padding:13px 15px}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:var(--surface-2)}td.n,th.n{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums}tr.pin,tr.pin:hover{background:var(--signal-soft)}.ellip{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.field{display:flex;flex-direction:column;gap:7px;margin-bottom:18px}.field label{font-size:13px;font-weight:500;color:var(--ink-2)}.field input[type=text],.field input[type=email],.field input[type=password],.field input[type=number],.field textarea{padding:11px 14px;border:1px solid var(--rule);border-radius:var(--r-ctl);background:var(--surface);color:var(--ink);font-family:inherit;font-size:14.5px;outline:none}.field textarea{min-height:110px;resize:vertical;line-height:1.75}.field input:focus,.field textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.field .help{font-size:12px;color:var(--ink-4)}.err{background:var(--signal-soft);color:var(--signal);border-left:3px solid var(--signal);padding:11px 15px;border-radius:0 var(--r-ctl) var(--r-ctl) 0;font-size:13.5px;margin-bottom:16px}.drop{border:1.5px dashed var(--primary-line);border-radius:10px;padding:26px;text-align:center;background:var(--surface-2);cursor:pointer}.drop:hover{border-color:var(--primary);background:var(--primary-soft)}.drop b{display:block;font-size:14px;font-weight:500;margin:10px 0 4px}.drop span{font-size:12px;color:var(--ink-4)}.file{display:flex;align-items:center;gap:13px;background:var(--surface);border:1px solid var(--rule);border-radius:9px;padding:12px 15px;margin-top:10px}.file .fi{width:34px;height:34px;flex:0 0 34px;border-radius:8px;background:var(--signal-soft);color:var(--signal);display:flex;align-items:center;justify-content:center}.file .fn{font-size:13.5px;font-weight:500}.file .fs{font-size:11.5px;color:var(--ink-4);font-family:var(--mono)}.auth{display:grid;grid-template-columns:1.05fr .95fr;min-height:100vh}.auth-brand{background:var(--side);color:#e8ecec;padding:52px 56px;display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden}.auth-brand:before{content:"";position:absolute;left:-15%;top:-40%;width:80%;height:150%;background:radial-gradient(closest-side,rgba(90,160,175,.2),transparent 72%);pointer-events:none}.auth-brand .bm{font-size:30px;font-weight:800;color:#fff;letter-spacing:var(--tighter)}.auth-brand .bs{font-family:var(--mono);font-size:11px;letter-spacing:.2em;color:#5e7a85;margin-top:4px}.auth-brand h2{font-size:36px;font-weight:800;line-height:1.38;color:#fff;max-width:18ch;margin-top:30px;letter-spacing:var(--tighter)}.auth-brand .lead{color:#9fb6be;font-size:14.5px;margin-top:16px;max-width:38ch;line-height:1.8}.auth-brand .feat{display:flex;flex-direction:column;gap:11px;margin-top:30px;position:relative;z-index:2}.auth-brand .feat div{font-size:13.5px;color:#b9cbd2;display:flex;gap:12px;align-items:baseline}.auth-brand .feat b{font-family:var(--mono);font-size:10.5px;color:#5e7a85;flex:0 0 34px;letter-spacing:.1em}.auth-brand svg.hull{position:absolute;right:-120px;bottom:-40px;width:600px;opacity:.16;z-index:0}.auth-brand .foot{font-size:11.5px;color:#4e6873;position:absolute;left:56px;bottom:40px;z-index:2}.auth-form{display:flex;align-items:center;justify-content:center;padding:44px 40px;background:var(--surface)}.auth-form .inner{width:100%;max-width:378px}.auth-form h1{font-size:27px;font-weight:800;letter-spacing:var(--tighter);margin-bottom:7px}.auth-form .note{color:var(--ink-2);font-size:14px;margin-bottom:26px}.auth-tabs{display:flex;border-bottom:1px solid var(--rule);margin-bottom:26px}.auth-tabs button{flex:1;background:none;border:0;border-bottom:2px solid transparent;padding:11px 0;font-size:14.5px;font-weight:500;color:var(--ink-3)}.auth-tabs button.on{color:var(--ink);border-bottom-color:var(--signal)}.demo{margin-top:20px;padding:13px 16px;background:var(--surface-2);border-radius:var(--r-ctl);font-size:13px;color:var(--ink-2)}.demo b{color:var(--ink)}@media(max-width:880px){.auth{grid-template-columns:1fr}.auth-brand{padding:34px 28px}.auth-brand h2{font-size:24px;margin-top:20px}.auth-brand .feat,.auth-brand svg.hull{display:none}}.qwrap{max-width:740px}.progress{height:4px;background:var(--rule);border-radius:2px;overflow:hidden;margin-bottom:20px}.progress i{display:block;height:100%;background:var(--signal);transition:width .3s}.qtext{font-size:22px;font-weight:700;line-height:1.58;margin:0 0 24px;letter-spacing:var(--tight)}.opts{display:flex;flex-direction:column;gap:10px}.opt{display:flex;gap:15px;align-items:flex-start;text-align:left;width:100%;background:var(--surface);border:1px solid var(--rule);border-radius:10px;padding:16px 20px;font-size:15.5px;line-height:1.6;color:var(--ink);letter-spacing:-.015em;transition:border-color .14s,background .14s,box-shadow .14s}.opt:hover:not(:disabled){border-color:var(--primary);box-shadow:var(--sh-1)}.opt:disabled{cursor:default}.opt .mk{font-family:var(--mono);font-size:12.5px;color:var(--ink-4);flex:0 0 auto;padding-top:2px}.opt.right{background:var(--ok-soft);border:1.5px solid var(--ok)}.opt.right .mk{color:var(--ok);font-weight:500}.opt.wrong{background:var(--signal-soft);border:1.5px solid var(--signal)}.opt.wrong .mk{color:var(--signal)}.opt.picked{border-color:var(--ink)}.conf{margin-top:16px;padding:13px 18px;background:var(--primary-soft);border:1px solid var(--rule);border-radius:10px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}.conf .lb{font-size:13.5px;color:var(--ink-2);font-weight:600;letter-spacing:-.015em}.conf .chips{margin-left:auto}.conf .chip{background:var(--surface)}.conf .chip.sure:hover{border-color:var(--ok);color:var(--ok)}.conf .chip.guess:hover{border-color:var(--signal);color:var(--signal)}.expl{margin-top:16px;background:var(--surface);border-left:3px solid var(--primary);border-radius:0 9px 9px 0;padding:15px 20px;font-size:14px;line-height:1.75;color:var(--ink-2);box-shadow:var(--sh-1)}.expl.s{background:var(--signal-soft);border-left-color:var(--signal);color:var(--ink-2)}.expl b{color:var(--ink)}.expl .hd{font-size:13.5px;font-weight:600;color:var(--ok);margin-bottom:6px}.expl.s .hd{color:var(--signal)}.calc-p{font-size:16px;line-height:1.8;margin-bottom:18px}.calc-in{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.calc-in input{flex:1;min-width:180px;padding:12px 15px;border:1px solid var(--rule);border-radius:var(--r-ctl);background:var(--surface);color:var(--ink);font-family:var(--mono);font-size:17px;outline:none}.calc-in input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.calc-in .u{font-family:var(--mono);font-size:14px;color:var(--ink-3)}.steps{list-style:none;margin:12px 0 0;padding:0;counter-reset:s}.steps li{counter-increment:s;font-family:var(--mono);font-size:13.5px;padding:9px 0 9px 34px;border-top:1px solid var(--rule-2);position:relative;line-height:1.65}.steps li:before{content:counter(s);position:absolute;left:0;top:9px;width:20px;height:20px;border-radius:5px;background:var(--surface-3);color:var(--ink-3);font-size:11px;display:flex;align-items:center;justify-content:center}.timer{position:sticky;top:calc(var(--top-h) + 10px);z-index:20;display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-card);padding:12px 18px;box-shadow:var(--sh-2);margin-bottom:20px;flex-wrap:wrap}.clock{font-family:var(--mono);font-size:22px;font-weight:500;font-variant-numeric:tabular-nums}.clock.low{color:var(--signal)}.omr{display:flex;flex-wrap:wrap;gap:6px}.omr button{width:31px;height:31px;border-radius:6px;border:1px solid var(--rule);background:var(--surface);font-family:var(--mono);font-size:12px;color:var(--ink-3)}.omr button.done{background:var(--primary-soft);border-color:var(--primary);color:var(--primary)}.omr button.cur{outline:2px solid var(--signal);outline-offset:1px;color:var(--ink)}.pos{display:flex;border:1px solid var(--rule);border-radius:var(--r-card);background:var(--surface);overflow:hidden;margin-bottom:18px;box-shadow:var(--sh-1)}.pos .nav{background:var(--surface-2);border:0;padding:0 18px;color:var(--ink-2);font-family:var(--mono);font-size:17px}.pos .nav:hover{background:var(--primary-soft);color:var(--ink)}.pos .mid{flex:1;padding:15px 20px;min-width:0}.pos .cyc{font-family:var(--mono);font-size:11px;letter-spacing:.12em;color:var(--signal)}.pos .ttl{font-size:21px;font-weight:700;letter-spacing:var(--tight);display:block;margin-top:3px}.pos .sc{font-size:13px;color:var(--ink-3)}.slot{display:flex;gap:13px;align-items:flex-start;text-align:left;width:100%;background:var(--surface);border:1px solid var(--rule);border-radius:9px;padding:15px 17px;color:var(--ink);font-size:14px}.slot:hover{border-color:var(--primary)}.slot.on{background:var(--ok-soft);border-color:var(--ok)}.slot .box{width:19px;height:19px;flex:0 0 19px;border:1.5px solid var(--rule);border-radius:5px;margin-top:2px;display:flex;align-items:center;justify-content:center;font-size:12px;color:transparent;background:var(--bg)}.slot.on .box{background:var(--ok);border-color:var(--ok);color:#fff}.slot .nm{font-weight:700;font-size:16px;letter-spacing:var(--tight)}.slot .min{font-family:var(--mono);font-size:11.5px;color:var(--ink-4);margin-left:8px}.slot .do{font-size:13.5px;color:var(--ink-2);margin-top:4px;line-height:1.65}.slot .do b{color:var(--ink)}.pgrid{display:grid;grid-template-columns:auto repeat(7,26px);gap:5px;align-items:center}.pgrid .rl{font-family:var(--mono);font-size:10.5px;color:var(--ink-3);padding-right:6px;white-space:nowrap}.pgrid .hc{font-family:var(--mono);font-size:10px;color:var(--ink-4);text-align:center}.cell{width:26px;height:26px;border-radius:5px;border:1px solid var(--rule);background:var(--surface);display:flex;align-items:center;justify-content:center;font-family:var(--mono);font-size:10px;color:var(--ink-4)}.cell.p1{background:var(--ok-soft);border-color:var(--ok);color:var(--ok)}.cell.p2{background:var(--ok);border-color:var(--ok);color:#fff}.cell.now{outline:2px solid var(--signal);outline-offset:1px}.banner{background:var(--side);border-radius:16px;padding:32px 36px;display:flex;align-items:center;gap:34px;position:relative;overflow:hidden;flex-wrap:wrap;box-shadow:0 2px 8px #0e1f2b29,0 30px 60px -36px #0e1f2b99}.banner:before{content:"";position:absolute;left:-10%;top:-70%;width:70%;height:220%;background:radial-gradient(closest-side,rgba(90,160,175,.22),transparent 72%);pointer-events:none}.banner svg.hull{position:absolute;right:-30px;top:50%;transform:translateY(-46%);width:400px;opacity:.13}.banner .z{position:relative;z-index:2}.banner .eyebrow{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.16em;color:var(--signal-bright);margin-bottom:10px}.banner h1{font-size:30px;font-weight:800;color:#fff;margin-bottom:9px;letter-spacing:var(--tighter)}.banner p{font-size:14.5px;color:#9fb6be;line-height:1.8;max-width:54ch;letter-spacing:-.012em}.banner p b{color:#fff;font-weight:600}.flash{display:flex;flex-direction:column;gap:11px;background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-card);padding:24px 26px;min-height:170px;justify-content:center;text-align:left;width:100%;box-shadow:var(--sh-2);color:var(--ink)}.flash:hover{border-color:var(--primary)}.flash.flip{background:var(--primary-soft);border-color:var(--primary)}.flash .side{font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;color:var(--ink-4)}.flash .q{font-size:20px;font-weight:700;line-height:1.55;letter-spacing:var(--tight)}.flash .a{font-size:14.5px;color:var(--ink-2);line-height:1.7}.fx{border:1px solid var(--rule);border-radius:var(--r-card);overflow:hidden;background:var(--surface)}.fxrow{display:grid;grid-template-columns:minmax(130px,190px) 1fr;border-top:1px solid var(--rule-2)}.fxrow:first-child{border-top:0}.fxrow dt{padding:11px 15px;font-size:13.5px;color:var(--ink-2);background:var(--surface-2);border-right:1px solid var(--rule-2);display:flex;align-items:center}.fxrow dd{margin:0;padding:11px 15px;font-family:var(--mono);font-size:13.5px;overflow-x:auto;white-space:nowrap;display:flex;align-items:center}.pit{background:var(--signal-soft);border-left:3px solid var(--signal);border-radius:0 var(--r-card) var(--r-card) 0;padding:16px 20px}.pit h4{font-family:var(--mono);font-size:12px;letter-spacing:.08em;color:var(--signal);margin-bottom:9px}.pit ul{margin:0;padding-left:18px;font-size:14px;color:var(--ink-2)}.pit li{margin-bottom:6px}.pit li::marker{color:var(--signal)}.pit b{color:var(--ink)}.empty{padding:44px 24px;text-align:center;color:var(--ink-3);font-size:14px}.spin{padding:70px 24px;text-align:center;color:var(--ink-3);font-family:var(--mono);font-size:13px}.lesson-body{font-size:14px;color:var(--ink-2);line-height:1.8}.lesson-body ul{margin:8px 0 0;padding-left:18px}.lesson-body li{margin-bottom:4px}.lesson-body b{color:var(--ink)}.k{font-family:var(--mono);font-size:.94em;color:var(--primary);font-weight:500}@media(max-width:820px){:root{--side-w:0px}.side{display:none}.page{padding:20px 16px 50px}.topbar{padding:0 16px}.search{display:none}.fxrow{grid-template-columns:1fr}.fxrow dt{border-right:0;border-bottom:1px solid var(--rule-2)}}.ladder{display:flex;flex-direction:column;gap:13px}.lu{background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-card);box-shadow:var(--sh-1);overflow:hidden}.lu-hd{display:flex;align-items:center;gap:14px;padding:15px 20px 13px}.lu-hd .no{width:42px;height:42px;flex:0 0 42px;border-radius:11px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary);border:1px solid var(--primary-line);font-family:var(--mono);font-size:15px;font-weight:600}.lu-hd .tt{min-width:0}.lu-hd h3{font-size:17px;font-weight:700;letter-spacing:var(--tight)}.lu-hd .hook{font-size:13px;color:var(--ink-3);margin-top:2px}.lu-hd .cnt{margin-left:auto;font-family:var(--mono);font-size:12px;color:var(--ink-3);white-space:nowrap}.lu-hd .cnt b{color:var(--ok)}.steps4{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--rule-2)}.st4{display:flex;flex-direction:column;gap:5px;padding:14px 16px 15px;min-width:0;border-left:1px solid var(--rule-2);text-decoration:none;color:inherit;border-top:3px solid transparent;transition:background .14s}.st4:first-child{border-left:0}.st4:hover{background:var(--surface-2);text-decoration:none}.st4 .lbl{font-size:14.5px;font-weight:700;letter-spacing:var(--tight);display:flex;align-items:center;gap:6px}.st4 .tag{font-size:11.5px;color:var(--ink-3)}.st4 .meta{font-family:var(--mono);font-size:10.5px;color:var(--ink-4);margin-top:auto;padding-top:6px}.st4.k1{border-top-color:var(--s1)}.st4.k1 .lbl{color:var(--s1)}.st4.k2{border-top-color:var(--s2)}.st4.k2 .lbl{color:var(--s2)}.st4.k3{border-top-color:var(--s3)}.st4.k3 .lbl{color:var(--s3)}.st4.k4{border-top-color:var(--s4)}.st4.k4 .lbl{color:var(--s4)}.st4 .tick{width:15px;height:15px;border-radius:50%;display:grid;place-items:center;background:var(--ok);color:#fff;font-size:9px;flex:0 0 15px}.st4.done,.st4.done:hover{background:var(--ok-soft)}@media(max-width:760px){.steps4{grid-template-columns:repeat(2,1fr)}.st4:nth-child(3){border-left:0}.st4:nth-child(n+3){border-top:1px solid var(--rule-2)}}.lec{max-width:760px}.lec-hd{margin-bottom:22px}.lec-hd .eyebrow{font-family:var(--mono);font-size:11px;letter-spacing:.16em;margin-bottom:8px}.lec-hd h1{font-size:30px;font-weight:800;letter-spacing:var(--tighter);line-height:1.3}.lec-hd .lede{margin-top:11px;font-size:15.5px;color:var(--ink-2);line-height:1.72}.lec-hd .goal{margin-top:14px;padding:11px 15px;border-radius:var(--r-ctl);font-size:13.5px;line-height:1.62;border:1px solid;display:flex;gap:9px;align-items:flex-start}.lec-hd .goal b{font-weight:600}.lec-tabs{display:flex;gap:6px;margin-bottom:20px;flex-wrap:wrap}.lec-tab{display:flex;align-items:center;gap:7px;padding:8px 15px;border-radius:var(--r-chip);border:1px solid var(--rule);background:var(--surface);color:var(--ink-2);font-size:13.5px;font-weight:600;letter-spacing:-.02em;text-decoration:none;transition:border-color .14s,color .14s,background .14s}.lec-tab:hover{text-decoration:none;border-color:var(--ink-4);color:var(--ink)}.lec-tab .dot{width:7px;height:7px;border-radius:50%;background:var(--ink-4);flex:0 0 7px}.lec-tab.done .dot{background:var(--ok)}.lec-tab.at{color:#fff;border-color:transparent}.lec-tab.at .dot{background:#ffffffbf}.lec-tab.at.k1{background:var(--s1)}.lec-tab.at.k2{background:var(--s2)}.lec-tab.at.k3{background:var(--s3)}.lec-tab.at.k4{background:var(--s4)}.blocks{display:flex;flex-direction:column;gap:19px}.b-talk{font-size:16px;line-height:1.85;color:var(--ink-2)}.b-talk b{color:var(--ink);font-weight:600}.b-why{border-left:3px solid var(--s1);padding:2px 0 2px 17px}.b-why .h{font-size:14px;font-weight:700;color:var(--s1);letter-spacing:var(--tight);margin-bottom:5px}.b-why .bd{font-size:15px;line-height:1.78;color:var(--ink-2)}.b-key{background:var(--primary-soft);border:1px solid var(--primary-line);border-radius:var(--r-card);padding:16px 19px}.b-key .h{font-size:14.5px;font-weight:700;color:var(--primary);letter-spacing:var(--tight);margin-bottom:6px}.b-key .bd{font-size:15px;line-height:1.76}.b-fx{border:1px solid var(--rule);border-radius:var(--r-card);background:var(--surface);overflow:hidden}.b-fx .nm{padding:9px 18px;background:var(--surface-3);border-bottom:1px solid var(--rule);font-size:12px;font-weight:600;letter-spacing:.02em;color:var(--ink-2)}.b-fx .tex{padding:20px 18px;text-align:center;font-family:var(--mono);font-size:21px;font-weight:500;color:var(--ink);letter-spacing:.01em;overflow-x:auto}.b-fx table{width:100%;border-collapse:collapse;font-size:13.5px}.b-fx td{padding:7px 18px;border-top:1px solid var(--rule-2);vertical-align:top}.b-fx td:first-child{font-family:var(--mono);color:var(--primary);font-weight:600;width:1%;white-space:nowrap}.b-fx td:last-child{font-family:var(--mono);color:var(--ink-3);text-align:right;width:1%;white-space:nowrap}.b-fx .note{padding:11px 18px;border-top:1px solid var(--rule-2);background:var(--surface-2);font-size:13.5px;line-height:1.65;color:var(--ink-2)}.b-steps .h{font-size:16px;font-weight:700;letter-spacing:var(--tight);margin-bottom:12px}.b-steps ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}.b-steps li{display:flex;gap:15px;padding:0 0 16px;position:relative}.b-steps li:last-child{padding-bottom:0}.b-steps li:before{content:"";position:absolute;left:13px;top:28px;bottom:0;width:2px;background:var(--rule)}.b-steps li:last-child:before{display:none}.b-steps .n{width:28px;height:28px;flex:0 0 28px;border-radius:50%;display:grid;place-items:center;background:var(--primary);color:#fff;font-family:var(--mono);font-size:12px;font-weight:600;position:relative;z-index:1}.b-steps .sh{font-size:14.5px;font-weight:700;letter-spacing:var(--tight);margin-bottom:4px}.b-steps .sb{font-size:14.5px;line-height:1.72;color:var(--ink-2)}.b-ex{border:1px solid var(--rule);border-radius:var(--r-card);background:var(--surface);overflow:hidden}.b-ex .hd{padding:12px 18px 11px;border-bottom:1px solid var(--rule-2);display:flex;align-items:center;gap:9px}.b-ex .hd .tagx{font-family:var(--mono);font-size:10px;letter-spacing:.14em;color:#fff;background:var(--s3);padding:2px 7px;border-radius:var(--r-badge)}.b-ex .hd h4{font-size:14.5px;font-weight:700;letter-spacing:var(--tight)}.b-ex .q{padding:16px 18px;font-size:15.5px;line-height:1.76}.b-ex .reveal{width:100%;text-align:left;padding:11px 18px;border:0;border-top:1px solid var(--rule-2);background:var(--surface-2);color:var(--primary);font-size:13.5px;font-weight:600;display:flex;align-items:center;gap:8px}.b-ex .reveal:hover{background:var(--surface-3)}.b-ex .sol{padding:4px 18px 16px;border-top:1px solid var(--rule-2);background:var(--surface-2)}.b-ex .sol ol{margin:0;padding:12px 0 0 20px;display:flex;flex-direction:column;gap:9px}.b-ex .sol li{font-size:14.5px;line-height:1.7;color:var(--ink-2)}.b-ex .ans{margin-top:14px;padding:11px 15px;border-radius:var(--r-ctl);background:var(--ok-soft);border:1px solid var(--ok-line);font-size:15px;font-weight:600;color:var(--ok);display:flex;gap:9px;align-items:baseline}.b-ex .ans .k2x{font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;opacity:.75}.b-warn{background:var(--signal-soft);border:1px solid var(--signal-line);border-radius:var(--r-card);padding:15px 18px;display:flex;gap:13px}.b-warn .ic{flex:0 0 auto;color:var(--signal);margin-top:1px}.b-warn .h{font-size:14.5px;font-weight:700;color:var(--signal);letter-spacing:var(--tight);margin-bottom:5px}.b-warn .bd{font-size:14.5px;line-height:1.74;color:var(--ink-2)}.b-warn .bd b{color:var(--ink)}.b-cmp .h{font-size:16px;font-weight:700;letter-spacing:var(--tight);margin-bottom:11px}.b-cmp .wrap{border:1px solid var(--rule);border-radius:var(--r-card);overflow:hidden;overflow-x:auto}.b-cmp table{width:100%;border-collapse:collapse;font-size:14px;min-width:420px}.b-cmp th{background:var(--surface-3);text-align:left;padding:10px 15px;font-weight:600;font-size:12.5px;color:var(--ink-2);border-bottom:1px solid var(--rule);white-space:nowrap}.b-cmp td{padding:11px 15px;border-top:1px solid var(--rule-2);line-height:1.62;vertical-align:top}.b-cmp tr td:first-child{font-weight:600;color:var(--ink)}.b-cmp .note{margin-top:9px;font-size:13px;color:var(--ink-3);line-height:1.6}.b-mem{background:var(--violet-soft);border:1px solid var(--rule);border-left:3px solid var(--violet);border-radius:var(--r-card);padding:15px 18px}.b-mem .h{font-size:14.5px;font-weight:700;color:var(--violet);letter-spacing:var(--tight);margin-bottom:6px}.b-mem .bd{font-size:14.5px;line-height:1.76}.b-mem ul{margin:0;padding-left:19px;display:flex;flex-direction:column;gap:6px}.b-ref{font-size:13px;line-height:1.65;color:var(--ink-3);border-left:2px solid var(--rule);padding:3px 0 3px 15px}.b-ref .who{display:block;margin-top:5px;font-family:var(--mono);font-size:11px;color:var(--ink-4)}.b-ref a{color:var(--ink-3);text-decoration:underline;text-underline-offset:2px}.b-chk{border:1px solid var(--rule);border-radius:var(--r-card);background:var(--surface);padding:18px}.b-chk .q{font-size:15.5px;font-weight:600;line-height:1.68;margin-bottom:13px;display:flex;gap:10px}.b-chk .q .qm{font-family:var(--mono);font-size:11px;letter-spacing:.1em;color:var(--ink-4);padding-top:5px;flex:0 0 auto}.b-chk .ops{display:flex;flex-direction:column;gap:7px}.b-chk .op{display:flex;gap:11px;align-items:flex-start;padding:11px 14px;border-radius:var(--r-ctl);border:1px solid var(--rule);background:var(--surface);text-align:left;font-size:14.5px;line-height:1.6;color:var(--ink);transition:border-color .14s,background .14s}.b-chk .op:hover:not(:disabled){border-color:var(--primary);background:var(--primary-soft)}.b-chk .op:disabled{cursor:default}.b-chk .op .mk{font-family:var(--mono);font-size:12px;color:var(--ink-3);flex:0 0 auto;padding-top:1px}.b-chk .op.ok{border-color:var(--ok-line);background:var(--ok-soft)}.b-chk .op.ok .mk{color:var(--ok)}.b-chk .op.no{border-color:var(--signal-line);background:var(--signal-soft)}.b-chk .op.no .mk{color:var(--signal)}.b-chk .exp{margin-top:12px;padding:13px 15px;border-radius:var(--r-ctl);background:var(--surface-2);border:1px solid var(--rule-2);font-size:14px;line-height:1.72;color:var(--ink-2)}.b-chk .exp .lb{font-family:var(--mono);font-size:10.5px;letter-spacing:.13em;color:var(--ink-4);display:block;margin-bottom:5px}.blocks .k{font-family:var(--mono);font-size:.94em;background:var(--surface-3);padding:1px 6px;border-radius:4px;color:var(--primary);white-space:nowrap}.blocks .u{font-family:var(--mono);font-size:.9em;color:var(--ink-3)}.blocks ul{margin:7px 0 0;padding-left:19px;display:flex;flex-direction:column;gap:5px}.blocks li{line-height:1.7}.lec-ft{margin-top:34px;padding-top:22px;border-top:1px solid var(--rule);display:flex;align-items:center;gap:13px;flex-wrap:wrap}.lec-ft .grow{flex:1;min-width:0}.done-btn{display:flex;align-items:center;gap:9px;padding:11px 19px;border-radius:var(--r-ctl);border:1px solid var(--ok-line);background:var(--ok-soft);color:var(--ok);font-size:14px;font-weight:600;letter-spacing:-.02em}.done-btn:hover,.done-btn.on{background:var(--ok);color:#fff;border-color:var(--ok)}.thm{margin-left:auto;display:flex;gap:2px;background:#ffffff12;border-radius:var(--r-chip);padding:2px}.thm button{border:0;background:none;color:var(--side-hd);padding:4px 8px;border-radius:var(--r-chip);font-size:11px;line-height:1;display:grid;place-items:center}.thm button.on{background:#ffffff26;color:#fff}.lec{max-width:none}.lec-body{display:block}.bwrap{scroll-margin-top:78px}.lec-hd,.lec-tabs,.lec-ft,.blocks{max-width:760px}.lec-toc{display:none}@media(min-width:1200px){.lec-body{display:grid;grid-template-columns:760px minmax(190px,240px);gap:44px;align-items:start}.lec-toc{display:block;position:sticky;top:78px;max-height:calc(100vh - 110px);overflow-y:auto;border-left:1px solid var(--rule);padding-left:19px}.lec-toc .tt{font-family:var(--mono);font-size:10px;letter-spacing:.17em;color:var(--ink-4);margin-bottom:11px}.lec-toc ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}.lec-toc a{display:flex;gap:8px;align-items:baseline;padding:5px 7px;margin-left:-7px;border-radius:6px;color:var(--ink-2);font-size:12.5px;line-height:1.45;text-decoration:none}.lec-toc a:hover{background:var(--surface-3);color:var(--ink);text-decoration:none}.lec-toc .kd{font-family:var(--mono);font-size:9.5px;letter-spacing:.05em;flex:0 0 auto;padding:1px 5px;border-radius:3px;background:var(--surface-3);color:var(--ink-3)}.lec-toc .kd-공식,.lec-toc .kd-유도{background:var(--primary-soft);color:var(--primary)}.lec-toc .kd-예제{background:var(--s3-soft);color:var(--s3)}.lec-toc .kd-함정{background:var(--signal-soft);color:var(--signal)}.lec-toc .kd-암기{background:var(--violet-soft);color:var(--violet)}.lec-toc .tx{min-width:0}.lec-toc .ft{margin-top:13px;padding-top:11px;border-top:1px solid var(--rule-2);font-family:var(--mono);font-size:10.5px;color:var(--ink-4)}}.now-card{display:flex;gap:26px;align-items:center;text-decoration:none;background:var(--surface);border:1px solid var(--rule);border-left:4px solid var(--signal);border-radius:var(--r-card);padding:24px 26px;margin-bottom:24px;box-shadow:var(--sh-1);transition:box-shadow .16s,transform .16s}.now-card:hover{box-shadow:var(--sh-2);transform:translateY(-1px)}.now-card .tx{flex:1;min-width:0}.now-card .eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.06em;color:var(--signal);font-weight:600;margin-bottom:8px}.now-card h2{font-size:23px;font-weight:800;letter-spacing:-.03em;color:var(--ink);margin:0 0 8px}.now-card p{font-size:15px;line-height:1.65;color:var(--ink-2);margin:0 0 10px}.now-card .meta{font-family:var(--mono);font-size:12.5px;color:var(--ink-3)}.now-card img{width:190px;height:118px;object-fit:cover;object-position:left top;border:1px solid var(--rule-2);border-radius:8px;background:#fff;flex:0 0 auto}.now-card .go{flex:0 0 auto;align-self:center;font-size:14px;font-weight:700;color:var(--signal);white-space:nowrap}@media(max-width:860px){.now-card{flex-wrap:wrap;gap:16px}.now-card img{display:none}}.course-bar{display:flex;align-items:center;gap:16px;margin-bottom:26px;padding:14px 18px;background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-card)}.course-bar .n{font-size:13.5px;color:var(--ink-3);white-space:nowrap}.course-bar .n b{font-family:var(--mono);font-size:17px;color:var(--primary);font-weight:700}.course-bar .n.r{margin-left:auto}.course-bar .bar{flex:1;height:6px;background:var(--rule);border-radius:3px;overflow:hidden}.course-bar .bar i{display:block;height:100%;background:var(--primary);transition:width .3s}.steps{display:flex;flex-direction:column;gap:1px;background:var(--rule);border:1px solid var(--rule);border-radius:var(--r-card);overflow:hidden;margin-bottom:30px}.step{display:flex;background:var(--surface)}.step .lane{flex:0 0 118px;background:var(--primary);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:20px 10px;text-align:center}.step .lane.done{background:var(--ok)}.step .lane .no{font-family:var(--mono);font-size:13px;font-weight:700;letter-spacing:.05em}.step .lane .tag{font-size:12px;padding:2px 9px;border-radius:999px;background:#ffffff29;letter-spacing:-.01em}.step .body{flex:1;min-width:0;padding:18px 22px}.step .hd{display:flex;align-items:baseline;gap:12px;margin-bottom:5px}.step .hd h3{font-size:17px;font-weight:700;letter-spacing:-.03em;color:var(--ink);margin:0}.step .hd .cnt{margin-left:auto;font-family:var(--mono);font-size:12.5px;color:var(--ink-3)}.step .lede{font-size:14px;line-height:1.65;color:var(--ink-2);margin:0 0 3px}.step .src{font-size:12.5px;color:var(--ink-4);margin:0 0 13px}.step .days{display:flex;flex-wrap:wrap;gap:9px}.dcard{flex:1 1 168px;min-width:158px;max-width:250px;text-decoration:none;border:1px solid var(--rule);border-radius:10px;padding:11px 13px;background:var(--surface);transition:border-color .14s,box-shadow .14s}.dcard:hover{border-color:var(--primary);box-shadow:var(--sh-1)}.dcard .top{display:flex;align-items:center;gap:8px;margin-bottom:6px}.dcard .dno{font-family:var(--mono);font-size:12px;color:var(--ink-3);font-weight:600}.dcard .mark{margin-left:auto;font-size:11.5px;font-family:var(--mono);color:var(--ink-4)}.dcard .ttl{font-size:14.5px;font-weight:600;line-height:1.45;color:var(--ink);letter-spacing:-.02em;margin-bottom:5px}.dcard .min{font-family:var(--mono);font-size:12px;color:var(--ink-4)}.dcard.done{background:var(--ok-soft);border-color:var(--ok-line)}.dcard.done .mark{color:var(--ok);font-weight:600}.dcard.doing{border-color:var(--primary-line, var(--primary))}.dcard.now{border:1.5px solid var(--signal);background:var(--signal-soft)}.dcard.now .mark{color:var(--signal);font-weight:700}@media(max-width:720px){.step{flex-direction:column}.step .lane{flex:0 0 auto;flex-direction:row;gap:10px;padding:9px 16px;justify-content:flex-start}.step .body{padding:16px}}.exam-box{border:1px solid var(--rule);border-radius:var(--r-card);background:var(--surface);padding:20px 22px}.exam-box .scope{font-size:14.5px;line-height:1.7;color:var(--ink-2);margin:0 0 14px}.exam-box .note{font-size:13px;color:var(--ink-4);margin:12px 0 0}.day-page{max-width:900px}.backlink{display:inline-block;font-size:13.5px;color:var(--ink-3);text-decoration:none;margin-bottom:14px}.backlink:hover{color:var(--primary)}.day-hd{display:flex;gap:26px;align-items:flex-start;margin-bottom:22px}.day-hd .tx{flex:1;min-width:0}.day-hd .eyebrow{font-family:var(--mono);font-size:12px;letter-spacing:.05em;color:var(--ink-3);margin-bottom:9px}.day-hd h1{font-size:29px;font-weight:800;letter-spacing:-.035em;line-height:1.28;color:var(--ink);margin:0 0 12px}.day-hd .goal{font-size:15.5px;line-height:1.7;color:var(--ink);margin:0 0 8px}.day-hd .goal b{color:var(--primary)}.day-hd .why{font-size:14.5px;line-height:1.75;color:var(--ink-2);margin:0 0 10px}.day-hd .meta{font-family:var(--mono);font-size:12.5px;color:var(--ink-4)}.day-fig{flex:0 0 300px;margin:0}.day-fig img{width:100%;border:1px solid var(--rule);border-radius:9px;background:#fff;display:block}.day-fig figcaption{font-size:12px;color:var(--ink-4);margin-top:7px;text-align:center}@media(max-width:860px){.day-hd{flex-direction:column;gap:16px}.day-fig{flex:none;width:100%;max-width:560px}}.day-prog{display:flex;align-items:center;gap:12px;margin-bottom:18px}.day-prog .bar{flex:1;height:6px;background:var(--rule);border-radius:3px;overflow:hidden}.day-prog .bar i{display:block;height:100%;background:var(--ok);transition:width .25s}.day-prog span{font-family:var(--mono);font-size:13px;color:var(--ink-3)}.tasks{list-style:none;margin:0 0 24px;padding:0;display:flex;flex-direction:column;gap:10px}.task{display:flex;gap:15px;align-items:flex-start;border:1px solid var(--rule);border-radius:11px;padding:15px 18px;background:var(--surface);transition:border-color .14s,background .14s}.task.at{border-color:var(--signal);box-shadow:var(--sh-1)}.task.done{background:var(--ok-soft);border-color:var(--ok-line)}.task .tick{flex:0 0 30px;width:30px;height:30px;border-radius:50%;border:1.5px solid var(--rule);background:var(--surface);font-family:var(--mono);font-size:13px;font-weight:700;color:var(--ink-3);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .14s,border-color .14s,color .14s}.task .tick:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.task.done .tick{background:var(--ok);border-color:var(--ok);color:#fff;font-size:15px}.task .mid{flex:1;min-width:0}.task .row1{display:flex;align-items:center;gap:9px;margin-bottom:5px;flex-wrap:wrap}.task .min{font-family:var(--mono);font-size:12px;color:var(--ink-4)}.task .here{font-size:11.5px;font-weight:700;color:var(--signal);background:var(--signal-soft);border:1px solid var(--signal-line);padding:1px 8px;border-radius:999px}.task p{font-size:14.5px;line-height:1.7;color:var(--ink-2);margin:0}.task.done p{color:var(--ink-3)}.ttag{font-size:12px;font-weight:700;letter-spacing:-.01em;padding:2px 9px;border-radius:5px;border:1px solid transparent}.ttag.rc{color:#6b5a16;background:#fbf3d8;border-color:#eadca8}.ttag.lr{color:var(--primary);background:var(--primary-soft);border-color:var(--rule-2)}.ttag.hd{color:#1f5e52;background:#e2f2ee;border-color:#a9d5cb}.ttag.ck{color:var(--ok);background:var(--ok-soft);border-color:var(--ok-line)}.ttag.wp{color:var(--signal);background:var(--signal-soft);border-color:var(--signal-line)}:root[data-theme=dark] .ttag.rc{color:#d8c378;background:#332c14;border-color:#4e4324}:root[data-theme=dark] .ttag.hd{color:#7ecbb9;background:#12302a;border-color:#245b50}.task .open{flex:0 0 auto;align-self:center;font-size:13.5px;font-weight:600;color:var(--primary);text-decoration:none;white-space:nowrap;border:1px solid var(--rule);border-radius:8px;padding:7px 13px;background:var(--surface)}.task .open:hover{border-color:var(--primary);background:var(--primary-soft)}.task .open.off{color:var(--ink-4);border-style:dashed;cursor:default}@media(max-width:640px){.task{flex-wrap:wrap}.task .open{margin-left:45px}}.day-done{display:flex;flex-direction:column;gap:4px;background:var(--ok-soft);border:1px solid var(--ok-line);border-radius:11px;padding:16px 20px;margin-bottom:22px}.day-done b{font-size:15px;color:var(--ok)}.day-done span{font-size:13.5px;color:var(--ink-2);line-height:1.65}.day-nav{display:flex;gap:10px;align-items:center}.day-nav .btn{flex:0 0 auto}.day-nav .btn:nth-child(2){margin-left:auto}.jb-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:12px;margin-bottom:22px}.jb-card{text-align:left;background:var(--surface);border:1px solid var(--rule);border-radius:12px;padding:15px 17px;cursor:pointer;transition:border-color .14s,box-shadow .14s,transform .14s}.jb-card:hover:not(:disabled){border-color:var(--primary);box-shadow:var(--sh-2);transform:translateY(-1px)}.jb-card:disabled{opacity:.6;cursor:default}.jb-card .top{display:flex;align-items:center;gap:7px;margin-bottom:7px;flex-wrap:wrap}.jb-card .no{font-family:var(--mono);font-size:13px;font-weight:700;color:var(--primary)}.jb-card .best{margin-left:auto;font-family:var(--mono);font-size:11.5px;color:var(--ink-3);background:var(--rule-2);padding:1px 8px;border-radius:999px}.jb-card .best.full{color:#fff;background:var(--ok)}.jb-card .tp{font-size:15px;font-weight:600;color:var(--ink);letter-spacing:-.02em;line-height:1.45;margin-bottom:6px}.jb-card .meta{font-family:var(--mono);font-size:11.5px;color:var(--ink-4)}.tg{font-size:11px;font-weight:600;padding:1px 7px;border-radius:5px;color:var(--primary);background:var(--primary-soft);border:1px solid var(--rule-2)}.tg.warn{color:var(--signal);background:var(--signal-soft);border-color:var(--signal-line)}.jb-src{font-size:12.5px;line-height:1.7;color:var(--ink-4);max-width:720px}.jb-note{background:var(--primary-soft);border:1px solid var(--rule);border-left:3px solid var(--primary);border-radius:0 9px 9px 0;padding:13px 18px;font-size:14px;line-height:1.7;color:var(--ink-2);margin-bottom:20px}.jb-score{font-family:var(--mono);text-align:right;white-space:nowrap}.jb-score b{font-size:30px;font-weight:800;color:var(--primary)}.jb-score span{font-size:17px;color:var(--ink-3)}.jb-score.sm b{font-size:22px}.jb-items,.jb-results{display:flex;flex-direction:column;gap:16px;max-width:820px}.jb-q,.jb-r{background:var(--surface);border:1px solid var(--rule);border-radius:12px;padding:18px 20px}.jb-q .hd,.jb-r .hd{display:flex;align-items:center;gap:8px;margin-bottom:10px;flex-wrap:wrap}.jb-q .n,.jb-r .n{font-family:var(--mono);font-size:13px;font-weight:700;color:#fff;background:var(--primary);width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center}.jb-q .pt,.jb-r .pt{font-family:var(--mono);font-size:11.5px;color:var(--ink-4)}.jb-q .q,.jb-r .q{font-size:16px;font-weight:600;line-height:1.65;color:var(--ink);letter-spacing:-.02em;margin:0 0 14px}.jb-fig{margin:0 0 14px}.jb-fig img{max-width:100%;max-height:340px;border:1px solid var(--rule);border-radius:9px;background:#fff;display:block}.jb-in{width:100%;padding:12px 15px;border:1px solid var(--rule);border-radius:9px;background:var(--surface);color:var(--ink);font-family:inherit;font-size:15px;line-height:1.65;resize:vertical;outline:none}.jb-in:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft)}.jb-r.ok{border-left:4px solid var(--ok)}.jb-r.loose{border-left:4px solid var(--signal)}.jb-r.no{border-left:4px solid var(--signal);background:var(--signal-soft)}.jb-r .vd{font-size:12.5px;font-weight:700}.jb-r.ok .vd{color:var(--ok)}.jb-r.loose .vd,.jb-r.no .vd{color:var(--signal)}.jb-r.no .n,.jb-r.loose .n{background:var(--signal)}.jb-loose{background:var(--signal-soft);border:1px solid var(--signal-line);border-radius:11px;padding:15px 19px;margin-bottom:20px;max-width:820px;display:flex;flex-direction:column;gap:5px}.jb-loose b{font-size:14.5px;color:var(--signal)}.jb-loose span{font-size:13.5px;line-height:1.7;color:var(--ink-2)}.jb-sa{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}.jb-sa>div{border:1px solid var(--rule);border-radius:9px;padding:11px 15px;background:var(--surface)}.jb-sa .lb{display:block;font-size:11.5px;font-weight:700;letter-spacing:-.01em;color:var(--ink-4);margin-bottom:4px}.jb-sa p{font-size:14.5px;line-height:1.7;color:var(--ink-2);margin:0}.jb-sa .mine p{font-family:var(--mono);font-size:14px}.jb-sa .model{background:var(--ok-soft);border-color:var(--ok-line)}.jb-sa .model .lb{color:var(--ok)}.jb-sa .form{background:var(--signal-soft);border-color:var(--signal-line)}.jb-sa .form .lb{color:var(--signal)}.hits{border:1px solid var(--signal-line);background:var(--signal-soft);border-radius:11px;margin:0 0 20px;overflow:hidden}.hits .hd{display:flex;align-items:center;gap:10px;width:100%;padding:11px 15px;background:none;border:0;cursor:pointer;text-align:left}.hits .flag{font-size:11.5px;font-weight:800;letter-spacing:-.01em;color:#fff;background:var(--signal);padding:2px 8px;border-radius:5px;flex:0 0 auto}.hits .tx{font-size:13.5px;color:var(--ink-2);line-height:1.5}.hits .tx b{color:var(--signal)}.hits .sets{color:var(--ink-4);font-family:var(--mono);font-size:12px}.hits .car{margin-left:auto;font-size:12px;color:var(--ink-3);white-space:nowrap}.hits .bd{padding:2px 15px 14px;border-top:1px solid var(--signal-line)}.hits ol{margin:12px 0 0;padding:0 0 0 4px;list-style:none;display:flex;flex-direction:column;gap:11px}.hits li{border-left:2px solid var(--signal-line);padding-left:12px}.hits .q{font-size:14px;line-height:1.6;color:var(--ink)}.hits .src{font-family:var(--mono);font-size:11.5px;color:var(--signal);font-weight:600;margin-right:7px}.hits .why{font-size:12.5px;line-height:1.65;color:var(--ink-3);margin:5px 0 0}.hits .go{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.btn.sm{padding:6px 12px;font-size:12.5px}@media(max-width:640px){.hits .sets{display:none}}.home{min-height:100%;background:var(--bg)}.home-hd{display:flex;align-items:center;gap:12px;padding:16px 30px;background:var(--surface);border-bottom:1px solid var(--rule)}.home-hd .brand{display:flex;align-items:center;gap:11px}.home-hd .bt{display:flex;flex-direction:column;line-height:1.25}.home-hd .bm{font-size:16px;font-weight:800;letter-spacing:var(--tight);color:var(--ink)}.home-hd .bs{font-size:11.5px;color:var(--ink-3);letter-spacing:0}.home-in{max-width:1080px;margin:0 auto;padding:34px 30px 70px}.hello h1{font-size:26px;letter-spacing:var(--tighter)}.hello p{margin-top:7px;font-size:14.5px;color:var(--ink-2)}.resume{display:flex;align-items:center;gap:20px;margin:24px 0 40px;padding:20px 24px 20px 0;background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-card);box-shadow:var(--sh-2);overflow:hidden;text-decoration:none;color:inherit;transition:box-shadow .15s,transform .15s,border-color .15s}.resume:hover{box-shadow:var(--sh-3);transform:translateY(-1px);border-color:var(--signal-line)}.resume .bar{width:5px;height:auto;align-self:stretch;flex:0 0 auto;margin-right:19px;border-radius:0}.resume .tx{flex:1;min-width:0}.resume .eyebrow{font-size:11.5px;font-weight:700;letter-spacing:.02em;color:var(--signal);text-transform:none;margin-bottom:5px}.resume h2{font-size:21px;letter-spacing:var(--tighter)}.resume p{margin-top:5px;font-size:13px;color:var(--ink-3);font-variant-numeric:tabular-nums}.resume .go{flex:0 0 auto;font-size:14px;font-weight:700;color:#fff;background:var(--signal-bright);padding:10px 18px;border-radius:var(--r-ctl);white-space:nowrap}.home .sh{font-size:11.5px;font-weight:700;letter-spacing:.06em;color:var(--ink-3);text-transform:uppercase;margin:0 0 12px}.home .sh+.cgrid{margin-bottom:34px}.cgrid{display:grid;gap:14px;grid-template-columns:repeat(auto-fill,minmax(310px,1fr))}.ccard{position:relative;display:block;padding:19px 21px 17px 25px;background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-card);text-decoration:none;color:inherit;overflow:hidden;transition:box-shadow .15s,transform .15s,border-color .15s}.ccard:hover{box-shadow:var(--sh-2);transform:translateY(-1px)}.ccard .edge{position:absolute;left:0;top:0;bottom:0;width:5px}.ccard .top{display:flex;align-items:baseline;gap:9px;flex-wrap:wrap}.ccard h3{font-size:17px;letter-spacing:var(--tight)}.ccard .en{font-size:11.5px;color:var(--ink-4);font-family:var(--mono)}.ccard .lede{margin:8px 0 15px;font-size:13px;line-height:1.65;color:var(--ink-3);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ccard .bar{height:5px;border-radius:3px;background:var(--rule-2);overflow:hidden}.ccard .bar i{display:block;height:100%;border-radius:3px;min-width:3px}.ccard .foot{display:flex;align-items:baseline;gap:10px;margin-top:10px}.ccard .pct{font-size:19px;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums;letter-spacing:var(--tighter)}.ccard .pct small{font-size:12px;font-weight:700;color:var(--ink-3);margin-left:1px}.ccard .cnt{font-size:12px;color:var(--ink-3);font-variant-numeric:tabular-nums}.ccard .wr{margin-left:auto;font-size:11.5px;font-weight:700;color:var(--signal);background:var(--signal-soft);border:1px solid var(--signal-line);padding:1px 8px;border-radius:var(--r-chip)}.ccard .nx{margin-top:9px;padding-top:9px;border-top:1px solid var(--rule-2);font-size:12.5px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ccard.soon{opacity:.62}.ccard.soon:hover{opacity:1}.navy{background:#17457f}.rust{background:#b5501f}.teal{background:#1f6e86}.violet{background:#5b4a94}.amber{background:#9a6b12}.cswitch{position:relative;margin-top:12px}.cswitch .cur{display:flex;align-items:center;gap:8px;width:100%;padding:8px 11px;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:var(--r-ctl);color:var(--side-fg);cursor:pointer;font-family:inherit;font-size:13px;text-align:left}.cswitch .cur:hover{background:#ffffff1c}.cswitch .nm{flex:1;min-width:0;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cswitch .car{font-size:10px;color:var(--side-hd)}.cswitch .dot{width:8px;height:8px;border-radius:50%;flex:0 0 auto}.cswitch .menu{position:absolute;z-index:40;left:0;right:0;top:calc(100% + 6px);background:var(--surface);border:1px solid var(--rule);border-radius:var(--r-ctl);box-shadow:var(--sh-3);padding:5px;display:flex;flex-direction:column}.cswitch .menu a{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:6px;text-decoration:none;color:var(--ink);font-size:13.5px}.cswitch .menu a:hover{background:var(--surface-3)}.cswitch .menu a.on{font-weight:700}.cswitch .menu .t{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cswitch .menu .soon{font-size:11px;color:var(--ink-4)}.cswitch .menu .all{margin-top:4px;border-top:1px solid var(--rule-2);border-radius:0 0 6px 6px;font-size:12.5px;color:var(--ink-3);justify-content:center}.topbar .crumb a{color:inherit;text-decoration:none}.topbar .crumb a:hover{color:var(--primary)}.home-hd .thm{background:var(--surface-3);border:1px solid var(--rule)}.home-hd .thm button{color:var(--ink-3)}.home-hd .thm button.on{background:var(--surface);color:var(--ink)}@media(max-width:640px){.home-in{padding:24px 18px 60px}.resume{flex-wrap:wrap;padding-bottom:18px}.resume .go{width:100%;text-align:center}.cgrid{grid-template-columns:1fr}}.b-fig{margin:0 0 22px}.b-fig button{display:block;width:100%;padding:0;border:1px solid var(--rule);border-radius:10px;background:#fff;overflow:hidden;cursor:zoom-in;transition:border-color .14s,box-shadow .14s}.b-fig button:hover{border-color:var(--primary-line);box-shadow:var(--sh-2)}.b-fig img{display:block;width:100%;height:auto}.b-fig figcaption{margin-top:7px;font-size:12px;line-height:1.6;color:var(--ink-4)}.b-fig.zoom button{cursor:zoom-out;border-color:var(--primary)}.b-fig.zoom{margin-left:calc(-1*min(120px,6vw));margin-right:calc(-1*min(120px,6vw))}:root[data-theme=dark] .b-fig img{filter:brightness(.9) contrast(1.02)}:root[data-theme=dark] .b-fig.zoom img{filter:none}.b-vid{margin:0 0 22px;border:1px solid var(--rule);border-radius:11px;background:var(--surface-2);overflow:hidden}.b-vid .hd{display:flex;gap:10px;padding:14px 16px 12px}.b-vid .tagx{flex:0 0 auto;font-size:11px;font-weight:700;color:#fff;background:var(--ink-3);padding:2px 8px;border-radius:5px;height:fit-content}.b-vid h4{font-size:15px;letter-spacing:var(--tight)}.b-vid .bd{margin-top:4px;font-size:13px;line-height:1.65;color:var(--ink-3)}.b-vid .play{display:flex;align-items:center;justify-content:center;gap:11px;width:100%;padding:26px 16px;border:0;border-top:1px solid var(--rule);background:var(--surface-3);color:var(--ink-2);cursor:pointer;font-family:inherit;font-size:13.5px}.b-vid .play:hover{background:var(--primary-soft);color:var(--primary)}.b-vid .play .tri{width:0;height:0;border-style:solid;border-width:9px 0 9px 15px;border-color:transparent transparent transparent currentColor}.b-vid .frame{position:relative;padding-top:56.25%;background:#000;border-top:1px solid var(--rule)}.b-vid .frame iframe{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;border:0}.b-vid .ft{display:flex;gap:10px;align-items:baseline;padding:9px 16px;border-top:1px solid var(--rule);font-size:11.5px;color:var(--ink-4)}.b-vid .ft a{margin-left:auto;color:var(--primary);text-decoration:none;white-space:nowrap}.b-vid .ft a:hover{text-decoration:underline}.b-bridge{display:flex;gap:12px;margin:0 0 22px;padding:14px 17px;background:var(--primary-soft);border:1px solid var(--primary-line);border-left:3px solid var(--primary);border-radius:0 10px 10px 0;text-decoration:none;color:inherit;transition:box-shadow .14s,transform .14s}.b-bridge:hover{box-shadow:var(--sh-2);transform:translate(2px)}.b-bridge .ic{flex:0 0 auto;width:26px;height:26px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px}.b-bridge .tx{min-width:0;display:flex;flex-direction:column;gap:4px}.b-bridge .h{font-size:14.5px;font-weight:700;letter-spacing:var(--tight);color:var(--ink)}.b-bridge .bd{font-size:13.5px;line-height:1.65;color:var(--ink-2)}.b-bridge .go{font-size:12.5px;font-weight:700;color:var(--primary);margin-top:2px}@media(max-width:900px){.b-fig.zoom{margin-left:0;margin-right:0}}.fxrow dd .fxnote{display:block;margin-top:3px;font-family:var(--sans);font-size:12.5px;line-height:1.6;color:var(--ink-3);letter-spacing:-.01em}.ccard .bar i.zero{min-width:0}
