.hp-problem.section{padding-bottom:var(--s-9);padding-top:var(--s-9)}.hp-problem .problem-scroll-track{height:500vh;margin:0 0 var(--s-6);position:relative}.hp-problem .problem-sticky{align-items:flex-start;display:flex;height:calc(100vh - 72px);overflow:hidden;padding-top:var(--s-5);position:sticky;top:72px}.hp-problem .section-head{margin-bottom:var(--s-4)}.hp-problem .problem-sticky>.buldok-container{position:relative;width:100%}.hp-problem .problem-pin-flag{align-items:center;background:var(--bone);border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--ink-3);display:inline-flex;font-family:var(--font-mono);font-size:10px;gap:6px;letter-spacing:.08em;max-width:calc(100% - var(--s-5)*2);opacity:0;padding:5px 10px;pointer-events:none;position:absolute;right:var(--s-5);text-transform:uppercase;top:0;transform:translateY(-4px);transition:opacity var(--dur-normal) var(--ease-smooth),transform var(--dur-normal) var(--ease-smooth);white-space:nowrap;z-index:3}.hp-problem .problem-pin-flag:before{background:var(--emerald);border-radius:50%;box-shadow:0 0 0 3px var(--emerald-tint);content:"";height:6px;width:6px}.hp-problem .problem-pin-flag.is-visible{opacity:1;transform:translateY(0)}.hp-problem .problem-pin-flag .scroll-hint{align-items:center;border-left:1px solid var(--line);color:var(--ink-3);display:inline-flex;gap:4px;margin-left:2px;padding-left:8px}.hp-problem .problem-pin-flag .scroll-hint svg{animation:hp-scroll-arrow 1.6s ease-in-out infinite;fill:none;height:11px;stroke:var(--ink-3);stroke-linecap:round;stroke-width:1.5;width:11px}@keyframes hp-scroll-arrow{0%,to{opacity:.6;transform:translateY(-1px)}50%{opacity:1;transform:translateY(2px)}}@media (max-width:767px),(prefers-reduced-motion:reduce){.hp-problem .problem-scroll-track{height:auto;margin:var(--s-5) 0}.hp-problem .problem-sticky{display:block;height:auto;overflow:visible;padding-top:0;position:static}.hp-problem .problem-pin-flag{display:none}}.hp-problem .problem-recog{color:var(--ink-3);font-family:var(--font-display);font-size:16px;font-style:italic;margin:0 0 var(--s-3)}.hp-problem .problem-h{max-width:28ch}.hp-problem .problem-prompt{align-items:center;color:var(--ink-3);display:flex;font-family:var(--font-mono);font-size:11px;gap:var(--s-3);letter-spacing:.08em;margin:0 0 var(--s-4);text-transform:uppercase}.hp-problem .problem-prompt:before{background:var(--ink-3);content:"";height:1px;width:22px}.hp-problem .problem-prompt strong{color:var(--ink);font-weight:var(--fw-semibold)}.hp-problem .problem-stepper{margin:0 0 var(--s-6);padding:var(--s-5) 0 var(--s-2);position:relative}.hp-problem .problem-stepper:before{background:var(--line);right:8.33%;z-index:0}.hp-problem .problem-stepper:after,.hp-problem .problem-stepper:before{border-radius:1px;content:"";height:2px;left:8.33%;position:absolute;top:calc(var(--s-5) + 22px)}.hp-problem .problem-stepper:after{background:linear-gradient(90deg,var(--emerald-deep),var(--emerald));max-width:83.34%;transition:width var(--dur-slow) var(--ease-out);width:var(--progress-w,0);z-index:1}.hp-problem .problem-steps{display:grid;gap:var(--s-2);grid-template-columns:repeat(6,1fr);position:relative;z-index:2}.hp-problem .problem-step{align-items:center;background:transparent;border:none;color:inherit;cursor:pointer;display:flex;flex-direction:column;font-family:inherit;gap:var(--s-3);padding:0;text-align:center;-webkit-tap-highlight-color:transparent}.hp-problem .problem-step-dot{align-items:center;background:var(--bone);border:2px solid var(--line);border-radius:50%;color:var(--ink-3);display:flex;flex-shrink:0;font-family:var(--font-mono);font-size:12px;font-weight:var(--fw-semibold);height:44px;justify-content:center;letter-spacing:.04em;transition:all var(--dur-normal) var(--ease-out);width:44px}.hp-problem .problem-step-mini{color:var(--ink-3);font-family:var(--font-display);font-size:13px;font-weight:var(--fw-medium);letter-spacing:-.1px;line-height:1.3;margin:0;max-width:16ch;text-wrap:balance;transition:color var(--dur-fast) var(--ease-smooth)}.hp-problem .problem-step:not(.is-active):hover .problem-step-dot{background:var(--bg-tinted);border-color:var(--ink);color:var(--ink)}.hp-problem .problem-step:not(.is-active):hover .problem-step-mini{color:var(--ink)}.hp-problem .problem-step.is-visited .problem-step-dot{background:var(--bone);border-color:var(--emerald-deep);color:var(--emerald-deep)}.hp-problem .problem-step.is-active .problem-step-dot{background:var(--ink);border-color:var(--ink);box-shadow:0 0 0 4px var(--bg),0 0 0 6px var(--emerald-deep),0 8px 24px -8px rgba(11,15,20,.25);color:var(--bone);font-size:14px;height:56px;transform:translateY(-6px);width:56px}.hp-problem .problem-step.is-active .problem-step-mini{color:var(--ink);font-weight:var(--fw-semibold)}.hp-problem .problem-detail{background:var(--bone);border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:0 12px 32px -16px rgba(11,15,20,.08);margin-bottom:var(--s-6);overflow:hidden;padding:var(--s-7);position:relative}.hp-problem .problem-detail:before{background:var(--emerald-deep);bottom:0;content:"";left:0;position:absolute;top:0;width:4px}.hp-problem .problem-detail-panel{align-items:start;display:none;gap:var(--s-7);grid-template-columns:1.1fr 1.4fr}.hp-problem .problem-detail-panel.is-active{animation:hp-detailFade var(--dur-slow) var(--ease-out);display:grid}@keyframes hp-detailFade{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.hp-problem .problem-detail-l{display:flex;flex-direction:column;gap:var(--s-2)}.hp-problem .problem-detail-stage{color:var(--emerald-deep);font-family:var(--font-mono);font-size:11px;font-weight:var(--fw-semibold);letter-spacing:.1em;text-transform:uppercase}.hp-problem .problem-detail-num{background:linear-gradient(180deg,var(--ink) 35%,var(--ink-3) 130%);-webkit-background-clip:text;background-clip:text;font-family:var(--font-display);font-size:88px;font-weight:var(--fw-bold);letter-spacing:-3px;line-height:.95;margin:4px 0 0;-webkit-text-fill-color:transparent}.hp-problem .problem-detail-headline{color:var(--ink);font-family:var(--font-display);font-size:22px;font-weight:var(--fw-semibold);letter-spacing:-.3px;line-height:1.3;margin:0 0 var(--s-3);max-width:36ch;text-wrap:balance}.hp-problem .problem-detail-desc{color:var(--ink-2);font-size:16px;line-height:1.6;margin:0;max-width:60ch;text-wrap:pretty}.hp-problem .problem-detail-nav{align-items:center;border-top:1px solid var(--line-soft);display:flex;flex-wrap:wrap;gap:var(--s-3);justify-content:space-between;margin-top:var(--s-5);padding-top:var(--s-4)}.hp-problem .problem-nav-btn{align-items:center;background:transparent;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--ink-2);cursor:pointer;display:inline-flex;font-family:var(--font-display);font-size:13px;font-weight:var(--fw-semibold);gap:8px;padding:8px 14px;transition:all var(--dur-fast) var(--ease-smooth)}.hp-problem .problem-nav-btn:hover:not(:disabled){background:var(--bg-tinted);border-color:var(--ink);color:var(--ink)}.hp-problem .problem-nav-btn:disabled{cursor:not-allowed;opacity:.4}.hp-problem .problem-nav-counter{color:var(--ink-3);font-family:var(--font-mono);font-size:12px;letter-spacing:.06em}.hp-problem .problem-nav-counter strong{color:var(--ink);font-weight:var(--fw-semibold)}@media (max-width:980px){.hp-problem .problem-step-mini{font-size:12px;max-width:14ch}.hp-problem .problem-detail-panel{gap:var(--s-4);grid-template-columns:1fr}.hp-problem .problem-detail{padding:var(--s-6)}}@media (max-width:767px){.hp-problem .problem-stepper{margin:0 calc(var(--container-pad)*-1) var(--s-5);overflow-x:auto;overflow-y:hidden;padding:var(--s-5) var(--container-pad) var(--s-3);-webkit-overflow-scrolling:touch;scrollbar-width:none}.hp-problem .problem-stepper::-webkit-scrollbar{display:none}.hp-problem .problem-steps{grid-template-columns:repeat(6,140px)}.hp-problem .problem-detail-num{font-size:56px}}