:root{--surface:#ffffff;--surface-muted:#f8fafc;--border:#e2e8f0;--text-main:#0f172a;--text-muted:#64748b;--primary:#2563eb;--primary-dark:#1d4ed8;--accent:#0ea5e9;--shadow-soft:0 8px 30px rgba(15,23,42,0.08);--gradient:linear-gradient(135deg,#eff6ff 0%,#f8fafc 100%);--phc-radius:14px;--phc-radius-sm:10px;--phc-accent:var(--primary);--phc-accent-soft:rgba(37,99,235,0.12);--phc-ink:var(--text-main);--phc-muted:var(--text-muted);--phc-surface:var(--surface);--phc-border:var(--border);--phc-shadow:var(--shadow-soft);--phc-safe-bottom:max(0.75rem,env(safe-area-inset-bottom));}
.phc-studio{margin:0 0 2.5rem;padding:0;}
.phc-upload-stage{width:100%;}
.phc-editor-card{width:100%;background:var(--phc-surface);border:1px solid var(--phc-border);border-radius:var(--phc-radius);box-shadow:var(--phc-shadow);padding:1rem;}
.phc-topbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0.75rem;margin-bottom:1rem;}
.phc-workspace{display:grid;grid-template-columns:1fr;gap:1rem;}
.phc-controls{display:flex;flex-direction:column;gap:0.75rem;}
.phc-result{display:flex;flex-direction:column;gap:0.75rem;}
@media (min-width:992px){.phc-workspace{grid-template-columns:minmax(280px,360px) 1fr;align-items:start;}.phc-controls{position:sticky;top:1rem;}}
.phc-status{font-size:0.875rem;color:var(--phc-muted);line-height:1.4;max-width:100%;}
.phc-status strong{color:var(--phc-ink);font-weight:600;}
.phc-swap{display:inline-flex;align-items:center;justify-content:center;gap:0.35rem;padding:0.5rem 0.85rem;font-size:0.8125rem;font-weight:600;color:var(--phc-accent);background:var(--phc-accent-soft);border:1px solid var(--phc-border);border-radius:999px;cursor:pointer;-webkit-tap-highlight-color:transparent;}
.phc-swap:hover,.phc-swap:focus-visible{background:rgba(37,99,235,0.18);outline:none;}
.phc-dropzone{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:15rem;padding:1.5rem 1rem;text-align:center;border:2px dashed var(--phc-border);border-radius:var(--phc-radius);background:var(--surface-muted,#f8fafc);cursor:pointer;transition:border-color 0.2s,background 0.2s;-webkit-tap-highlight-color:transparent;}
.phc-dropzone[hidden]{display:none !important;}
.phc-dropzone.phc-dropzone--active{border-color:var(--phc-accent);background:var(--phc-accent-soft);}
.phc-dropzone-title{font-size:1rem;font-weight:700;color:var(--phc-ink);margin:0 0 0.35rem;}
.phc-dropzone-hint{font-size:0.8125rem;color:var(--phc-muted);margin:0;max-width:280px;}
.phc-dropzone input[type="file"]{position:absolute;width:0;height:0;opacity:0;pointer-events:none;}
.phc-viewport-wrap{position:relative;border-radius:var(--phc-radius);overflow:hidden;background:#0b1220;box-shadow:var(--phc-shadow);touch-action:none;}
.phc-viewport-wrap[hidden]{display:none !important;}
.phc-viewport-inner{position:relative;display:block;width:100%;max-height:min(68vh,520px);overflow:auto;-webkit-overflow-scrolling:touch;}
.phc-canvas{display:block;max-width:100%;width:auto;height:auto;margin:0 auto;vertical-align:middle;cursor:crosshair;touch-action:none;}
.phc-brush-ring{position:fixed;pointer-events:none;border:2px solid rgba(255,255,255,0.85);border-radius:50%;box-shadow:0 0 0 1px rgba(0,0,0,0.35);z-index:50;display:none;}
.phc-brush-ring.phc-brush-ring--on{display:block;}
.phc-hint-bar{display:flex;align-items:flex-start;gap:0.5rem;padding:0.65rem 0.85rem;margin-top:0.65rem;font-size:0.8125rem;line-height:1.45;color:var(--phc-muted);background:var(--surface-muted,#f1f5f9);border-radius:var(--phc-radius-sm);border:1px solid var(--phc-border);}
.phc-hint-bar[hidden]{display:none !important;}
.phc-seg{display:grid;grid-template-columns:repeat(4,1fr);gap:0.35rem;margin-bottom:0.65rem;}
.phc-seg button{padding:0.55rem 0.25rem;font-size:0.6875rem;font-weight:700;letter-spacing:0.02em;text-transform:uppercase;color:var(--phc-muted);background:var(--surface-muted,#f1f5f9);border:1px solid var(--phc-border);border-radius:var(--phc-radius-sm);cursor:pointer;-webkit-tap-highlight-color:transparent;}
@media (min-width:400px){.phc-seg button{font-size:0.75rem;padding:0.6rem 0.35rem;}}
.phc-seg button.phc-seg--active{color:#fff;background:var(--phc-accent);border-color:var(--phc-accent);}
.phc-seg button:focus-visible{outline:2px solid var(--phc-accent);outline-offset:2px;}
.phc-actions{display:grid;grid-template-columns:1fr 1fr 1fr;gap:0.45rem;}
.phc-actions button{display:inline-flex;align-items:center;justify-content:center;padding:0.65rem 0.4rem;font-size:0.8125rem;font-weight:600;border-radius:var(--phc-radius-sm);border:1px solid var(--phc-border);cursor:pointer;background:var(--phc-surface);color:var(--phc-ink);-webkit-tap-highlight-color:transparent;}
.phc-actions button:disabled{opacity:0.45;cursor:not-allowed;}
.phc-actions .phc-btn-primary{background:var(--phc-accent);color:#fff;border-color:var(--phc-accent);}
.phc-panel{margin-top:0.85rem;padding:1rem;border:1px solid var(--phc-border);border-radius:var(--phc-radius);background:var(--phc-surface);}
.phc-panel-static{margin-top:0;}
.phc-panel summary{font-size:0.875rem;font-weight:700;color:var(--phc-ink);cursor:pointer;list-style:none;}
.phc-panel summary::-webkit-details-marker{display:none;}
.phc-panel[open] summary{margin-bottom:0.85rem;}
.phc-field{margin-bottom:1rem;}
.phc-field:last-child{margin-bottom:0;}
.phc-field label{display:flex;justify-content:space-between;align-items:baseline;font-size:0.8125rem;font-weight:600;color:var(--phc-ink);margin-bottom:0.35rem;}
.phc-field label span{font-weight:500;color:var(--phc-muted);}
.phc-slider{width:100%;accent-color:var(--phc-accent);}
.phc-select{width:100%;height:2.35rem;padding:0 0.75rem;border:1px solid var(--phc-border);border-radius:var(--phc-radius-sm);background:var(--phc-surface);color:var(--phc-ink);}
.phc-select:focus-visible{outline:2px solid var(--phc-accent);outline-offset:2px;}
.phc-toggle{display:flex;align-items:center;gap:0.5rem;font-size:0.8125rem;color:var(--phc-ink);cursor:pointer;}
.phc-toggle input{width:1rem;height:1rem;accent-color:var(--phc-accent);}
.phc-prose-block{margin:2.5rem 0;}
.phc-prose-block h2{font-size:1.35rem;font-weight:700;margin:0 0 0.75rem;color:var(--phc-ink);line-height:1.25;}
.phc-prose-block p,.phc-prose-block li{font-size:0.9375rem;line-height:1.65;color:var(--phc-muted);}
.phc-prose-block p{margin:0 0 1rem;}
.phc-prose-block ul{padding-left:1.2rem;margin:0 0 1rem;}
.phc-prose-block li{margin-bottom:0.4rem;}
.phc-callout{margin:1.25rem 0;padding:1rem 1.1rem;border-left:4px solid var(--phc-accent);background:var(--surface-muted,#f8fafc);border-radius:0 var(--phc-radius-sm) var(--phc-radius-sm) 0;font-size:0.875rem;line-height:1.55;color:var(--phc-ink);}
.phc-dl{margin:1rem 0 0;}
.phc-dl dt{font-weight:700;font-size:0.875rem;color:var(--phc-ink);margin-top:1rem;}
.phc-dl dt:first-child{margin-top:0;}
.phc-dl dd{margin:0.35rem 0 0;font-size:0.875rem;line-height:1.6;color:var(--phc-muted);padding:0;}
.phc-table-wrap{overflow-x:auto;margin:1rem 0;border:1px solid var(--phc-border);border-radius:var(--phc-radius-sm);}
.phc-table{width:100%;border-collapse:collapse;font-size:0.8125rem;}
.phc-table th,.phc-table td{padding:0.65rem 0.75rem;text-align:left;border-bottom:1px solid var(--phc-border);}
.phc-table th{background:var(--surface-muted,#f1f5f9);color:var(--phc-ink);font-weight:600;}
.phc-table tr:last-child td{border-bottom:0;}
.phc-table td{color:var(--phc-muted);}
.internal-link{color:var(--phc-accent);font-weight:600;text-decoration:underline;text-underline-offset:2px;}
