.prototypes-page{min-height:100vh;padding-top:80px}.prototypes-hero{background:linear-gradient(135deg,var(--bg-primary)0%,var(--bg-secondary)100%);text-align:center;padding:4rem 2rem}.prototypes-title{margin-bottom:1rem;font-size:3rem;font-weight:700}.prototypes-subtitle{color:var(--text-secondary);margin-bottom:3rem;font-size:1.2rem}.view-toggle{flex-wrap:wrap;justify-content:center;gap:1rem;display:flex}.toggle-btn{background:var(--bg-card);color:var(--text-secondary);border:2px solid var(--border-color);cursor:pointer;border-radius:30px;padding:.8rem 2rem;font-size:1rem;font-weight:600;transition:all .3s}.toggle-btn:hover{border-color:var(--accent-orange);color:var(--text-primary)}.toggle-btn.active{background:var(--accent-gradient);color:#fff;border-color:#0000;box-shadow:0 4px 15px #ff6b354d}.prototypes-content{background:var(--bg-primary)}.iframe-container{max-width:1400px;margin:0 auto}.airtable-embed{border-radius:12px;overflow:hidden;box-shadow:0 10px 40px #0000004d}.iframe-note{text-align:center;color:var(--text-secondary);margin-top:1.5rem;font-size:.9rem}.custom-view{max-width:1400px;margin:0 auto}.loading-state{text-align:center;padding:4rem 2rem}.spinner{border:4px solid var(--border-color);border-top-color:var(--accent-orange);border-radius:50%;width:50px;height:50px;margin:0 auto 1.5rem;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.loading-state p{color:var(--text-secondary);font-size:1.1rem}.error-state{background:var(--bg-card);text-align:center;border:2px solid #ff6b354d;border-radius:15px;max-width:800px;margin:0 auto;padding:3rem}.error-icon{margin-bottom:1rem;font-size:4rem}.error-state h3{color:var(--accent-orange);margin-bottom:1rem;font-size:1.8rem}.error-state p{color:var(--text-secondary);margin-bottom:2rem;font-size:1.1rem}.setup-instructions{background:var(--bg-primary);text-align:left;border-radius:12px;margin-top:2rem;padding:2rem}.setup-instructions h4{color:var(--accent-orange);margin-bottom:1rem;font-size:1.2rem}.setup-instructions ol{color:var(--text-secondary);padding-left:1.5rem;line-height:1.8}.setup-instructions li{margin-bottom:1rem}.setup-instructions code{color:var(--accent-orange);background:#ff6b351a;border-radius:4px;padding:.2rem .5rem;font-family:Courier New,monospace}.setup-instructions pre{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;margin:.5rem 0;padding:1rem;overflow-x:auto}.setup-instructions pre code{background:0 0;padding:0}.setup-instructions .note{color:var(--text-secondary);margin-top:1rem;font-size:.9rem;font-style:italic}.setup-instructions a{color:var(--accent-orange);font-weight:600;text-decoration:none}.setup-instructions a:hover{text-decoration:underline}.empty-state{text-align:center;background:var(--bg-card);border:2px dashed var(--border-color);border-radius:15px;padding:4rem 2rem}.empty-state p{color:var(--text-secondary);font-size:1.1rem}.prototypes-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem;display:grid}.prototype-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:15px;flex-direction:column;transition:all .3s;display:flex;overflow:hidden}.prototype-card:hover{border-color:var(--accent-orange);transform:translateY(-10px);box-shadow:0 20px 60px #ff6b3533}.prototype-image{background:var(--bg-secondary);height:180px;position:relative;overflow:hidden}.prototype-image img{object-fit:cover;width:100%;height:100%;transition:transform .3s}.prototype-card:hover .prototype-image img{transform:scale(1.05)}.prototype-image.fallback-gradient{background:var(--accent-gradient);justify-content:center;align-items:center;display:flex}.fallback-icon{font-size:4rem}.prototype-content{flex-direction:column;flex:1;gap:1rem;padding:1.5rem;display:flex}.prototype-title{color:var(--text-primary);margin-bottom:.5rem;font-size:1.3rem;font-weight:600}.card-meta-row{border-bottom:1px solid var(--border-color);flex-direction:column;gap:.3rem;padding:.5rem 0;display:flex}.card-meta-row:last-child{border-bottom:none}.meta-label{color:var(--text-secondary);font-size:.85rem;font-weight:500}.problem-summary{color:var(--text-primary);margin:0;font-size:.95rem;line-height:1.5}.deployment-link,.url-link{color:var(--accent-orange);word-break:break-all;font-size:.9rem;text-decoration:none;transition:opacity .3s}.deployment-link:hover,.url-link:hover{opacity:.7;text-decoration:underline}.team-lead,.launch-date{color:var(--text-primary);font-size:.95rem}.card-links{flex-direction:column;gap:.5rem;margin-top:auto;padding-top:1rem;display:flex}.table-container{background:var(--bg-card);border:1px solid var(--border-color);border-radius:15px;overflow:hidden}.table-controls{border-bottom:1px solid var(--border-color);background:var(--bg-secondary);justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.table-info{color:var(--text-secondary);font-size:.9rem}.table-wrapper{overflow-x:auto}.prototypes-table{border-collapse:collapse;width:100%}.prototypes-table thead{background:var(--bg-secondary);z-index:10;position:sticky;top:0}.prototypes-table th{text-align:left;color:var(--text-primary);border-bottom:2px solid var(--border-color);white-space:nowrap;padding:1rem;font-size:.9rem;font-weight:600}.prototypes-table th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .3s}.prototypes-table th.sortable:hover{color:var(--accent-orange);background:#ff6b350d}.prototypes-table tbody tr{border-bottom:1px solid var(--border-color);transition:all .3s}.prototypes-table tbody tr:hover{background:#ff6b350d}.prototypes-table tbody tr:last-child{border-bottom:none}.prototypes-table td{color:var(--text-secondary);padding:1rem;font-size:.9rem}.status-row{border-left:3px solid #0000}.status-row.status-launched{border-left-color:#4caf50}.status-row.status-in-progress{border-left-color:#ffc107}.status-row.status-idea{border-left-color:#2196f3}.prototype-name-cell{min-width:180px}.prototype-name-cell strong{color:var(--text-primary);font-weight:600}.problem-cell{max-width:250px;color:var(--text-secondary);font-size:.85rem}.link-cell a{color:var(--accent-orange);font-size:.85rem;font-weight:500;text-decoration:none;transition:opacity .3s}.link-cell a:hover{opacity:.7;text-decoration:underline}.date-cell{white-space:nowrap;min-width:110px}.launched-cell{text-align:center;min-width:100px}.check-icon{background:var(--success-green);color:#fff;text-align:center;border-radius:50%;width:24px;height:24px;font-weight:700;line-height:24px;display:inline-block}.category-badge{white-space:nowrap;border-radius:15px;padding:.3rem .8rem;font-size:.8rem;font-weight:600;display:inline-block}.category-badge.category-tool{color:#2196f3;background:#2196f31a;border:1px solid #2196f34d}.category-badge.category-app{color:#9c27b0;background:#9c27b01a;border:1px solid #9c27b04d}.category-badge.category-productivity{color:#4caf50;background:#4caf501a;border:1px solid #4caf504d}.category-badge.category-entertainment{color:var(--accent-orange);background:#ff6b351a;border:1px solid #ff6b354d}.status-badge{white-space:nowrap;border-radius:15px;padding:.3rem .8rem;font-size:.85rem;font-weight:600;display:inline-block}.status-badge.status-launched{color:#4caf50;background:#4caf501a;border:1px solid #4caf504d}.status-badge.status-in-progress{color:#ffc107;background:#ffc1071a;border:1px solid #ffc1074d}.status-badge.status-idea{color:#2196f3;background:#2196f31a;border:1px solid #2196f34d}.status-badge.status-archived{color:#9e9e9e;background:#9e9e9e1a;border:1px solid #9e9e9e4d}@media (max-width:768px){.prototypes-title{font-size:2.5rem}.prototypes-subtitle{font-size:1rem}.view-toggle{flex-direction:column}.toggle-btn{width:100%}.prototypes-grid{grid-template-columns:1fr}.table-container{overflow-x:auto}.prototypes-table{min-width:800px}.prototypes-table th,.prototypes-table td{padding:.75rem .5rem;font-size:.85rem}.setup-instructions{padding:1.5rem}}@media (max-width:480px){.prototypes-title{font-size:2rem}.error-state{padding:2rem 1.5rem}.setup-instructions ol{padding-left:1rem}.card-meta-row{padding:.4rem 0}.prototype-title{font-size:1.1rem}.table-controls{flex-direction:column;align-items:flex-start;gap:1rem}}
