.dsa{--fc:var(--ink);flex-direction:column;gap:30px;padding:10px clamp(16px,4vw,64px) 90px;display:flex}.f-arrays{--fc:#2563eb;--fc-soft:#dce6fb}.f-stacks{--fc:#c26a05;--fc-soft:#f7e6cc}.f-queues{--fc:#04805a;--fc-soft:#d3efe3}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .f-arrays{--fc:#7aa5ff;--fc-soft:#1c2740}:root:not([data-theme=light]) .f-stacks{--fc:#f5a94a;--fc-soft:#3a2a14}:root:not([data-theme=light]) .f-queues{--fc:#4fd3a2;--fc-soft:#14342a}}:root[data-theme=dark] .f-arrays{--fc:#7aa5ff;--fc-soft:#1c2740}:root[data-theme=dark] .f-stacks{--fc:#f5a94a;--fc-soft:#3a2a14}:root[data-theme=dark] .f-queues{--fc:#4fd3a2;--fc-soft:#14342a}.dsa-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px 40px;display:flex}.dsa-head>div:first-child{max-width:62ch}.dsa-kicker{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);align-items:center;gap:8px;font-size:.7rem;font-weight:700;display:inline-flex}.dsa-kicker:before{content:"";background:var(--stamp);width:22px;height:2px}.dsa-head h1{letter-spacing:-.05em;text-wrap:balance;margin:12px 0 10px;font-size:clamp(2.3rem,6vw,4rem);font-weight:800;line-height:.98}.dsa-head h1 em{color:var(--stamp);font-style:normal}.dsa-head p{color:var(--muted);margin:0;font-size:1.06rem;line-height:1.55}.pay{flex-direction:column;gap:8px;display:flex}.pay>span{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:.68rem;font-weight:700}.pay>div,.pay.small{background:var(--paper);box-shadow:inset 0 0 0 1.5px var(--line);border-radius:14px;gap:2px;padding:4px;display:inline-flex}.pay button{--lc:var(--ink);height:40px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:7px;padding:0 16px;font-size:.92rem;font-weight:800;transition:background .15s,color .15s;display:inline-flex}.pay button:before{content:"";background:var(--lc);opacity:.45;border-radius:3px;width:8px;height:8px;transition:opacity .15s}.pay button:hover{color:var(--ink)}.pay button[aria-pressed=true]{background:var(--ink);color:var(--bg)}.pay button[aria-pressed=true]:before{opacity:1;box-shadow:0 0 0 3px color-mix(in srgb,var(--lc) 35%,transparent)}.pay-python{--lc:#3776ab!important}.pay-cpp{--lc:#00599c!important}.pay-java{--lc:#e76f00!important}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .pay-python{--lc:#6fa8dc!important}:root:not([data-theme=light]) .pay-cpp{--lc:#5da9e9!important}}:root[data-theme=dark] .pay-python{--lc:#6fa8dc!important}:root[data-theme=dark] .pay-cpp{--lc:#5da9e9!important}.pay.small{flex-direction:row}.pay.small button{border-radius:9px;height:32px;padding:0 11px;font-size:.8rem}.finder{flex-direction:column;gap:10px;max-width:760px;display:flex}.finder-box{background:var(--paper);height:56px;box-shadow:inset 0 0 0 1.5px var(--line),0 10px 24px -18px #00000080;border-radius:16px;align-items:center;gap:12px;padding:0 10px 0 16px;transition:box-shadow .15s;display:flex}.finder-box:focus-within{box-shadow:inset 0 0 0 2px var(--ink),0 10px 24px -18px #00000080}.finder-box>span{background:var(--stamp);color:#fff;border-radius:9px;flex:none;place-items:center;width:30px;height:30px;font-weight:800;display:grid}.finder-box input{min-width:0;height:100%;color:var(--ink);font:inherit;background:0 0;border:0;outline:0;flex:1;font-size:16px;font-weight:600}.finder-box input::placeholder{color:var(--muted);font-weight:500}.finder-box button{width:34px;height:34px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;flex:none;font-size:1.4rem}.finder-box button:hover{background:var(--paper2);color:var(--ink)}.finder-hits{color:var(--ink);flex-wrap:wrap;align-items:center;gap:8px;font-size:.9rem;font-weight:700;display:flex}.finder-hits.muted{color:var(--muted);font-weight:600}.hit,.sugg{cursor:pointer;font:inherit;border:0;border-radius:999px;transition:transform .15s}.hit{background:var(--fc);color:#fff;padding:7px 14px;font-size:.86rem;font-weight:800}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .hit{color:#0e0d0a}}:root[data-theme=dark] .hit{color:#0e0d0a}.sugg{background:var(--paper);color:var(--ink);box-shadow:inset 0 0 0 1px var(--line);padding:6px 12px;font-size:.82rem;font-weight:600}.hit:hover,.sugg:hover{transform:translateY(-2px)}.fam{flex-direction:column;gap:18px;display:flex}.fam-head{border-bottom:1.5px solid var(--line);flex-wrap:wrap;align-items:baseline;gap:6px 16px;padding-bottom:14px;display:flex}.fam-head h2{letter-spacing:-.035em;margin:0;font-size:clamp(1.5rem,3vw,1.9rem);font-weight:800}.fam-head h2:before{content:"";background:var(--fc);vertical-align:.12em;border-radius:4px;width:12px;height:12px;margin-right:12px;display:inline-block}.fam-head p{color:var(--muted);flex:260px;margin:0;font-size:1rem;line-height:1.5}.fam-count{font-family:var(--mono);color:var(--muted);font-size:.78rem;font-weight:700}.fam-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:18px;display:grid}.tk{text-align:left;cursor:pointer;color:var(--ink);font:inherit;background:var(--paper);box-shadow:inset 0 3px 0 var(--fc),inset 0 0 0 1px var(--line);border:0;border-radius:16px;flex-direction:column;gap:10px;padding:24px 24px 0;transition:box-shadow .15s,transform .15s,opacity .2s;display:flex;position:relative}.tk:hover{box-shadow:inset 0 3px 0 var(--fc),inset 0 0 0 1.5px color-mix(in srgb,var(--ink) 45%,transparent),0 14px 28px -20px #00000080;transform:translateY(-2px)}.tk:focus-visible{outline:2.5px solid var(--fc);outline-offset:3px}.tk-top{justify-content:space-between;align-items:baseline;display:flex}.tk-top b{font-family:var(--mono);color:var(--fc);font-size:.9rem;font-weight:800}.tk-top small{font-family:var(--mono);color:var(--muted);font-size:.78rem}.tk-paid{color:var(--green);font-size:.8rem;font-weight:800}.tk-name{letter-spacing:-.025em;font-size:1.35rem;font-weight:800;line-height:1.2}.tk-idea{color:var(--muted);flex:1;font-size:1rem;line-height:1.55}.tk-stub{border-top:2px dashed var(--line);align-items:flex-end;gap:28px;margin:8px -24px 0;padding:16px 24px 20px;display:flex;position:relative}.tk-stub:before,.tk-stub:after{content:"";background:var(--bg);width:16px;height:16px;box-shadow:inset 0 0 0 1px var(--line);border-radius:50%;position:absolute;top:-9px}.tk-stub:before{left:-8px}.tk-stub:after{right:-8px}.tk-stub>span{flex-direction:column;gap:3px;display:flex}.tk-stub small{font-family:var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-size:.7rem;font-weight:700}.tk-stub b{font-family:var(--mono);font-size:1.02rem;font-weight:800}.tk-go{color:var(--fc);opacity:0;margin-left:auto;font-size:.88rem;font-weight:800;transition:opacity .15s}.tk:hover .tk-go,.tk:focus-visible .tk-go{opacity:1}.tk.dim{opacity:.35}.tk.lit{box-shadow:inset 0 3px 0 var(--fc),inset 0 0 0 2px var(--fc)}.pull{z-index:1100;background:color-mix(in srgb,var(--bg) 70%,transparent);-webkit-backdrop-filter:blur(10px);flex-direction:column;align-items:center;padding:max(28px,4vh) 16px 30px;animation:.2s ease-out pull-in;display:flex;position:fixed;inset:0;overflow-y:auto}@keyframes pull-in{0%{opacity:0}}.pull-card{perspective:1800px;width:min(980px,100%);animation:.2s ease-out pull-in;display:grid;position:relative}.face{backface-visibility:hidden;min-width:0;transform-style:preserve-3d;background:var(--paper);box-shadow:0 30px 60px -28px #0000008c,0 0 0 1px var(--line);border-radius:18px;grid-area:1/1;padding:26px clamp(18px,3vw,32px) 22px;transition:transform .6s cubic-bezier(.4,.1,.2,1)}.back{transform:rotateY(180deg)}.flipped .front{transform:rotateY(-180deg)}.flipped .back{transform:rotateY(0)}.face[aria-hidden=true]{pointer-events:none}.front{border-top:7px solid var(--fc)}.pf-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.pf-no{font-family:var(--mono);letter-spacing:.12em;color:var(--fc);font-size:.72rem;font-weight:800}.pf-tools{align-items:center;gap:8px;margin-left:auto;display:flex}.pf-x{background:var(--paper2);width:38px;height:38px;color:var(--ink);cursor:pointer;border:0;border-radius:11px;flex:none;font-size:1.5rem;line-height:1}.pf-x:hover{background:var(--ink);color:var(--bg)}.pf-name{letter-spacing:-.04em;margin:14px 0 6px;font-size:clamp(1.7rem,4vw,2.4rem);font-weight:800;line-height:1.05}.pf-idea{max-width:68ch;color:var(--muted);margin:0 0 18px;font-size:1.02rem;line-height:1.55}.pf-tabs-wrap{--fade:0px;--fade-r:0px}.pf-tabs-wrap.more-l{--fade:64px}.pf-tabs-wrap.more-r{--fade-r:64px}.pf-tabs{scrollbar-width:none;-webkit-mask:linear-gradient(90deg,transparent,#000 var(--fade),#000 calc(100% - var(--fade-r)),transparent);-webkit-mask:linear-gradient(90deg,transparent,#000 var(--fade),#000 calc(100% - var(--fade-r)),transparent);mask:linear-gradient(90deg,transparent,#000 var(--fade),#000 calc(100% - var(--fade-r)),transparent);gap:6px;padding-bottom:4px;display:flex;overflow-x:auto}.pf-tabs::-webkit-scrollbar{display:none}.pf-tabs button{background:var(--paper2);height:42px;color:var(--muted);font:inherit;cursor:pointer;border:0;border-radius:11px;flex:none;align-items:center;gap:7px;padding:0 16px;font-size:.95rem;font-weight:700;transition:background .15s,color .15s;display:inline-flex}.pf-tabs button small{font-family:var(--mono);opacity:.8;font-size:.7rem;font-weight:800}.pf-tabs button:hover{color:var(--ink)}.pf-tabs button[aria-selected=true]{background:var(--fc);color:#fff}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .pf-tabs button[aria-selected=true]{color:#0e0d0a}}:root[data-theme=dark] .pf-tabs button[aria-selected=true]{color:#0e0d0a}.pf-meta{flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0 0;display:flex}.pf-note{border-left:4px solid var(--fc);background:var(--fc-soft);color:var(--ink);border-radius:12px;flex:100%;margin:0 0 4px;padding:12px 16px;font-size:1rem;line-height:1.5}.cost-pill{background:var(--paper2);font-family:var(--mono);color:var(--muted);letter-spacing:.04em;border-radius:999px;align-items:baseline;gap:7px;padding:6px 12px;font-size:.74rem;font-weight:700;display:inline-flex}.cost-pill b{color:var(--ink);letter-spacing:0;font-weight:800}.pf-code{margin-top:4px}.pf-code .code{max-width:100%;margin:12px 0 0}.pf-code .code pre{white-space:pre;overflow-wrap:normal;word-break:normal;font-size:.93rem;line-height:1.7}.pf-foot{border-top:1.5px dashed var(--line);justify-content:center;align-items:center;gap:12px;margin-top:20px;padding-top:16px;display:flex}.pf-nav{background:var(--paper2);width:44px;height:44px;color:var(--ink);cursor:pointer;border:0;border-radius:13px;font-size:1.4rem}.pf-nav:hover{background:var(--ink);color:var(--bg)}.flip{white-space:nowrap;background:var(--ink);height:46px;color:var(--bg);font:inherit;cursor:pointer;box-shadow:0 3px 0 0 color-mix(in srgb,var(--ink) 35%,transparent);border:0;border-radius:13px;justify-content:center;align-items:center;gap:10px;padding:0 22px;font-size:.95rem;font-weight:800;transition:transform .15s;display:inline-flex}.flip:hover{transform:translateY(-2px)}.flip span{font-size:1.15rem}.pull-keys{font-family:var(--mono);color:var(--muted);margin:14px 0 0;font-size:.72rem}.pull-keys kbd{background:var(--paper);min-width:20px;box-shadow:inset 0 0 0 1px var(--line);font:inherit;text-align:center;color:var(--ink);border-radius:6px;margin:0 2px;padding:2px 6px;font-weight:800;display:inline-block}.back{--z:10px;font-family:var(--mono);padding-bottom:calc(26px + var(--z));-webkit-mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/calc(var(--z)*2) var(--z) repeat-x,linear-gradient(#000 0 0) top/100% calc(100% - var(--z)) no-repeat;-webkit-mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/calc(var(--z)*2) var(--z) repeat-x,linear-gradient(#000 0 0) top/100% calc(100% - var(--z)) no-repeat;mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/calc(var(--z)*2) var(--z) repeat-x,linear-gradient(#000 0 0) top/100% calc(100% - var(--z)) no-repeat;border-radius:4px}.bill-head{text-align:center;border-bottom:2px dashed var(--line);padding:4px 44px 16px;position:relative}.bill-head strong{font-family:var(--display);letter-spacing:.02em;font-size:1.5rem;font-weight:800;display:block}.bill-head small{color:var(--fc);letter-spacing:.1em;margin-top:5px;font-size:.76rem;font-weight:800;display:block}.bill-head .pf-x{font-family:var(--display);position:absolute;top:0;right:0}.bill-lines{border-bottom:2px dashed var(--line);flex-direction:column;gap:10px;padding:14px 0;display:flex}.bill-lines div{align-items:baseline;gap:10px;font-size:.95rem;display:flex}.bill-lines span{color:var(--muted);letter-spacing:.12em;font-weight:700}.bill-lines i,.bill-classics i{border-bottom:2px dotted color-mix(in srgb,var(--ink) 25%,transparent);flex:1;min-width:16px;transform:translateY(-4px)}.bill-lines b{text-align:right;max-width:70%;font-weight:800}.back h3{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin:18px 0 8px;font-size:.72rem;font-weight:800}.bill-list{font-family:var(--display);flex-direction:column;gap:7px;margin:0;padding:0;list-style:none;display:flex}.bill-list li{padding-left:26px;font-size:.98rem;line-height:1.5;position:relative}.bill-list li:before{font-family:var(--mono);font-weight:800;position:absolute;top:.05em;left:0}.bill-list.spot li:before{content:"→";color:var(--fc)}.bill-list.traps li:before{content:"!";background:var(--stamp);color:#fff;border-radius:50%;place-items:center;width:18px;height:18px;font-size:.7rem;display:grid;top:.2em}.bill-classics{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.bill-classics li{align-items:baseline;gap:10px;font-size:.88rem;display:flex}.bill-classics a,.bill-classics span{color:var(--ink);-webkit-text-decoration-color:color-mix(in srgb,var(--fc) 60%,transparent);text-decoration-color:color-mix(in srgb,var(--fc) 60%,transparent);text-underline-offset:3px;font-weight:700;font-family:var(--display)}.bill-classics a:hover{color:var(--fc)}.bill-classics small{color:var(--muted);white-space:nowrap;font-size:.76rem}.bill-total{border-top:2.5px solid var(--ink);letter-spacing:.08em;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:10px;margin-top:18px;padding-top:12px;font-size:.82rem;display:flex}.bill-total span{color:var(--muted);font-weight:700}.bill-total b{font-weight:800}.bill-actions{flex-wrap:wrap;justify-content:center;gap:10px;margin-top:22px;display:flex}.stamp-btn{border:2px dashed var(--green);height:46px;color:var(--green);font:inherit;letter-spacing:.06em;cursor:pointer;background:0 0;border-radius:13px;padding:0 18px;font-size:.86rem;font-weight:800}.stamp-btn.on{background:color-mix(in srgb,var(--green) 12%,transparent);border-style:solid}.bill-stamp{border:3.5px solid var(--green);outline:1.5px solid var(--green);outline-offset:-10px;width:104px;height:104px;color:var(--green);opacity:.8;pointer-events:none;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;animation:.35s cubic-bezier(.3,1.6,.5,1) stamp-in;display:flex;position:absolute;top:110px;right:clamp(14px,5vw,48px);transform:rotate(-16deg)}.bill-stamp i{letter-spacing:.2em;font-size:.6rem;font-style:normal}.bill-stamp b{letter-spacing:.14em;font-size:1.45rem;font-weight:800}@keyframes stamp-in{0%{opacity:0;transform:rotate(-16deg)scale(1.8)}}@media (max-width:640px){.dsa{gap:26px}.pay,.pay>div{width:100%}.pay>div button{flex:1;justify-content:center;padding:0 8px}.tk{padding:20px 20px 0}.tk-stub{margin:6px -20px 0;padding:14px 20px 18px}.tk-go{opacity:1}.pull{padding:12px 8px 24px}.face{border-radius:14px;padding:20px 16px 18px}.back{border-radius:4px}.pf-tools{justify-content:space-between;width:100%}.pf-head .pf-no{width:100%}.pf-code .code pre{font-size:.8rem}.pull-keys{display:none}.pf-foot .flip{flex:1;padding:0 12px}.bill-stamp{width:84px;height:84px;top:70px}.bill-stamp b{font-size:1.15rem}.bill-classics li{flex-wrap:wrap}.bill-classics i{display:none}}@media (prefers-reduced-motion:reduce){.tk,.face,.pull,.pull-card{transition:none;animation:none}}
