.theme-main{max-width:1180px;margin:auto;padding:48px 24px;color:#342441}.theme-intro{max-width:760px;margin:12px 0 36px}.theme-intro h1{font-size:clamp(30px,5vw,52px);line-height:1.13;margin:14px 0}.theme-intro p{line-height:1.7}.theme-eyebrow{color:#8354a8;text-transform:uppercase;letter-spacing:.15em;font-size:12px;font-weight:800}.theme-navigation{display:flex;gap:24px;flex-wrap:wrap}.theme-navigation a,.theme-main a,.theme-footer a{color:#72479b}.theme-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.theme-tile{display:block;text-decoration:none;background:#fffaf5;border:1px solid #e5d7ed;border-radius:24px;padding:24px;transition:transform .2s}.theme-tile:hover{transform:translateY(-4px)}.theme-tile h2{font-size:21px}.theme-tile p{color:#6c5b76;line-height:1.65;min-height:54px}.theme-preview{height:200px;display:flex;align-items:center;justify-content:center;overflow:hidden;background:#eee3f6;border-radius:16px}.theme-preview img{width:30%;height:auto;max-height:180px;object-fit:contain;transform:rotate(-9deg);filter:drop-shadow(0 5px 5px #38204333)}.theme-preview img:nth-child(2){transform:rotate(0);z-index:1}.theme-preview img:nth-child(3){transform:rotate(9deg)}.theme-filters{display:flex;flex-wrap:wrap;gap:16px;align-items:end;padding:22px;border-radius:20px;background:#f0e6f5}.theme-filters label{display:grid;gap:8px;font-size:14px;flex:1;min-width:150px}.theme-filters input,.theme-filters select{background:white;color:#342441;width:100%;border:1px solid #d4bcdf;border-radius:10px;padding:12px;min-height:44px}.theme-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;margin:26px 0}.theme-card{position:relative;background:#fffaf5;border:1px solid #e5d7ed;border-radius:18px;padding:16px;min-width:0}.theme-art{display:block}.theme-art img{display:block;width:100%;height:auto;aspect-ratio:245/342;object-fit:contain}.theme-card h2{font-size:18px;margin-bottom:8px}.theme-card p{font-size:13px;line-height:1.6}.theme-card summary{cursor:pointer;font-size:13px;color:#72479b;padding:12px 0}.theme-favorite{position:absolute;top:20px;right:20px;border-radius:50%;background:white;color:#784aa5;border:1px solid #dbc5e5;font-size:25px;min-width:44px;min-height:44px;cursor:pointer;z-index:1}.theme-detail{display:inline-block;font-size:13px;margin-top:12px}.theme-note{line-height:1.7;color:#766380}.theme-empty{background:#f0e6f5;padding:32px;border-radius:18px}.theme-pagination{display:flex;gap:14px}.theme-pagination a{padding:12px 18px;border:1px solid #d4bcdf;border-radius:10px}.theme-pagination [aria-current]{background:#7543a0;color:white}.theme-footer{padding:30px;text-align:center;border-top:1px solid #e5d7ed}#themeZoom{max-width:620px;width:90%;max-height:92vh;border:1px solid #d4bcdf;border-radius:20px;background:#fffaf5;padding:28px;color:#342441}#themeZoom::backdrop{background:#21162ac9}#themeZoom [data-close]{float:right;font-size:26px;width:44px;height:44px;border:0;background:#eee3f6;border-radius:50%;cursor:pointer}#themeZoom img{display:block;max-height:60vh;max-width:100%;width:auto;margin:0 auto}#themeZoomContent p{line-height:1.7}.theme-image-error{background:#eee3f6}.theme-main a:focus-visible,.theme-main button:focus-visible{outline:3px solid #9e70c0;outline-offset:4px}@media(max-width:900px){.theme-tiles{grid-template-columns:repeat(2,1fr)}.theme-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.theme-navigation{gap:12px;font-size:13px}}@media(max-width:600px){.theme-main{padding:28px 16px}.theme-tiles{grid-template-columns:1fr}.theme-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.theme-card{padding:10px}.theme-card h2{font-size:16px}.theme-preview{height:230px}.theme-filters label{min-width:125px}.theme-navigation{margin-top:12px}.topbar{flex-wrap:wrap}.theme-favorite{top:12px;right:12px}}
.theme-pagination{flex-wrap:wrap}.theme-card h2,.theme-card p,.theme-note{overflow-wrap:anywhere}#themeZoom{overflow:auto}#themeZoom [data-close]{position:sticky;top:0;z-index:2}#themeZoom img{height:auto;aspect-ratio:245/342;object-fit:contain}@media(max-width:600px){#themeZoom{padding:16px}#themeZoom img{max-height:52vh}.theme-pagination{gap:8px}.theme-pagination a{min-width:44px;text-align:center}}
#themeZoom [data-close]{color:#5a3378;min-width:44px;min-height:44px}
.theme-card-type,.theme-scene-tag{display:inline-block;margin:0 6px 6px 0;line-height:1.5}
