@import"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700&display=swap";:root{--primary: #1e40af;--primary-light: #3b82f6;--primary-bg: #eff6ff;--cta: #f59e0b;--cta-hover: #d97706;--bg: #f8fafc;--surface: #ffffff;--text: #1e293b;--text-secondary: #64748b;--text-muted: #94a3b8;--border: #e2e8f0;--border-hover: #cbd5e1;--success: #059669;--radius: 10px;--radius-lg: 16px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .06);--shadow-md: 0 4px 12px rgba(30, 64, 175, .08);--shadow-lg: 0 8px 24px rgba(30, 64, 175, .12);--transition: .2s ease;--max-width: 1200px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Plus Jakarta Sans,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);line-height:1.7;-webkit-font-smoothing:antialiased}a{color:var(--primary);text-decoration:none}a:hover{color:var(--primary-light)}.skip-link{position:absolute;top:-100%;left:1rem;padding:.5rem 1rem;background:var(--primary);color:#fff;border-radius:var(--radius);z-index:9999;font-weight:600}.skip-link:focus{top:1rem}.navbar{background:var(--surface);border-bottom:1px solid var(--border);padding:0 2rem;height:56px;display:flex;align-items:center;gap:1.25rem;position:sticky;top:0;z-index:100;max-width:100%}.logo{font-size:1.15rem;font-weight:700;color:var(--primary);white-space:nowrap}.nav-desc{color:var(--text-secondary);font-size:.8rem;display:none}@media(min-width:640px){.nav-desc{display:inline}}.nav-stats{margin-left:auto;font-size:.8rem;color:var(--text-muted);white-space:nowrap}.container{max-width:var(--max-width);margin:0 auto;padding:1.5rem}.hero{text-align:center;padding:2.5rem 1rem 1.5rem}.hero h1{font-size:1.75rem;font-weight:700;letter-spacing:-.02em;color:var(--text);margin-bottom:.5rem}.hero p{color:var(--text-secondary);font-size:.95rem;max-width:540px;margin:0 auto}.filters{display:flex;gap:.6rem;margin-bottom:1.25rem;flex-wrap:wrap}.search-input{flex:1;min-width:220px;padding:.65rem 1rem;border:2px solid var(--border);border-radius:var(--radius);font-size:.95rem;font-family:inherit;transition:border-color var(--transition);background:var(--surface)}.search-input:focus{outline:none;border-color:var(--primary-light);box-shadow:0 0 0 3px #3b82f626}.search-input::placeholder{color:var(--text-muted)}.filters select{padding:.65rem .75rem;border:2px solid var(--border);border-radius:var(--radius);background:var(--surface);font-size:.85rem;font-family:inherit;cursor:pointer;transition:border-color var(--transition)}.filters select:focus{outline:none;border-color:var(--primary-light);box-shadow:0 0 0 3px #3b82f626}.result-count{color:var(--text-secondary);font-size:.85rem;margin-bottom:1rem;font-weight:500}.case-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1rem}.case-card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.25rem 1.5rem;color:var(--text);cursor:pointer;transition:border-color var(--transition),box-shadow var(--transition),transform var(--transition)}.case-card:hover{border-color:var(--primary-light);box-shadow:var(--shadow-md);transform:translateY(-2px);color:var(--text)}.case-card:focus-visible{outline:3px solid var(--primary-light);outline-offset:2px}.card-header{display:flex;gap:.4rem;margin-bottom:.6rem;flex-wrap:wrap;align-items:center}.case-card h3{font-size:1.05rem;font-weight:600;margin-bottom:.35rem;line-height:1.4}.overview{color:var(--text-secondary);font-size:.84rem;line-height:1.6;margin-bottom:.75rem;flex:1}.badge{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:6px;font-size:.72rem;font-weight:600;white-space:nowrap}.badge--grandprix{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff}.badge--meigara{background:var(--primary);color:#fff}.badge--selection{background:var(--success);color:#fff}.badge--default{background:var(--primary-bg);color:var(--primary)}.industry-tag{display:inline-flex;align-items:center;background:#f1f5f9;color:var(--text-secondary);padding:.2rem .55rem;border-radius:6px;font-size:.72rem;font-weight:500}.source-label{display:inline-block;color:var(--text-muted);font-size:.72rem;margin-top:auto;padding-top:.5rem}.tech-tags{display:flex;flex-wrap:wrap;gap:.3rem}.tech-tag{display:inline-flex;align-items:center;background:var(--primary-bg);color:var(--primary);padding:.2rem .5rem;border-radius:6px;font-size:.72rem;font-weight:500}.case-detail{max-width:860px;margin:0 auto}.back-link{display:inline-flex;align-items:center;gap:.3rem;margin-bottom:1.25rem;font-size:.9rem;font-weight:500;color:var(--text-secondary);transition:color var(--transition)}.back-link:hover{color:var(--primary)}.detail-header{margin-bottom:2rem}.detail-header .badges{display:flex;gap:.5rem;margin-bottom:.75rem;flex-wrap:wrap}.detail-header h1{font-size:1.6rem;font-weight:700;letter-spacing:-.01em;line-height:1.3}.detail-grid section{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:1.5rem;margin-bottom:1rem}.detail-grid h2{font-size:1rem;font-weight:600;color:var(--primary);margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:2px solid var(--primary-bg)}.detail-grid p{font-size:.9rem;line-height:1.75}.detail-grid table{width:100%;border-collapse:collapse}.detail-grid th,.detail-grid td{text-align:left;padding:.6rem .75rem;border-bottom:1px solid var(--border);font-size:.88rem}.detail-grid th{width:28%;color:var(--text-secondary);font-weight:500;white-space:nowrap}.detail-grid td a{word-break:break-all}.detail-grid ul{padding-left:1.25rem}.detail-grid li{margin-bottom:.35rem;font-size:.88rem;line-height:1.7}.reviewer blockquote{background:var(--primary-bg);border-left:4px solid var(--primary);padding:1rem 1.25rem;border-radius:0 var(--radius) var(--radius) 0;font-size:.88rem;color:var(--text-secondary);line-height:1.75}.detail-footer{text-align:center;color:var(--text-muted);font-size:.78rem;padding:2rem 0 1rem}.not-found{text-align:center;padding:4rem 1rem}.not-found h2{margin-bottom:1rem}.disclaimer{background:#fffbeb;border:1px solid #fde68a;border-radius:var(--radius);padding:.75rem 1rem;font-size:.78rem;color:#92400e;margin-top:1rem;line-height:1.6}.app-footer{text-align:center;padding:1.5rem;color:var(--text-muted);font-size:.78rem;border-top:1px solid var(--border);margin-top:2rem}.app-footer p+p{margin-top:.25rem}@media(max-width:640px){.navbar{padding:0 1rem}.container{padding:1rem}.case-grid{grid-template-columns:1fr}.hero{padding:1.5rem .5rem 1rem}.hero h1{font-size:1.35rem}.detail-header h1{font-size:1.3rem}.detail-grid th{width:35%}}@media(prefers-reduced-motion:reduce){*{transition:none!important;transform:none!important}}
