.gallery-page{min-height:100vh;background:var(--bg-gradient)}.gallery-header{display:flex;flex-direction:column;gap:20px;margin-bottom:30px}.gallery-controls{display:flex;gap:16px;flex-wrap:wrap}.gallery-search{position:relative;flex:1;min-width:250px}.gallery-search-input{width:100%;padding:12px 40px 12px 16px;background:var(--card-bg);border:2px solid var(--border-color);border-radius:12px;color:var(--text-primary);font-size:1rem}.gallery-search-input:focus{outline:none;border-color:rgba(99,102,241,.5);box-shadow:0 0 0 4px rgba(99,102,241,.1)}.gallery-search-icon{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:1.2rem;pointer-events:none}.gallery-sort-select{padding:12px 16px;background:var(--card-bg);border:2px solid var(--border-color);border-radius:12px;color:var(--text-primary);font-size:.95rem;cursor:pointer}.gallery-sort-select:focus{outline:none;border-color:rgba(99,102,241,.5)}.gallery-categories{display:flex;gap:10px;flex-wrap:wrap}.gallery-category-btn{padding:8px 18px;background:rgba(99,102,241,.1);border:2px solid rgba(99,102,241,.2);border-radius:20px;color:var(--text-secondary);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.gallery-category-btn:hover{background:rgba(99,102,241,.2);border-color:rgba(99,102,241,.4)}.gallery-category-btn.active{background:linear-gradient(135deg,rgba(99,102,241,.3),rgba(139,92,246,.3));border-color:rgba(99,102,241,.6);color:var(--text-primary);transform:scale(1.05)}.gallery-results-count{font-size:.95rem;color:var(--text-tertiary);margin:10px 0}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;margin:30px 0}.gallery-card{background:var(--card-bg);border:2px solid var(--border-color);border-radius:16px;padding:20px;transition:all .3s ease}.gallery-card:hover{transform:translateY(-4px);box-shadow:0 12px 40px rgba(99,102,241,.3);border-color:rgba(99,102,241,.5)}.gallery-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.gallery-card-category{padding:4px 12px;background:rgba(99,102,241,.2);border-radius:12px;font-size:.75rem;font-weight:600;color:var(--text-primary)}.gallery-card-rating{font-size:.9rem;font-weight:700;color:#fbbf24}.gallery-card-title{font-size:1.3rem;font-weight:700;color:var(--text-primary);margin-bottom:8px}.gallery-card-description{font-size:.9rem;color:var(--text-secondary);line-height:1.6;margin-bottom:12px}.gallery-card-preview{background:rgba(99,102,241,.05);border-left:3px solid rgba(99,102,241,.5);padding:12px;border-radius:8px;margin:12px 0;font-size:.85rem}.gallery-card-preview strong{display:block;margin-bottom:6px;color:var(--text-primary)}.gallery-card-preview code{display:block;font-family:Courier New,monospace;color:rgba(99,102,241,.9);font-size:.9rem}.gallery-card-tags{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.gallery-tag{padding:4px 10px;background:rgba(139,92,246,.15);border-radius:8px;font-size:.75rem;color:var(--text-secondary)}.gallery-card-meta{display:flex;gap:12px;margin:16px 0;padding-top:12px;border-top:1px solid var(--border-color)}.gallery-meta-item{display:flex;align-items:center;gap:4px;font-size:.85rem;color:var(--text-tertiary)}.gallery-meta-icon{font-size:1rem}.gallery-card-actions{display:flex;gap:8px;margin-top:16px}.gallery-btn{flex:1;padding:10px;font-size:.9rem}.gallery-empty{text-align:center;padding:80px 20px}.gallery-empty-icon{font-size:5rem;margin-bottom:20px;opacity:.5}.gallery-empty h3{font-size:1.5rem;color:var(--text-primary);margin-bottom:8px}.gallery-empty p{color:var(--text-tertiary)}.gallery-share-section{margin:50px 0 30px}.gallery-share-card{background:linear-gradient(135deg,rgba(99,102,241,.2),rgba(139,92,246,.2));border:2px solid rgba(99,102,241,.3);border-radius:16px;padding:40px;text-align:center}.gallery-share-card h3{font-size:1.5rem;color:var(--text-primary);margin-bottom:12px}.gallery-share-card p{font-size:1rem;color:var(--text-secondary);margin-bottom:24px}.gallery-detail-header{margin-bottom:20px}.gallery-detail-card{padding:30px}.gallery-detail-top{display:flex;align-items:flex-start;gap:20px;margin-bottom:20px}.gallery-detail-avatar{font-size:4rem;flex-shrink:0}.gallery-detail-info{flex:1}.gallery-detail-title{font-size:2rem;font-weight:700;color:var(--text-primary);margin-bottom:8px}.gallery-detail-meta{display:flex;gap:8px;align-items:center;font-size:.9rem;color:var(--text-tertiary)}.gallery-detail-import-btn{flex-shrink:0}.gallery-detail-description{font-size:1.1rem;color:var(--text-secondary);line-height:1.8;margin:20px 0}.gallery-detail-tags{display:flex;flex-wrap:wrap;gap:8px}.gallery-test-area{display:flex;gap:12px;margin:16px 0}.gallery-test-input{flex:1;padding:12px 16px;background:var(--input-bg);border:2px solid var(--border-color);border-radius:12px;color:var(--text-primary);font-size:1rem}.gallery-test-input:focus{outline:none;border-color:rgba(99,102,241,.5)}.gallery-test-output{padding:16px;background:rgba(99,102,241,.1);border-left:3px solid rgba(99,102,241,.5);border-radius:8px;margin-top:12px}.gallery-test-output strong{color:var(--text-primary);margin-right:8px}.gallery-rules-table{margin-top:16px;max-height:400px;overflow-y:auto}.gallery-rule-to{color:rgba(99,102,241,.9);font-weight:600}.gallery-full-description{margin-top:16px;line-height:1.8;color:var(--text-secondary)}.gallery-full-description p{margin-bottom:12px}.gallery-reviews{display:flex;flex-direction:column;gap:16px;margin-top:16px}.gallery-review-item{padding:16px;background:rgba(99,102,241,.05);border-left:3px solid rgba(99,102,241,.3);border-radius:8px}.gallery-review-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.gallery-review-author{font-weight:600;color:var(--text-primary)}.gallery-review-rating{color:#fbbf24;font-size:.9rem}.gallery-review-comment{color:var(--text-secondary);line-height:1.6;margin-bottom:8px}.gallery-review-date{font-size:.8rem;color:var(--text-tertiary)}.gallery-detail-actions{display:flex;gap:12px;margin:30px 0}.btn-large{flex:1;padding:16px 24px;font-size:1.1rem}.loading-spinner{text-align:center;padding:80px 20px;font-size:1.2rem;color:var(--text-secondary)}.section-title{font-size:1.3rem;font-weight:700;color:var(--text-primary);margin-bottom:16px}@media (max-width:768px){.gallery-grid{grid-template-columns:1fr;gap:16px}.gallery-controls{flex-direction:column}.gallery-search{min-width:auto}.gallery-card{padding:16px}.gallery-share-card{padding:24px}.gallery-card-actions{flex-direction:column}.gallery-detail-card{padding:20px}.gallery-detail-top{flex-direction:column;align-items:center;text-align:center}.gallery-detail-title{font-size:1.5rem}.gallery-detail-actions,.gallery-test-area{flex-direction:column}.btn-large{width:100%}}