:root{--foreground:#111827;--muted:#6b7280;--border:#d1d5db;--panel:#f3f4f6;--accent:#2563eb}*{box-sizing:border-box}body{color:var(--foreground);-webkit-font-smoothing:antialiased;background:#fff;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:14px;line-height:1.5}button,input,select{font:inherit}button,summary,select{cursor:pointer}.demo-shell{width:min(100% - 32px,960px);margin:0 auto;padding:32px 0 48px}.demo-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:20px;display:flex}.demo-header h1{margin:0;font-size:20px;line-height:1.3}.demo-header p{color:var(--muted);margin:4px 0 0;font-size:12px}.demo-header a,.about-panel a{color:var(--foreground);border-bottom:1px solid var(--foreground);text-decoration:none}.demo-header a:hover{color:var(--accent);border-color:var(--accent)}.about-panel{border:1px dashed var(--border);color:#374151;margin-bottom:20px;padding:16px}.about-panel>p{margin:0 0 10px}.about-panel details{margin-bottom:12px}.about-panel summary{width:fit-content;font-weight:600}.about-panel details p{background:var(--panel);color:#4b5563;margin:10px 0 0;padding:12px}.connection-status{color:var(--muted);align-items:center;gap:7px;font-size:12px;display:flex}.connection-status>span{background:#f59e0b;border-radius:50%;width:7px;height:7px}.connection-status>span.connected{background:#16a34a}.movie-search{height:40px;margin-bottom:14px;display:flex;position:relative}.movie-search svg{z-index:1;width:18px;height:18px;color:var(--muted);position:absolute;top:11px;left:11px}.movie-search input{border:1px solid var(--border);background:#fff;border-right:0;border-radius:4px 0 0 4px;outline:none;width:100%;min-width:0;padding:0 12px 0 38px}.movie-search input:focus{border-color:var(--foreground)}.movie-search button,.load-more button{border:1px solid var(--foreground);color:#fff;background:var(--foreground);font-weight:600}.movie-search button{border-radius:0 4px 4px 0;padding:0 18px}.movie-search button:hover,.load-more button:hover:not(:disabled){background:#374151}.results-toolbar{color:var(--muted);justify-content:space-between;align-items:center;gap:20px;margin-bottom:16px;font-size:12px;display:flex}.results-toolbar p{margin:0}.results-toolbar label{align-items:center;gap:8px;display:flex}.results-toolbar select{border:1px solid var(--border);height:32px;color:var(--foreground);background:#fff;border-radius:4px;padding:0 28px 0 9px}.movie-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:20px 12px;display:grid}.movie-card{min-width:0}.poster{aspect-ratio:2/3;border:1px solid var(--border);border-radius:3px;width:100%;overflow:hidden}.poster img{object-fit:cover;width:100%;height:100%;display:block}.poster-fallback{color:#fff;text-align:center;place-items:center;width:100%;height:100%;padding:12px;font-size:12px;display:grid}.movie-details{padding-top:8px}.movie-details h2{text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:12px;font-weight:600;line-height:1.4;overflow:hidden}.movie-details p{color:var(--muted);align-items:center;gap:5px;margin:3px 0 0;font-size:11px;display:flex}.rating{align-items:center;gap:3px;display:inline-flex}.rating svg{color:#d97706;width:11px;height:11px}.movie-skeleton span,.movie-skeleton i{background:var(--panel);animation:1.4s ease-in-out infinite pulse;display:block}.movie-skeleton span{aspect-ratio:2/3;border-radius:3px;width:100%}.movie-skeleton i{width:75%;height:12px;margin-top:8px}@keyframes pulse{50%{opacity:.5}}.load-more{justify-content:center;padding:28px 0 8px;display:flex}.load-more button{border-radius:4px;min-width:230px;padding:9px 14px}.load-more button:disabled{cursor:wait;opacity:.6}.message{border:1px dashed var(--border);color:var(--muted);text-align:center;padding:24px}.error-message{color:#991b1b;margin-bottom:16px}.error-message button{color:inherit;background:0 0;border:0;border-bottom:1px solid;padding:0}footer{color:#9ca3af;border-top:1px solid #e5e7eb;margin-top:36px;padding-top:16px;font-size:10px}@media (max-width:840px){.movie-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width:560px){.demo-shell{padding-top:20px}.demo-header{align-items:end}.movie-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px 10px}}@media (max-width:380px){.movie-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){*,:before,:after{animation-duration:.01ms!important;animation-iteration-count:1!important}}
