.pw-note{padding:14px 16px;background:#f0f5fa;border-radius:10px;color:#43546a;line-height:1.6;margin:20px 0}
.pw-error{padding:14px;background:#fff1f1;color:#9b2727;border-radius:8px;margin:16px 0}
.pw-steps{display:flex;gap:10px;list-style:none;padding:0;counter-reset:step;margin:24px 0;flex-wrap:wrap}
.pw-steps li{counter-increment:step;padding:10px 12px;border-radius:8px;background:#f4f6f8;color:#68768b;font-size:13px}
.pw-steps li:before{content:counter(step) '. ';font-weight:700}.pw-steps .on{background:#e7efff;color:#174da8}
.pw-parts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:16px 0}
.pw-part{border:1px solid #dfe5ed;border-radius:10px;padding:16px}.pw-part.active{border-color:#4778cd;background:#f8fbff}
.pw-part .row{justify-content:space-between;gap:8px;flex-wrap:wrap}.pw-part p{line-height:1.6;color:#56657b}
.pw-text{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65;margin:12px 0}
.pw-brief{padding:16px;border:1px solid #dfe5ed;border-radius:10px;margin:12px 0}
.pw-brief summary, .pw-add summary{cursor:pointer}.pw-brief details{margin-top:16px}
.pw-chat{max-height:480px;overflow:auto;margin:16px 0}.pw-turn{padding:16px;border-radius:10px;background:#f4f6f9;margin-bottom:12px}.pw-turn.user{background:#edf4ff}
#pw-message-form{display:grid;gap:10px}#pw-message-form textarea{width:100%;box-sizing:border-box;padding:12px;border:1px solid #cbd5e1;border-radius:8px;font:inherit;resize:vertical}#pw-message-form button{justify-self:start}
.pw-add{display:grid;gap:12px;margin:16px 0}.pw-add label{display:grid;gap:6px}.pw-add input{padding:10px;border:1px solid #cbd5e1;border-radius:6px;font:inherit}
.pw-cad{border-top:1px solid var(--border,#d5dce5);padding:24px 0}.pw-cad .row{flex-wrap:wrap;gap:8px}.pw-cad textarea{display:block;width:100%;margin:12px 0}.pw-cad details{margin:16px 0}.pw-cad li{margin:8px 0}
.pw-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));gap:20px;margin:24px 0}
.pw-tile{display:flex;flex-direction:column;overflow:hidden;border:1px solid #dfe5ed;border-radius:14px;background:#fff;color:inherit;text-decoration:none;transition:border-color .15s,box-shadow .15s}
.pw-tile:hover{border-color:#638de0;box-shadow:0 5px 20px #1c46751a}.pw-tile:focus-visible{outline:3px solid #4778cd;outline-offset:3px}
.pw-tile-preview{height:225px;position:relative;background:linear-gradient(145deg,#f4f7fc,#e9eff8)}
.pw-tile-preview model-viewer{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.pw-placeholder{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;color:#64748b;font-size:13px}.pw-placeholder[hidden]{display:none}.pw-placeholder svg{width:92px;height:92px}
.pw-tile-info{padding:20px;display:flex;flex:1;flex-direction:column;align-items:flex-start}.pw-tile-title{font-size:18px;line-height:1.35;margin:14px 0 8px}.pw-tile-purpose{font-size:13px;line-height:1.6;color:#64748b;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:0 0 20px}.pw-tile-open{color:#315db1;font-size:13px;font-weight:600;margin-top:auto}
.pw-back{display:inline-block;text-decoration:none;margin:8px 0 16px}.pw-detail-placeholder{height:280px;background:#edf2f8;border-radius:12px;margin:16px 0}

button.pw-tile{font:inherit;text-align:left;padding:0;width:100%;cursor:pointer}button.pw-tile:disabled{cursor:default}button.pw-tile:disabled:hover{border-color:#dfe5ed;box-shadow:none}.pw-tile-preview{display:block;width:100%}.pw-tile-title{font-weight:700}.pw-tile-error{font-size:13px;line-height:1.55;color:#805a24;margin:0 0 18px}.pw-placeholder{box-sizing:border-box}
