/* Stage 30: search-first home and accessible server-rendered directory. Scoped to dream. */
.psdream .psd30-section{box-sizing:border-box;min-width:0;margin:25px 0;padding:20px 21px;border:1px solid #e7e1f0;border-radius:16px;background:#fff;box-shadow:0 5px 18px rgba(33,27,71,.045)}
.psdream .psd30-section h2{font-size:clamp(1.03rem,2.4vw,1.38rem);line-height:1.7;margin:0;color:#32295f}
.psdream .psd30-section p{color:#685e7b;font-size:.89rem;line-height:2.05;margin:5px 0 13px}
.psdream .psd30-section-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px}
.psdream .psd30-section-head a,.psdream .psd30-category-summary a{font-size:.84rem;text-decoration:none;color:#53428a;font-weight:750}
.psdream .psd30-hero{min-height:initial;overflow:visible;padding:38px 28px 29px;isolation:initial}
.psdream .psd30-hero h2{max-width:760px}
.psdream .psd30-hero p{max-width:760px}
.psdream .psd30-suggest-wrap{position:relative;max-width:730px;min-width:0;z-index:4}
.psdream .psd30-hero .psd-entry{max-width:100%;margin:0}
.psdream .psd30-suggest-wrap>.psd-live-results{box-sizing:border-box;position:absolute!important;top:100%;right:0;left:0;max-width:100%;width:100%;margin:6px 0 0!important;padding:6px;z-index:10;overflow-y:auto;max-height:290px;background:#fff;color:#3b3069}
.psdream .psd30-suggest-wrap>.psd-live-results[hidden]{display:none!important}
.psdream .psd30-categories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.psdream .psd30-category{display:flex;gap:10px;align-items:flex-start;min-width:0;min-height:91px;box-sizing:border-box;text-decoration:none!important;background:#faf8ff;border:1px solid #e9e2f5;border-radius:11px;padding:13px 12px;color:#392e64!important;overflow-wrap:anywhere;transition:background .15s,border-color .15s}
.psdream .psd30-category:hover,.psdream .psd30-category:focus-visible,.psdream .psd30-category.psd30-active{border-color:#b9a7e2;background:#f0eafa;outline-offset:2px}
.psdream .psd30-category-icon{display:inline-flex;align-items:center;justify-content:center;min-width:30px;min-height:30px;border-radius:9px;background:#eee6fd;color:#5c409c;font-size:1.12rem;flex:none}
.psdream .psd30-category strong{display:block;font-size:.86rem;line-height:1.7}
.psdream .psd30-category small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin:3px 0 0;font-size:.7rem;line-height:1.65;color:#716888}
.psdream .psd30-popular{display:flex;flex-wrap:wrap;gap:9px}
.psdream .psd30-popular a{display:inline-flex;align-items:center;gap:9px;background:#f6f2fd;border:1px solid #e1d7f3;border-radius:99px;color:#514180!important;text-decoration:none!important;padding:9px 13px;font-size:.87rem;font-weight:700}
.psdream .psd30-popular span{font-size:.8rem;color:#8066b0}
.psdream .psd30-popular a:hover{background:#eae1fa}
.psdream .psd30-textlinks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px}
.psdream .psd30-textlinks a{display:block;text-decoration:none!important;color:#4f417e!important;background:#faf9ff;border:1px solid #eee8f7;border-radius:9px;padding:10px 12px;font-size:.86rem;line-height:1.85;overflow-wrap:anywhere}
.psdream .psd30-textlinks a:hover{background:#efebf9}
.psdream .psd30-browse-cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;background:#f9f6ff}
.psdream .psd30-browse-cta p{margin-bottom:0}
.psdream .psd30-cta-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.psdream .psd30-cta-actions a{text-decoration:none!important;font-size:.85rem;color:#53418a}
.psdream .psd30-cta-actions .psd30-cta{background:#614a9a;color:#fff!important;font-weight:750;border-radius:9px;padding:10px 15px}
.psdream .psd30-tools{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px}
.psdream .psd30-tools a{min-width:0;display:flex;flex-direction:column;gap:4px;border-radius:11px;border:1px solid #eee8f7;background:#fbfaff;padding:14px;text-decoration:none!important}
.psdream .psd30-tools strong{font-size:.95rem;color:#443379}
.psdream .psd30-tools span{font-size:.78rem;color:#6c637b;line-height:1.9}
.psdream .psd30-search-panel{background:linear-gradient(125deg,#f6f1ff,#fff)}
.psdream .psd30-search-form{display:flex;gap:7px;max-width:100%;min-width:0;background:#fff;border-radius:10px;border:1px solid #e4dbf1;padding:7px}
.psdream .psd30-search-form input{flex:1;min-width:0;font:inherit;font-size:.91rem;padding:9px 10px;border:0;outline-offset:-1px;color:#2a2751}
.psdream .psd30-search-form button,.psdream .psd30-sort button{border:0;border-radius:8px;background:#65509d;color:#fff;padding:9px 16px;font:inherit;cursor:pointer;font-weight:700}
.psdream .psd30-sort{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:4px 0 13px;padding:9px 0 12px;border-bottom:1px solid #eee9f4}
.psdream .psd30-sort label{font-size:.83rem;font-weight:750;color:#483b6c}
.psdream .psd30-sort select{min-width:0;max-width:100%;padding:8px 10px;border:1px solid #d9ccea;border-radius:8px;font:inherit;color:#40345e;background:white}
.psdream .psd30-letters{margin:0 0 20px;border:1px solid #e9e1f4;border-radius:9px;background:#fcfbff;padding:10px 13px}
.psdream .psd30-letters summary{font-size:.86rem;font-weight:720;color:#534085;cursor:pointer}
.psdream .psd30-letters nav{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}
.psdream .psd30-letters nav a{min-width:34px;text-align:center;color:#533f88;text-decoration:none;border-radius:8px;border:1px solid #e5dcf3;background:white;padding:6px 9px;font-weight:600}
.psdream .psd30-letters nav a:hover,.psdream .psd30-letters nav a[aria-current="page"]{background:#eee6fa}
.psdream .psd30-pagination{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:7px;margin:25px 0 9px}
.psdream .psd30-pagination a{min-width:37px;padding:8px 9px;border-radius:8px;background:#f4effa;color:#514080;text-align:center;text-decoration:none!important;font-weight:700;border:1px solid #e5dcf2}
.psdream .psd30-pagination a[aria-current="page"]{background:#60478d;color:white;border-color:#60478d}
.psdream .psd30-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.psdream .psd30-list-item{min-width:0;position:relative;display:flex;flex-direction:column;gap:5px;background:#faf9ff;border:1px solid #eee9f5;border-radius:10px;padding:12px;text-decoration:none!important;overflow-wrap:anywhere;color:#45336e!important}
.psdream .psd30-list-item strong{font-size:.91rem}
.psdream .psd30-list-item small{line-height:1.7;color:#766d86;font-size:.78rem}
.psdream .psd30-list-item span{position:absolute;left:10px;top:10px;color:#75619b}
.psdream .psd30-article-path{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin:0 0 12px;font-size:.8rem;line-height:1.9;color:#786f85}
.psdream .psd30-article-path a{color:#5d498b;text-decoration:none}
.psdream .psd30-category-intro{background:linear-gradient(135deg,#fff,#f9f7fe)}
.psdream .psd30-category-summary{display:flex;flex-wrap:wrap;gap:18px;align-items:center;font-size:.85rem;color:#59467b}
.psdream .psd30-empty{padding:22px;background:#faf8ff;border-radius:12px;text-align:center}
.psdream .psd30-empty h3{font-size:1.02rem;margin:0}
.psdream .psd30-empty a{color:#58418b}
@media(min-width:1080px){.psdream .psd30-categories{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:850px){.psdream .psd30-categories{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){
 .psdream .psd30-section{padding:14px 12px;margin:17px 0}
 .psdream .psd30-hero{padding:28px 17px 24px}
 .psdream .psd30-categories{grid-template-columns:1fr;gap:8px}
 .psdream .psd30-category{min-height:initial;padding:10px}
 .psdream .psd30-textlinks,.psdream .psd30-tools,.psdream .psd30-list{grid-template-columns:1fr}
 .psdream .psd30-search-form{flex-direction:column}
 .psdream .psd30-search-form button{width:100%}
 .psdream .psd30-section-head{align-items:flex-start}
 .psdream .psd30-sort label{width:100%}
 .psdream .psd30-popular{gap:6px}
 .psdream .psd30-popular a{font-size:.78rem;padding:8px 10px}
}
@media print{.psdream .psd30-suggest-wrap>.psd-live-results,.psdream .psd30-sort,.psdream .psd30-pagination{display:none!important}}
