.tools-page{padding:20px}.dropzone{border:2px dashed #ccc;border-radius:8px;padding:40px;text-align:center;color:#666;transition:background-color .2s,border-color .2s}.dropzone.over{background-color:#f0f0f0;border-color:#999}.transcript{width:100%;min-height:200px;margin-top:20px;padding:8px 12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-family:inherit;box-sizing:border-box;outline:none;box-shadow:none;background-color:white;resize:vertical}.transcript:focus{border-color:#fbcfe8;box-shadow:0 0 0 1px #fbcfe8}.palette-generator{margin-top:40px}.palette-controls{display:flex;gap:10px;margin-top:10px}.palette-controls input{flex:1;padding:8px 12px;border:1px solid #d1d5db;border-radius:8px}.palette{display:flex;gap:10px;margin-top:10px}.color-block{flex:1;height:80px;border-radius:8px;position:relative;cursor:pointer}.color-block.locked{outline:2px solid #111}.lock-btn{position:absolute;top:4px;left:6px;background:rgba(255,255,255,.8);border:none;border-radius:4px;cursor:pointer;padding:2px 4px;font-size:14px}.lock-btn:hover{background:rgba(255,255,255,1)}.color-hex{position:absolute;bottom:4px;right:6px;font-size:12px;color:#ffffff;text-shadow:0 0 2px rgba(0,0,0,.5)}