:root{--space-1: .4rem;--space-2: .8rem;--space-3: 1.2rem;--space-4: 1.6rem;--space-5: 2.4rem;--space-6: 3.2rem;--space-8: 4.8rem;--space-10: 6.4rem;--space-12: 9.6rem;--text-xs: 1.2rem;--text-sm: 1.35rem;--text-base: 1.6rem;--text-lg: clamp(1.8rem, 1.6rem + .5vw, 2rem);--text-xl: clamp(2rem, 1.7rem + .9vw, 2.5rem);--text-2xl: clamp(2.4rem, 2rem + 1.4vw, 3.2rem);--text-3xl: clamp(3rem, 2.4rem + 2vw, 4rem);--shadow-1: 0 1px 3px rgba(0, 0, 0, .12);--shadow-2: 0 4px 14px rgba(0, 0, 0, .16);--shadow-3: 0 12px 34px rgba(0, 0, 0, .22)}:root{--duration-fast: .15s;--duration-base: .3s;--duration-slow: .6s;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1)}.mb-8{margin-bottom:8rem!important}.load-hidden{visibility:hidden}.sr .sr__child{transition-property:opacity,transform,filter,clip-path;transition-timing-function:cubic-bezier(.16,1,.3,1)}.sr--fade-up{opacity:0;transform:translateY(30px);transition:opacity .5s ease-out,transform .5s ease-out}.sr--fade-up.sr-visible{opacity:1;transform:translateY(0)}.sr--fade-up .sr__child{opacity:0;transform:translateY(30px);transition-duration:.5s}.sr--fade-up.sr-visible .sr__child{opacity:1;transform:translateY(0)}.sr--clip{clip-path:inset(100% 0 0 0);transition:clip-path .6s cubic-bezier(.16,1,.3,1)}.sr--clip.sr-visible{clip-path:inset(0 0 0 0)}.sr--clip .sr__child{clip-path:inset(100% 0 0 0);transition-duration:.6s}.sr--clip.sr-visible .sr__child{clip-path:inset(0 0 0 0)}.sr--blur{opacity:0;filter:blur(12px);transition:opacity .5s ease-out,filter .5s ease-out}.sr--blur.sr-visible{opacity:1;filter:blur(0)}.sr--blur .sr__child{opacity:0;filter:blur(12px);transition-duration:.5s}.sr--blur.sr-visible .sr__child{opacity:1;filter:blur(0)}.sr--scale{opacity:0;transform:scale(.92);transition:opacity .45s ease-out,transform .45s cubic-bezier(.34,1.56,.64,1)}.sr--scale.sr-visible{opacity:1;transform:scale(1)}.sr--scale .sr__child{opacity:0;transform:scale(.92);transition-duration:.45s;transition-timing-function:ease-out,cubic-bezier(.34,1.56,.64,1)}.sr--scale.sr-visible .sr__child{opacity:1;transform:scale(1)}.sr--slide-right{opacity:0;transform:translate(-40px);transition:opacity .5s ease-out,transform .5s ease-out}.sr--slide-right.sr-visible{opacity:1;transform:translate(0)}.sr--slide-right .sr__child{opacity:0;transform:translate(-40px);transition-duration:.5s}.sr--slide-right.sr-visible .sr__child{opacity:1;transform:translate(0)}@media(prefers-reduced-motion:reduce){.sr--fade-up,.sr--clip,.sr--blur,.sr--scale,.sr--slide-right,.sr--slide-left,.sr .sr__child{opacity:1!important;transform:none!important;filter:none!important;clip-path:none!important;transition:none!important}}.sr--slide-left{opacity:0;transform:translate(40px);transition:opacity .5s ease-out,transform .5s ease-out}.sr--slide-left.sr-visible{opacity:1;transform:translate(0)}.sr--slide-left .sr__child{opacity:0;transform:translate(40px);transition-duration:.5s}.sr--slide-left.sr-visible .sr__child{opacity:1;transform:translate(0)}.challenge-badge{display:inline-block;padding:.2rem .7rem;border-radius:999px;font-size:1.05rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:#0000000f;color:var(--text-secondary, #777)}.challenge-badge--easy{background:#22c55e26;color:#16a34a}.challenge-badge--medium{background:#f59e0b26;color:#d97706}.challenge-badge--hard{background:#ef444426;color:#dc2626}.challenge-badge--category{background:#02aab01f;color:#02aab0}.challenge-badge--tag{background:#0000000a;color:var(--text-secondary, #777);text-transform:none;letter-spacing:0;font-weight:500}.challenge-badge--solved{background:#22c55e2e;color:#16a34a}.challenges-hero{display:grid;grid-template-columns:240px 1fr;gap:2rem;margin-bottom:3rem}@media(max-width:56.25em){.challenges-hero{grid-template-columns:1fr}}.challenges-hero__stats{display:flex;flex-direction:column;gap:1.2rem}@media(max-width:56.25em){.challenges-hero__stats{flex-direction:row}}.challenges-streak{display:flex;align-items:center;gap:.8rem;padding:1.6rem 1.8rem;background:var(--card-bg, rgba(255, 255, 255, .6));border:1px solid var(--card-border, rgba(0, 0, 0, .08));border-radius:14px;flex:1}.challenges-streak__icon{font-size:2.4rem;filter:grayscale(1);opacity:.4}.challenges-streak--active .challenges-streak__icon{filter:none;opacity:1}.challenges-streak__value{font-size:2.8rem;font-weight:800;line-height:1;color:var(--text-primary)}.challenges-streak__label{font-size:1.1rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary, #777)}.challenges-progress{display:flex;flex-direction:column;padding:1.6rem 1.8rem;background:var(--card-bg, rgba(255, 255, 255, .6));border:1px solid var(--card-border, rgba(0, 0, 0, .08));border-radius:14px;flex:1}.challenges-progress__value{font-size:2.4rem;font-weight:800;line-height:1.1;color:var(--text-primary)}.challenges-progress__label{font-size:1.1rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary, #777)}.challenges-daily{display:flex;flex-direction:column;gap:.8rem;padding:2.4rem;background:linear-gradient(135deg,#02aab014,#00cdac0f);border:1px solid rgba(2,170,176,.25);border-radius:16px;text-decoration:none;color:inherit;transition:transform .2s ease,box-shadow .2s ease}.challenges-daily:hover{transform:translateY(-2px);box-shadow:0 12px 32px #02aab026}.challenges-daily__kicker{font-size:1.1rem;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:#02aab0}.challenges-daily__title{font-size:2.4rem;font-weight:800;margin:0;color:var(--text-primary)}.challenges-daily__desc{font-size:1.4rem;color:var(--text-secondary, #666);line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.challenges-daily__meta{display:flex;gap:.5rem;flex-wrap:wrap}.challenges-daily__cta{margin-top:.4rem;font-weight:700;color:#02aab0;font-size:1.4rem}.challenges-filters{margin-bottom:2.5rem}.challenges-filters__row{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1rem}.challenges-filters__label{font-size:1.1rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-secondary, #777);min-width:80px}.challenges-groups{display:flex;flex-direction:column;gap:3rem}.challenges-groups__header{display:flex;align-items:baseline;gap:1rem;margin-bottom:1.4rem}.challenges-groups__header h3{font-size:1.8rem;font-weight:700;margin:0}.challenges-groups__count{font-size:1.1rem;font-weight:600;color:var(--text-secondary, #888);padding:.1rem .8rem;border-radius:999px;background:#0000000f}.challenges-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.4rem}.challenges-card{display:flex;flex-direction:column;gap:.7rem;padding:1.8rem;background:var(--card-bg, rgba(255, 255, 255, .6));border:1px solid var(--card-border, rgba(0, 0, 0, .08));border-radius:12px;text-decoration:none;color:inherit;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}.challenges-card:hover{transform:translateY(-2px);border-color:#02aab0;box-shadow:0 8px 22px #02aab01a}.challenges-card__top{display:flex;justify-content:space-between;align-items:center}.challenges-card__check{width:22px;height:22px;display:inline-flex;align-items:center;justify-content:center;background:#22c55e;color:#fff;border-radius:50%;font-size:1.2rem;font-weight:700}.challenges-card__title{font-size:1.6rem;font-weight:700;margin:0;color:var(--text-primary)}.challenges-card__desc{font-size:1.25rem;color:var(--text-secondary, #777);margin:0;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.challenges-card__tags{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:auto}.challenges-card__tag{font-size:1rem;font-weight:500;color:var(--text-secondary, #888);background:#0000000a;padding:.15rem .55rem;border-radius:4px}.challenge-runner{position:relative}.challenge-runner__meta{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.challenge-runner__meta-group{display:flex;flex-wrap:wrap;gap:.4rem}.challenge-runner__timer{font-family:SFMono-Regular,Consolas,monospace;font-size:1.35rem;font-weight:700;color:var(--text-secondary, #777)}.challenge-runner__description{padding:1.6rem 1.8rem;background:var(--card-bg, rgba(255, 255, 255, .5));border:1px solid var(--card-border, rgba(0, 0, 0, .08));border-radius:12px;margin-bottom:2rem}.challenge-runner__description h2{font-size:1.2rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#02aab0;margin:0 0 .8rem}.challenge-runner__description p{font-size:1.4rem;line-height:1.6;margin:0;color:var(--text-primary)}.challenge-runner__split{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}@media(max-width:56.25em){.challenge-runner__split{grid-template-columns:1fr}}.challenge-runner__pane{display:flex;flex-direction:column;min-height:420px;background:var(--card-bg, rgba(255, 255, 255, .5));border:1px solid var(--card-border, rgba(0, 0, 0, .08));border-radius:12px;overflow:hidden}.challenge-runner__pane-header{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.8rem 1rem;background:#0000000a;border-bottom:1px solid var(--card-border, rgba(0, 0, 0, .08));flex-wrap:wrap}.challenge-runner__pane-title{font-size:1.1rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-secondary, #666)}.challenge-runner__score{margin-left:.6rem;font-family:SFMono-Regular,monospace;color:var(--text-primary);background:#0000000f;padding:.1rem .5rem;border-radius:4px;font-size:1.1rem}.challenge-runner__actions{display:flex;gap:.5rem;flex-wrap:wrap}.challenge-runner__hint{padding:1rem 1.2rem;background:#f59e0b1a;border-top:1px solid rgba(245,158,11,.25);font-size:1.25rem;color:var(--text-primary);line-height:1.5}.challenge-editor{flex:1;width:100%;padding:1rem 1.2rem;border:none;background:#1e1e2e;color:#cdd6f4;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:1.3rem;line-height:1.55;resize:none;outline:none;tab-size:2}.challenge-editor:focus{box-shadow:inset 0 0 0 2px #02aab066}.challenge-results{flex:1;padding:1rem;overflow-y:auto;font-family:SFMono-Regular,Consolas,monospace;font-size:1.2rem}.challenge-results__empty{padding:2rem 1rem;color:var(--text-secondary, #888);text-align:center;font-family:inherit;font-size:1.35rem}.challenge-results__error{padding:1rem;background:#ef44441a;color:#dc2626;border-left:3px solid #ef4444;border-radius:4px;font-family:SFMono-Regular,monospace;font-size:1.25rem;margin-bottom:.8rem;white-space:pre-wrap;word-break:break-word}.challenge-results__success{margin-top:1rem;padding:1.2rem;background:#22c55e1f;border:1px solid rgba(34,197,94,.35);border-radius:8px}.challenge-results__success-title{font-family:inherit;font-size:1.5rem;font-weight:700;color:#16a34a;margin-bottom:.8rem}.challenge-results__success-actions{display:flex;gap:.5rem;flex-wrap:wrap}.challenge-results__explanation{margin-top:.8rem;padding:.8rem;background:#ffffff80;border-radius:6px;font-family:inherit;font-size:1.3rem;line-height:1.55;color:var(--text-primary)}.challenge-test{margin-bottom:.6rem;border-radius:6px;overflow:hidden;border:1px solid transparent}.challenge-test--pass{background:#a6e3a12e;border-color:#22c55e59}.challenge-test--fail{background:#f38ba826;border-color:#ef444459}.challenge-test__header{display:flex;align-items:center;gap:.5rem;padding:.5rem .8rem;font-weight:700}.challenge-test__status{font-size:1.4rem}.challenge-test--pass .challenge-test__status{color:#16a34a}.challenge-test--fail .challenge-test__status{color:#dc2626}.challenge-test__label{color:var(--text-primary)}.challenge-test__hidden{color:var(--text-secondary, #888);font-weight:500;font-size:1.05rem}.challenge-test__body{padding:0 .8rem .7rem;display:flex;flex-direction:column;gap:.3rem}.challenge-test__row{display:flex;gap:.6rem;font-size:1.15rem;line-height:1.5}.challenge-test__k{font-weight:700;color:var(--text-secondary, #666);min-width:70px}.challenge-test__v{color:var(--text-primary);word-break:break-all;white-space:pre-wrap}.challenge-test__v--err{color:#dc2626}.challenge-confetti{position:fixed;inset:0;pointer-events:none;overflow:hidden;z-index:9999}.challenge-confetti__piece{position:absolute;top:-5%;font-size:2.4rem;animation:confettiFall linear forwards;will-change:transform,opacity}@keyframes confettiFall{0%{transform:translateY(-20vh) rotate(0);opacity:1}to{transform:translateY(110vh) rotate(var(--rot, 360deg));opacity:0}}
