*{box-sizing:border-box}html{color-scheme:dark;background:#0b0c13;color:#e9e7f3;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}body{margin:0}main{width:min(100%,780px);margin:auto;padding:14px 16px max(32px,env(safe-area-inset-bottom))}header{display:flex;align-items:center;justify-content:space-between}a{color:#cfc9e6;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}.brand{font-size:27px;gap:11px}.brand span{font:10px ui-monospace,monospace;letter-spacing:.18em}#stage{height:min(52svh,490px);min-height:275px;position:relative;overflow:hidden;background:radial-gradient(circle,#1c1728 0%,#10101b 38%,#0b0c13 72%)}#stage canvas{width:100%;height:100%;display:block}#fallback{position:absolute;inset:30%;text-align:center;font-size:13px}.stage-label{position:absolute;left:12px;bottom:12px;color:#b1a9c1;font:11px ui-monospace,monospace;letter-spacing:.05em;pointer-events:none}#scanline{display:none;position:absolute;left:5%;right:5%;height:2px;top:0;background:linear-gradient(90deg,transparent,#a6e9ff,#ed8e6e,transparent);box-shadow:0 0 20px #91dafa;pointer-events:none;animation:scan 2.7s linear infinite}#stage.scanning #scanline{display:block}@keyframes scan{from{top:4%}to{top:93%}}#status{text-align:center;color:#c4b8d5;min-height:30px;font-size:13px;line-height:1.45}.panel{border:1px solid #302b3e;background:#111019;border-radius:16px;padding:15px;margin:11px 0}h1,h2{font-size:16px;font-weight:600;letter-spacing:.04em;margin:0 0 8px}.hint{font-size:12px;line-height:1.45;color:#a79eb6;margin:0 0 12px}.hint:last-child{margin-bottom:0}.row{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}button,.file-button,input[type=text]{font:inherit;font-size:12px;color:#e8e2f1;background:#1e1a2b;border:1px solid #554969;border-radius:10px;min-height:42px;padding:10px 12px}button,.file-button{cursor:pointer}button[aria-pressed=true],button.selected{background:#443151;border-color:#b29ccd}.file-button{display:inline-flex;align-items:center}.file-button input{position:absolute;width:1px;height:1px;opacity:0}.slider{display:grid;grid-template-columns:142px minmax(90px,1fr) 67px;align-items:center;gap:10px;min-height:42px;font-size:12px;color:#cbc4d7}.slider input{width:100%;accent-color:#b995d9}.slider output{text-align:right;color:#b6a7c9}#morph-name{flex:1 1 180px}.presets{display:grid;gap:6px}.preset{display:flex;align-items:center;gap:7px;min-height:38px;padding:5px 8px;border:1px solid #302b3e;border-radius:8px;font-size:12px}.preset span{flex:1}.preset button{min-height:32px;padding:5px 8px}button:focus-visible,.file-button:focus-within,input:focus-visible,a:focus-visible{outline:2px solid #b0e9f2;outline-offset:2px}@media(max-width:390px){main{padding:11px}#stage{height:min(43svh,370px)}.slider{grid-template-columns:103px minmax(75px,1fr) 53px;gap:6px}.row button,.file-button{flex:1 1 auto;justify-content:center}}
@media(prefers-reduced-motion:reduce){#scanline{animation:none;top:50%}}
#logo-layers{border:1px solid #3b334f;border-radius:11px;margin:12px 0 0;padding:10px 12px;color:#cabfda}#logo-layers legend{padding:0 6px;font-size:12px;letter-spacing:.07em}#logo-layers .hint{margin-bottom:5px}.logo-checks{display:flex;flex-wrap:wrap;gap:14px;font-size:12px;margin:7px 0}.logo-checks label{min-height:30px;display:inline-flex;align-items:center;gap:5px}#logo-layers a{font-size:12px;min-height:34px}
