/* Stage 17: scoped, resilient layout; readable content without JS */
.psd-root{font-family:inherit;color:#382d45}.psd-root *{box-sizing:border-box;min-width:0}.psd-root button{cursor:pointer;font-family:inherit;font-size:.94rem}.psd-root button:focus-visible,.psd-root select:focus-visible,.psd-root input:focus-visible{outline:3px solid #b46cad;outline-offset:3px}
.psd-hero img{object-position:center center}.psd-root label{color:#54385e;font-weight:700;font-size:.91rem;line-height:1.7}.psd-root select,.psd-root input[type=text]{display:block;width:100%;max-width:100%;min-height:45px;border:1px solid #d8c3de;background:#fff;color:#3b2944;border-radius:11px;padding:9px 12px;font-family:inherit;font-size:.95rem;line-height:1.6;margin-top:5px}.psd-root select{cursor:pointer}.psd-root input[type=checkbox]{accent-color:#9158a0;width:20px;height:20px;flex-shrink:0}.psd-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin:20px 0}.psd-filter-grid>label{padding:4px}.psd-actions{display:flex;flex-wrap:wrap;gap:9px;margin:15px 0}.psd-root .psd-actions button{border:1px solid #cba6d2;border-radius:11px;background:#fff;color:#6d397c;padding:10px 14px;min-height:43px;line-height:1.6}.psd-root .psd-actions .psd-primary,.psd-root .psd-primary{background:#78338d;color:white;border-color:#78338d}.psd-root .psd-actions button:hover{background:#f8eafa}.psd-root .psd-actions .psd-primary:hover{background:#622673}.psd-feedback{background:#f7eefa;border-right:4px solid #a76fac;padding:11px 14px;margin:13px 0!important;border-radius:10px;color:#673e74;font-size:.91rem;line-height:1.9}
.psd-featured{background:linear-gradient(155deg,#fff,#fff8ff)}.psd-featured>h2{margin-bottom:10px}.psd-featured-meta,.psd-tags{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.psd-featured-meta span,.psd-tags span{padding:6px 11px;border-radius:30px;background:#f5eaf8;border:1px solid #ecd6f1;color:#694373;font-size:.82rem}.psd-featured-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px;margin:14px 0}.psd-featured-grid>div{border:1px solid #ecdaee;border-radius:16px;padding:15px;background:#fff}.psd-featured-grid h3{color:#7c4688;font-size:1.07rem;margin:0 0 12px}.psd-featured-grid ol{line-height:2.15;padding-right:22px}.psd-featured-grid li{margin:6px 0}.psd-checklist{display:grid;gap:8px}.psd-checklist label{display:flex;align-items:flex-start;gap:9px;cursor:pointer;padding:9px;background:#faf5fb;border-radius:10px;font-weight:500}.psd-checklist input:checked+span{text-decoration:line-through;color:#87798b}.psd-tip{background:#f9f0f3;border-right:3px solid #cd90ae;padding:11px 13px;border-radius:8px;line-height:1.9;color:#79526c}
.psd-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.psd-card{display:flex;flex-direction:column;min-width:0;border:1px solid #e9d8ee;border-radius:16px;padding:16px;background:linear-gradient(135deg,#fff,#fcf9ff);box-shadow:0 4px 14px #5a37610a}.psd-card[hidden]{display:none!important}.psd-card h3{font-size:1.1rem;color:#713f7e;margin:10px 0 5px}.psd-card p{font-size:.89rem;line-height:2;margin:0 0 8px}.psd-card-top{display:flex;align-items:center;justify-content:space-between;gap:9px;font-size:.84rem;color:#905a93;font-weight:bold}.psd-card-num{color:#9f819d}.psd-card details{border-top:1px dashed #e4cbe6;margin-top:10px;padding-top:9px}.psd-card summary{cursor:pointer;font-size:.87rem;color:#763e8b;font-weight:700}.psd-card h4{font-size:.88rem;margin:13px 0 5px;color:#754481}.psd-card ol,.psd-card ul{padding-right:22px;line-height:2;font-size:.86rem}.psd-card li{margin:4px 0}.psd-card .psd-tip{font-size:.83rem}.psd-card .psd-select-idea{align-self:stretch;border:1px solid #b987c1;background:#f5e7f9;border-radius:9px;margin-top:auto;padding:9px 10px;color:#6c3d75;font-weight:700}.psd-card .psd-select-idea:hover{background:#ead4f0}.psd-count{color:#795181;background:#f8f0f9;border-radius:9px;padding:8px 12px;margin:12px 0}
.psd-studio-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:20px;align-items:start}.psd-studio-form{display:flex;flex-direction:column;gap:14px}.psd-studio-form label{display:block}.psd-date{border:1px solid #e4d5ea;border-radius:14px;background:#fefbfe;padding:12px 14px;margin:0}.psd-date legend{color:#784388;font-weight:bold;padding:0 9px}.psd-date-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.psd-date p{color:#785b7a;margin:7px 0!important;font-size:.83rem}.psd-inline-check{display:flex!important;align-items:center;gap:10px;cursor:pointer;padding:11px 0;font-weight:600!important}.psd-preview-wrap{border:1px solid #dec9e6;border-radius:15px;padding:16px;background:#f9effb;position:sticky;top:14px;text-align:center}.psd-preview-wrap canvas{display:block;max-width:100%;height:auto;margin:auto;border-radius:13px;box-shadow:0 7px 24px #30132e30}.psd-preview-wrap p{font-size:.78rem;color:#765a7e;margin:9px 0 0}.psd-privacy{background:#fcf8fd}.psd-guide{line-height:2.05}.psd-guide h3{font-size:1.06rem;color:#794889;margin:25px 0 7px}.psd-guide p{text-align:justify;margin:5px 0 16px}.psd-guide details{margin:10px 0;background:#fbf6fd;border:1px solid #e6d6eb;border-radius:11px;padding:10px 13px}.psd-guide summary{cursor:pointer;color:#763e81;font-weight:bold}
@media(max-width:900px){.psd-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.psd-studio-grid{grid-template-columns:1fr}.psd-preview-wrap{position:static;max-width:470px;width:100%;margin:auto}}
@media(max-width:620px){.psd-filter-grid,.psd-card-grid,.psd-featured-grid{grid-template-columns:1fr}.psd-root .psd-actions button{flex:1 1 145px}.psd-card{padding:13px}.psd-featured-grid>div{padding:11px}.psd-studio-grid{gap:13px}.psd-studio-form{gap:12px}.psd-date{padding:11px 9px}.psd-date-fields{gap:5px}.psd-root select,.psd-root input[type=text]{font-size:16px}.psd-card-grid{gap:11px}}
@media print{.psd-hero,.psd-filters,.psd-studio,.psd-catalog,.psd-privacy,.psd-guide,.psx-related,.psd-featured .psd-actions,.psx-note{display:none!important}.psd-featured{display:block!important;border:0;box-shadow:none!important;page-break-inside:avoid}.psd-root .psd-featured-grid{grid-template-columns:1fr 1fr}.psd-root{font-size:12pt}}
