*{box-sizing:border-box}body{margin:0;background:#f2f2f2;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Inter,sans-serif;color:#111}.app{max-width:1100px;margin:0 auto;padding:32px 24px 64px}.app-title{font-size:28px;font-weight:700;margin-bottom:20px}.category-filter{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.pill{display:inline-block;padding:6px 14px;border-radius:999px;background:#e5e5e5;color:#111;border:none;font-size:13px;cursor:pointer}.pill-active{background:#111;color:#fff}.pill-tag{cursor:default;margin:2px}.item-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px}.item-card{background:#fff;border-radius:20px;box-shadow:0 4px 16px #00000014;overflow:hidden;cursor:pointer;transition:box-shadow .2s ease}.item-card:hover{box-shadow:0 8px 24px #00000024}.item-card-new{animation:highlight-fade 2s ease}@keyframes highlight-fade{0%{box-shadow:0 0 0 3px #111}to{box-shadow:0 4px 16px #00000014}}.item-card-thumbnail{width:100%;aspect-ratio:1 / 1;object-fit:cover;display:block}.item-card-body{padding:12px 14px 16px}.item-card-body h3{font-size:15px;margin:0 0 8px}.empty-state{text-align:center;color:#666;padding:64px 0}.loading-skeleton{padding:64px 24px;text-align:center;color:#666}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;padding:24px}.modal-panel{background:#fff;border-radius:24px;max-width:480px;width:100%;max-height:90vh;overflow-y:auto;padding:24px;position:relative;box-shadow:0 16px 48px #0003}.modal-close{position:absolute;top:16px;right:16px;background:#e5e5e5;border:none;border-radius:50%;width:32px;height:32px;font-size:18px;cursor:pointer}.modal-thumbnail{width:100%;border-radius:16px;margin-bottom:16px;aspect-ratio:1 / 1;object-fit:cover}.modal-summary{color:#444;margin:12px 0}.modal-tags{margin-bottom:16px}.modal-source-link{display:inline-block;margin-top:16px;color:#111;font-weight:600}.structured-data{margin:0}.structured-data-row{margin-bottom:10px}.structured-data-row dt{font-weight:600;font-size:13px;color:#666}.structured-data-row dd{margin:2px 0 0}.structured-data-row ul{margin:4px 0 0;padding-left:18px}.structured-data-nested{margin:4px 0 0}.error-state{text-align:center;color:#666;padding:64px 0}
