.page-header{text-align:center;margin-bottom:var(--spacing-lg)}.page-header .subtitle{color:var(--secondary-text)}.card{background-color:var(--surface-color);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-card);padding:var(--spacing-lg);margin-bottom:var(--spacing-lg);border:1px solid var(--border-color, transparent)}.filter-controls{display:flex;flex-direction:column;gap:var(--spacing-lg)}.filter-group{display:flex;flex-direction:column;gap:var(--spacing-sm)}.filter-group__label{font-size:var(--font-size-body);color:var(--secondary-text);font-weight:var(--font-weight-medium)}.filter-group__options{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.checkbox-label{cursor:pointer;font-size:14px;color:#fff;position:relative;-webkit-user-select:none;user-select:none;display:inline-block}.checkbox-label input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.pill-style .checkmark{display:inline-block;padding:6px 14px;border-radius:20px;background-color:#3a3a3a;color:#f0f0f0;border:1px solid #555;transition:background-color .2s ease,border-color .2s ease}.checkbox-label.pill-style:hover .checkmark{background-color:#4a4a4a}.checkbox-label input[type=checkbox]:checked+.checkmark{background-color:var(--primary-color);border-color:var(--primary-color);color:#fff;font-weight:600}.checkbox-label input[type=checkbox]:focus-visible+.checkmark{box-shadow:0 0 0 2px var(--background-color),0 0 0 4px var(--primary-color)}.card__header{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.card__meta{display:flex;gap:var(--spacing-sm)}.badge{font-size:var(--font-size-small);padding:.25em .75em;border-radius:var(--border-radius-pill);font-weight:var(--font-weight-medium);text-transform:uppercase}.badge--difficulty{background-color:#e74c3c33;color:#e74c3c}.badge--style{background-color:#3498db33;color:#3498db}.card__body{background-color:#ffffff08;padding:var(--spacing-md);border-radius:var(--border-radius-md)}.card__title{font-size:var(--font-size-h3);margin-bottom:var(--spacing-sm);margin-top:0}.card__description{color:var(--secondary-text);line-height:1.6;margin-bottom:0}.guiding-questions{margin-top:var(--spacing-lg)}.guiding-questions__details{border-top:1px solid var(--border-color);padding-top:var(--spacing-md)}.guiding-questions__summary{cursor:pointer;font-weight:var(--font-weight-medium);list-style:none;display:flex;justify-content:space-between;align-items:center;-webkit-tap-highlight-color:transparent;background-color:transparent;outline:none}.guiding-questions__summary::-webkit-details-marker{display:none}.guiding-questions__icon{transition:transform .2s ease}.guiding-questions__details[open] .guiding-questions__icon{transform:rotate(180deg)}.guiding-questions__list{padding-left:var(--spacing-md);margin-top:var(--spacing-sm);color:var(--secondary-text)}.hints{margin-top:var(--spacing-lg)}.hints__details{border-top:1px solid var(--border-color);padding-top:var(--spacing-md)}.hints__summary{cursor:pointer;font-weight:var(--font-weight-medium);list-style:none;display:flex;justify-content:space-between;align-items:center;-webkit-tap-highlight-color:transparent;background-color:transparent;outline:none}.hints__summary::-webkit-details-marker{display:none}.hints__icon{transition:transform .2s ease}.hints__details[open] .hints__icon{transform:rotate(180deg)}.hints__content{padding:var(--spacing-md);margin-top:var(--spacing-sm);background-color:#ffffff08;border-radius:var(--border-radius-md);border-left:4px solid var(--primary-color)}.solution{margin-top:var(--spacing-lg)}.solution__details{border-top:1px solid var(--border-color);padding-top:var(--spacing-md)}.solution__summary{cursor:pointer;font-weight:var(--font-weight-medium);list-style:none;display:flex;justify-content:space-between;align-items:center;-webkit-tap-highlight-color:transparent;background-color:transparent;outline:none}.solution__summary::-webkit-details-marker{display:none}.solution__icon{transition:transform .2s ease}.solution__details[open] .solution__icon{transform:rotate(180deg)}.solution__content{padding:var(--spacing-md);margin-top:var(--spacing-sm);background-color:#ffffff08;border-radius:var(--border-radius-md);border-left:4px solid var(--primary-color)}.card__actions{display:flex;flex-wrap:wrap;gap:var(--spacing-md);margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--border-color)}.card__actions>div{display:flex;gap:var(--spacing-md);flex-grow:1}.card__footer{display:flex;width:100%}.card__footer .btn{width:100%}@media (min-width: 600px){.card__actions{flex-wrap:nowrap;justify-content:space-between;align-items:center}.card__actions>div{flex-grow:1;display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.card__footer,.card__footer .btn{width:auto}}.card__reveal-box{margin-top:var(--spacing-md);padding:0 var(--spacing-md);border-radius:var(--border-radius-md);background-color:#ffffff08;overflow:hidden;max-height:0;opacity:0;transition:max-height .5s ease,opacity .5s ease,padding .5s ease}.card__reveal-box.is-visible{max-height:500px;opacity:1;padding:var(--spacing-md)}.card__reveal-box h4{margin-top:0;font-weight:var(--font-weight-bold)}.card__reveal-box--solution{border-left:4px solid var(--primary-color)}.btn{padding:var(--spacing-sm) var(--spacing-md);white-space:nowrap}.btn-primary{background:linear-gradient(45deg,var(--primary-color),#8a63f5);box-shadow:0 2px 8px #5e5df04d}.btn-primary:hover:not(:disabled){background:linear-gradient(45deg,#6d5ed8,#7b54e0);box-shadow:0 4px 12px #5e5df066}.btn-secondary{background-color:#3a3a3c;border-color:#555}.btn-secondary:hover:not(:disabled){background-color:#4a4a4c;border-color:#777}.btn:disabled{background:#2c2c2e;color:#666;cursor:not-allowed;box-shadow:none;border-color:#444}.btn-outline{background-color:transparent;border:1px solid var(--secondary-text, #888);color:var(--secondary-text, #888);box-shadow:none;padding:var(--spacing-xs) var(--spacing-sm);font-size:var(--font-size-small)}.btn-outline:hover:not(:disabled){background-color:var(--surface-color);border-color:var(--primary-text);color:var(--primary-text)}.skeleton{background-color:#2c2c2e;border-radius:var(--border-radius-sm);animation:pulse 1.5s cubic-bezier(.4,0,.6,1) infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.skeleton-title{height:1.5em;width:70%;margin-bottom:var(--spacing-md)}.skeleton-text{height:1em;width:100%;margin-bottom:var(--spacing-sm)}.skeleton-text:last-child{width:85%}
