:root{color-scheme:light;font-family:Chakra Petch,system-ui,sans-serif;line-height:1.5;font-weight:400;background:radial-gradient(circle at top right,rgba(124,58,237,.14),transparent 24%),radial-gradient(circle at top left,rgba(245,158,11,.1),transparent 22%),linear-gradient(180deg,#f9fbff,#f3f6fc);color:#172033;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--bg: #f3f6fc;--bg-elevated: #ffffff;--bg-soft: rgba(255, 255, 255, .9);--line: rgba(123, 142, 177, .22);--line-strong: rgba(124, 58, 237, .34);--text: #172033;--muted: #5d6b86;--accent: #7c3aed;--accent-soft: rgba(124, 58, 237, .1);--gold: #d97706;--emerald: #059669;--rose: #e11d48;--shadow: 0 18px 42px rgba(73, 89, 120, .12)}*{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--bg);color:var(--text)}::selection{background:#7c3aed2e}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}.app-shell{width:min(1440px,calc(100vw - 32px));margin:0 auto;padding:24px 0 40px}.site-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:0 0 20px}.site-header.compact{padding-bottom:12px}.brand-mark{display:inline-flex;align-items:center;gap:10px;font-family:Russo One,sans-serif;font-size:1.1rem;letter-spacing:0}.brand-subtitle{margin:8px 0 0;color:var(--muted);font-size:.95rem}.header-meta{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.header-pill,.version-chip,.status-badge,.pill,.suggestion-chip,.secondary-button.compact,.primary-button.compact{min-height:36px}.header-pill{display:inline-flex;align-items:center;gap:8px;padding:0 12px;border-radius:8px;border:1px solid var(--line);background:#ffffffdb;color:var(--text)}.header-pill.subtle{color:var(--muted)}.catalog-main,.detail-main{display:grid;gap:24px}.catalog-workspace{display:grid;grid-template-columns:minmax(280px,320px) minmax(0,1fr);gap:24px;align-items:start}.hero-band,.control-band,.result-band,.detail-hero,.detail-grid,.sidebar-panel,.plugin-card,.featured-shot,.stat-tile,.status-panel,.empty-state,.download-item,.related-item,.gallery-shot{border:1px solid var(--line);background:linear-gradient(180deg,#fffffff5,#f3f6fcfa);box-shadow:var(--shadow)}.hero-band{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:16px;padding:22px;border-radius:8px;overflow:hidden}.eyebrow{display:inline-flex;align-items:center;min-height:30px;padding:0 10px;border-radius:8px;border:1px solid rgba(217,119,6,.24);background:#f59e0b1f;color:#9a4d00;font-size:.88rem}.hero-copy h1,.detail-copy h1{margin:14px 0 10px;font-family:Russo One,sans-serif;font-size:clamp(2rem,3vw,3rem);line-height:1.1}.hero-copy p,.detail-copy p,.muted-copy,.empty-state p,.status-panel p,.card-body p,.result-header p{color:var(--muted)}.hero-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.stat-tile{display:flex;align-items:center;gap:12px;min-height:78px;padding:14px;border-radius:8px}.stat-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:8px;background:var(--accent-soft);color:var(--accent)}.stat-tile strong,.result-header h2,.content-section h2,.sidebar-panel h2,.empty-state h3,.status-panel h1{display:block;margin:0;font-size:1.15rem}.stat-tile span{display:block;color:var(--muted);font-size:.88rem}.hero-featured{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.featured-shot{position:relative;padding:0;border-radius:8px;overflow:hidden;min-height:152px;transition:transform .22s ease,border-color .22s ease}.featured-shot:nth-child(1){grid-row:span 2;min-height:100%}.featured-shot img,.card-media img,.detail-cover img,.gallery-shot img{width:100%;height:100%;object-fit:cover}.featured-shot:after,.card-media:after,.detail-cover:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,transparent 34%,rgba(23,32,51,.84));pointer-events:none}.featured-shot:hover,.plugin-card:hover,.download-item:hover,.related-item:hover,.gallery-shot:hover{transform:translateY(-2px);border-color:var(--line-strong)}.featured-meta,.card-meta,.result-inline-stats,.meta-cluster,.card-tags,.card-actions,.hero-actions,.pill-row,.suggestion-strip,.download-list,.related-list,.control-row,.header-meta{display:flex;flex-wrap:wrap}.featured-meta{position:absolute;left:14px;right:14px;bottom:14px;z-index:1;flex-direction:column;gap:4px;text-align:left}.featured-meta span{color:#ffffffd1;font-size:.82rem}.card-meta span{color:var(--muted);font-size:.82rem}.featured-meta strong{font-size:1rem;color:#fff}.control-band{display:grid;gap:18px;padding:20px 22px 22px;border-radius:8px}.control-sidebar{position:sticky;top:20px;max-height:calc(100vh - 40px);overflow:auto;align-self:start}.control-sidebar .control-row{flex-direction:column}.control-sidebar .suggestion-strip{display:grid;gap:8px}.control-sidebar .suggestion-chip{justify-content:space-between;min-height:42px}.search-stack{display:grid;gap:10px}.control-label{display:inline-flex;align-items:center;gap:8px;color:var(--text);font-size:.95rem}.search-box{display:flex;align-items:center;gap:12px;min-height:54px;padding:0 16px;border-radius:8px;border:1px solid var(--line);background:#fffffff0;box-shadow:inset 0 1px #ffffffb3}.search-box:focus-within{border-color:var(--line-strong);box-shadow:0 0 0 4px #7c3aed1a,inset 0 1px #ffffffb3}.search-box input{width:100%;border:0;background:transparent;color:var(--text);outline:none}.search-box input::placeholder{color:var(--muted)}.suggestion-strip{gap:10px}.suggestion-chip{display:inline-flex;align-items:center;gap:10px;padding:0 12px;border-radius:8px;border:1px solid var(--line);background:#ffffffeb;color:var(--text);transition:border-color .2s ease,background-color .2s ease}.suggestion-chip small,.pill small,.download-item span,.related-item small{color:var(--muted)}.suggestion-chip:hover,.pill:hover{border-color:var(--line-strong);background:#f3effff5}.filter-block{display:grid;gap:14px}.sidebar-summary{display:grid;gap:10px;padding-top:2px}.sidebar-summary-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid var(--line);border-radius:8px;background:#ffffffc7}.sidebar-summary-row strong{font-size:1rem;color:var(--text)}.sidebar-summary-row span{color:var(--muted);font-size:.9rem}.control-row{gap:12px;align-items:flex-start}.pill-row{gap:10px}.pill{display:inline-flex;align-items:center;gap:8px;padding:0 12px;border-radius:8px;border:1px solid var(--line);background:#ffffffe6;color:var(--text);transition:all .22s ease}.pill.active,.status-badge.available,.status-badge.mixed{border-color:#7c3aed4d;background:#7c3aed1f;color:#5b21b6}.status-badge.external{border-color:#d977063d;background:#f59e0b1f;color:#9a4d00}.status-badge.missing{border-color:#94a3b847;background:#e2e8f0bd;color:#52607a}.result-band{padding:22px;border-radius:8px}.result-header,.detail-topbar,.detail-grid,.card-footer{display:flex;justify-content:space-between;gap:16px}.result-inline-stats{gap:16px;color:var(--muted);align-items:center}.plugin-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-top:18px}.pagination-shell{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.pagination-summary{margin:0;color:var(--muted);font-size:.92rem}.pagination-controls{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px}.page-button,.page-ellipsis{min-width:40px;min-height:40px;border-radius:8px}.page-button{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:0 12px;border:1px solid var(--line);background:#fffffff0;color:var(--text);transition:border-color .2s ease,background-color .2s ease,transform .2s ease}.page-button:hover:not(:disabled){border-color:var(--line-strong);background:#f3effff5;transform:translateY(-1px)}.page-button.active{border-color:#7c3aed4d;background:#7c3aed1f;color:#5b21b6;font-weight:600}.page-button:disabled{opacity:.42;cursor:not-allowed;transform:none}.page-button.nav{min-width:42px;padding:0 10px}.page-ellipsis{display:inline-flex;align-items:center;justify-content:center;color:var(--muted)}.plugin-card{display:grid;grid-template-rows:auto 1fr;min-height:100%;border-radius:8px;overflow:hidden}.card-media{position:relative;aspect-ratio:16 / 9;background:linear-gradient(180deg,#f1f5f9f5,#e2e8f0e6)}.card-body{display:grid;grid-template-rows:auto auto minmax(78px,1fr) auto;gap:12px;padding:16px;height:100%;align-content:start}.card-meta{justify-content:space-between;align-items:center;gap:10px}.card-meta>span:first-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-title{margin:0;font-size:1.05rem}.card-title a{display:-webkit-box;overflow:hidden;color:inherit;text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:2}.card-summary{margin:0;display:-webkit-box;overflow:hidden;min-height:4.8em;color:var(--muted);text-overflow:ellipsis;-webkit-box-orient:vertical;-webkit-line-clamp:3}.card-footer{display:grid;gap:12px;margin-top:auto}.card-tags,.card-actions,.hero-actions,.download-list,.related-list{gap:10px}.card-tags{align-items:center;min-height:32px}.card-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}.card-actions.single{grid-template-columns:1fr}.card-actions>*{width:100%;min-width:0}.version-chip,.status-badge{display:inline-flex;align-items:center;padding:0 10px;border-radius:8px;border:1px solid var(--line);background:#ffffffeb;color:var(--text);font-size:.84rem;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.version-chip.subtle{color:var(--muted)}.primary-button,.secondary-button,.ghost-link,.back-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:42px;padding:0 14px;border-radius:8px;border:1px solid transparent;white-space:nowrap;transition:transform .2s ease,border-color .2s ease,background-color .2s ease}.primary-button{background:linear-gradient(135deg,#8b5cf6eb,#4f46e5eb);color:#f7f4ff;box-shadow:0 10px 22px #7c3aed33}.primary-button:hover,.secondary-button:hover,.ghost-link:hover,.back-button:hover{transform:translateY(-1px)}.secondary-button,.back-button,.ghost-link{border-color:var(--line);background:#fffffff0;color:var(--text)}a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid rgba(124,58,237,.45);outline-offset:2px}.secondary-button.compact,.primary-button.compact{min-height:36px;padding:0 12px}.empty-state,.status-panel{display:grid;justify-items:center;gap:12px;padding:40px 24px;border-radius:8px;text-align:center}.status-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.loading-ring{width:28px;height:28px;border-radius:50%;border:3px solid rgba(124,58,237,.18);border-top-color:var(--accent);animation:spin 1s linear infinite}.detail-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,480px);gap:20px;padding:24px;border-radius:8px}.detail-cover{position:relative;min-height:260px;overflow:hidden;border-radius:8px;border:1px solid var(--line)}.meta-cluster{gap:10px;margin-top:14px}.hero-actions{margin-top:18px}.detail-grid{align-items:flex-start}.detail-body{display:grid;gap:18px;flex:1 1 auto;min-width:0}.detail-sidebar{display:grid;gap:16px;width:min(360px,100%);flex:0 0 min(360px,100%)}.sidebar-panel,.content-section{padding:20px;border-radius:8px;min-width:0}.sidebar-panel h2,.content-section h2{margin-bottom:16px}.download-list,.related-list,.gallery-grid{display:grid;gap:12px}.download-item,.related-item{align-items:center;min-height:68px;padding:14px;border-radius:8px;transition:transform .22s ease,border-color .22s ease}.download-item{display:flex;justify-content:space-between;gap:12px}.download-item>div{min-width:0}.download-item strong,.related-item span{display:block}.download-item strong,.download-item span,.note-list li,.markdown-paragraph{overflow-wrap:anywhere;word-break:break-word}.note-list,.markdown-list{margin:0;padding-left:20px;color:var(--text)}.markdown-body{display:grid;gap:12px}.markdown-heading{margin:8px 0 0;font-size:1rem}.markdown-paragraph{margin:0;color:#334155}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-shot{aspect-ratio:16 / 10;border-radius:8px;overflow:hidden}.image-fallback{display:grid;place-items:center;width:100%;height:100%;min-height:100%;background:linear-gradient(135deg,#7c3aed24,#ffffffe0),#fffffff5;color:var(--accent)}.image-fallback.large{gap:8px;min-height:260px}@media(max-width:1180px){.catalog-workspace,.hero-band,.detail-hero,.detail-grid{grid-template-columns:1fr}.control-sidebar{position:static;top:auto;max-height:none;overflow:visible}.control-sidebar .control-row{flex-direction:row}.control-sidebar .suggestion-strip{display:flex}.control-sidebar .suggestion-chip{justify-content:flex-start}.detail-sidebar{width:100%;flex-basis:auto}}@media(max-width:760px){.app-shell{width:min(100vw - 20px,100%);padding-top:16px}.site-header,.result-header,.detail-topbar,.card-footer,.sidebar-summary-row{flex-direction:column}.hero-band,.control-band,.result-band,.detail-hero,.sidebar-panel,.content-section{padding:16px}.hero-stats,.gallery-grid{grid-template-columns:1fr}.pagination-shell,.pagination-controls{align-items:flex-start;justify-content:flex-start}.pagination-shell{flex-direction:column}.sidebar-summary-row{align-items:flex-start}.hero-featured{grid-template-columns:1fr}.featured-shot:nth-child(1){grid-row:span 1;min-height:220px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}@keyframes spin{to{transform:rotate(360deg)}}
