:root{--primary:#2563eb;--primary-dark:#1d4ed8;--surface:#ffffff;--surface-muted:#f4f6fb;--border:#e2e8f0;--text-main:#0f172a;--text-muted:#64748b;--shadow-soft:0 20px 45px rgba(15,23,42,0.08);--gradient:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);}
.ish-workbench{background:var(--surface);border:1px solid var(--border);border-radius:20px;box-shadow:var(--shadow-soft);overflow:hidden;margin-bottom:2.5rem;}
.ish-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.75rem;min-height:200px;padding:1.75rem 1.25rem;text-align:center;cursor:pointer;background:linear-gradient(145deg,var(--surface-muted) 0%,var(--surface) 100%);border:2px dashed var(--border);border-radius:16px;margin:1rem;transition:border-color 0.2s ease,background 0.2s ease;}
.ish-drop:hover,.ish-drop:focus-visible{border-color:var(--primary);outline:none;background:var(--surface);}
.ish-drop.ish-drop-active{border-color:var(--primary);background:var(--surface-muted);}
.ish-drop[hidden]{display:none!important;}
.ish-drop-icon{width:48px;height:48px;border-radius:14px;background:var(--gradient);display:grid;place-items:center;color:#fff;font-size:1.25rem;}
.ish-drop-title{font-size:1.125rem;font-weight:600;color:var(--text-main);margin:0;}
.ish-drop-hint{font-size:0.875rem;color:var(--text-muted);margin:0;max-width:280px;line-height:1.45;}
.ish-lab{padding:0 1rem 1.25rem;display:none;}
.ish-lab.ish-lab-on{display:block;}
.ish-lab-grid{display:flex;flex-direction:column;gap:1.25rem;}
@media (min-width:768px){.ish-lab-grid{flex-direction:row;align-items:stretch;gap:0;}.ish-lab-col--options{flex:0 0 min(300px,36vw);max-width:320px;padding:1.1rem 1.25rem 1.25rem 0;border-right:1px solid var(--border);}.ish-lab-col--preview{flex:1;min-width:0;padding:1.1rem 0 1.25rem 1.25rem;}}
.ish-col-heading{font-size:0.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--text-muted);margin:0 0 0.75rem;}
.ish-lab-col--preview .ish-col-heading{margin-bottom:0.65rem;}
.ish-toolbar{display:flex;flex-direction:column;gap:1rem;}
.ish-toolbar-cluster{display:flex;flex-direction:column;gap:0.5rem;min-width:0;width:100%;}
.ish-label{font-size:0.75rem;font-weight:600;text-transform:uppercase;letter-spacing:0.06em;color:var(--text-muted);margin:0;}
.ish-chip-row{display:flex;flex-wrap:wrap;gap:0.5rem;}
@media (max-width:767px){.ish-chip-row{flex-wrap:nowrap;overflow-x:auto;padding-bottom:0.25rem;-webkit-overflow-scrolling:touch;scrollbar-width:thin;}}
.ish-chip-row::-webkit-scrollbar{height:4px;}
.ish-chip{flex:0 0 auto;border:1px solid var(--border);background:var(--surface-muted);color:var(--text-main);font-size:0.8125rem;font-weight:600;padding:0.5rem 0.9rem;border-radius:999px;cursor:pointer;transition:background 0.15s ease,border-color 0.15s ease,color 0.15s ease;}
.ish-chip:hover{border-color:var(--primary);}
.ish-chip[aria-pressed="true"]{background:var(--primary);border-color:var(--primary-dark);color:#fff;}
.ish-view-row{display:flex;gap:0.35rem;background:var(--surface-muted);padding:0.35rem;border-radius:12px;width:100%;}
.ish-view-btn{flex:1;border:0;background:transparent;color:var(--text-muted);font-size:0.8125rem;font-weight:600;padding:0.55rem 0.65rem;border-radius:9px;cursor:pointer;transition:background 0.15s ease,color 0.15s ease;}
.ish-view-btn[aria-pressed="true"]{background:var(--surface);color:var(--text-main);box-shadow:0 1px 3px rgba(0,0,0,0.08);}
.ish-slider-block{display:flex;flex-direction:column;gap:0.35rem;min-width:0;width:100%;}
.ish-slider-meta{display:flex;justify-content:space-between;align-items:baseline;font-size:0.8125rem;color:var(--text-main);font-variant-numeric:tabular-nums;}
.ish-slider-meta span:last-child{font-weight:700;color:var(--primary);}
.ish-range{width:100%;height:6px;border-radius:3px;accent-color:var(--primary);cursor:pointer;}
.ish-actions{display:flex;flex-direction:column;gap:0.5rem;width:100%;}
.ish-btn{border:0;border-radius:12px;font-weight:600;font-size:0.875rem;padding:0.65rem 1.1rem;cursor:pointer;transition:opacity 0.15s ease,transform 0.1s ease;}
.ish-btn:disabled{opacity:0.45;cursor:not-allowed;}
.ish-btn-primary{background:var(--primary);color:#fff;}
.ish-btn-primary:not(:disabled):hover{filter:brightness(1.05);}
.ish-btn-ghost{background:var(--surface-muted);color:var(--text-main);border:1px solid var(--border);}
.ish-stage-wrap{background:var(--surface-muted);border-radius:16px;padding:0.75rem;border:1px solid var(--border);min-height:120px;display:flex;align-items:center;justify-content:center;}
.ish-stage{position:relative;width:100%;max-width:100%;margin:0;display:flex;justify-content:center;align-items:center;}
.ish-stage-inner{position:relative;display:inline-block;line-height:0;border-radius:12px;overflow:hidden;box-shadow:0 8px 28px rgba(0,0,0,0.12);}
.ish-stage-inner canvas{display:block;max-width:100%;height:auto;border-radius:12px;}
#ish-canvas-sharpen{position:absolute;left:0;top:0;pointer-events:none;}
.ish-mode-split #ish-canvas-sharpen{clip-path:inset(0 0 0 var(--ish-split-pct,50%));}
.ish-split-control{display:none;flex-direction:column;gap:0.35rem;}
.ish-split-control.ish-split-on{display:flex;}
.ish-split-label{font-size:0.75rem;color:var(--text-muted);display:flex;justify-content:space-between;}
.ish-article{margin:0 auto 3rem;}
.ish-article h2{font-size:clamp(1.25rem,3vw,1.5rem);font-weight:700;color:var(--text-main);margin:2rem 0 0.75rem;}
.ish-article h2:first-child{margin-top:0;}
.ish-article p,.ish-article li{font-size:1rem;line-height:1.65;color:var(--text-main);}
.ish-article p{margin:0 0 1rem;}
.ish-article ul{margin:0 0 1rem 1.1rem;padding:0;}
.ish-article li{margin-bottom:0.45rem;}
.ish-article a{color:var(--primary);}
.ish-callout{border-left:4px solid var(--primary);background:var(--surface-muted);padding:1rem 1.1rem;border-radius:0 12px 12px 0;margin:1.5rem 0;}
.ish-callout p{margin:0;font-size:0.9375rem;color:var(--text-main);}
.ish-table-wrap{overflow-x:auto;margin:1rem 0;border:1px solid var(--border);border-radius:12px;}
.ish-table{width:100%;border-collapse:collapse;font-size:0.875rem;}
.ish-table th,.ish-table td{padding:0.65rem 0.85rem;text-align:left;border-bottom:1px solid var(--border);}
.ish-table th{background:var(--surface-muted);font-weight:600;color:var(--text-main);}
.ish-table tr:last-child td{border-bottom:0;}
.ish-muted{color:var(--text-muted);font-size:0.9375rem;}
