:root{font-family:system-ui,'Yu Gothic',sans-serif;color:#14223d;background:#f5f7fc}*{box-sizing:border-box}body{margin:0}main{max-width:1120px;margin:auto;padding:28px 20px}header{background:linear-gradient(120deg,#652ee9,#2867ef);color:white;border-radius:20px;padding:32px;margin-bottom:24px}h1{font-size:30px;margin:12px 0}h1 span{display:inline-block;font-size:13px;background:#ffffff26;border:1px solid #ffffff70;padding:6px 10px;border-radius:20px;vertical-align:middle}section{background:white;border:1px solid #dce1ef;padding:24px;border-radius:18px;margin:20px 0;box-shadow:0 8px 28px #21386708}p{line-height:1.8;font-size:14px}.drop{position:relative;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:10px;min-height:150px;border:2px dashed #aaa0ee;background:#f7f4ff;border-radius:14px;cursor:pointer;color:#5434c3}.drop:hover,.drop.drag{background:#eee8ff;border-color:#7443e9}.drop input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.drop strong{font-size:24px}.controls{display:flex;align-items:end;gap:12px;flex-wrap:wrap;margin:15px 0}label{display:grid;gap:7px;font-size:14px}button,select,a#download{font:inherit;border:1px solid #ced5e5;border-radius:9px;padding:10px 14px;background:white;color:inherit}button{cursor:pointer}button#run,a#download{background:#633ae5;color:white;border-color:#633ae5}button:disabled{opacity:.45;cursor:default}a#download{display:inline-block;margin-top:18px;text-decoration:none}a#download[hidden]{display:none}.viewport{overflow:auto;max-height:680px;min-height:100px;border-radius:12px}canvas{max-width:100%;height:auto;display:block}canvas[hidden]{display:none}progress{width:100%;accent-color:#633ae5}#status{font-weight:600}#metrics{font-variant-numeric:tabular-nums}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #ef9a32;outline-offset:3px}@media(max-width:600px){main{padding:12px}header,section{padding:18px}h1{font-size:25px}.controls>*{max-width:100%}select{max-width:100%}}
.comparison-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.comparison-grid figure{margin:0;min-width:0}.comparison-grid img{width:100%;max-height:440px;object-fit:contain;background:repeating-conic-gradient(#ddd 0% 25%,#fff 0% 50%) 0/18px 18px}.comparison-grid figcaption{font-size:14px;margin:6px 0}@media(max-width:650px){.comparison-grid{grid-template-columns:1fr}}
.controls>label{min-width:0;max-width:100%;flex:1 1 220px}select{width:100%;min-width:0;max-width:100%}.zoomed{max-width:none}
.editing{cursor:crosshair;touch-action:none}summary{cursor:pointer;font-weight:700;padding:12px 0}details{border-top:1px solid #e4e6f0}.checkbox{display:flex;align-items:center;gap:8px}.checkbox input{width:auto}input[type=range]{max-width:100%;width:100%}
.contact-review{max-width:none;padding:8px}.contact-review section{padding:10px;margin:8px 0}.contact-review h2{font-size:16px;margin:0}.contact-review p{font-size:10px;line-height:1.15;margin:4px 0}.contact-review .comparison-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.contact-review img{height:155px;max-height:155px}.contact-review figcaption{font-size:11px}
p,pre{overflow-wrap:anywhere}pre{white-space:pre-wrap;font-size:12px}
.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:14px}th,td{padding:10px;text-align:left;border-bottom:1px solid #e1e5ef}th{background:#f4f1fe}

.embedded header{display:none}.embedded main{padding-top:0}.embedded section:first-of-type{margin-top:0}
