*{box-sizing:border-box}body{margin:0;background:#f4f6f8;color:#182b3b;font-family:system-ui,sans-serif}main{max-width:1060px;margin:auto;padding:32px 20px}header{margin-bottom:24px}h1{font-size:clamp(26px,4vw,36px);margin:10px 0}header p,.hint,.muted{color:#667686}p{line-height:1.7}.editor{background:#fff;border:1px solid #dce3e9;border-radius:18px;padding:24px}.topbar,.textbar,.settings,.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.topbar{margin-bottom:18px}.topbar label{display:flex;align-items:center;gap:8px}button,select,input,textarea{font:inherit}button,select,input[type=number]{border:1px solid #cad5df;border-radius:8px;padding:9px;background:white}button{cursor:pointer;min-height:42px}button:disabled{opacity:.45;cursor:not-allowed}.upload{position:relative;display:inline-flex;border:1px solid #cad5df;border-radius:8px;padding:10px;cursor:pointer}.upload input{position:absolute;inset:0;width:100%;opacity:0;cursor:pointer}.stage{position:relative;background:#101820;border-radius:12px;overflow:hidden;min-height:160px}canvas{display:block;width:100%;height:auto}#slots{position:absolute;inset:0;display:grid}.slot{position:relative;border:1px dashed #ffffff50;color:#fff;min-width:0;display:flex;flex-direction:column;justify-content:center;align-items:center;background:transparent;cursor:grab;touch-action:none;border-radius:0}.slot.empty{background:#253644cc;cursor:pointer}.slot.empty span{color:#b7c5d0;font-size:13px}.slot:not(.empty)>strong{position:absolute;bottom:8px;left:8px;max-width:calc(100% - 16px);padding:4px 7px;background:#0009;border-radius:5px;font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slot.dragging{opacity:.5}.slot.over,.stage.over{outline:3px solid #35ccb4;outline-offset:-3px}.hint{font-size:13px;margin:10px 0 18px}.textbar{align-items:flex-end}.textbar>label:first-child{flex:1;min-width:160px}label{font-size:13px}textarea{display:block;width:100%;resize:vertical;min-height:42px;max-height:160px;border:1px solid #cad5df;border-radius:8px;padding:9px}input[type=number]{display:block;width:82px}input[type=color]{display:block;width:48px;height:42px;border:1px solid #cad5df;border-radius:8px;background:white}details{margin-top:18px}summary{cursor:pointer;color:#667686;font-size:14px;padding:10px 0}.settings{padding:12px 0}.settings label{display:flex;align-items:center;gap:8px}li{margin:9px 0;overflow-wrap:anywhere}li button{margin-left:5px;font-size:12px}.actions{margin-top:16px}#export,#download{background:#087f73;color:white;border-color:#087f73}.progress{display:flex;align-items:center;gap:12px}progress{flex:1;min-width:0;accent-color:#087f73;height:18px}output{min-width:44px}#download{display:inline-block;padding:12px;border-radius:8px;margin:15px 0}#download[hidden],#result[hidden],#text-handle[hidden]{display:none}#result{display:block;max-width:100%}#text-handle{position:absolute;z-index:2;background:transparent;border:1px dashed #fff9;transform:translateX(-50%);cursor:move;touch-action:none;padding:0;min-height:20px}#text-handle:hover,#text-handle:focus-visible{border-color:#35ccb4;background:#35ccb420}.notes{padding:0 12px;font-size:13px}.muted{font-size:12px}#sources{position:fixed;left:-10000px;top:0;width:2px;height:2px;overflow:hidden}#sources video{width:2px;height:2px}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.upload:focus-within{outline:3px solid #178cbe;outline-offset:2px}@media(max-width:500px){main{padding:20px 10px}.editor{padding:14px}.slot.empty strong{font-size:12px}.slot.empty span{display:none}.topbar{gap:8px}}
/* Shared ToolDock visual language; only the prototype's styles are changed. */
body{background:linear-gradient(180deg,#f8faff,var(--color-bg) 260px);color:var(--color-text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP",sans-serif}body>.site-header{margin:0}main{max-width:1100px}.lab-hero{position:relative;overflow:hidden;padding:25px 28px;border-radius:18px;background:linear-gradient(115deg,#1d4ed8,#2563eb 52%,#4f46e5);color:#fff;box-shadow:0 14px 34px #2563eb2b}.lab-hero p{color:#ffffffed}.lab-hero small{color:#dbeafe;font-weight:700;letter-spacing:.08em}.hero-points{display:flex;flex-wrap:wrap;gap:8px}.hero-points span{padding:4px 10px;background:#ffffff24;border:1px solid #ffffff50;border-radius:999px;font-size:12px}.editor{border-color:var(--color-border);box-shadow:var(--shadow-sm)}#export,#download{background:linear-gradient(115deg,#2563eb,#4f46e5);border-color:#2563eb}progress{accent-color:#2563eb}.layerbar,#text-layers{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.layerbar{margin:16px 0 12px}#text-layers button[aria-pressed=true]{color:#1d4ed8;border-color:#93c5fd;background:#eff6ff}#add-text{color:#2563eb;border-color:#bfdbfe}#delete-text{color:#64748b;font-size:12px}#text-handle{position:absolute;inset:0;transform:none;padding:0;min-height:0;border:0;pointer-events:none;width:100%;height:100%;background:none}.text-handle{position:absolute;z-index:2;background:transparent;border:1px dashed #fff5;transform:translateX(-50%);cursor:move;touch-action:none;padding:0;min-height:20px;pointer-events:auto}.text-handle.selected,.text-handle:hover{border:2px dashed #93c5fd;background:#93c5fd14}.privacy-note{font-size:13px;padding:14px 18px;background:#eff6ff;border-radius:12px;color:#475569}.site-footer{margin-top:24px}@media(max-width:500px){.lab-hero{padding:22px 18px}.site-nav{flex-wrap:wrap}.layerbar{gap:6px}.layerbar button{font-size:12px}}
 #text-handle:hover,#text-handle:focus-visible{border:0;background:none}
.information-card{margin-top:28px;padding:30px}
.information-card .content-section:first-child{margin-top:0}
.information-card p,.information-card li{font-size:16px;line-height:1.9}
@media(max-width:500px){.information-card{padding:20px}.information-card p,.information-card li{font-size:14px}}
