:root{--exercise-blue:#1688f8;--exercise-blue-dark:#1265df;--exercise-navy:#0b1f44;--exercise-muted:#61708a;--exercise-border:#dce7f5;--exercise-surface:#fff;--exercise-canvas:#f7faff;--exercise-shadow:0 14px 40px #17478914}body:has(.exercise-site){background:var(--exercise-canvas);color:var(--exercise-navy)}body:has(.exercise-site) main{overflow:visible}.exercise-site,.exercise-site button,.exercise-site input,.exercise-site textarea{font-family:Be Vietnam Pro,Noto Sans,sans-serif}.exercise-site{background:radial-gradient(circle at 92% 0%, #1688f814, transparent 28rem), var(--exercise-canvas);min-height:100vh;padding-top:84px}.library-container{width:min(1520px,100% - 72px);margin-inline:auto}.exercise-button{border:1px solid #0000;border-radius:11px;justify-content:center;align-items:center;gap:.5rem;min-height:44px;padding:.7rem 1.05rem;font-size:.82rem;font-weight:700;line-height:1;transition:transform .18s,box-shadow .18s,background .18s;display:inline-flex}.exercise-button:hover{transform:translateY(-2px)}.exercise-button--ghost{color:var(--exercise-blue-dark);background:#fff;border-color:#b9d5fb}.exercise-button--ghost:hover{box-shadow:0 9px 22px #1688f81f}.exercise-button--primary{color:#fff;background:linear-gradient(135deg,#1688f8,#1265df);box-shadow:0 10px 24px #166fe93d}.library-hero{isolation:isolate;background:linear-gradient(120deg,#fbfdff 0%,#f3f9ff 54%,#eaf6ff 100%);border-bottom:1px solid #dbe8f7;position:relative;overflow:hidden}.library-hero:before{z-index:-1;content:"";background-image:radial-gradient(#1688f81f 1px,#0000 1px);background-size:24px 24px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000 45%,#000);mask-image:linear-gradient(90deg,#0000 45%,#000)}.library-hero__glow{filter:blur(8px);pointer-events:none;border-radius:50%;position:absolute}.library-hero__glow--one{background:#4fb0ff1f;width:520px;height:520px;top:-150px;right:6%}.library-hero__glow--two{background:#2867ea14;width:420px;height:420px;bottom:-240px;left:35%}.library-hero__grid{grid-template-columns:minmax(0,1.1fr) minmax(380px,.9fr);align-items:center;gap:4rem;min-height:394px;display:grid}.library-hero__copy{padding:3.6rem 0 3rem}.section-kicker{color:var(--exercise-blue-dark);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:.5rem;margin-bottom:1rem;font-size:.74rem;font-weight:750;display:inline-flex}.section-kicker span{color:#0875e4;background:#edf7ff;border:1px solid #9acaff;border-radius:999px;padding:.2rem .5rem;font-size:.63rem}.library-hero h1{color:#091b3f;letter-spacing:-.065em;margin-bottom:1.05rem;font-size:clamp(2.55rem,4.35vw,4.65rem);line-height:1.02}.library-hero h1 em{color:#0000;background:linear-gradient(110deg,#0a74ec,#2098ff);-webkit-background-clip:text;background-clip:text;font-style:normal}.library-hero__lead{color:#40516d;margin-bottom:1.8rem;font-size:clamp(.95rem,1.3vw,1.1rem)}.library-hero__lead span{color:var(--exercise-blue);padding-inline:.45rem}.track-stats{grid-template-columns:repeat(3,1fr);gap:.75rem;max-width:650px;display:grid}.track-stat{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffd1;border:1px solid #dce8f7;border-radius:13px;align-items:center;gap:.72rem;min-width:0;padding:.9rem 1rem;display:flex;box-shadow:0 7px 20px #1f4e8f0f}.track-stat__icon{color:#fff;border-radius:11px;flex:none;place-items:center;width:42px;height:42px;display:grid}.library-kicker-icon{object-fit:contain;width:36px;height:36px}.track-stat__icon img,.route-card__icon img,.sidebar-card__heading>span img,.sidebar-card__spark img{object-fit:contain;width:100%;height:100%}.problem-track-image{object-fit:contain;width:38px;height:38px;display:none}.problem-row__leading--python .problem-track-image--python,.problem-row__leading--cpp .problem-track-image--cpp,.problem-row__leading--ai .problem-track-image--ai{display:block}.track-stat>span:last-child{color:#52627a;flex-direction:column;min-width:0;font-size:.76rem;font-weight:600;display:flex}.track-stat strong{color:var(--exercise-blue-dark);font-size:1.48rem;line-height:1.1}.library-hero__visual{min-height:100%;position:relative;overflow:hidden}.library-hero__visual>img{object-fit:contain;filter:drop-shadow(0 24px 30px #125fb533);width:min(58%,300px);height:auto;position:absolute;bottom:-38%;right:4%}.library-hero__visual p{z-index:3;color:#4681c8;margin:0;font-size:1.05rem;font-style:italic;line-height:1.55;position:absolute;top:29%;left:0;transform:rotate(-4deg)}.library-hero__visual p strong{color:var(--exercise-blue-dark);font-size:1.18rem}.library-content{padding:2rem 0 5rem}.library-layout{grid-template-columns:minmax(0,1fr) 350px;align-items:start;gap:1.45rem;display:grid}.problem-browser{min-width:0}.problem-toolbar{border:1px solid var(--exercise-border);background:#ffffffeb;border-radius:16px;padding:1.05rem;box-shadow:0 8px 28px #1e4c890d}.problem-search{color:#68809f;background:#fbfdff;border:1px solid #cbdcef;border-radius:12px;align-items:center;gap:.75rem;min-height:52px;padding:0 1rem;transition:border .18s,box-shadow .18s;display:flex}.problem-search:focus-within{border-color:var(--exercise-blue);box-shadow:0 0 0 4px #1688f81a}.problem-search input{min-width:0;color:var(--exercise-navy);background:0 0;border:0;outline:0;flex:1;font-size:.91rem}.problem-search input::placeholder{color:#8795aa}.problem-search kbd{color:#8491a6;background:#fff;border:1px solid #dbe6f4;border-radius:7px;padding:.25rem .55rem;font-size:.68rem}.problem-filter-row{flex-wrap:wrap;align-items:center;gap:.5rem;padding-top:.85rem;display:flex}.filter-chip{color:#42536e;cursor:pointer;background:#fff;border:1px solid #d2deed;border-radius:999px;min-height:38px;padding:.45rem .9rem;font-size:.76rem;font-weight:650;transition:all .18s}.filter-chip:hover{color:var(--exercise-blue-dark);border-color:#91c4ff;transform:translateY(-1px)}.filter-chip--active{border-color:var(--exercise-blue);background:var(--exercise-blue);color:#fff;box-shadow:0 7px 18px #1688f838}.filter-divider{background:#dce5f0;width:1px;height:24px;margin-inline:.15rem}.problem-list-heading{justify-content:space-between;align-items:center;padding:1.35rem .25rem .8rem;display:flex}.problem-list-heading>div{align-items:baseline;gap:.75rem;display:flex}.problem-list-heading strong{font-size:1rem}.problem-list-heading span{color:#7a889d;font-size:.72rem}.sort-button{color:#52627a;cursor:pointer;background:#fff;border:1px solid #d6e1ef;border-radius:9px;align-items:center;gap:.35rem;min-height:38px;padding:.4rem .8rem;font-size:.73rem;display:inline-flex}.problem-list{gap:.75rem;display:grid}.problem-row{border:1px solid var(--exercise-border);background:#fff;border-radius:15px;grid-template-columns:auto minmax(0,1fr) 104px 112px;align-items:center;gap:.95rem;min-width:0;padding:1.05rem;transition:transform .2s,border .2s,box-shadow .2s;display:grid;box-shadow:0 6px 19px #1c457c0a}.problem-row:hover{border-color:#a9d1fc;transform:translateY(-3px);box-shadow:0 15px 35px #165db31a}.problem-row--muted{opacity:.94}.problem-row__leading{border-radius:12px;place-items:center;width:48px;height:48px;display:grid}.problem-row__leading--python{color:#1786f4;background:#eaf5ff}.problem-row__leading--cpp{color:#315fac;background:#e9f0ff}.problem-row__leading--ai{color:#7552e7;background:#f0ebff}.problem-row__body{min-width:0}.problem-row__title-line{align-items:center;gap:.6rem;min-width:0;display:flex}.problem-row__title-line>span{color:#67809e;background:#f0f5fb;border-radius:6px;flex:none;padding:.2rem .42rem;font-size:.61rem;font-weight:750}.problem-row h2{color:#0d2148;letter-spacing:-.025em;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1rem;overflow:hidden}.problem-row p{color:#66758b;text-overflow:ellipsis;white-space:nowrap;margin:.25rem 0 .48rem;font-size:.875rem;line-height:1.5;overflow:hidden}.math-formula-inline{color:#14325c;padding:0 2px;font-family:KaTeX_Main,Times New Roman,serif;display:inline}.math-formula-block{color:#0f274d;text-align:center;background:#f0f6ff;border:1px solid #d4e5fa;border-radius:10px;margin:12px 0;padding:14px 18px;display:block;overflow-x:auto}.math-fraction{vertical-align:middle;text-align:center;align-items:center;margin:0 .2em;font-size:.9em;line-height:1.05;display:inline-grid}.math-fraction>span:first-child{border-bottom:1.5px solid;padding:0 .2em .12em}.math-fraction>span:last-child{padding:.12em .2em 0}.problem-tags{flex-wrap:wrap;gap:.35rem;display:flex}.problem-tags span{color:#506781;background:#edf4fd;border-radius:6px;padding:.22rem .48rem;font-size:.61rem;font-weight:550}.problem-row__meta{flex-direction:column;align-items:flex-start;gap:.5rem;display:flex}.problem-row__meta>span:last-child{color:#7b879a;align-items:center;gap:.3rem;font-size:.67rem;display:flex}.difficulty{border-radius:999px;padding:.28rem .55rem;font-size:.65rem;font-weight:750;display:inline-flex}.difficulty--easy{color:#168452;background:#dcf8e9}.difficulty--medium{color:#a86500;background:#fff2ce}.difficulty--hard{color:#bd3d35;background:#ffe6e4}.problem-row__action{color:#fff;background:linear-gradient(135deg,#1688f8,#1265df);border-radius:10px;justify-content:center;align-items:center;gap:.42rem;min-height:42px;font-size:.72rem;font-weight:750;transition:all .18s;display:inline-flex;box-shadow:0 8px 18px #166fe92e}.problem-row__action:hover{transform:translate(2px);box-shadow:0 12px 24px #166fe947}.library-pagination{justify-content:center;align-items:center;gap:.35rem;padding-top:1.3rem;display:flex}.library-pagination button{color:#62718a;cursor:pointer;background:#fff;border:1px solid #d5e1ef;border-radius:9px;place-items:center;width:38px;height:38px;font-size:.73rem;display:grid}.library-pagination button:hover,.library-pagination button.is-current{border-color:var(--exercise-blue);background:var(--exercise-blue);color:#fff}.library-sidebar{gap:.85rem;display:grid;position:sticky;top:94px}.sidebar-card{border:1px solid var(--exercise-border);background:#fff;border-radius:16px;padding:1.1rem;position:relative;overflow:hidden;box-shadow:0 8px 25px #1b48840d}.sidebar-card__heading{align-items:flex-start;gap:.75rem;margin-bottom:.85rem;display:flex}.sidebar-card__heading>span{width:38px;height:38px;color:var(--exercise-blue);background:#eaf5ff;border-radius:11px;flex:none;place-items:center;display:grid}.sidebar-card h2{color:#10264e;letter-spacing:-.025em;margin:0;font-size:.94rem;line-height:1.35}.sidebar-card p{color:#536783;margin:.2rem 0 0;font-size:.875rem;line-height:1.55}.route-card{background:#fbfdff;border:1px solid #e2eaf4;border-radius:11px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.7rem;min-height:66px;margin-top:.55rem;padding:.7rem;transition:all .18s;display:grid}.route-card:hover{background:#fff;border-color:#abd2fc;transform:translate(3px);box-shadow:0 9px 20px #1669d214}.route-card__icon{border-radius:10px;place-items:center;width:37px;height:37px;display:grid}.route-card__icon--python{color:#307fbe;background:#fff5cc}.route-card__icon--cpp{color:#315fac;background:#e8f0ff}.route-card__icon--ai{color:#7350e5;background:#f0ebff}.route-card>span:nth-child(2){flex-direction:column;min-width:0;display:flex}.route-card strong{color:#17305a;font-size:.9375rem}.route-card small{color:#78879b;text-overflow:ellipsis;white-space:nowrap;font-size:.875rem;overflow:hidden}.route-card>svg{color:#177fe9}.sidebar-wide-link,.sidebar-outline-link,.sidebar-account-link{border-radius:9px;justify-content:center;align-items:center;gap:.45rem;min-height:42px;margin-top:.75rem;font-size:.71rem;font-weight:750;display:flex}.sidebar-wide-link{color:#1577e1;background:#eaf4ff}.sidebar-card--beta{background:linear-gradient(145deg,#fff,#f7fbff);padding-top:1.4rem}.sidebar-beta-badge{color:#137ce8;background:#fff;border:1px solid #8fc5ff;border-radius:999px;padding:.18rem .44rem;font-size:.57rem;font-weight:800;position:absolute;top:.55rem;right:.7rem}.sidebar-outline-link{color:#1173d8;border:1px solid #69adf7}.sidebar-card--account{color:#fff;background:linear-gradient(145deg,#0c2f6f,#126bdb);padding:1.3rem}.sidebar-card--account:after{content:"";border:1px solid #ffffff29;border-radius:50%;width:140px;height:140px;position:absolute;bottom:-55px;right:-35px}.sidebar-card--account h2{color:#fff}.sidebar-card--account p{color:#dcecff}.sidebar-card__spark{color:#7ee2ff;background:#ffffff26;border-radius:10px;place-items:center;width:36px;height:36px;margin-bottom:.75rem;display:grid}.sidebar-account-link{z-index:1;color:#1265df;background:#fff;position:relative}.detail-page{background:radial-gradient(circle at 90% 8%,#1688f814,#0000 25rem),#f7faff;padding:1.4rem 0 5rem;position:relative}.detail-breadcrumb{color:#8390a3;align-items:center;gap:.65rem;min-height:44px;font-size:.72rem;display:flex}.detail-breadcrumb a{color:#3972bb;align-items:center;gap:.4rem;font-weight:650;display:inline-flex}.detail-breadcrumb strong{color:#54637b}.detail-breadcrumb .breadcrumb-back{color:#2563eb;background:#fff;border:1px solid #d5e3f5;border-radius:9px;flex:none;justify-content:center;width:32px;height:32px;transition:background .16s,border-color .16s,transform .16s}.detail-breadcrumb .breadcrumb-back:hover{background:#eef5ff;border-color:#2563eb;transform:translate(-2px)}.detail-layout{grid-template-columns:minmax(0,1fr) 390px;align-items:start;gap:1.35rem;display:grid}.lesson-card{border:1px solid var(--exercise-border);min-width:0;box-shadow:var(--exercise-shadow);background:#fff;border-radius:17px;padding:1.55rem}.lesson-heading{border-bottom:1px solid #e8eef6;padding:.25rem .35rem 1.25rem}.lesson-heading__eyebrow{align-items:center;gap:.6rem;margin-bottom:.65rem;display:flex}.lesson-heading__eyebrow>span:first-child{color:#647a98;background:#edf3fb;border-radius:7px;padding:.3rem .58rem;font-size:.64rem;font-weight:800}.free-read{color:#178150;background:#dcf8e8;border-radius:999px;align-items:center;gap:.35rem;padding:.28rem .55rem;font-size:.63rem;font-weight:750;display:inline-flex}.lesson-heading h1{color:#091d44;letter-spacing:-.055em;margin-bottom:.5rem;font-size:clamp(2rem,3vw,3rem)}.lesson-heading>p{color:#65758c;margin-bottom:.9rem;font-size:.86rem}.lesson-meta{flex-wrap:wrap;gap:.5rem;display:flex}.lesson-meta span{color:#60718a;background:#f8fbff;border:1px solid #dce8f6;border-radius:999px;align-items:center;gap:.35rem;min-height:31px;padding:.3rem .65rem;font-size:.66rem;font-weight:650;display:inline-flex}.lesson-section{padding:1.3rem .4rem 0}.lesson-section__title{align-items:center;gap:.65rem;margin-bottom:.65rem;display:flex}.lesson-section__title>span{width:31px;height:31px;color:var(--exercise-blue);background:#eaf5ff;border-radius:8px;place-items:center;display:grid}.lesson-section h2,.content-panel-heading h2{color:#102750;letter-spacing:-.03em;margin:0;font-size:1rem}.lesson-section p,.lesson-section li{color:#52627a;font-size:.82rem;line-height:1.75}.lesson-section p{margin-bottom:.45rem}.lesson-section ul{margin:0;padding-left:3.05rem}.lesson-section code,.local-guide code{color:#1e5ea9;background:#eff5fc;border-radius:5px;padding:.12rem .35rem;font-size:.78rem}.io-overview{border-block:1px solid #e3ebf5;grid-template-columns:repeat(3,1fr);margin-top:1.25rem;padding:1rem 0;display:grid}.io-overview>div{border-right:1px solid #e3ebf5;min-width:0;padding:0 1.15rem}.io-overview>div:last-child{border-right:0}.io-overview>div>span{color:var(--exercise-blue);display:inline-flex}.io-overview h3{color:#17305a;margin-left:.45rem;font-size:.85rem;display:inline}.io-overview p{color:#66758a;margin:.45rem 0 0;font-size:.72rem}.io-overview code{color:#314766;background:#edf3fb;border-radius:6px;margin-top:.35rem;padding:.28rem .45rem;font-size:.68rem;display:inline-block}.example-panel,.starter-panel,.local-guide{background:#f9fbfe;border:1px solid #dce7f4;border-radius:13px;margin-top:1rem;padding:1rem}.content-panel-heading{align-items:center;gap:.55rem;min-height:31px;margin-bottom:.7rem;display:flex}.content-panel-heading>span{width:30px;height:30px;color:var(--exercise-blue);background:#e7f3ff;border-radius:8px;place-items:center;display:grid}.content-panel-heading button{color:#1678df;cursor:pointer;background:#fff;border:1px solid #a9d1fc;border-radius:8px;align-items:center;gap:.35rem;min-height:34px;margin-left:auto;padding:.35rem .65rem;font-size:.66rem;font-weight:700;display:inline-flex}.content-panel-heading button:hover{background:#eaf5ff}.example-grid{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}.example-grid>div{background:#fff;border:1px solid #dbe5f2;border-radius:10px;padding:.7rem}.example-grid span{color:#324763;font-size:.69rem;font-weight:750}.example-grid pre{color:#42526a;background:#f0f4f9;border-radius:7px;margin:.45rem 0 0;padding:.55rem .65rem;font-size:.72rem;overflow-x:auto}.example-explanation{color:#617086;margin:.75rem 0 0;font-size:.72rem}.code-window{color:#26384f;background:#fff;border:1px solid #dbe5f2;border-radius:9px;margin:0;padding:1rem 1.15rem;font-size:.78rem;line-height:1.85;overflow-x:auto}.code-comment{color:#329564}.code-function{color:#7848d9}.code-string{color:#cf4b59}.local-guide{background:linear-gradient(145deg,#f7fbff,#edf7ff)}.local-guide ol{gap:.48rem;margin:0;padding:0;list-style:none;display:grid}.local-guide li{grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:.55rem;display:grid}.local-guide li>span{background:var(--exercise-blue);color:#fff;border-radius:50%;place-items:center;width:22px;height:22px;font-size:.58rem;font-weight:800;display:grid}.local-guide li p{color:#586a82;margin:0;font-size:.7rem}.learning-sidebar{gap:.9rem;display:grid;position:sticky;top:94px}.progress-card,.unlock-card,.mentor-preview,.report-link{border:1px solid var(--exercise-border);background:#fff;border-radius:15px;box-shadow:0 8px 25px #1b48840d}.progress-card{background:linear-gradient(145deg,#fff,#f0f7ff);grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:1rem;display:grid}.progress-card__icon{width:38px;height:38px;color:var(--exercise-blue);background:#e4f2ff;border-radius:10px;place-items:center;display:grid}.progress-card h2{color:#112b56;margin:0;font-size:.9rem}.progress-card p{color:#718097;margin:.2rem 0 0;font-size:.64rem}.progress-ring{border:7px solid #dbe4ef;border-top-color:var(--exercise-blue);color:#17315f;border-radius:50%;place-items:center;width:52px;height:52px;font-size:.65rem;display:grid}.unlock-card{background:linear-gradient(150deg,#fffefb,#fff8ed);border-color:#f2d7a9;padding:1.05rem}.unlock-card__heading,.mentor-preview__heading{align-items:flex-start;gap:.7rem;margin-bottom:.8rem;display:flex}.unlock-card__heading>span{color:#e18a16;background:#fff0cf;border-radius:12px;flex:none;place-items:center;width:42px;height:42px;display:grid}.unlock-card h2,.mentor-preview h2{color:#132d59;margin:0;font-size:1rem}.unlock-card__heading p,.mentor-preview__heading p{color:#758399;margin:.15rem 0 0;font-size:.64rem}.unlock-feature{background:#ffffffc7;border:1px solid #ebdfca;border-radius:10px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.65rem;min-height:62px;margin-top:.55rem;padding:.65rem;display:grid}.unlock-feature>span{color:#e59a25;background:#fff5df;border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.unlock-feature>div{flex-direction:column;display:flex}.unlock-feature strong{color:#263c5e;font-size:.72rem}.unlock-feature small{color:#7e8999;font-size:.59rem}.unlock-feature>svg{color:#8090a5}.unlock-button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#1688f8,#1265df);border:0;border-radius:10px;justify-content:center;align-items:center;gap:.4rem;min-height:46px;margin-top:.8rem;font-size:.71rem;font-weight:750;transition:all .18s;display:flex;box-shadow:0 9px 22px #166fe938}.unlock-button:disabled{cursor:wait;opacity:.72;transform:none}.unlock-note{color:#7a8799;margin:.6rem 0 0;font-size:.68rem;line-height:1.55}.unlock-gate-message{background:#fffaf1;border:1px solid #f0d3a4;border-radius:9px;margin-top:.8rem;padding:.7rem .8rem}.unlock-gate-message strong{color:#8a4b19;margin-bottom:.3rem;font-size:.74rem;display:block}.unlock-gate-message p{color:#8a6a45;margin:0;font-size:.7rem;line-height:1.55}.unlock-auth-message{flex-wrap:wrap;align-items:center;gap:.55rem;margin-top:.8rem;display:flex}.unlock-auth-message p{color:#8a4b19;width:100%;margin:0;font-size:.72rem;line-height:1.5}.unlock-auth-message a{color:#1265df;background:#fff;border:1px solid #b9d5fb;border-radius:8px;padding:.45rem .7rem;font-size:.72rem;font-weight:750}.learning-support-open{background:#fff;border:1px solid #cfe2f6;border-radius:14px;padding:1rem;box-shadow:0 12px 26px #17477e14}.support-hints{gap:.55rem;margin-top:.9rem;display:grid}.support-hints details,.support-solution{background:#f8fbff;border:1px solid #dce8f5;border-radius:10px;overflow:hidden}.support-hints summary,.support-solution summary{color:#153c74;cursor:pointer;padding:.75rem;font-size:.76rem;font-weight:800}.support-hints .support-rich-text{padding:0 .75rem .8rem}.support-rich-text{color:#4b607b;font-size:.72rem;line-height:1.65}.support-rich-text p{margin:0 0 .65rem}.support-rich-text p:last-child{margin-bottom:0}.support-rich-text h3{color:#153c74;margin:.1rem 0 .6rem;font-size:.8rem;line-height:1.45}.support-rich-text ul,.support-rich-text ol{gap:.25rem;margin:0 0 .65rem;padding-left:1.15rem;display:grid}.support-rich-text li::marker{color:#1678df}.support-rich-text .math-formula-block{margin:.55rem 0;padding:.55rem .7rem;font-size:.9rem}.support-solution{margin-top:.65rem}.support-solution>.support-rich-text{border-top:1px solid #dce8f5;padding:.8rem}.support-solution pre{color:#dceaff;white-space:pre-wrap;background:#081a35;border-top:1px solid #dce8f5;max-height:430px;margin:0;padding:.85rem;font:.7rem/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;overflow:auto}.teaching-panel{background:linear-gradient(150deg,#fff,#f4f9ff);border:1px solid #cfe2f6;border-radius:14px;margin-top:1.1rem;padding:1rem;box-shadow:0 12px 26px #17477e14}.teaching-panel__heading{align-items:flex-start;gap:.7rem;display:flex}.teaching-panel__heading>span{width:42px;height:42px;color:var(--exercise-blue);background:#e4f2ff;border-radius:12px;flex:none;place-items:center;display:grid}.teaching-panel__heading h2{color:#132d59;margin:0;font-size:1rem}.teaching-panel__heading p{color:#758399;margin:.15rem 0 0;font-size:.68rem;line-height:1.55}.teaching-panel__alert{color:#8a4b19;background:#fffaf1;border:1px solid #f0d3a4;border-radius:9px;align-items:center;gap:.5rem;padding:.7rem .8rem;font-size:.72rem;display:flex}.teaching-panel__meta{flex-wrap:wrap;gap:.45rem;margin-top:.85rem;display:flex}.teaching-panel__meta span{color:#5b7291;background:#fff;border:1px solid #dce8f5;border-radius:999px;padding:.32rem .55rem;font-size:.64rem}.teaching-panel__meta strong{color:#17315f}.teaching-panel__section{margin-top:1.1rem}.teaching-panel__section>h3{color:#112b56;align-items:center;gap:.4rem;margin:0 0 .55rem;font-size:.84rem;display:flex}.teaching-tests-group{margin-top:.5rem}.teaching-tests-group h4{color:#40597c;letter-spacing:.04em;text-transform:uppercase;margin:0 0 .4rem;font-size:.66rem}.teaching-test-case{background:#fff;border:1px solid #dce8f5;border-radius:10px;margin-top:.4rem;overflow:hidden}.teaching-test-case summary{color:#153c74;cursor:pointer;align-items:center;gap:.5rem;padding:.6rem .75rem;font-size:.72rem;display:flex}.teaching-test-case summary span{color:#7b8b9e;font-size:.64rem}.teaching-test-case__body{padding:0 .75rem .75rem}.teaching-test-case__body>p{color:#5f7590;margin:0 0 .5rem;font-size:.68rem}.teaching-test-case__grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:.55rem;display:grid}.teaching-test-case__grid b{color:#7b8b9e;letter-spacing:.04em;text-transform:uppercase;margin-bottom:.25rem;font-size:.58rem;display:block}.teaching-test-case__grid pre,.teaching-panel__code{color:#dceaff;overflow-wrap:anywhere;white-space:pre-wrap;background:#081a35;border-radius:9px;max-height:320px;margin:0;padding:.7rem;font:.68rem/1.6 ui-monospace,SFMono-Regular,Consolas,monospace;overflow:auto}.public-statement{color:#253c5b;max-width:100%;font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;background:#f8fbff;border:1px solid #dbe7f4;border-radius:12px;padding:1.2rem;font-size:.92rem;line-height:1.78;overflow-x:auto}.problem-detail-tags{margin-bottom:1rem}.problem-empty{color:#657892;text-align:center;align-content:center;place-items:center;gap:.45rem;min-height:260px;display:grid}.problem-empty strong{color:#15335f;font-size:1rem}.problem-empty span{font-size:.82rem}.unlock-button:hover{transform:translateY(-2px);box-shadow:0 13px 28px #166fe94d}.unlock-login{text-align:center;color:#7a8799;margin:.55rem 0 0;font-size:.63rem}.unlock-login a{color:#1478df;font-weight:750}.mentor-preview{background:linear-gradient(145deg,#fff,#f5f2ff);border-color:#dcd6fa;padding:1rem}.mentor-preview__heading>span{color:#7052dd;background:#ebe5ff;border-radius:11px;flex:none;place-items:center;width:40px;height:40px;display:grid}.mentor-quota{color:#1a74d5;background:#e7f3ff;border-radius:999px;margin-left:auto;padding:.25rem .48rem;font-size:.56rem;font-weight:800}.mentor-preview>p{color:#67758b;margin:0;font-size:.68rem;line-height:1.55}.mentor-lock{color:#67758b;align-items:center;gap:.35rem;margin-top:.6rem;font-size:.61rem;display:flex}.report-link{color:#1478df;align-items:center;gap:.55rem;min-height:52px;padding:0 1rem;font-size:.72rem;font-weight:750;display:flex}.report-link span{margin-left:auto;font-size:1rem}.report-link:hover{background:#f5faff;border-color:#a7d0fc}.mobile-mentor-sheet,.mobile-action-bar{display:none}.mentor-chat{z-index:111;background:#fff;border-radius:22px 22px 0 0;max-height:84vh;padding:.55rem 1rem 1rem;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -20px 60px #071d433b}.mobile-mentor-sheet__backdrop{z-index:110;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0a1d3b80;position:fixed;inset:0}.mentor-chat__handle{background:#ccd7e5;border-radius:99px;width:42px;height:4px;margin:0 auto .75rem}.mentor-chat header{align-items:center;gap:.65rem;display:flex}.mentor-chat header>span{color:#7052dd;background:#eee9ff;border-radius:11px;place-items:center;width:40px;height:40px;display:grid}.mentor-chat header>div{flex:1}.mentor-chat h2{color:#13294f;margin:0;font-size:.92rem}.mentor-chat header p{color:#718097;margin:.15rem 0 0;font-size:.62rem}.mentor-usage{background:#edf6ff;border-radius:12px;align-items:center;gap:.7rem;margin-top:.85rem;padding:.7rem;display:flex}.usage-ring{color:#174784;border:6px solid #1688f8;border-color:#1688f8 #1688f8 #bedbfa #bedbfa;border-radius:50%;place-items:center;width:50px;height:50px;font-size:.68rem;display:grid}.mentor-usage>div:last-child{flex-direction:column;display:flex}.mentor-usage strong{color:#19345f;font-size:.75rem}.mentor-usage span{color:#718199;font-size:.6rem}.chat-thread{gap:.65rem;margin-top:.85rem;display:grid}.chat-thread p{margin:0;font-size:.68rem;line-height:1.55}.chat-user{color:#234566;background:#e4f2ff;border-radius:13px 13px 3px;justify-self:end;max-width:78%;padding:.65rem .75rem}.chat-ai{color:#384766;background:#f2efff;border-radius:3px 13px 13px;gap:.5rem;max-width:88%;padding:.7rem;display:flex}.chat-ai>span{color:#7152dd}.chat-prompts{scrollbar-width:none;gap:.45rem;margin-top:.85rem;display:flex;overflow-x:auto}.chat-prompts button{color:#1976d8;background:#fff;border:1px solid #79b9fa;border-radius:999px;flex:none;min-height:36px;padding:.4rem .7rem;font-size:.62rem;font-weight:700}.chat-compose{border:1px solid #cfdae8;border-radius:12px;align-items:flex-end;gap:.4rem;margin-top:.7rem;padding:.3rem;display:flex}.chat-compose:focus-within{border-color:var(--exercise-blue);box-shadow:0 0 0 4px #1688f81a}.chat-compose textarea{resize:none;color:#263a58;border:0;outline:0;flex:1;min-width:0;min-height:48px;padding:.55rem;font-size:.68rem}.chat-compose button{background:var(--exercise-blue);color:#fff;border:0;border-radius:10px;place-items:center;width:42px;height:42px;display:grid}.chat-privacy{color:#79879a;align-items:center;gap:.3rem;margin:.45rem 0 0;font-size:.56rem;display:flex}.exercise-site button:focus-visible,.exercise-site a:focus-visible,.exercise-site summary:focus-visible,.exercise-site input:focus-visible,.exercise-site textarea:focus-visible{outline-offset:3px;outline:3px solid #1688f84d}.library-page .problem-search input{font-size:1rem}.library-page .filter-chip{min-height:42px;padding-inline:1rem;font-size:.86rem}.library-page .problem-list-heading{padding-top:1.55rem}.library-page .problem-list-heading strong{font-size:1.15rem}.library-page .problem-list-heading span{font-size:.86rem}.library-page .sort-button{min-height:42px;font-size:.84rem}.library-page .problem-row{gap:1.1rem;padding:1.25rem}.library-page .problem-row__title-line>span{font-size:.68rem}.library-page .problem-row h2{font-size:1.1rem}.library-page .problem-row p{margin-top:.35rem;margin-bottom:.6rem;font-size:.98rem;line-height:1.6}.library-page .problem-tags span{padding:.27rem .55rem;font-size:.7rem}.library-page .problem-row__meta{gap:.6rem}.library-page .problem-row__meta>span:last-child{font-size:.78rem}.library-page .difficulty{font-size:.72rem}.library-page .problem-row__action{min-height:46px;font-size:.84rem}.library-page .sidebar-card{padding:1.25rem}.library-page .sidebar-card h2{font-size:1.05rem}.library-page .sidebar-card p{font-size:.95rem;line-height:1.65}.library-page .route-card{min-height:72px;padding:.8rem}.library-page .route-card strong{font-size:1rem}.library-page .route-card small{font-size:.92rem}.library-page .sidebar-wide-link,.library-page .sidebar-outline-link,.library-page .sidebar-account-link{min-height:46px;font-size:.82rem}@media (prefers-reduced-motion:reduce){.exercise-site *,.exercise-site :before,.exercise-site :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (max-width:1180px){.exercise-site{padding-top:72px}.library-container{width:min(100% - 36px,1080px)}.library-hero__grid{grid-template-columns:minmax(0,1fr) 380px;gap:1rem}.library-layout{grid-template-columns:minmax(0,1fr) 310px}.detail-layout{grid-template-columns:minmax(0,1fr) 340px}.problem-row{grid-template-columns:auto minmax(0,1fr) 92px}.problem-row__action{grid-column:2/-1;justify-self:end;width:112px}}@media (max-width:920px){.library-hero__grid{grid-template-columns:1fr;min-height:auto}.library-hero__copy{padding-bottom:1rem}.library-hero__visual{min-height:300px}.library-layout,.detail-layout{grid-template-columns:minmax(0,1fr)}.library-sidebar,.learning-sidebar{position:static}.library-sidebar{grid-template-columns:1fr 1fr}.sidebar-card--routes{grid-row:span 2}.learning-sidebar{grid-template-columns:1fr 1fr}.unlock-card{grid-row:span 3}}@media (max-width:640px){.exercise-site{padding-top:72px}.library-container{width:min(100% - 24px,560px)}.library-hero__grid{display:block}.library-hero__copy{padding:2.4rem 0 1.8rem}.section-kicker{font-size:.65rem}.library-hero h1{font-size:clamp(2.25rem,12vw,3.35rem)}.library-hero h1 em{white-space:nowrap;display:block}.library-hero h1 br{display:none}.library-hero__lead{flex-direction:column;gap:.18rem;display:flex}.library-hero__lead span{display:none}.track-stats{gap:.45rem}.track-stat{text-align:center;flex-direction:column;gap:.35rem;padding:.65rem .45rem}.track-stat__icon{width:35px;height:35px}.track-stat>span:last-child{align-items:center}.track-stat strong{font-size:1.15rem}.library-hero__visual{display:none}.library-content{padding-top:1rem}.problem-toolbar{padding:.75rem}.problem-filter-row{scrollbar-width:none;flex-wrap:nowrap;overflow-x:auto}.filter-chip,.filter-divider{flex:none}.problem-list-heading>div{flex-direction:column;align-items:flex-start;gap:.12rem}.problem-row{grid-template-columns:auto minmax(0,1fr);gap:.7rem;padding:.85rem}.problem-row__leading{width:42px;height:42px}.problem-row__title-line{flex-direction:column;align-items:flex-start;gap:.25rem}.problem-row h2,.problem-row p{white-space:normal;overflow:visible}.problem-row__meta{flex-direction:row;grid-column:2;align-items:center}.problem-row__action{grid-column:1/-1;justify-self:stretch;width:100%}.library-sidebar{grid-template-columns:1fr}.sidebar-card--routes{grid-row:auto}.detail-page{padding-top:.6rem;padding-bottom:6.5rem}.detail-breadcrumb{white-space:nowrap;overflow:hidden}.lesson-card{border-radius:14px;padding:.85rem}.lesson-heading{padding:.25rem .15rem 1rem}.lesson-heading h1{font-size:2rem}.lesson-heading>p{font-size:.78rem}.lesson-section{padding-inline:.15rem}.lesson-section ul{padding-left:2rem}.io-overview{grid-template-columns:1fr}.io-overview>div{border-bottom:1px solid #e3ebf5;border-right:0;padding:.8rem .35rem}.io-overview>div:last-child{border-bottom:0}.example-grid{grid-template-columns:1fr}.local-guide li{grid-template-columns:24px minmax(0,1fr);align-items:start}.local-guide li>code{grid-column:2;justify-self:start}.learning-sidebar{grid-template-columns:1fr}.progress-card,.mentor-preview{display:none}.mobile-action-bar{z-index:90;padding:.65rem .8rem max(.65rem, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff2;border-top:1px solid #d6e1ef;grid-template-columns:1.3fr .7fr;gap:.55rem;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 30px #14335f1a}.mobile-action-bar button,.mobile-action-bar a{border-radius:11px;justify-content:center;align-items:center;gap:.4rem;min-height:46px;font-size:.7rem;font-weight:750;display:flex}.mobile-action-bar button{color:#fff;background:linear-gradient(135deg,#1688f8,#1265df);border:0}.mobile-action-bar a{color:#1478df;border:1px solid #a9d1fc}.mobile-mentor-sheet{display:block}.mobile-mentor-sheet>summary{right:.8rem;bottom:max(.65rem, env(safe-area-inset-bottom));z-index:91;color:#fff;cursor:pointer;background:linear-gradient(135deg,#1688f8,#1265df);border-radius:11px;justify-content:center;align-items:center;gap:.4rem;width:calc(65% - 1.3975rem);min-height:46px;font-size:.7rem;font-weight:750;list-style:none;display:flex;position:fixed;left:.8rem;box-shadow:0 8px 20px #166fe940}.mobile-mentor-sheet>summary::-webkit-details-marker{display:none}.mobile-mentor-sheet:not([open]) .mobile-mentor-sheet__backdrop,.mobile-mentor-sheet:not([open]) .mentor-chat{display:none}}@media (min-width:641px){.mobile-mentor-sheet[open] .mobile-mentor-sheet__backdrop,.mobile-mentor-sheet[open] .mentor-chat{display:none}}.exercise-feedback-card{background:linear-gradient(160deg,#fbfdff,#eef5ff);border:1px solid #dbe7f7;border-radius:16px;margin-top:2rem;padding:1.35rem 1.4rem;box-shadow:0 10px 26px #1747890f}.exercise-feedback-card__head{align-items:center;gap:.9rem;display:flex}.exercise-feedback-card__icon{color:#2563eb;background:#fff;border:1px solid #d7e5f8;border-radius:12px;flex:none;place-items:center;width:44px;height:44px;display:grid;box-shadow:0 6px 14px #2563eb1a}.exercise-feedback-card__copy h4{color:#12294d;margin:0;font-size:1rem}.exercise-feedback-card__copy p{color:#5c718c;margin:.28rem 0 0;font-size:.84rem;line-height:1.6}.exercise-feedback-card__toggle{color:#fff;font:inherit;cursor:pointer;background:linear-gradient(135deg,#2563eb,#1b4fd8);border:1px solid #2563eb;border-radius:10px;flex:none;margin-left:auto;padding:.5rem 1rem;font-size:.82rem;font-weight:700;transition:transform .16s,box-shadow .16s;box-shadow:0 8px 18px #2563eb38}.exercise-feedback-card__toggle:hover{transform:translateY(-1px);box-shadow:0 10px 22px #2563eb47}.exercise-feedback-card__toggle--ghost{box-shadow:none;color:#1b4fd8;background:#fff;border-color:#cfe0f5;margin:.35rem auto 0}.exercise-feedback-card__toggle--ghost:hover{box-shadow:none;background:#f2f8ff;transform:none}.exercise-feedback-form{gap:.85rem;margin-top:1.1rem;display:grid}.exercise-feedback-fieldset{border:0;margin:0;padding:0}.exercise-feedback-fieldset legend{color:#3c5679;margin-bottom:.5rem;padding:0;font-size:.82rem;font-weight:700}.exercise-feedback-types{flex-wrap:wrap;gap:.45rem;display:flex}.exercise-feedback-type{color:#4a6183;font:inherit;cursor:pointer;background:#fff;border:1px solid #d3e2f5;border-radius:999px;padding:.42rem .8rem;font-size:.8rem;font-weight:600;transition:border-color .16s,background .16s,color .16s}.exercise-feedback-type:hover{color:#1b4fd8;border-color:#a9c9f2}.exercise-feedback-type.is-active{color:#1552b8;background:#e7f0ff;border-color:#2563eb;box-shadow:0 4px 12px #2563eb24}.exercise-feedback-form textarea{resize:vertical;color:#1f3350;width:100%;min-height:108px;font:inherit;background:#fff;border:1px solid #d3e2f5;border-radius:12px;padding:.85rem 1rem;font-size:.88rem;line-height:1.65}.exercise-feedback-form textarea::placeholder{color:#90a4bf}.exercise-feedback-form textarea:focus-visible{outline-offset:1px;outline:2px solid #7db1ff}.exercise-feedback-attach{color:#4f6683;cursor:pointer;align-items:center;gap:.5rem;font-size:.8rem;display:flex}.exercise-feedback-attach input{accent-color:#2563eb;cursor:pointer}.exercise-feedback-error{color:#b02a2a;background:#fff5f5;border:1px solid #f7c9c9;border-radius:10px;align-items:center;gap:.5rem;margin:0;padding:.6rem .8rem;font-size:.82rem;display:flex}.exercise-feedback-actions{justify-content:flex-end;align-items:center;gap:.8rem;display:flex}.exercise-feedback-count{color:#8ba0bb;font-size:.72rem}.exercise-feedback-submit{color:#fff;font:inherit;cursor:pointer;background:linear-gradient(135deg,#2563eb,#1b4fd8);border:0;border-radius:10px;align-items:center;gap:.45rem;padding:.6rem 1.15rem;font-size:.85rem;font-weight:700;transition:transform .16s,box-shadow .16s;display:inline-flex;box-shadow:0 8px 18px #2563eb42}.exercise-feedback-submit:hover:not(:disabled){transform:translateY(-1px)}.exercise-feedback-submit:disabled{box-shadow:none;color:#7f92ab;cursor:not-allowed;background:#cfdcec}.exercise-feedback-signin{background:#fff;border:1px solid #d7e5f8;border-radius:14px;flex-wrap:wrap;align-items:center;gap:.9rem;margin-top:1.1rem;padding:1rem 1.1rem;display:flex}.exercise-feedback-signin__icon{color:#2563eb;background:#eef5ff;border-radius:12px;flex:none;place-items:center;width:40px;height:40px;display:grid}.exercise-feedback-signin__copy{flex:260px}.exercise-feedback-signin__copy strong{color:#14325c;font-size:.92rem;display:block}.exercise-feedback-signin__copy p{color:#5c718c;margin:.25rem 0 0;font-size:.82rem;line-height:1.6}.exercise-feedback-signin__actions{flex:none;gap:.5rem;display:flex}.exercise-feedback-signin__primary,.exercise-feedback-signin__ghost{border-radius:10px;align-items:center;min-height:40px;padding:0 1rem;font-size:.82rem;font-weight:700;display:inline-flex}.exercise-feedback-signin__primary{color:#fff;background:linear-gradient(135deg,#2563eb,#1b4fd8);box-shadow:0 8px 18px #2563eb38}.exercise-feedback-signin__ghost{color:#1b4fd8;background:#fff;border:1px solid #cfe0f5}.exercise-feedback-thanks{text-align:center;background:linear-gradient(160deg,#f2fdf6,#e6f8ee);border:1px solid #b9ebcd;border-radius:14px;place-items:center;gap:.45rem;margin-top:1.1rem;padding:1.35rem 1.2rem;display:grid}.exercise-feedback-thanks__icon{color:#16a34a;background:#fff;border-radius:50%;place-items:center;width:52px;height:52px;display:grid;box-shadow:0 8px 18px #16a34a29}.exercise-feedback-thanks strong{color:#14532d;font-size:1.02rem}.exercise-feedback-thanks p{color:#3f6b52;max-width:460px;margin:0;font-size:.84rem;line-height:1.6}.exercise-feedback-thanks p.exercise-feedback-thanks__meta{color:#2f7a52;align-items:center;gap:.35rem;font-weight:650;display:inline-flex}@media (max-width:640px){.exercise-feedback-card__head{flex-wrap:wrap}.exercise-feedback-card__toggle{text-align:center;justify-content:center;width:100%;margin-left:0}.exercise-feedback-actions{flex-direction:column-reverse;align-items:stretch}.exercise-feedback-submit{justify-content:center}}
