.pl-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 0 4px}.pl-head h1{margin:0;min-width:0}.pl-who{flex:none}.pl-main{max-width:1040px;margin:0 auto;padding:16px 16px 64px;font-family:var(--font-body);color:var(--color-text)}.pl-main h1{font-size:clamp(26px,5vw,38px);margin:8px 0 4px}.pl-sub{color:var(--color-text-muted);margin:0 0 18px}.pl-location{display:flex;gap:10px;flex-wrap:wrap}.pl-gps{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--color-border);background:#fff;border-radius:999px;padding:10px 14px;font:inherit;font-weight:600;font-size:14px;cursor:pointer;color:var(--color-text)}.pl-gps:disabled{opacity:.6}.pl-city{position:relative;flex:1;min-width:200px}.pl-city input{width:100%;box-sizing:border-box;border:1px solid var(--color-border);border-radius:999px;padding:10px 16px;font:inherit;font-size:14px;background:#fff}.pl-suggestions{position:absolute;z-index:20;left:0;right:0;top:calc(100% + 6px);margin:0;padding:6px;list-style:none;background:#fff;border:1px solid var(--color-border);border-radius:14px;box-shadow:0 12px 30px var(--color-shadow-strong);max-height:280px;overflow-y:auto}.pl-suggestions button{width:100%;text-align:left;border:0;background:none;font:inherit;font-size:14px;padding:10px;border-radius:10px;cursor:pointer;display:flex;justify-content:space-between;gap:8px}.pl-suggestions button:hover{background:var(--color-bg-soft)}.pl-suggestions span{color:var(--color-text-muted);font-size:12px}.pl-none{padding:10px;color:var(--color-text-muted);font-size:14px}.pl-search{position:relative;margin-top:10px}.pl-search ion-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#9ca3af;font-size:18px}.pl-search input{width:100%;box-sizing:border-box;border:1px solid var(--color-border);border-radius:999px;padding:11px 16px 11px 42px;font:inherit;font-size:14px;background:#fff}.pl-search input:focus{outline:2px solid #fecdd3;border-color:var(--color-primary)}.pl-where{color:var(--color-text-muted);font-size:13px;margin:10px 0 12px}.pl-chips{display:flex;flex-wrap:wrap;gap:6px 8px;padding:3px;margin:-3px -3px 9px}.pl-chips[hidden]{display:none}.pl-chips-scroller{position:relative}.pl-chips[data-sport-chips]{flex-wrap:nowrap;overflow-x:auto;scroll-padding:0 44px}.pl-chips-scroller.has-right .pl-chips[data-sport-chips]{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 64px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 64px),transparent)}.pl-chips-scroller.has-left .pl-chips[data-sport-chips]{-webkit-mask-image:linear-gradient(to left,#000 calc(100% - 64px),transparent);mask-image:linear-gradient(to left,#000 calc(100% - 64px),transparent)}.pl-chips-scroller.has-left.has-right .pl-chips[data-sport-chips]{-webkit-mask-image:linear-gradient(to right,transparent,#000 64px,#000 calc(100% - 64px),transparent);mask-image:linear-gradient(to right,transparent,#000 64px,#000 calc(100% - 64px),transparent)}.pl-chips-arrow{position:absolute;top:50%;transform:translateY(calc(-50% - 4px));z-index:2;width:34px;height:34px;border-radius:50%;border:1px solid var(--color-border);background:#fff;color:var(--color-text);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 2px 8px #1118271f;font-size:16px;padding:0;transition:background-color .15s,color .15s}.pl-chips-arrow:hover{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.pl-chips-arrow[hidden]{display:none}.pl-chips-arrow.is-left{left:-4px}.pl-chips-arrow.is-right{right:-4px}.pl-chips{scrollbar-width:none}.pl-chips::-webkit-scrollbar{display:none}.pl-chip{flex:none;border:0;background:transparent;border-radius:999px;padding:9px 16px;font:inherit;font-weight:500;font-size:15px;cursor:pointer;color:var(--color-text)}.pl-chip.is-active{background:var(--color-primary);color:#fff;font-weight:600}.pl-chip{transition:background-color .15s,color .15s}.pl-chip:not(.is-active):hover{background:#fef2f2}.pl-chips-quiet .pl-chip:not(.is-active):hover{background:#e5e7eb}.pl-chip:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.pl-chip{display:inline-flex;align-items:center;gap:7px}.pl-chip.is-active .pl-sport-icon{background:#fff}.pl-sport-ion{flex:none;color:var(--color-primary);vertical-align:-2px}.pl-chip.is-active .pl-sport-ion{color:#fff}.pl-chips-quiet .pl-chip{font-size:13px;padding:7px 13px;background:#f1f5f9;color:#374151}.pl-chips-quiet .pl-chip.is-active{background:#111827;color:#fff}.pl-filters{display:flex;flex-direction:column;gap:8px;margin-bottom:14px}.pl-chips-quiet{margin-bottom:0}.pl-filter-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.pl-select{border:1px solid var(--color-border);border-radius:999px;padding:8px 14px;font:inherit;font-size:13px;font-weight:600;background:#fff;color:var(--color-text)}.pl-toggle{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:600;cursor:pointer}.pl-toggle input{width:16px;height:16px;accent-color:var(--color-primary)}.pl-title-link{color:inherit;text-decoration:none}.pl-title-link:hover{text-decoration:underline}.pl-section{margin-top:36px}.pl-section-title{font-size:20px;margin:0 0 4px}.pl-cities{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.pl-cities a{border:1px solid var(--color-border);background:#fff;border-radius:999px;padding:8px 14px;font-size:13px;font-weight:600;color:var(--color-text);text-decoration:none}.pl-cities a:hover{border-color:var(--color-primary);color:var(--color-primary)}.pl-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.pl-list:has(.pl-scard){grid-template-columns:repeat(auto-fill,minmax(420px,1fr));gap:12px}.pl-scard{display:flex;gap:14px;align-items:center;padding:14px;border-radius:16px;background:#fff;border:1px solid #f1f5f9;box-shadow:0 1px 3px #1118270d;color:inherit;text-decoration:none;min-width:0}.pl-scard:hover{border-color:#fecdd3}.pl-badge{flex:none;width:64px;height:64px;border-radius:50%;background:#fde2e4;display:grid;place-items:center;font-size:28px}.pl-scard-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}.pl-scard-head{display:flex;align-items:flex-start;gap:6px}.pl-scard-title{flex:1;min-width:0;font-size:16px;font-weight:700;line-height:1.3;overflow-wrap:anywhere}.pl-count{color:var(--color-text-muted);font-size:13px;font-weight:600;padding-top:2px}.pl-scard-line{color:var(--color-text-muted);font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pl-scard-chips{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-top:6px}.pl-chip-sm{font-size:12px;font-weight:600;padding:4px 9px;border-radius:8px;white-space:nowrap}.pl-chip-orange{background:#fff7ed;color:#c2410c}.pl-chip-green{background:#ecfdf5;color:#047857}.pl-chip-red{background:#fef2f2;color:#b91c1c}.pl-chip-grey{background:#f1f5f9;color:#475569}.pl-push{margin-left:auto}.pl-chevron{color:#9ca3af;font-size:22px;line-height:1}.pl-card{background:#fff;border:1px solid var(--color-border);border-radius:16px;padding:16px;display:flex;flex-direction:column;gap:6px;min-width:0}.pl-card h2{font-size:17px;margin:2px 0 0;line-height:1.3;overflow-wrap:anywhere}.pl-card-top{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.pl-sport,.pl-tag{font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;background:var(--color-bg-soft);color:var(--color-primary)}.pl-tag{background:#f1f5f9;color:#475569}.pl-left{margin-left:auto;font-size:12px;font-weight:700;color:#15803d;background:#dcfce7;padding:4px 10px;border-radius:999px}.pl-left.is-full{color:#b91c1c;background:#fee2e2}.pl-by,.pl-meta{margin:0;color:var(--color-text-muted);font-size:13.5px;overflow-wrap:anywhere}.pl-card-bottom{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:8px}.pl-price{font-weight:700;color:#c2410c}.pl-dist{flex:1;color:var(--color-text-muted);font-size:13px}.pl-join{background:var(--color-primary);color:#fff;text-decoration:none;font:inherit;font-weight:700;font-size:14px;padding:9px 18px;border-radius:999px;border:0;cursor:pointer;white-space:nowrap}.pl-club{gap:10px}.pl-club-top{display:flex;align-items:center;gap:12px;min-width:0}.pl-club-tags{display:flex;gap:6px;flex-wrap:nowrap;margin-top:6px;min-width:0;overflow:hidden}.pl-club-tags>*{flex:none}.pl-club-tags>.pl-tag-sport{flex:0 1 auto;min-width:0;display:inline-flex;align-items:center;gap:4px}.pl-tag-sport>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pl-club-line{margin:0;color:var(--color-text-muted);font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pl-club-line ion-icon{margin-right:7px;font-size:15px;vertical-align:-3px;color:#9ca3af}.pl-sport-icon{display:inline-block;flex:none;vertical-align:-2px;background:var(--color-primary);-webkit-mask:var(--icon) center / contain no-repeat;mask:var(--icon) center / contain no-repeat}.pl-chip-sm ion-icon{font-size:12px;vertical-align:-1px}.pl-chip-sm .pl-sport-icon{margin-right:2px}.pl-club-actions{display:flex;gap:8px;margin-top:auto;padding-top:4px}.pl-club-actions .pl-join{flex:1;text-align:center}.pl-view{flex:1;text-align:center;border:1px solid var(--color-border);border-radius:999px;padding:9px 14px;color:var(--color-text);font-size:14px;font-weight:600;text-decoration:none}.pl-view:hover{border-color:var(--color-primary);color:var(--color-primary)}.pl-join.is-done{background:#16a34a}.pl-join.is-waiting{background:#e5e7eb;color:#374151}.pl-chip-mine{background:#dcfce7;color:#15803d;font-weight:700}.pl-chip-needs{background:#eff6ff;color:#1d4ed8;font-weight:700}.pl-join:disabled{cursor:default}.pl-card-msg{flex-basis:100%;margin:4px 0 0;font-size:13px;padding:8px 10px;border-radius:10px;background:#fef2f2;color:#b91c1c}.pl-card-msg.is-good{background:#ecfdf5;color:#047857}.pl-card-msg[hidden]{display:none}.pl-who{font-size:13px;color:var(--color-text-muted);white-space:nowrap}.pl-club-body{flex:1;min-width:0;display:flex;flex-direction:column}.pl-club-body h2{margin:0;font-size:15px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere;cursor:pointer}.pl-club-name{min-height:39px;display:flex;align-items:center}.pl-list:has(.pl-club){grid-auto-rows:1fr}.pl-club-body h2.is-open{display:block;-webkit-line-clamp:unset}.pl-avatar{width:52px;height:52px;border-radius:50%;object-fit:cover;flex:none}.pl-avatar-fallback{display:grid;place-items:center;background:var(--color-bg-soft);color:var(--color-primary);font-weight:800;font-size:14px}.pl-empty{grid-column:1 / -1;text-align:center;padding:40px 16px;background:#fff;border:1px dashed var(--color-border);border-radius:16px}.pl-empty p{color:var(--color-text-muted);margin:6px 0 16px}.pl-empty .pl-join{display:inline-block}.pl-skeleton{height:150px;border-radius:16px;background:linear-gradient(90deg,#f1f5f9,#e5e7eb,#f1f5f9);background-size:200% 100%;animation:pl-shimmer 1.2s infinite}@keyframes pl-shimmer{to{background-position:-200% 0}}@media(max-width:640px){.pl-chips{flex-wrap:nowrap;overflow-x:auto}.pl-list:has(.pl-scard){grid-template-columns:1fr}.pl-badge{width:54px;height:54px;font-size:24px}.pl-who{font-size:12px}.pl-list{grid-template-columns:1fr}}
