.puzzles-page{display:grid;gap:1.5rem;padding:1.25rem}.puzzles-hero{position:relative;z-index:2;margin-inline:calc(50% - 50vw);padding:clamp(1.25rem,3vw,2.25rem) 0 clamp(2.25rem,5vw,3.5rem);isolation:isolate}.puzzles-hero:before{content:"";position:absolute;inset:-72px 0 0;z-index:-1;pointer-events:none;background:radial-gradient(ellipse 55% 60% at 15% 12%,color-mix(in srgb,var(--brand-primary) 30%,transparent),transparent 68%),radial-gradient(ellipse 50% 65% at 85% 18%,color-mix(in srgb,var(--brand-primary) 24%,transparent),transparent 70%),radial-gradient(ellipse 75% 50% at 50% 118%,color-mix(in srgb,var(--brand-primary) 18%,transparent),transparent 74%)}.puzzles-hero-inner{display:grid;justify-items:center;gap:.75rem;text-align:center}.puzzles-hero h1{margin:0;font-family:var(--font-display);font-size:var(--text-fluid-xl);line-height:var(--leading-snug)}.puzzles-hero-sub{margin:0;max-width:100ch;color:var(--muted);font-size:var(--text-base);line-height:var(--leading-relaxed)}.puzzles-tools{display:grid;gap:0}.puzzles-search{position:relative;display:flex;align-items:center;width:min(100%,640px);margin-top:.5rem}.puzzles-search-icon{position:absolute;left:.95rem;width:1.1rem;height:1.1rem;fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.puzzles-search-input{width:100%;padding:.8rem 1.1rem .8rem 2.75rem;border:1px solid var(--line);border-radius:var(--radius-lg);background:#ffffffb8;color:var(--ink);font-family:var(--font-body);font-size:var(--text-base);transition:border-color .18s ease,box-shadow .18s ease}.puzzles-search-input::placeholder{color:var(--muted)}.puzzles-search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 20%,transparent)}.puzzles-search-panel{position:absolute;top:calc(100% + .5rem);left:0;right:0;z-index:50;display:grid;gap:.8rem;padding:.9rem;text-align:left;border:1px solid var(--glass-border);border-radius:var(--radius-xl);background:var(--bg-surface-solid);box-shadow:var(--shadow-lg)}.puzzles-search-panel[hidden]{display:none}.puzzles-search-section{display:grid;gap:.5rem}.puzzles-search-section-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.puzzles-search-section-title{color:var(--muted);font-size:var(--text-xs);font-weight:var(--weight-extrabold);letter-spacing:.06em;text-transform:uppercase}.puzzles-search-clear{padding:.15rem .3rem;border:none;background:none;color:var(--muted);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-bold);cursor:pointer;transition:color .18s ease}.puzzles-search-clear:hover:not(:disabled){color:var(--ink);text-decoration:underline}.puzzles-search-clear:disabled{opacity:.45;cursor:not-allowed}.puzzles-search-empty{margin:0;padding:.35rem .1rem;color:var(--muted);font-size:var(--text-sm);text-align:center}.puzzles-tool-label{color:var(--muted);font-size:var(--text-sm);font-weight:var(--weight-extrabold);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.puzzles-search-suggestions{display:flex;flex-wrap:wrap;gap:.45rem;margin:0;padding:0;list-style:none}.puzzles-search-suggestion{display:inline-flex;align-items:center;justify-content:center;padding:.4rem .9rem;border:1px solid var(--line);border-radius:var(--radius-pill);background:#fff9;color:var(--ink);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-bold);cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease}.puzzles-search-suggestion:hover{border-color:var(--accent);color:var(--accent)}.puzzles-difficulties{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;padding-bottom:1.1rem}@media (max-width: 768px){.puzzles-difficulties .puzzles-tool-label{flex-basis:100%}}.puzzles-sort{display:flex;align-items:center;gap:1.5rem;padding-top:1rem;border-top:1px solid var(--line)}.puzzles-sort-tab{padding:.65rem .1rem;border:0;background:none;color:var(--muted);font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--weight-extrabold);cursor:pointer;border-bottom:2px solid transparent;transition:color .18s ease,border-color .18s ease}.puzzles-sort-tab:hover{color:var(--ink)}.puzzles-sort-tab.is-active{color:var(--accent);border-color:var(--accent)}.puzzles-sort-tab:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:2px}.puzzles-count{margin:0 0 0 auto;color:var(--muted);font-size:var(--text-base);white-space:nowrap}.puzzles-chip{display:inline-flex;align-items:center;justify-content:center;padding:.45rem 1rem;border:1px solid var(--line);border-radius:999px;background:#fff9;color:var(--ink);font-family:var(--font-body);font-size:var(--text-base);font-weight:800;cursor:pointer;transition:background .18s ease,border-color .18s ease,color .18s ease}.puzzles-chip:hover{border-color:var(--text-primary)}.puzzles-chip.is-active{border-color:transparent;background:var(--text-primary);color:var(--text-inverse)}.puzzles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}.puzzle-card{border-radius:var(--radius-lg);transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease}.puzzle-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-glass);border-color:color-mix(in srgb,var(--accent) 45%,var(--line))}.puzzle-card-link{display:flex;flex-direction:column;gap:.6rem;height:100%;padding:.25rem;color:inherit;text-decoration:none}.puzzle-card-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-sm)}.puzzle-card:hover .puzzle-card-link{color:inherit}.puzzle-card-top{display:flex;align-items:center;justify-content:space-between;gap:.6rem}.puzzle-card-emoji{display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:var(--radius-sm);background:var(--bg-accent-soft);border:1px solid var(--line);font-size:1.5rem}.puzzle-card-title{margin:0;font-family:var(--font-display);font-size:var(--text-lg);line-height:var(--leading-snug);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.puzzle-card-desc{margin:0;color:var(--muted);font-size:var(--text-base);line-height:var(--leading-relaxed);display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.puzzle-card-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.4rem .9rem;padding-top:.6rem;border-top:1px solid var(--line);font-size:var(--text-base)}.puzzle-card-meta-info{display:flex;flex-wrap:wrap;gap:.4rem .9rem;color:var(--ink)}.puzzle-card-stat{display:inline-flex;align-items:center;gap:.35rem;color:var(--ink);white-space:nowrap}.puzzle-stat-icon{width:.9rem;height:.9rem;flex:none;fill:currentColor;opacity:.85}.puzzle-card-cta{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;margin-top:auto;padding:.55rem 1rem;border-radius:var(--radius-sm);background:#5b443e;color:var(--text-inverse);font-size:var(--text-base);text-align:center;transition:background .18s ease,color .18s ease}.puzzle-card:hover .puzzle-card-cta{background:color-mix(in srgb,#5b443e 88%,#000);color:var(--text-inverse)}.puzzle-card-cta .cta-icon{width:.95rem;height:.95rem;flex:none;fill:currentColor;transition:transform .18s ease}.puzzle-card:hover .puzzle-card-cta .cta-icon{transform:translate(3px)}.puzzles-selects{display:flex;flex-wrap:wrap;gap:.9rem 1.5rem;padding-bottom:1.1rem}.puzzles-select-field{display:grid;gap:.4rem;min-width:min(100%,250px);flex:1 1 250px;max-width:360px}.puzzles-select{width:100%;padding:.6rem 2rem .6rem .8rem;border:1px solid var(--line);border-radius:var(--radius-md);background-color:#ffffffb8;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M4 6l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .7rem center;background-size:.85rem;color:var(--ink);font-family:var(--font-body);font-size:var(--text-base);font-weight:700;appearance:none;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease}.puzzles-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.puzzles-select:disabled{opacity:.6;cursor:not-allowed}.puzzles-custom-select{position:relative}.puzzles-custom-select>select{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap}.puzzles-select-trigger{position:relative;display:flex;align-items:center;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;background-image:none;cursor:pointer}.puzzles-select-trigger:after{content:"";position:absolute;top:50%;right:.85rem;width:.5rem;height:.5rem;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:translateY(-65%) rotate(45deg);transition:transform .18s ease;pointer-events:none}.puzzles-custom-select[data-open=true] .puzzles-select-trigger{border-color:var(--accent)}.puzzles-custom-select[data-open=true] .puzzles-select-trigger:after{transform:translateY(-35%) rotate(225deg)}.puzzles-select-menu{position:absolute;top:calc(100% + .4rem);left:0;right:0;z-index:50;display:none;flex-direction:column;margin:0;padding:0;border:1px solid var(--glass-border);border-radius:var(--radius-md);background:var(--bg-surface-solid);box-shadow:var(--shadow-glass);overflow:hidden}.puzzles-custom-select[data-open=true] .puzzles-select-menu{display:flex}.puzzles-select-search{padding:.5rem;border-bottom:1px solid var(--glass-border);background:var(--bg-surface-solid)}.puzzles-select-search-input{width:100%;padding:.45rem .75rem;border:1px solid var(--line);border-radius:var(--radius-sm);background-color:#ffffffb8;color:var(--ink);font-family:var(--font-body);font-size:var(--text-base)}.puzzles-select-search-input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent)}.puzzles-select-search-input::placeholder{color:var(--muted)}.puzzles-select-list{margin:0;padding:.4rem;max-height:16rem;overflow-y:auto;list-style:none;display:grid;gap:.15rem}.puzzles-select-list[data-empty-shown=true]:after{content:attr(data-empty);padding:.5rem .75rem;color:var(--muted);font-size:var(--text-base)}.puzzles-select-option{padding:.5rem .75rem;border-radius:var(--radius-sm);color:var(--ink);font-family:var(--font-body);font-size:var(--text-base);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}.puzzles-select-option[data-highlighted=true]{background:var(--bg-accent-soft);color:var(--brand-primary-hover)}.puzzles-select-option:not([aria-selected=true]):hover{background:var(--bg-accent-soft);color:var(--brand-primary-hover)}.puzzles-select-option[aria-selected=true]{background:var(--brand-primary);color:var(--text-inverse)}.puzzles-select-option[aria-selected=true][data-highlighted=true],.puzzles-select-option[aria-selected=true]:hover{background:var(--brand-primary-hover)}.difficulty-badge{display:inline-flex;align-items:center;justify-content:center;height:1.35rem;padding:0 .55rem;border-radius:999px;color:var(--text-inverse);font-size:var(--text-xs);line-height:1;letter-spacing:.02em;white-space:nowrap}.difficulty-badge[data-difficulty=kids]{background:var(--difficulty-kids)}.difficulty-badge[data-difficulty=easy]{background:var(--difficulty-easy)}.difficulty-badge[data-difficulty=medium]{background:var(--difficulty-medium)}.difficulty-badge[data-difficulty=hard]{background:var(--difficulty-hard)}.difficulty-badge[data-difficulty=master]{background:var(--difficulty-master)}.puzzle-card-collection{min-width:0;overflow:hidden;color:var(--muted);font-size:var(--text-xs);font-weight:800;letter-spacing:.05em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.puzzles-empty{display:grid;place-items:center;gap:.5rem;padding:2.5rem 1.25rem;border-radius:var(--radius-xl);text-align:center}.puzzles-empty-emoji{font-size:2rem}.puzzles-empty h2{margin:0;font-family:var(--font-display);font-size:var(--text-lg)}.puzzles-empty p{margin:0;max-width:40ch;color:var(--muted)}.puzzles-pagination{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:.5rem .75rem;padding-top:.5rem}.puzzles-page-btn{display:inline-flex;align-items:center;justify-content:center;min-width:2.5rem;height:2.5rem;padding:0 .9rem;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff9;color:var(--ink);font-family:var(--font-body);font-size:var(--text-base);text-decoration:none;transition:background .18s ease,border-color .18s ease,color .18s ease}.puzzles-page-btn:hover:not([aria-disabled=true]):not(.is-active){border-color:var(--text-primary)}.puzzles-page-btn[aria-disabled=true]{opacity:.45;pointer-events:none;cursor:default}.puzzles-page-btn.is-active{border-color:transparent;background:var(--text-primary);color:var(--text-inverse)}.puzzles-page-numbers{display:flex;align-items:center;gap:.35rem}.puzzles-page-ellipsis{padding:0 .15rem;color:var(--muted)}.puzzles-page-info{padding:0 .25rem;color:var(--muted);font-size:var(--text-base);white-space:nowrap}.puzzles-page-jump{display:inline-flex;align-items:center;gap:.35rem}.puzzles-page-input{width:3.75rem;height:2.5rem;padding:0 .5rem;border:1px solid var(--line);border-radius:var(--radius-md);background:#fff9;color:var(--ink);font-family:var(--font-body);font-size:var(--text-base);text-align:center}.puzzles-page-input[type=number]{-moz-appearance:textfield;appearance:textfield}.puzzles-page-input::-webkit-outer-spin-button,.puzzles-page-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.puzzles-page-input:focus-visible{border-color:var(--text-primary);outline:none}
