.ph-box canvas#ph-cv { display: block; width: 100%; height: auto; }
.ph-badge { position: absolute; left: 10px; top: 10px; background: rgba(0,0,0,.55); color: #fff; font-size: 13px; padding: 3px 10px; border-radius: 99px; }
.ph-badge.done { background: linear-gradient(135deg, #7b61ff, #43a6f3); }
.ai-photo canvas.ph-thumb { position: absolute; right: 10px; top: 10px; width: 26%; border-radius: 10px; border: 2px solid #fff; box-shadow: 0 4px 12px rgba(0,0,0,.3); }
.ph-styles { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.ph-styles button { height: 50px; border-radius: 14px; background: #fff; border: 2px solid var(--line); font-size: 15px; font-weight: 700; display: flex; align-items: center; justify-content: center; gap: 6px; }
.ph-styles button.on { border-color: var(--orange); background: var(--orange-l); }
.sw { width: 18px; height: 18px; border-radius: 6px; display: inline-block; }
.sw.sky { background: linear-gradient(180deg, #2f86d9 50%, #8cc257 50%); } .sw.warm { background: linear-gradient(180deg, #f19a4b 50%, #b8893f 50%); } .sw.plain { background: #f5efe3; border: 1px solid #ddd; }
.ph-tags { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 8px; }
.ph-tags label { font-size: 13px; color: var(--ink-2); }
.ph-tags .f-in { height: 44px; font-size: 15px; margin-top: 4px; padding: 0 10px; }
.ph-res { margin-top: 14px; animation: popIn .4s ease; }
.ph-copy { padding: 14px 16px; font-size: 15px; line-height: 1.7; white-space: pre-wrap; background: #f2fbf5; border: 1px solid #d3eadc; }
.ph-flash { animation: flash .6s ease; }
@keyframes flash { 0% { filter: brightness(1.8) saturate(0); } 100% { filter: none; } }
.ph-box + .btn-row .btn { font-size: 15px; padding: 0 8px; }
