/* 線画メーカー 先生用 - WordPress Plugin CSS */
.lam-root{--bg:#0b1020;--panel:#111a33;--ink:#e8eefc;--muted:#a9b6d6;--acc:#4cc9f0;--bd:#22305a;--erase:#ff4444;--keep:#44ff88;--bridge:#4488ff;}
.lam-root{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans JP",sans-serif;background:linear-gradient(180deg,#0b1020,#0b1020 40%,#070b16);color:var(--ink);overflow:hidden;min-height:600px}
.lam-app-container{display:flex;height:600px}
.lam-sidebar{width:320px;background:rgba(17,26,51,.86);border-right:1px solid var(--bd);overflow-y:auto;display:flex;flex-direction:column}
.lam-sidebar-header{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:white;padding:20px;position:relative}
.lam-sidebar-header h1{font-size:20px;margin-bottom:5px;font-weight:700}
.lam-sidebar-header .lam-subtitle{font-size:12px;opacity:0.9}
.lam-help-icon{position:absolute;top:20px;right:20px;width:28px;height:28px;background:rgba(255,255,255,.2);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;font-weight:700;font-size:16px;transition:all .3s}
.lam-help-icon:hover{background:rgba(255,255,255,.3);transform:scale(1.1)}
.lam-sidebar-content{padding:16px;flex:1}
.lam-control-section{margin-bottom:20px}
.lam-control-section h3{font-size:13px;color:var(--acc);margin-bottom:10px;padding-bottom:6px;border-bottom:2px solid rgba(76,201,240,.2);font-weight:700}
.lam-control-group{margin-bottom:12px}
.lam-control-group label{display:block;margin-bottom:6px;color:var(--muted);font-size:12px;font-weight:600}
.lam-root input[type="range"]{width:100%;height:6px;border-radius:3px;background:#1a2544;outline:none;-webkit-appearance:none}
.lam-root input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:var(--acc);cursor:pointer}
.lam-root input[type="range"]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--acc);cursor:pointer;border:none}
.lam-root input[type="file"]{width:100%;padding:8px;border:2px dashed var(--acc);border-radius:8px;background:rgba(76,201,240,.05);cursor:pointer;font-size:12px;color:var(--muted)}
.lam-root button{border:1px solid var(--bd);background:#16224a;color:var(--ink);padding:10px 12px;border-radius:10px;cursor:pointer;font-size:13px;font-weight:600;transition:all .2s;width:100%;margin-bottom:8px}
.lam-root button:hover:not(:disabled){border-color:#3a4f90;background:#1a2a5a}
.lam-root button:disabled{opacity:0.4;cursor:not-allowed}
.lam-root button.lam-active{border-color:var(--acc);background:rgba(76,201,240,.2);color:var(--acc)}
.lam-value-display{display:inline-block;min-width:30px;text-align:right;color:var(--acc);font-weight:700;font-size:13px}
.lam-main-content{flex:1;display:flex;align-items:center;justify-content:center;padding:20px;background:#0b1020;overflow:hidden}
.lam-canvas-wrapper{position:relative;background:#fff;border-radius:12px;border:1px solid var(--bd);overflow:hidden;max-width:100%;max-height:100%;box-shadow:0 10px 40px rgba(0,0,0,0.5)}
.lam-root canvas{display:block;width:100%;height:auto;max-height:560px;position:absolute;top:0;left:0}
.lam-root #lam-src{position:relative}
.lam-root #lam-dst,.lam-root #lam-preview{pointer-events:none}
.lam-root #lam-correction{cursor:crosshair}
.lam-help-modal{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.8);z-index:100000;align-items:center;justify-content:center}
.lam-help-modal.lam-active{display:flex}
.lam-help-content{background:var(--panel);border:1px solid var(--bd);border-radius:16px;padding:24px;max-width:600px;max-height:80vh;overflow-y:auto;position:relative}
.lam-help-close{position:absolute;top:12px;right:12px;width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.1);border:none;color:var(--ink);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center}
.lam-help-close:hover{background:rgba(255,255,255,.2)}
.lam-help-content h2{color:var(--acc);margin-bottom:16px;font-size:20px}
.lam-help-content h3{color:var(--ink);margin-top:16px;margin-bottom:8px;font-size:16px}
.lam-help-content ul{margin-left:20px;line-height:1.8}
.lam-help-content li{margin:6px 0;color:var(--muted)}
.lam-help-content strong{color:var(--acc)}
@media (max-width:900px){.lam-app-container{flex-direction:column}.lam-sidebar{width:100%;height:auto;max-height:300px;border-right:none;border-bottom:1px solid var(--bd)}.lam-main-content{flex:1}}
