.skills{max-width:1180px;margin:0 auto;padding:clamp(1.2rem,4vw,2.4rem) clamp(1rem,4vw,2rem) 4rem}.skills__head{margin-bottom:2rem}.skills__head h1{font-size:clamp(1.9rem,4vw,2.6rem);margin:0 0 .5rem}.skills__lede{color:var(--fg-dim);max-width:68ch;line-height:1.6;margin:0}.skills__perks{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem;margin:1.1rem 0 0;padding:0}.skills__perks li{display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;font-weight:600;color:var(--fg-dim);padding:.28rem .65rem;border-radius:999px;border:1px solid var(--border);background:var(--panel-strong)}.skills-section{margin-top:2.4rem}.skills-section:first-of-type{margin-top:1.4rem}.skills-section__title{display:flex;align-items:baseline;gap:.6rem;font-size:1.2rem;margin:0 0 1rem}.skills-section__count{color:var(--muted);font-size:.85rem;font-weight:500}.skills__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));grid-gap:1.2rem;gap:1.2rem}.skills-card{position:relative;display:flex;flex-direction:column;gap:.6rem;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem 1.15rem 1.2rem;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.skills-card:hover{transform:translateY(-3px);border-color:var(--border-strong);box-shadow:var(--shadow);text-decoration:none}.skills-card__link{color:inherit;text-decoration:none}.skills-card__link:after{content:"";position:absolute;inset:0;z-index:1}.skills-card__link:focus-visible{outline:none}.skills-card__link:focus-visible:after{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius)}.skills-card__badges{display:flex;flex-wrap:wrap;gap:.4rem}.skills-card__title{font-family:Sora,sans-serif;font-size:1.1rem;font-weight:700;color:var(--fg);letter-spacing:-.01em;margin:0;line-height:1.3}.skills-card__tagline{color:var(--fg-dim);font-size:.9rem;line-height:1.5;margin:0;flex:1 1}.skills-card__foot{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-top:.5rem;padding-top:.75rem;border-top:1px solid var(--border)}.skills-price{font-family:Sora,sans-serif;font-weight:800;font-size:1.15rem;color:var(--fg);letter-spacing:-.01em}.skills-price--free{color:#22c55e}.skills-search{position:relative;max-width:440px;margin-top:1.1rem}.skills-search__icon{position:absolute;left:.8rem;top:.72rem;width:1.05rem;height:1.05rem;color:var(--muted);pointer-events:none}.skills-search__input{width:100%;padding:.62rem 2.4rem .62rem 2.5rem;border-radius:999px;border:1px solid var(--border-strong);background:var(--panel-strong);color:var(--fg);font:inherit;font-size:.95rem}.skills-search__input:focus{outline:none;border-color:var(--accent)}.skills-search__input::-webkit-search-cancel-button{display:none}.skills-search__clear{position:absolute;right:.55rem;top:.32rem;width:1.7rem;height:1.7rem;border:none;border-radius:50%;background:var(--chip);color:var(--fg-dim);font-size:1.05rem;line-height:1;cursor:pointer}.skills-search__clear:hover{color:var(--fg);background:var(--panel)}.skills-search__empty{margin:.7rem 0 0;color:var(--muted);font-size:.9rem}.skills-card--folder{padding-top:.9rem}.skills-folder{--folder-accent:var(--accent);position:relative;height:190px;margin:.2rem .2rem .4rem;pointer-events:none}.skills-card[data-cat=tools] .skills-folder{--folder-accent:#f59e0b}.skills-card[data-cat=dev] .skills-folder{--folder-accent:#8b5cf6}.skills-card[data-cat=free] .skills-folder{--folder-accent:#22c55e}.skills-folder__back,.skills-folder__front{position:absolute;left:0;right:0;bottom:0;border:1px solid color-mix(in srgb,var(--folder-accent) 32%,var(--border));background:color-mix(in srgb,var(--folder-accent) 10%,var(--panel-strong))}.skills-folder__back{height:62%;border-radius:10px 12px 12px 12px}.skills-folder__back:before{content:"";position:absolute;top:-14px;left:0;width:34%;height:16px;border:1px solid color-mix(in srgb,var(--folder-accent) 32%,var(--border));border-bottom:none;border-radius:8px 10px 0 0;background:inherit}.skills-folder__front{height:46%;border-radius:8px 10px 12px 12px;background:linear-gradient(180deg,color-mix(in srgb,var(--folder-accent) 16%,var(--panel-strong)),color-mix(in srgb,var(--folder-accent) 8%,var(--panel-strong)));z-index:2;box-shadow:0 -6px 14px rgb(0 0 0/.08)}.skills-folder__photo{position:absolute;left:50%;bottom:12%;z-index:1;width:118px;aspect-ratio:7/9;object-fit:cover;transform:translateX(-50%) rotate(-2.5deg);border:4px solid #fff;border-radius:6px;background:#fff;box-shadow:0 4px 14px rgb(0 0 0/.18);transition:transform .22s ease}.skills-card--folder:hover .skills-folder__photo{transform:translateX(-50%) translateY(-14px) rotate(-4deg)}@media (prefers-reduced-motion:reduce){.skills-card--folder:hover .skills-folder__photo,.skills-folder__photo{transition:none;transform:translateX(-50%) rotate(-2.5deg)}}.skills-badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.72rem;font-weight:600;letter-spacing:.01em;padding:.18rem .55rem;border-radius:999px;border:1px solid var(--chip-border);background:var(--chip);color:var(--fg-dim);white-space:nowrap}.skills-badge--available{border-color:color-mix(in srgb,var(--accent) 45%,transparent);background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}.skills-badge--soon{border-color:var(--border-strong);background:var(--panel-strong);color:var(--muted)}.skills-badge--free{border-color:rgba(34,197,94,.4);background:rgba(34,197,94,.12);color:#22c55e}.skills-badge--owned{border-color:color-mix(in srgb,var(--accent) 55%,transparent);background:color-mix(in srgb,var(--accent) 18%,transparent);color:var(--accent)}.skills-badge--cat{text-transform:capitalize;color:var(--fg-dim)}.skills-tagline-th{color:var(--muted);font-size:.95rem;line-height:1.5;margin:.2rem 0 .6rem}.skills-version{color:var(--muted);font-size:.85rem;margin:.4rem 0 0}.skills-price-block{display:flex;flex-direction:column;gap:.2rem}.skills-price-block__your{color:var(--accent);font-weight:700;font-size:.92rem}.skills-inside{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}.skills-inside li{display:flex;align-items:flex-start;gap:.6rem;color:var(--fg-dim);line-height:1.5}.skills-inside li:before{content:"";flex:0 0 auto;width:.55rem;height:.55rem;margin-top:.42rem;border-radius:2px;background:var(--accent);transform:rotate(45deg);opacity:.85}.skills-notify{display:flex;flex-direction:column;gap:.6rem}.skills-notify__input{width:100%;padding:.65rem .85rem;border-radius:12px;border:1px solid var(--border-strong);background:var(--panel-strong);color:var(--fg);font:inherit;font-size:.95rem}.skills-notify__input:focus{outline:none;border-color:var(--accent)}.skills-owned{gap:.9rem}.skills-owned,.skills-owned__row{display:flex;flex-direction:column}.skills-owned__row{gap:.8rem;padding:1.1rem 1.15rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--panel-strong)}.skills-owned__head{display:flex;align-items:flex-start;justify-content:space-between;gap:.9rem;flex-wrap:wrap}.skills-owned__title{display:inline-block;font-family:Sora,sans-serif;font-weight:700;font-size:1.05rem;color:var(--fg);line-height:1.3}.skills-owned__title:hover{color:var(--accent);text-decoration:none}.skills-owned__meta{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .7rem;margin-top:.4rem;color:var(--muted);font-size:.84rem}.skills-owned__changelog{border-left:3px solid var(--border-strong);background:var(--panel);border-radius:0 10px 10px 0;padding:.7rem .9rem;color:var(--fg-dim);font-size:.86rem;line-height:1.5}.skills-owned__changelog strong{color:var(--fg);font-family:Sora,sans-serif;font-size:.82rem}.skills-owned__empty{border:1px dashed var(--border-strong);border-radius:var(--radius);padding:2.4rem 1.4rem;text-align:center;color:var(--muted);background:var(--panel);display:flex;flex-direction:column;align-items:center;gap:.4rem}.skills-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.9rem 1rem;margin-top:1.1rem}.skills-toolbar .skills-search{margin-top:0;flex:1 1 260px}.skills-toolbar .skills-view{flex:0 0 auto}.skills-view{display:inline-flex;align-items:stretch;gap:.2rem;padding:.25rem;border-radius:999px;border:1px solid var(--border-strong);background:var(--panel-strong)}.skills-view__seg{display:inline-flex;align-items:center;gap:.45rem;padding:.4rem .72rem;border:none;border-radius:999px;background:transparent;color:var(--fg-dim);font:inherit;font-size:.8rem;font-weight:600;cursor:pointer;transition:background .15s ease,color .15s ease}.skills-view__seg:hover{color:var(--fg)}.skills-view__seg.is-active{background:var(--accent);color:var(--accent-fg)}.skills-view__seg:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.skills-view__icon{display:inline-flex;width:1rem;height:1rem;flex:0 0 auto}.skills-view__icon svg{width:100%;height:100%}.skills-view__txt{display:inline-flex;flex-direction:column;line-height:1.05;text-align:left}.skills-view__th{font-size:.62rem;font-weight:500;opacity:.85}@media (max-width:520px){.skills-view__txt{display:none}.skills-view__seg{padding:.5rem}}.skills__sections{display:block}.skills-carousel-ctrls{display:none}.skills--view-carousel .skills-carousel-ctrls{display:inline-flex;gap:.4rem;margin-left:auto;align-self:center}.skills-carousel-arrow{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border-radius:50%;border:1px solid var(--border-strong);background:var(--panel-strong);color:var(--fg);cursor:pointer;transition:border-color .15s ease,color .15s ease,opacity .15s ease}.skills-carousel-arrow svg{width:1.05rem;height:1.05rem}.skills-carousel-arrow:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.skills-carousel-arrow:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.skills-carousel-arrow:disabled{opacity:.35;cursor:default}.skills--view-carousel .skills__grid{display:flex;flex-wrap:nowrap;gap:1.2rem;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-padding-left:.2rem;padding:.9rem .2rem 1.1rem;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}.skills--view-carousel .skills__grid::-webkit-scrollbar{height:8px}.skills--view-carousel .skills__grid::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:999px}.skills--view-carousel .skills__grid:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--radius)}.skills--view-carousel .skills-card{flex:0 0 auto;width:clamp(240px,74vw,300px);scroll-snap-align:start}.skills--view-carousel .skills-card--folder{padding:1.2rem 1.2rem 1.35rem}.skills--view-carousel .skills-folder{height:224px}.skills--view-carousel .skills-folder__photo{width:138px}.skills--view-list .skills__grid{display:flex;flex-direction:column;gap:.7rem}.skills--view-list .skills-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto auto auto;align-items:center;grid-column-gap:1rem;column-gap:1rem;grid-row-gap:.1rem;row-gap:.1rem;padding:.7rem 1.1rem}.skills--view-list .skills-card:hover{transform:none}.skills--view-list .skills-folder-wrap{grid-column:1;grid-row:1/-1;width:52px;height:auto;margin:0;align-self:center}.skills--view-list .skills-folder{height:auto;margin:0}.skills--view-list .skills-folder__back,.skills--view-list .skills-folder__front{display:none}.skills--view-list .skills-folder__photo{position:static;width:52px;height:66px;transform:none;border-width:2px;box-shadow:0 2px 8px rgb(0 0 0/.18)}.skills--view-list .skills-card--folder:hover .skills-folder__photo{transform:none}.skills--view-list .skills-card__badges{grid-column:2;grid-row:1}.skills--view-list .skills-card__title{grid-column:2;grid-row:2;font-size:1rem}.skills--view-list .skills-card__tagline{grid-column:2;grid-row:3;flex:none;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.skills--view-list .skills-card__foot{grid-column:3;grid-row:1/-1;margin:0;padding:0;border-top:none;justify-content:flex-end}.skills--view-list .skills-ql-btn{top:2px;right:2px;width:28px;height:28px;padding:0;gap:0;justify-content:center}.skills--view-list .skills-ql-btn__label{display:none}.skills-folder-wrap{position:relative}.skills-ql-btn{position:absolute;top:6px;right:6px;z-index:4;display:inline-flex;align-items:center;gap:.3rem;padding:.28rem .5rem;border-radius:999px;border:1px solid var(--border-strong);background:color-mix(in srgb,var(--bg) 68%,transparent);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:var(--fg);font:inherit;font-size:.72rem;font-weight:600;line-height:1;cursor:pointer;opacity:0;transform:translateY(-4px);transition:opacity .16s ease,transform .16s ease,border-color .16s ease,color .16s ease}.skills-ql-btn__icon{width:.9rem;height:.9rem;flex:0 0 auto}.skills-card--folder:hover .skills-ql-btn,.skills-ql-btn:focus-visible{opacity:1;transform:none}.skills-ql-btn:hover{border-color:var(--accent);color:var(--accent)}.skills-ql-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (hover:none){.skills-ql-btn{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.skills-ql-btn{transition:none}}.skills-ql-overlay{position:fixed;inset:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:clamp(1rem,4vw,2rem);background:rgb(0 0 0/.6);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);animation:skills-ql-fade .18s ease forwards}.skills-ql-modal{position:relative;display:flex;gap:clamp(1rem,3vw,1.8rem);width:min(760px,100%);max-height:90vh;overflow:auto;padding:clamp(1.1rem,3vw,1.8rem);border-radius:var(--radius);border:1px solid var(--border-strong);background:var(--bg-soft);box-shadow:var(--shadow);animation:skills-ql-rise .28s cubic-bezier(.2,.7,.2,1) forwards}.skills-ql-close{position:absolute;top:.6rem;right:.6rem;z-index:3;display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;padding:0;border-radius:50%;border:1px solid var(--border-strong);background:var(--panel-strong);color:var(--fg-dim);cursor:pointer;transition:color .15s ease,border-color .15s ease}.skills-ql-close svg{width:1.05rem;height:1.05rem}.skills-ql-close:hover{color:var(--fg);border-color:var(--accent)}.skills-ql-close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.skills-ql-cover{position:relative;flex:0 0 auto;width:min(288px,42vw);aspect-ratio:7/9;border-radius:12px;overflow:hidden;perspective:1300px;background:var(--panel-strong)}.skills-ql-cover-img{position:relative;z-index:1;display:block;width:100%;height:100%;object-fit:cover}.skills-ql-flap{position:absolute;inset:0;z-index:2;border-radius:inherit;transform-origin:top center;-webkit-backface-visibility:hidden;backface-visibility:hidden;background:linear-gradient(155deg,color-mix(in srgb,var(--accent) 22%,var(--panel-strong)),color-mix(in srgb,var(--accent) 8%,var(--panel-strong)));box-shadow:inset 0 0 0 1px var(--border-strong);animation:skills-ql-flap .62s cubic-bezier(.2,.7,.2,1) forwards}.skills-ql-flap:before{content:"";position:absolute;top:14px;left:16px;width:34%;height:12px;border-radius:6px 8px 0 0;background:color-mix(in srgb,var(--accent) 32%,var(--panel-strong))}.skills-ql-info{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:.55rem;padding-right:1.6rem}.skills-ql-badges{display:flex;flex-wrap:wrap;gap:.4rem}.skills-ql-title{font-family:Sora,sans-serif;font-size:clamp(1.25rem,3vw,1.6rem);font-weight:800;letter-spacing:-.01em;line-height:1.25;color:var(--fg);margin:.15rem 0 0}.skills-ql-title-th{color:var(--fg-dim);font-size:1rem;line-height:1.4;margin:0}.skills-ql-tagline{color:var(--fg-dim);font-size:.95rem;line-height:1.55;margin:.2rem 0 0}.skills-ql-tagline-th{color:var(--muted);font-size:.9rem;line-height:1.55;margin:0}.skills-ql-foot{display:flex;flex-wrap:wrap;align-items:center;gap:.7rem 1rem;margin-top:auto;padding-top:.9rem}.skills-ql-cta{margin-left:auto}@media (max-width:620px){.skills-ql-modal{flex-direction:column}.skills-ql-cover{width:min(220px,58vw);margin:0 auto}.skills-ql-info{padding-right:0}.skills-ql-cta{margin-left:0;width:100%}}@keyframes skills-ql-fade{0%{opacity:0}to{opacity:1}}@keyframes skills-ql-rise{0%{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}@keyframes skills-ql-flap{0%{transform:rotateX(0deg);opacity:1}70%{opacity:1}to{transform:rotateX(-118deg);opacity:0}}@media (prefers-reduced-motion:reduce){.skills-ql-modal,.skills-ql-overlay{animation:none}.skills-ql-flap{display:none}}