@font-face{font-family:Schibsted Grotesk;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/481eac7be1c268b7-s.34f9nwclrjpmo.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Schibsted Grotesk;font-style:normal;font-weight:400 900;font-display:swap;src:url(../media/31a9145ccb84606d-s.p.1_j-vbs-91rji.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Schibsted Grotesk Fallback;src:local(Arial);ascent-override:93.46%;descent-override:24.67%;line-gap-override:0.0%;size-adjust:104.49%}.schibsted_grotesk_395d2ae6-module__MxXwga__className{font-family:Schibsted Grotesk,Schibsted Grotesk Fallback;font-style:normal}.schibsted_grotesk_395d2ae6-module__MxXwga__variable{--font-sans:"Schibsted Grotesk", "Schibsted Grotesk Fallback"}
:root{--bg:#edf0f3;--surface:#f8f9fb;--ink:#1b2433;--muted:#5b6678;--line:#d4dae2;--tile:#d0d7e0;--done:#2a4fd6;--done-soft:#e3e9fb;--easy:#1a8a5a;--medium:#b7730b;--hard:#d0393e;--focus:#2a4fd6;--flash:#fff1b8;--radius-sm:4px;--radius:8px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#121a27;--surface:#182233;--ink:#dce3ee;--muted:#93a0b4;--line:#28344a;--tile:#2a3750;--done:#7d9bff;--done-soft:#1f2d4d;--easy:#3fcf8e;--medium:#f0b43c;--hard:#f2676b;--focus:#7d9bff;--flash:#3d3a1c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--bg:#121a27;--surface:#182233;--ink:#dce3ee;--muted:#93a0b4;--line:#28344a;--tile:#2a3750;--done:#7d9bff;--done-soft:#1f2d4d;--easy:#3fcf8e;--medium:#f0b43c;--hard:#f2676b;--focus:#7d9bff;--flash:#3d3a1c;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scrollbar-width:thin;scrollbar-color:var(--tile) transparent}.rail{scrollbar-width:none}.rail::-webkit-scrollbar{display:none}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans), system-ui, sans-serif;-webkit-font-smoothing:antialiased;margin:0;font-size:15px;line-height:1.5}a{color:inherit}button,input,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--radius-sm)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.muted{color:var(--muted)}.loading{min-height:100vh}.overview h1,.diff-summary,.rail-count,.sub-count,.step-count{font-variant-numeric:tabular-nums}.shell{--rail:280px;grid-template-columns:var(--rail) minmax(0, 1fr);display:grid}.rail{border-right:1px solid var(--line);height:100vh;padding:28px 16px 28px 24px;position:sticky;top:0;overflow-y:auto}.brand{letter-spacing:-.01em;margin:0 0 20px 8px;font-size:17px;font-weight:700}.rail ol{margin:0;padding:0;list-style:none}.rail-step{border-radius:var(--radius);text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:22px 1fr auto;align-items:baseline;gap:5px 8px;width:100%;padding:7px 8px 8px;display:grid}.rail-step:hover,.rail-step[aria-current]{background:var(--surface)}.rail-no{color:var(--muted);font-size:13px}.rail-name{font-size:14px;line-height:1.3}.rail-step[aria-current] .rail-name{font-weight:600}.rail-count{color:var(--muted);font-size:13px}.rail-step[data-complete] .rail-count{color:var(--done);font-weight:600}.bar{background:var(--tile);border-radius:2px;grid-column:2/4;height:3px;overflow:hidden}.bar>span{background:var(--done);height:100%;display:block}.main{--pad:max(40px, calc((100vw - var(--rail) - 960px) / 2));min-width:0;padding:36px var(--pad) 64px}.overview{margin-bottom:32px}.overview h1{letter-spacing:-.02em;margin:0;font-size:34px;font-weight:700;line-height:1.15}.diff-summary{flex-wrap:wrap;gap:18px;margin:8px 0 22px;font-size:14px;display:flex}.diff{align-items:center;gap:6px;display:inline-flex}.diff:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.diff-easy{color:var(--easy)}.diff-medium{color:var(--medium)}.diff-hard{color:var(--hard)}.mosaic{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);flex-wrap:wrap;gap:10px 12px;padding:16px;display:flex}.mosaic-step{flex-wrap:wrap;gap:3px;min-width:0;max-width:100%;display:flex}.tile{background:var(--tile);cursor:pointer;border:0;border-radius:2px;width:12px;height:12px;padding:0}.tile[data-kind=learning]{border-radius:50%}.tile[data-done]{background:var(--done)}.tile:hover{outline:2px solid var(--ink);outline-offset:1px}.mosaic-key{margin:8px 0 0;font-size:13px}.up-next{margin:14px 0 0;font-size:14px}.link{text-underline-offset:3px;text-decoration:underline;-webkit-text-decoration-color:var(--line);text-decoration-color:var(--line);cursor:pointer;background:0 0;border:0;padding:0;font-weight:600}.link:hover{text-decoration-color:currentColor}.rail-head{justify-content:space-between;align-items:baseline;gap:8px;margin:0 0 20px 8px;display:flex}.rail-head .brand{margin:0}.account-link{border-radius:var(--radius-sm);max-width:120px;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:6px;padding:2px 4px;font-size:13px;text-decoration:none;display:inline-flex;overflow:hidden}.account-link:hover{color:var(--ink)}.sync-dot{background:var(--muted);border-radius:50%;flex:none;width:6px;height:6px}.sync-dot[data-status=synced]{background:var(--easy)}.sync-dot[data-status=error]{background:var(--hard)}.sync-dot[data-status=checking],.sync-dot[data-status=conflict]{background:var(--medium)}.dialog{border:1px solid var(--line);background:var(--bg);width:min(460px,100vw - 32px);color:var(--ink);border-radius:12px;padding:24px}.dialog::backdrop{background:#0a0f198c}.dialog h2{letter-spacing:-.01em;margin:0 0 6px;font-size:20px}.dialog p{margin:0 0 18px;font-size:14px}.choices{gap:8px;margin-bottom:18px;display:grid}.choice{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);text-align:left;cursor:pointer;gap:2px;padding:12px 14px;display:grid}.choice:hover{border-color:var(--done)}.choice span{color:var(--muted);font-size:13px}.dialog>.link{color:var(--muted);font-size:13px;font-weight:400}.toolbar{z-index:2;margin:0 calc(-1 * var(--pad));padding:12px var(--pad);background:var(--bg);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;scroll-margin-top:0;display:flex;position:sticky;top:0}.search{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);flex:240px;min-width:0;height:36px;padding:0 12px}.search::placeholder{color:var(--muted)}.seg{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:2px;display:inline-flex}.seg button{height:30px;color:var(--muted);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0 10px;font-size:14px}.seg button:hover{color:var(--ink)}.seg button[aria-checked=true]{background:var(--ink);color:var(--bg)}.step-picker{display:none}.step-picker select{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:100%;height:36px;padding:0 8px}.step-head{flex-wrap:wrap;align-items:baseline;gap:8px 12px;margin:28px 0 12px;display:flex}.step-no{color:var(--muted);font-size:15px}.step-title{letter-spacing:-.015em;margin:28px 0 8px;font-size:24px;line-height:1.2}.step-head .step-title{margin:0}.step-count{color:var(--muted);margin-left:auto;font-size:14px}.step-toggle{border:1px solid var(--line);border-radius:var(--radius);height:28px;color:var(--muted);cursor:pointer;background:0 0;padding:0 10px;font-size:13px}.step-toggle:hover{color:var(--ink);border-color:var(--muted)}.sub{margin-top:10px}.sub h3{margin:0;font-size:15px;font-weight:600}.sub-toggle{border-radius:var(--radius);width:100%;font-weight:inherit;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;margin:0 0 0 -8px;padding:6px 8px;display:flex}.sub-toggle:hover:not(:disabled){background:var(--surface)}.sub-toggle:disabled{cursor:default}.chev{width:16px;height:16px;color:var(--muted);flex:none;transition:transform .15s;transform:rotate(-90deg)}.sub[data-open] .chev{transform:none}.sub-count[data-complete]{color:var(--done);font-weight:600}.sub:not([data-open]){border-bottom:1px solid var(--line)}.sub-count{color:var(--muted);font-size:13px;font-weight:400}.sub ul{border-top:1px solid var(--line);margin:4px 0 18px;padding:0;list-style:none}.q{border-bottom:1px solid var(--line);grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 8px;scroll-margin-top:120px;transition:background-color .6s;display:grid}.q[data-flash]{background:var(--flash);transition:none}.q[data-done] .q-title{color:var(--muted)}.check{cursor:pointer;place-items:center;width:28px;height:28px;display:grid;position:relative}.check input{opacity:0;cursor:pointer;margin:0;position:absolute;inset:0}.box{border:1.5px solid var(--muted);border-radius:5px;place-items:center;width:20px;height:20px;transition:background-color .12s,border-color .12s;display:grid}.box svg{fill:none;width:14px;height:14px;stroke:var(--bg);stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:16;stroke-dashoffset:16px;transition:stroke-dashoffset .18s ease-out}.check input:checked+.box{background:var(--done);border-color:var(--done)}.check input:checked+.box svg{stroke-dashoffset:0}.check input:focus-visible+.box{outline:2px solid var(--focus);outline-offset:2px}.q-title{font-weight:500;text-decoration:none}.q-title:hover{text-underline-offset:3px;text-decoration:underline}.q-meta{color:var(--muted);flex-wrap:wrap;column-gap:14px;font-size:13px;display:flex}.q-meta .diff{font-weight:500}.lecture{color:var(--ink)}.q-links{gap:2px;display:flex}.icon-link,.icon-slot{border-radius:var(--radius);place-items:center;width:34px;height:34px;display:grid}.icon-link:hover{background:var(--done-soft)}.icon{width:19px;height:19px}.icon-article{color:var(--done)}.icon-leetcode{color:#ffa116}.icon-code{color:var(--ink)}.empty{color:var(--muted);padding:48px 0}.btn{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);cursor:pointer;height:36px;padding:0 14px;font-size:14px}.btn:hover{border-color:var(--muted)}.pager{justify-content:space-between;gap:12px;margin-top:36px;display:flex}.foot{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:56px;padding-top:20px;font-size:13px;display:flex}.foot p{margin:0}.foot-actions{flex-wrap:wrap;gap:18px;display:flex}.foot .link{color:var(--muted);font-weight:400}.foot .link:hover{color:var(--ink)}.foot-account{display:none}.account-page{max-width:520px;margin:0 auto;padding:36px 16px 64px}.back{color:var(--muted);align-items:center;gap:4px;margin-left:-4px;font-size:14px;text-decoration:none;display:inline-flex}.back:hover{color:var(--ink)}.back-icon{width:16px;height:16px;transform:rotate(90deg)}.account-page h1{letter-spacing:-.02em;margin:20px 0 16px;font-size:30px}.lede{color:var(--muted);margin:0 0 24px;line-height:1.6}.profile{align-items:center;gap:14px;margin-bottom:24px;display:flex}.avatar{background:var(--done-soft);width:44px;height:44px;color:var(--done);border-radius:50%;place-items:center;font-size:18px;font-weight:700;display:grid}.profile-text{min-width:0;display:grid}.profile-text span{text-overflow:ellipsis;font-size:14px;overflow:hidden}.facts{border-top:1px solid var(--line);margin:0 0 24px}.facts>div{border-bottom:1px solid var(--line);grid-template-columns:120px 1fr;gap:12px;padding:12px 0;font-size:14px;display:grid}.facts dt{color:var(--muted)}.facts dd{font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;gap:0 8px;margin:0;display:flex}.fact-error{color:var(--hard);overflow-wrap:anywhere;font-size:14px}.account-actions{justify-items:start;gap:10px;display:grid}.account-actions p{margin:0;font-size:13px}.btn:disabled{opacity:.6;cursor:default}.btn-google{align-items:center;gap:10px;height:40px;padding:0 16px;font-weight:500;display:inline-flex}.google-icon{width:18px;height:18px}.how{color:var(--muted);margin:28px 0 0;padding:0 0 0 18px;font-size:13px;line-height:1.6}.how li+li{margin-top:4px}.steps-howto{counter-reset:howto;margin:0 0 20px;padding:0;line-height:1.6;list-style:none}.steps-howto li{counter-increment:howto;padding-left:24px;position:relative}.steps-howto li:before{content:counter(howto) ".";color:var(--muted);position:absolute;left:0}.steps-howto li+li{margin-top:6px}.steps-howto a{color:var(--done);font-weight:500}kbd{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);font:inherit;border-bottom-width:2px;padding:1px 6px;font-size:12px}.dropzone{border:1.5px dashed var(--line);border-radius:var(--radius);background:var(--surface);text-align:center;cursor:pointer;place-items:center;gap:2px;padding:28px 16px;display:grid}.dropzone:hover,.dropzone[data-dragging]{border-color:var(--done)}.dropzone:focus-within{outline:2px solid var(--focus);outline-offset:2px}.dropzone span{font-size:13px}.paste{margin-top:14px;font-size:14px}.paste summary{color:var(--muted);cursor:pointer}.paste textarea{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:100%;font:inherit;resize:vertical;margin:10px 0;padding:10px;font-size:13px;display:block}.restore-msg{margin:18px 0 0}.restore-ok{color:var(--easy)}.restore-result{margin-top:24px}.restore-note{margin:-12px 0 16px;font-size:13px}@media (max-width:900px){.shell{display:block}.rail{display:none}.foot-account{display:inline}.main{--pad:16px;padding:24px 16px 48px}.toolbar{padding-block:10px;position:static}.step-picker{flex:100%;display:block}.overview h1{font-size:28px}.mosaic{gap:6px 8px;padding:12px}.mosaic-step{gap:2px}.tile{border-radius:1.5px;width:7px;height:7px}}@media (max-width:560px){.q{grid-template-columns:28px minmax(0,1fr)}.q-links{grid-column:2;margin:-4px 0 0 -9px}.icon-slot{display:none}.search{flex-basis:100%}.seg{flex:100%}.seg button{flex:auto;padding:0 6px;font-size:13px}.step-count{margin-left:0}.step-head .step-toggle{margin-left:auto}.pager{flex-direction:column}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important}}
